Mercurial > emacs
annotate lisp/cus-start.el @ 20047:735f0cdfc5b9
(winner-change-fun): Don't use pushnew.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Wed, 15 Oct 1997 22:41:09 +0000 |
parents | 0bef1d3ea752 |
children | ea693abdeb4e |
rev | line source |
---|---|
17416 | 1 ;;; cus-start.el --- define customization properties of builtins. |
2 ;; | |
3 ;; Copyright (C) 1997 Free Software Foundation, Inc. | |
4 ;; | |
5 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk> | |
6 ;; Keywords: internal | |
7 | |
17520 | 8 ;; This file is part of GNU Emacs. |
9 | |
10 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
11 ;; it under the terms of the GNU General Public License as published by | |
12 ;; the Free Software Foundation; either version 2, or (at your option) | |
13 ;; any later version. | |
14 | |
15 ;; GNU Emacs is distributed in the hope that it will be useful, | |
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 ;; GNU General Public License for more details. | |
19 | |
20 ;; You should have received a copy of the GNU General Public License | |
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
23 ;; Boston, MA 02111-1307, USA. | |
24 | |
17416 | 25 ;;; Commentary: |
26 ;; | |
18052
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
27 ;; This file adds customize support for built-in variables. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
28 |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
29 ;; While dumping Emacs, this file is loaded, but it only records |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
30 ;; the standard values; it does not do the rest of the job. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
31 ;; Later on, if the user makes a customization buffer, |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
32 ;; this file is loaded again with (require 'cus-start); |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
33 ;; then it does the whole job. |
17416 | 34 |
35 ;;; Code: | |
36 | |
37 (let ((all '(;; abbrev.c | |
38 (abbrev-all-caps abbrev-mode boolean) | |
39 (pre-abbrev-expand-hook abbrev-mode hook) | |
40 ;; alloc.c | |
41 (gc-cons-threshold alloc integer) | |
42 (undo-limit undo integer) | |
43 (undo-strong-limit undo integer) | |
44 (garbage-collection-messages alloc boolean) | |
45 ;; buffer.c | |
46 (mode-line-format modeline sexp) ;Hard to do right. | |
47 (default-major-mode internal function) | |
18496
dd3b72558628
(enable-multibyte-characters): Customize.
Richard M. Stallman <rms@gnu.org>
parents:
18478
diff
changeset
|
48 (enable-multibyte-characters mule boolean) |
17416 | 49 (case-fold-search matching boolean) |
50 (fill-column fill integer) | |
51 (left-margin fill integer) | |
52 (tab-width editing-basics integer) | |
53 (ctl-arrow display boolean) | |
54 (truncate-lines display boolean) | |
55 (selective-display display | |
56 (choice (const :tag "off" nil) | |
57 (integer :tag "space" | |
58 :format "%v" | |
59 1) | |
60 (const :tag "on" t))) | |
61 (selective-display-ellipses display boolean) | |
62 (transient-mark-mode editing-basics boolean) | |
63 ;; callint.c | |
64 (mark-even-if-inactive editing-basics boolean) | |
65 ;; callproc.c | |
66 (shell-file-name execute file) | |
67 (exec-path execute | |
68 (repeat (choice (const :tag "default" nil) | |
69 (file :format "%v")))) | |
70 ;; dired.c | |
71 (completion-ignored-extensions dired | |
72 (repeat (string :format "%v"))) | |
73 ;; dispnew.el | |
74 (baud-rate display integer) | |
75 (inverse-video display boolean) | |
76 (visible-bell display boolean) | |
77 (no-redraw-on-reenter display boolean) | |
78 ;; editfns.c | |
79 (user-full-name mail string) | |
80 ;; eval.c | |
81 (max-specpdl-size limits integer) | |
82 (max-lisp-eval-depth limits integer) | |
83 (stack-trace-on-error debug | |
84 (choice (const :tag "off") | |
85 (repeat :menu-tag "When" | |
86 :value (nil) | |
87 (symbol :format "%v")) | |
88 (const :tag "always" t))) | |
89 (debug-on-error debug | |
90 (choice (const :tag "off") | |
91 (repeat :menu-tag "When" | |
92 :value (nil) | |
93 (symbol :format "%v")) | |
94 (const :tag "always" t))) | |
95 (debug-ignored-errors debug (repeat (choice symbol regexp))) | |
18883
f7e3c766f54c
(debug-on-quit): Define like debug-on-error.
Richard M. Stallman <rms@gnu.org>
parents:
18727
diff
changeset
|
96 (debug-on-quit debug |
f7e3c766f54c
(debug-on-quit): Define like debug-on-error.
Richard M. Stallman <rms@gnu.org>
parents:
18727
diff
changeset
|
97 (choice (const :tag "off") |
f7e3c766f54c
(debug-on-quit): Define like debug-on-error.
Richard M. Stallman <rms@gnu.org>
parents:
18727
diff
changeset
|
98 (repeat :menu-tag "When" |
f7e3c766f54c
(debug-on-quit): Define like debug-on-error.
Richard M. Stallman <rms@gnu.org>
parents:
18727
diff
changeset
|
99 :value (nil) |
f7e3c766f54c
(debug-on-quit): Define like debug-on-error.
Richard M. Stallman <rms@gnu.org>
parents:
18727
diff
changeset
|
100 (symbol :format "%v")) |
f7e3c766f54c
(debug-on-quit): Define like debug-on-error.
Richard M. Stallman <rms@gnu.org>
parents:
18727
diff
changeset
|
101 (const :tag "always" t))) |
17416 | 102 ;; fileio.c |
103 (insert-default-directory minibuffer boolean) | |
104 ;; frame.c | |
105 (default-frame-alist frames | |
106 (repeat (cons :format "%v" | |
107 (symbol :tag "Parameter") | |
108 (sexp :tag "Value")))) | |
109 ;; indent.c | |
110 (indent-tabs-mode fill boolean) | |
111 ;; keyboard.c | |
112 (meta-prefix-char keyboard character) | |
113 (auto-save-interval auto-save integer) | |
114 (auto-save-timeout auto-save (choice (const :tag "off" nil) | |
115 (integer :format "%v"))) | |
20017
0bef1d3ea752
(echo-keystrokes): Fix customize type.
Karl Heuer <kwzh@gnu.org>
parents:
18883
diff
changeset
|
116 (echo-keystrokes minibuffer integer) |
17416 | 117 (polling-period keyboard integer) |
18478
74399f15f71e
(double-click-time): Use restricted-sexp.
Richard M. Stallman <rms@gnu.org>
parents:
18434
diff
changeset
|
118 (double-click-time mouse (restricted-sexp |
74399f15f71e
(double-click-time): Use restricted-sexp.
Richard M. Stallman <rms@gnu.org>
parents:
18434
diff
changeset
|
119 :match-alternatives (integerp 'nil 't))) |
17416 | 120 (inhibit-local-menu-bar-menus menu boolean) |
121 (help-char keyboard character) | |
122 (help-event-list keyboard (repeat (sexp :format "%v"))) | |
123 (menu-prompting menu boolean) | |
124 (suggest-key-bindings keyboard (choice (const :tag "off" nil) | |
125 (integer :tag "time" 2) | |
126 (sexp :tag "on" | |
127 :format "%t"))) | |
128 ;; lread.c | |
129 (load-path environment | |
18052
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
130 (repeat (choice :tag "[Current dir?]" |
18478
74399f15f71e
(double-click-time): Use restricted-sexp.
Richard M. Stallman <rms@gnu.org>
parents:
18434
diff
changeset
|
131 :format "%[Current dir?%] %v" |
18052
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
132 (const :tag " current dir" nil) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
133 (directory :format "%v")))) |
17416 | 134 ;; minibuf.c |
135 (completion-auto-help minibuffer boolean) | |
136 (enable-recursive-minibuffers minibuffer boolean) | |
137 (minibuffer-auto-raise minibuffer boolean) | |
138 ;; process.c | |
18052
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
139 (delete-exited-processes processes-basics boolean) |
17416 | 140 ;; syntax.c |
141 (parse-sexp-ignore-comments editing-basics boolean) | |
142 (words-include-escapes editing-basics boolean) | |
143 ;; window.c | |
144 (temp-buffer-show-function windows function) | |
145 (display-buffer-function windows function) | |
146 (pop-up-frames frames boolean) | |
147 (pop-up-frame-function frames function) | |
148 (special-display-buffer-names | |
149 frames | |
150 (repeat (choice :tag "Buffer" | |
151 :value "" | |
152 (string :format "%v") | |
153 (cons :tag "With attributes" | |
154 :format "%v" | |
155 :value ("" . nil) | |
156 (string :format "%v") | |
157 (repeat :tag "Attributes" | |
158 (cons :format "%v" | |
159 (symbol :tag "Parameter") | |
160 (sexp :tag "Value"))))))) | |
161 (special-display-regexps | |
162 frames | |
163 (repeat (choice :tag "Buffer" | |
164 :value "" | |
165 (regexp :format "%v") | |
166 (cons :tag "With attributes" | |
167 :format "%v" | |
168 :value ("" . nil) | |
169 (regexp :format "%v") | |
170 (repeat :tag "Attributes" | |
171 (cons :format "%v" | |
172 (symbol :tag "Parameter") | |
173 (sexp :tag "Value"))))))) | |
174 (special-display-function frames function) | |
175 (same-window-buffer-names windows (repeat (string :format "%v"))) | |
176 (same-window-regexps windows (repeat (regexp :format "%v"))) | |
177 (pop-up-windows windows boolean) | |
178 (next-screen-context-lines windows boolean) | |
179 (split-height-threshold windows integer) | |
180 (window-min-height windows integer) | |
181 (window-min-width windows integer) | |
182 ;; xdisp.c | |
183 (scroll-step windows integer) | |
184 (truncate-partial-width-windows display boolean) | |
185 (mode-line-inverse-video modeline boolean) | |
186 (line-number-display-limit display integer) | |
187 (highlight-nonselected-windows display boolean) | |
188 (message-log-max debug (choice (const :tag "Disable" nil) | |
189 (integer :menu-tag "lines" | |
190 :format "%v") | |
191 (const :tag "Unlimited" t))) | |
192 ;; xfns.c | |
193 (x-bitmap-file-path installation | |
194 (repeat (directory :format "%v"))))) | |
18052
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
195 this symbol group type |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
196 ;; This function turns a value |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
197 ;; into an expression which produces that value. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
198 (quoter (lambda (sexp) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
199 (if (or (memq sexp '(t nil)) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
200 (and (symbolp sexp) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
201 (eq (aref (symbol-name sexp) 0) ?:)) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
202 (and (listp sexp) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
203 (memq (car sexp) '(lambda))) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
204 (stringp sexp) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
205 (numberp sexp) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
206 (and (fboundp 'characterp) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
207 (characterp sexp))) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
208 sexp |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
209 (list 'quote sexp))))) |
17416 | 210 (while all |
211 (setq this (car all) | |
212 all (cdr all) | |
213 symbol (nth 0 this) | |
214 group (nth 1 this) | |
215 type (nth 2 this)) | |
216 (if (not (boundp symbol)) | |
217 ;; If variables are removed from C code, give an error here! | |
18727
f3b080ae4fca
Make it clear that the warning is a warning.
Richard M. Stallman <rms@gnu.org>
parents:
18496
diff
changeset
|
218 (message "Note, built-in variable `%S' not bound" symbol) |
18052
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
219 ;; Save the standard value, unless we already did. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
220 (or (get symbol 'standard-value) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
221 (put symbol 'standard-value |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
222 (list (funcall quoter (default-value symbol))))) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
223 ;; If this is NOT while dumping Emacs, |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
224 ;; set up the rest of the customization info. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
225 (unless purify-flag |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
226 ;; Add it to the right group. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
227 (custom-add-to-group group symbol 'custom-variable) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
228 ;; Set the type. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
229 (put symbol 'custom-type type))))) |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
230 |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
231 ;; Record cus-start as loaded |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
232 ;; if we have set up all the info that we can set up. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
233 ;; Don't record cus-start as loaded |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
234 ;; if we have set up only the standard values. |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
235 (unless purify-flag |
64a265eaa6d7
Arrange to load it once during dumping,
Richard M. Stallman <rms@gnu.org>
parents:
17948
diff
changeset
|
236 (provide 'cus-start)) |
17416 | 237 |
238 ;;; cus-start.el ends here. |