aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1997-04-12 03:18:33 +0000
committerRichard M. Stallman1997-04-12 03:18:33 +0000
commitbbf5eb2805e13c8e93f512c678054654c0917100 (patch)
tree3f3d728b0c8e5c7f7988e6265575f918f6a6539d
parent124c852b0a825f7e64e41e4b137fc693060b3c19 (diff)
downloademacs-bbf5eb2805e13c8e93f512c678054654c0917100.tar.gz
emacs-bbf5eb2805e13c8e93f512c678054654c0917100.zip
Add defgroup's; use defcustom for user vars.
-rw-r--r--lisp/bookmark.el67
-rw-r--r--lisp/dabbrev.el77
-rw-r--r--lisp/desktop.el53
-rw-r--r--lisp/jka-compr.el43
-rw-r--r--lisp/progmodes/executable.el46
-rw-r--r--lisp/textmodes/makeinfo.el17
-rw-r--r--lisp/textmodes/ooutline.el34
7 files changed, 242 insertions, 95 deletions
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index 2905447681c..ff42e8f24fe 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -1,6 +1,6 @@
1;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later. 1;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later.
2 2
3;; Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation 3;; Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation
4 4
5;; Author: Karl Fogel <kfogel@red-bean.com> 5;; Author: Karl Fogel <kfogel@red-bean.com>
6;; Maintainer: Karl Fogel <kfogel@red-bean.com> 6;; Maintainer: Karl Fogel <kfogel@red-bean.com>
@@ -99,12 +99,19 @@ maintainers to avoid version confusion.")
99 99
100;;; User Variables 100;;; User Variables
101 101
102(defvar bookmark-use-annotations nil 102(defgroup bookmark nil
103 "Setting, annotation and jumping to bookmarks"
104 :group 'matching)
105
106
107(defcustom bookmark-use-annotations nil
103 "*If non-nil, saving a bookmark will query for an annotation in a 108 "*If non-nil, saving a bookmark will query for an annotation in a
104buffer.") 109buffer."
110 :type 'boolean
111 :group 'bookmark)
105 112
106 113
107(defvar bookmark-save-flag t 114(defcustom bookmark-save-flag t
108 "*Controls when Emacs saves bookmarks to a file. 115 "*Controls when Emacs saves bookmarks to a file.
109--> Nil means never save bookmarks, except when `bookmark-save' is 116--> Nil means never save bookmarks, except when `bookmark-save' is
110 explicitly called \(\\[bookmark-save]\). 117 explicitly called \(\\[bookmark-save]\).
@@ -120,7 +127,9 @@ bookmark is to set this variable to 1 \(or 0, which produces the same
120behavior.\) 127behavior.\)
121 128
122To specify the file in which to save them, modify the variable 129To specify the file in which to save them, modify the variable
123bookmark-default-file, which is `~/.emacs.bmk' by default.") 130bookmark-default-file, which is `~/.emacs.bmk' by default."
131 :type '(choice (const nil) (const t) integer)
132 :group 'bookmark)
124 133
125 134
126(defconst bookmark-old-default-file "~/.emacs-bkmrks" 135(defconst bookmark-old-default-file "~/.emacs-bkmrks"
@@ -131,51 +140,67 @@ bookmark-default-file, which is `~/.emacs.bmk' by default.")
131(defvar bookmark-file nil 140(defvar bookmark-file nil
132 "Old name for `bookmark-default-file'.") 141 "Old name for `bookmark-default-file'.")
133 142
134(defvar bookmark-default-file 143(defcustom bookmark-default-file
135 (if bookmark-file 144 (if bookmark-file
136 ;; In case user set `bookmark-file' in her .emacs: 145 ;; In case user set `bookmark-file' in her .emacs:
137 bookmark-file 146 bookmark-file
138 (convert-standard-filename "~/.emacs.bmk")) 147 (convert-standard-filename "~/.emacs.bmk"))
139 "*File in which to save bookmarks by default.") 148 "*File in which to save bookmarks by default."
149 :type 'file
150 :group 'bookmark)
140 151
141 152
142(defvar bookmark-version-control 'nospecial 153(defcustom bookmark-version-control 'nospecial
143 "*Whether or not to make numbered backups of the bookmark file. 154 "*Whether or not to make numbered backups of the bookmark file.
144It can have four values: t, nil, `never', and `nospecial'. 155It can have four values: t, nil, `never', and `nospecial'.
145The first three have the same meaning that they do for the 156The first three have the same meaning that they do for the
146variable `version-control', and the final value `nospecial' means just 157variable `version-control', and the final value `nospecial' means just
147use the value of `version-control'.") 158use the value of `version-control'."
159 :type '(choice (const t) (const nil) (const never) (const nospecial))
160 :group 'bookmark)
148 161
149 162
150(defvar bookmark-completion-ignore-case t 163(defcustom bookmark-completion-ignore-case t
151 "*Non-nil means bookmark functions ignore case in completion.") 164 "*Non-nil means bookmark functions ignore case in completion."
165 :type 'boolean
166 :group 'bookmark)
152 167
153 168
154(defvar bookmark-sort-flag t 169(defcustom bookmark-sort-flag t
155 "*Non-nil means that bookmarks will be displayed sorted by bookmark 170 "*Non-nil means that bookmarks will be displayed sorted by bookmark
156name. Otherwise they will be displayed in LIFO order (that is, most 171name. Otherwise they will be displayed in LIFO order (that is, most
157recently set ones come first, oldest ones come last).") 172recently set ones come first, oldest ones come last)."
173 :type 'boolean
174 :group 'bookmark)
158 175
159 176
160(defvar bookmark-automatically-show-annotations t 177(defcustom bookmark-automatically-show-annotations t
161 "*Nil means don't show annotations when jumping to a bookmark.") 178 "*Nil means don't show annotations when jumping to a bookmark."
179 :type 'boolean
180 :group 'bookmark)
162 181
163 182
164(defvar bookmark-bmenu-file-column 30 183(defcustom bookmark-bmenu-file-column 30
165 "*Column at which to display filenames in a buffer listing bookmarks. 184 "*Column at which to display filenames in a buffer listing bookmarks.
166You can toggle whether files are shown with \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-toggle-filenames].") 185You can toggle whether files are shown with \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-toggle-filenames]."
186 :type 'integer
187 :group 'bookmark)
167 188
168 189
169(defvar bookmark-bmenu-toggle-filenames t 190(defcustom bookmark-bmenu-toggle-filenames t
170 "*Non-nil means show filenames when listing bookmarks. 191 "*Non-nil means show filenames when listing bookmarks.
171This may result in truncated bookmark names. To disable this, put the 192This may result in truncated bookmark names. To disable this, put the
172following in your .emacs: 193following in your .emacs:
173 194
174\(setq bookmark-bmenu-toggle-filenames nil\)") 195\(setq bookmark-bmenu-toggle-filenames nil\)"
196 :type 'boolean
197 :group 'bookmark)
175 198
176 199
177(defvar bookmark-menu-length 70 200(defcustom bookmark-menu-length 70
178 "*Maximum length of a bookmark name displayed on a popup menu.") 201 "*Maximum length of a bookmark name displayed on a popup menu."
202 :type 'integer
203 :group 'boolean)
179 204
180 205
181;;; No user-serviceable parts beyond this point. 206;;; No user-serviceable parts beyond this point.
diff --git a/lisp/dabbrev.el b/lisp/dabbrev.el
index 2c28b39c4d1..87f87e014d0 100644
--- a/lisp/dabbrev.el
+++ b/lisp/dabbrev.el
@@ -97,40 +97,60 @@
97;;---------------------------------------------------------------- 97;;----------------------------------------------------------------
98;; Customization variables 98;; Customization variables
99;;---------------------------------------------------------------- 99;;----------------------------------------------------------------
100(defvar dabbrev-backward-only nil
101 "*If non-nil, `dabbrev-expand' only looks backwards.")
102 100
103(defvar dabbrev-limit nil 101(defgroup dabbrev nil
104 "*Limits region searched by `dabbrev-expand' to this many chars away.") 102 "Dynamic Abbreviations"
103 :tag "Dynamic Abbreviations"
104 :group 'abbrev)
105 105
106(defvar dabbrev-abbrev-skip-leading-regexp nil 106(defcustom dabbrev-backward-only nil
107 "*If non-nil, `dabbrev-expand' only looks backwards."
108 :type 'boolean
109 :group 'dabbrev)
110
111(defcustom dabbrev-limit nil
112 "*Limits region searched by `dabbrev-expand' to this many chars away."
113 :type '(choice (const :tag "off" nil)
114 integer)
115 :group 'dabbrev)
116
117(defcustom dabbrev-abbrev-skip-leading-regexp nil
107 "*Regexp for skipping leading characters of an abbreviation. 118 "*Regexp for skipping leading characters of an abbreviation.
108 119
109Example: Set this to \"\\\\$\" for programming languages 120Example: Set this to \"\\\\$\" for programming languages
110in which variable names may appear with or without a leading `$'. 121in which variable names may appear with or without a leading `$'.
111\(For example, in Makefiles.) 122\(For example, in Makefiles.
123 :type 'regexp
124 :group 'dabbrev))
112 125
113Set this to nil if no characters should be skipped.") 126Set this to nil if no characters should be skipped."
127 :type '(choice regexp
128 (const :tag "off" nil))
129 :group 'dabbrev)
114 130
115;; I recommend that you set this to nil. 131;; I recommend that you set this to nil.
116(defvar dabbrev-case-fold-search 'case-fold-search 132(defcustom dabbrev-case-fold-search 'case-fold-search
117 "*Non-nil if dabbrev searches should ignore case. 133 "*Non-nil if dabbrev searches should ignore case.
118A value of nil means case is significant. 134A value of nil means case is significant.
119 135
120The value of this variable is an expression; it is evaluated 136The value of this variable is an expression; it is evaluated
121and the resulting value determines the decision. 137and the resulting value determines the decision.
122For example: setting this to `case-fold-search' means evaluate that 138For example: setting this to `case-fold-search' means evaluate that
123variable to see whether its value is nil.") 139variable to see whether its value is nil."
140 :type 'sexp
141 :group 'dabbrev)
124 142
125(defvar dabbrev-upcase-means-case-search nil 143(defcustom dabbrev-upcase-means-case-search nil
126 "*The significance of an uppercase character in an abbreviation. 144 "*The significance of an uppercase character in an abbreviation.
127nil means case fold search, non-nil means case sensitive search. 145nil means case fold search, non-nil means case sensitive search.
128 146
129This variable has an effect only when the value of 147This variable has an effect only when the value of
130`dabbrev-case-fold-search' evaluates to t.") 148`dabbrev-case-fold-search' evaluates to t."
149 :type 'boolean
150 :group 'dabbrev)
131 151
132;; I recommend that you set this to nil. 152;; I recommend that you set this to nil.
133(defvar dabbrev-case-replace 'case-replace 153(defcustom dabbrev-case-replace 'case-replace
134 "*Non-nil means dabbrev should preserve case when expanding the abbreviation. 154 "*Non-nil means dabbrev should preserve case when expanding the abbreviation.
135More precisely, it preserves the case pattern of the abbreviation as you 155More precisely, it preserves the case pattern of the abbreviation as you
136typed it--as opposed to the case pattern of the expansion that is copied. 156typed it--as opposed to the case pattern of the expansion that is copied.
@@ -140,9 +160,11 @@ For example, setting this to `case-replace' means evaluate that
140variable to see if its value is t or nil. 160variable to see if its value is t or nil.
141 161
142This variable has an effect only when the value of 162This variable has an effect only when the value of
143`dabbrev-case-fold-search' evaluates to t.") 163`dabbrev-case-fold-search' evaluates to t."
164 :type 'sexp
165 :group 'dabbrev)
144 166
145(defvar dabbrev-abbrev-char-regexp nil 167(defcustom dabbrev-abbrev-char-regexp nil
146 "*Regexp to recognize a character in an abbreviation or expansion. 168 "*Regexp to recognize a character in an abbreviation or expansion.
147This regexp will be surrounded with \\\\( ... \\\\) when actually used. 169This regexp will be surrounded with \\\\( ... \\\\) when actually used.
148 170
@@ -162,9 +184,12 @@ starting with or containing `no-'. If you set this variable to
162expanding `yes-or-no-' signals an error because `-' is not part of a word; 184expanding `yes-or-no-' signals an error because `-' is not part of a word;
163but expanding `yes-or-no' looks for a word starting with `no'. 185but expanding `yes-or-no' looks for a word starting with `no'.
164 186
165The recommended value is \"\\\\sw\\\\|\\\\s_\".") 187The recommended value is \"\\\\sw\\\\|\\\\s_\"."
188 :type '(choice (const nil)
189 regexp)
190 :group 'dabbrev)
166 191
167(defvar dabbrev-check-all-buffers t 192(defcustom dabbrev-check-all-buffers t
168 "*Non-nil means dabbrev package should search *all* buffers. 193 "*Non-nil means dabbrev package should search *all* buffers.
169 194
170Dabbrev always searches the current buffer first. Then, if 195Dabbrev always searches the current buffer first. Then, if
@@ -172,9 +197,11 @@ Dabbrev always searches the current buffer first. Then, if
172designated by `dabbrev-select-buffers-function'. 197designated by `dabbrev-select-buffers-function'.
173 198
174Then, if `dabbrev-check-all-buffers' is non-nil, dabbrev searches 199Then, if `dabbrev-check-all-buffers' is non-nil, dabbrev searches
175all the other buffers.") 200all the other buffers."
201 :type 'boolean
202 :group 'dabbrev)
176 203
177(defvar dabbrev-check-other-buffers t 204(defcustom dabbrev-check-other-buffers t
178 "*Should \\[dabbrev-expand] look in other buffers?\ 205 "*Should \\[dabbrev-expand] look in other buffers?\
179 206
180nil: Don't look in other buffers. 207nil: Don't look in other buffers.
@@ -184,7 +211,11 @@ Anything else: When we can't find any more expansions in
184the current buffer, then ask the user whether to look in other 211the current buffer, then ask the user whether to look in other
185buffers too. 212buffers too.
186 213
187The default value is t.") 214The default value is t."
215 :type '(choice (const :tag "off" nil)
216 (const :tag "on" t)
217 (const :tag "ask" other))
218 :group 'dabbrev)
188 219
189;; I guess setting this to a function that selects all C- or C++- 220;; I guess setting this to a function that selects all C- or C++-
190;; mode buffers would be a good choice for a debugging buffer, 221;; mode buffers would be a good choice for a debugging buffer,
@@ -197,7 +228,7 @@ an example.
197 228
198A mode setting this variable should make it buffer local.") 229A mode setting this variable should make it buffer local.")
199 230
200(defvar dabbrev-friend-buffer-function 'dabbrev--same-major-mode-p 231(defcustom dabbrev-friend-buffer-function 'dabbrev--same-major-mode-p
201 "*A function to decide whether dabbrev should search OTHER-BUFFER. 232 "*A function to decide whether dabbrev should search OTHER-BUFFER.
202The function should take one argument, OTHER-BUFFER, and return 233The function should take one argument, OTHER-BUFFER, and return
203non-nil if that buffer should be searched. Have a look at 234non-nil if that buffer should be searched. Have a look at
@@ -207,9 +238,11 @@ The value of `dabbrev-friend-buffer-function' has an effect only if
207the value of `dabbrev-select-buffers-function' uses it. The function 238the value of `dabbrev-select-buffers-function' uses it. The function
208`dabbrev--select-buffers' is one function you can use here. 239`dabbrev--select-buffers' is one function you can use here.
209 240
210A mode setting this variable should make it buffer local.") 241A mode setting this variable should make it buffer local."
242 :type 'function
243 :group 'dabbrev)
211 244
212(defvar dabbrev-search-these-buffers-only nil 245(defcustom dabbrev-search-these-buffers-only nil
213 "If non-nil, a list of buffers which dabbrev should search. 246 "If non-nil, a list of buffers which dabbrev should search.
214If this variable is non-nil, dabbrev will only look in these buffers. 247If this variable is non-nil, dabbrev will only look in these buffers.
215It will not even look in the current buffer if it is not a member of 248It will not even look in the current buffer if it is not a member of
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 4db51be00ba..56ac600dbc4 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -104,13 +104,20 @@
104;; ---------------------------------------------------------------------------- 104;; ----------------------------------------------------------------------------
105;; USER OPTIONS -- settings you might want to play with. 105;; USER OPTIONS -- settings you might want to play with.
106;; ---------------------------------------------------------------------------- 106;; ----------------------------------------------------------------------------
107
108(defgroup desktop nil
109 "Save status of Emacs when you exit."
110 :group 'frames)
111
107(defconst desktop-basefilename 112(defconst desktop-basefilename
108 (convert-standard-filename ".emacs.desktop") 113 (convert-standard-filename ".emacs.desktop")
109 "File for Emacs desktop, not including the directory name.") 114 "File for Emacs desktop, not including the directory name.")
110 115
111(defvar desktop-missing-file-warning nil 116(defcustom desktop-missing-file-warning nil
112 "*If non-nil then desktop warns when a file no longer exists. 117 "*If non-nil then desktop warns when a file no longer exists.
113Otherwise it simply ignores that file.") 118Otherwise it simply ignores that file."
119 :type 'boolean
120 :group 'desktop)
114 121
115(defvar desktop-globals-to-save 122(defvar desktop-globals-to-save
116 (list 'desktop-missing-file-warning 123 (list 'desktop-missing-file-warning
@@ -146,29 +153,39 @@ The variables are saved only when they really are local.")
146;; We skip .log files because they are normally temporary. 153;; We skip .log files because they are normally temporary.
147;; (ftp) files because they require passwords and whatnot. 154;; (ftp) files because they require passwords and whatnot.
148;; TAGS files to save time (tags-file-name is saved instead). 155;; TAGS files to save time (tags-file-name is saved instead).
149(defvar desktop-buffers-not-to-save 156(defcustom desktop-buffers-not-to-save
150 "\\(^nn\\.a[0-9]+\\|\\.log\\|(ftp)\\|^tags\\|^TAGS\\)$" 157 "\\(^nn\\.a[0-9]+\\|\\.log\\|(ftp)\\|^tags\\|^TAGS\\)$"
151 "Regexp identifying buffers that are to be excluded from saving.") 158 "Regexp identifying buffers that are to be excluded from saving."
159 :type 'regexp
160 :group 'desktop)
152 161
153;; Skip ange-ftp files 162;; Skip ange-ftp files
154(defvar desktop-files-not-to-save 163(defcustom desktop-files-not-to-save
155 "^/[^/:]*:" 164 "^/[^/:]*:"
156 "Regexp identifying files whose buffers are to be excluded from saving.") 165 "Regexp identifying files whose buffers are to be excluded from saving."
166 :type 'regexp
167 :group 'desktop)
157 168
158(defvar desktop-buffer-major-mode nil 169(defcustom desktop-buffer-major-mode nil
159 "When desktop creates a buffer, this holds the desired Major mode.") 170 "When desktop creates a buffer, this holds the desired Major mode."
171 :type 'symbol
172 :group 'desktop)
160 173
161(defvar desktop-buffer-file-name nil 174(defcustom desktop-buffer-file-name nil
162 "When desktop creates a buffer, this holds the file name to visit.") 175 "When desktop creates a buffer, this holds the file name to visit."
176 :type '(choice file (const nil))
177 :group 'desktop)
163 178
164(defvar desktop-buffer-name nil 179(defcustom desktop-buffer-name nil
165 "When desktop creates a buffer, this holds the desired buffer name.") 180 "When desktop creates a buffer, this holds the desired buffer name."
181 :type '(choice string (const nil))
182 :group 'desktop)
166 183
167(defvar desktop-buffer-misc nil 184(defvar desktop-buffer-misc nil
168 "When desktop creates a buffer, this holds a list of misc info. 185 "When desktop creates a buffer, this holds a list of misc info.
169It is used by the `desktop-buffer-handlers' functions.") 186It is used by the `desktop-buffer-handlers' functions.")
170 187
171(defvar desktop-buffer-handlers 188(defcustom desktop-buffer-handlers
172 '(desktop-buffer-dired 189 '(desktop-buffer-dired
173 desktop-buffer-rmail 190 desktop-buffer-rmail
174 desktop-buffer-mh 191 desktop-buffer-mh
@@ -179,14 +196,18 @@ The functions are called without explicit parameters but can use the
179variables `desktop-buffer-major-mode', `desktop-buffer-file-name', 196variables `desktop-buffer-major-mode', `desktop-buffer-file-name',
180`desktop-buffer-name'. 197`desktop-buffer-name'.
181If one function returns non-nil, no further functions are called. 198If one function returns non-nil, no further functions are called.
182If the function returns t then the buffer is considered created.") 199If the function returns t then the buffer is considered created."
200 :type '(repeat function)
201 :group 'desktop)
183 202
184(defvar desktop-create-buffer-form "(desktop-create-buffer 205" 203(defvar desktop-create-buffer-form "(desktop-create-buffer 205"
185 "Opening of form for creation of new buffers.") 204 "Opening of form for creation of new buffers.")
186 205
187(defvar desktop-save-hook nil 206(defcustom desktop-save-hook nil
188 "Hook run before saving the desktop to allow you to cut history lists and 207 "Hook run before saving the desktop to allow you to cut history lists and
189the like shorter.") 208the like shorter."
209 :type 'hook
210 :group 'desktop)
190;; ---------------------------------------------------------------------------- 211;; ----------------------------------------------------------------------------
191(defvar desktop-dirname nil 212(defvar desktop-dirname nil
192 "The directory in which the current desktop file resides.") 213 "The directory in which the current desktop file resides.")
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el
index cc0a03a5491..ff176345a86 100644
--- a/lisp/jka-compr.el
+++ b/lisp/jka-compr.el
@@ -1,6 +1,6 @@
1;;; jka-compr.el --- reading/writing/loading compressed files 1;;; jka-compr.el --- reading/writing/loading compressed files
2 2
3;; Copyright (C) 1993, 1994 Free Software Foundation, Inc. 3;; Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
4 4
5;; Author: jka@ece.cmu.edu (Jay K. Adams) 5;; Author: jka@ece.cmu.edu (Jay K. Adams)
6;; Keywords: data 6;; Keywords: data
@@ -99,19 +99,29 @@
99 99
100;;; Code: 100;;; Code:
101 101
102(defvar jka-compr-shell "sh" 102(defgroup compression nil
103 "Data compression utilities"
104 :group 'data)
105
106(defgroup jka-compr nil
107 "jka-compr customization"
108 :group 'compression)
109
110
111(defcustom jka-compr-shell "sh"
103 "*Shell to be used for calling compression programs. 112 "*Shell to be used for calling compression programs.
104The value of this variable only matters if you want to discard the 113The value of this variable only matters if you want to discard the
105stderr of a compression/decompression program (see the documentation 114stderr of a compression/decompression program (see the documentation
106for `jka-compr-compression-info-list').") 115for `jka-compr-compression-info-list')."
107 116 :type 'string
117 :group 'jka-compr)
108 118
109(defvar jka-compr-use-shell t) 119(defvar jka-compr-use-shell t)
110 120
111 121
112;;; I have this defined so that .Z files are assumed to be in unix 122;;; I have this defined so that .Z files are assumed to be in unix
113;;; compress format; and .gz files, in gzip format. 123;;; compress format; and .gz files, in gzip format.
114(defvar jka-compr-compression-info-list 124(defcustom jka-compr-compression-info-list
115 ;;[regexp 125 ;;[regexp
116 ;; compr-message compr-prog compr-args 126 ;; compr-message compr-prog compr-args
117 ;; uncomp-message uncomp-prog uncomp-args 127 ;; uncomp-message uncomp-prog uncomp-args
@@ -160,7 +170,21 @@ APPEND-FLAG EXTENSION], where:
160 170
161Because of the way `call-process' is defined, discarding the stderr output of 171Because of the way `call-process' is defined, discarding the stderr output of
162a program adds the overhead of starting a shell each time the program is 172a program adds the overhead of starting a shell each time the program is
163invoked.") 173invoked."
174 :type '(repeat (vector regexp
175 (choice :tag "Compress Message"
176 (string :format "%v")
177 (const :tag "No Message" nil))
178 (string :tag "Compress Program")
179 (repeat :tag "Compress Arguments" string)
180 (choice :tag "Uncompress Message"
181 (string :format "%v")
182 (const :tag "No Message" nil))
183 (string :tag "Uncompress Program")
184 (repeat :tag "Uncompress Arguments" string)
185 (boolean :tag "Append")
186 (boolean :tag "Auto Mode")))
187 :group 'jka-compr)
164 188
165(defvar jka-compr-mode-alist-additions 189(defvar jka-compr-mode-alist-additions
166 (list (cons "\\.tgz\\'" 'tar-mode)) 190 (list (cons "\\.tgz\\'" 'tar-mode))
@@ -312,11 +336,12 @@ to keep: LEN chars starting BEG chars from the beginning."
312;;; Support for temp files. Much of this was inspired if not lifted 336;;; Support for temp files. Much of this was inspired if not lifted
313;;; from ange-ftp. 337;;; from ange-ftp.
314 338
315(defvar jka-compr-temp-name-template 339(defcustom jka-compr-temp-name-template
316 (expand-file-name "jka-com" 340 (expand-file-name "jka-com"
317 (or (getenv "TMPDIR") "/tmp/")) 341 (or (getenv "TMPDIR") "/tmp/"))
318 "Prefix added to all temp files created by jka-compr. 342There should be no more than seven characters after the final `/'."
319There should be no more than seven characters after the final `/'") 343 :type 'string
344 :group 'jka-compr)
320 345
321(defvar jka-compr-temp-name-table (make-vector 31 nil)) 346(defvar jka-compr-temp-name-table (make-vector 31 nil))
322 347
diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el
index 62d6f59fbbb..42d16cbdb5e 100644
--- a/lisp/progmodes/executable.el
+++ b/lisp/progmodes/executable.el
@@ -52,39 +52,59 @@
52 52
53;;; Code: 53;;; Code:
54 54
55(defvar executable-insert t 55(defgroup executable nil
56 "Base functionality for executable interpreter scripts"
57 :group 'processes)
58
59(defcustom executable-insert 'other
56 "*Non-nil means offer to add a magic number to a file. 60 "*Non-nil means offer to add a magic number to a file.
57This takes effect when you switch to certain major modes, 61This takes effect when you switch to certain major modes,
58including Shell-script mode (`sh-mode'). 62including Shell-script mode (`sh-mode').
59When you type \\[executable-set-magic], it always offers to add or 63When you type \\[executable-set-magic], it always offers to add or
60update the magic number.") 64update the magic number."
65 :type '(choice (const :tag "off" nil)
66 (const :tag "on" t)
67 symbol)
68 :group 'executable)
61 69
62(defvar executable-query 'function
63 "*If non-nil, ask user before changing an existing magic number.
64When this is `function', only ask when called non-interactively.")
65 70
71(defcustom executable-query 'function
72 "*If non-nil, ask user before changing an existing magic number.
73When this is `function', only ask when called non-interactively."
74 :type '(choice (const :tag "Don't Ask" nil)
75 (const :tag "Ask" t)
76 (const :tag "Ask when non-interactive" function))
77 :group 'executable)
66 78
67(defvar executable-magicless-file-regexp "/[Mm]akefile$\\|/\\.\\(z?profile\\|bash_profile\\|z?login\\|bash_login\\|z?logout\\|bash_logout\\|.+shrc\\|esrc\\|rcrc\\|[kz]shenv\\)$"
68 "*On files with this kind of name no magic is inserted or changed.")
69 79
80(defcustom executable-magicless-file-regexp "/[Mm]akefile$\\|/\\.\\(z?profile\\|bash_profile\\|z?login\\|bash_login\\|z?logout\\|bash_logout\\|.+shrc\\|esrc\\|rcrc\\|[kz]shenv\\)$"
81 "*On files with this kind of name no magic is inserted or changed."
82 :type 'regexp
83 :group 'executable)
70 84
71(defvar executable-prefix "#! "
72 "*Interpreter magic number prefix inserted when there was no magic number.")
73 85
86(defcustom executable-prefix "#! "
87 "*Interpreter magic number prefix inserted when there was no magic number."
88 :type 'string
89 :group 'executable)
74 90
75 91
76(defvar executable-chmod 73 92(defcustom executable-chmod 73
77 "*After saving, if the file is not executable, set this mode. 93 "*After saving, if the file is not executable, set this mode.
78This mode passed to `set-file-modes' is taken absolutely when negative, or 94This mode passed to `set-file-modes' is taken absolutely when negative, or
79relative to the files existing modes. Do nothing if this is nil. 95relative to the files existing modes. Do nothing if this is nil.
80Typical values are 73 (+x) or -493 (rwxr-xr-x).") 96Typical values are 73 (+x) or -493 (rwxr-xr-x)."
97 :type 'integer
98 :group 'executable)
81 99
82 100
83(defvar executable-command nil) 101(defvar executable-command nil)
84 102
85(defvar executable-self-display "tail" 103(defcustom executable-self-display "tail"
86 "*Command you use with argument `+2' to make text files self-display. 104 "*Command you use with argument `+2' to make text files self-display.
87Note that the like of `more' doesn't work too well under Emacs \\[shell].") 105Note that the like of `more' doesn't work too well under Emacs \\[shell]."
106 :type 'string
107 :group 'executable)
88 108
89 109
90(defvar executable-font-lock-keywords 110(defvar executable-font-lock-keywords
diff --git a/lisp/textmodes/makeinfo.el b/lisp/textmodes/makeinfo.el
index a649d522156..d6ee7bbb1c0 100644
--- a/lisp/textmodes/makeinfo.el
+++ b/lisp/textmodes/makeinfo.el
@@ -47,15 +47,24 @@
47 47
48(require 'compile) 48(require 'compile)
49 49
50(defvar makeinfo-run-command "makeinfo" 50(defgroup makeinfo nil
51 "Run makeinfo conveniently"
52 :group 'docs)
53
54
55(defcustom makeinfo-run-command "makeinfo"
51 "*Command used to run `makeinfo' subjob. 56 "*Command used to run `makeinfo' subjob.
52The name of the file is appended to this string, separated by a space.") 57The name of the file is appended to this string, separated by a space."
58 :type 'string
59 :group 'makeinfo)
53 60
54(defvar makeinfo-options "--fill-column=70" 61(defcustom makeinfo-options "--fill-column=70"
55 "*String containing options for running `makeinfo'. 62 "*String containing options for running `makeinfo'.
56Do not include `--footnote-style' or `--paragraph-indent'; 63Do not include `--footnote-style' or `--paragraph-indent';
57the proper way to specify those is with the Texinfo commands 64the proper way to specify those is with the Texinfo commands
58`@footnotestyle` and `@paragraphindent'.") 65`@footnotestyle` and `@paragraphindent'."
66 :type 'string
67 :group 'makeinfo)
59 68
60(require 'texinfo) 69(require 'texinfo)
61 70
diff --git a/lisp/textmodes/ooutline.el b/lisp/textmodes/ooutline.el
index af053cc3245..558d0a1cffc 100644
--- a/lisp/textmodes/ooutline.el
+++ b/lisp/textmodes/ooutline.el
@@ -1,6 +1,6 @@
1;;; outline.el --- outline mode commands for Emacs 1;;; outline.el --- outline mode commands for Emacs
2 2
3;; Copyright (C) 1986, 1993, 1994 Free Software Foundation, Inc. 3;; Copyright (C) 1986, 1993, 1994, 1997 Free Software Foundation, Inc.
4 4
5;; Maintainer: FSF 5;; Maintainer: FSF
6;; Keywords: outlines 6;; Keywords: outlines
@@ -31,24 +31,34 @@
31;;; Code: 31;;; Code:
32 32
33;; Jan '86, Some new features added by Peter Desnoyers and rewritten by RMS. 33;; Jan '86, Some new features added by Peter Desnoyers and rewritten by RMS.
34 34
35(defvar outline-regexp nil 35(defgroup outlines nil
36 "Support for hierarchical outlining"
37 :prefix "outline-"
38 :group 'editing)
39
40
41(defcustom outline-regexp nil
36 "*Regular expression to match the beginning of a heading. 42 "*Regular expression to match the beginning of a heading.
37Any line whose beginning matches this regexp is considered to start a heading. 43Any line whose beginning matches this regexp is considered to start a heading.
38The recommended way to set this is with a Local Variables: list 44The recommended way to set this is with a Local Variables: list
39in the file it applies to. See also outline-heading-end-regexp.") 45in the file it applies to. See also outline-heading-end-regexp."
46 :type '(choice regexp (const nil))
47 :group 'outlines)
40 48
41;; Can't initialize this in the defvar above -- some major modes have 49;; Can't initialize this in the defvar above -- some major modes have
42;; already assigned a local value to it. 50;; already assigned a local value to it.
43(or (default-value 'outline-regexp) 51(or (default-value 'outline-regexp)
44 (setq-default outline-regexp "[*\^L]+")) 52 (setq-default outline-regexp "[*\^L]+"))
45 53
46(defvar outline-heading-end-regexp "[\n\^M]" 54(defcustom outline-heading-end-regexp "[\n\^M]"
47 "*Regular expression to match the end of a heading line. 55 "*Regular expression to match the end of a heading line.
48You can assume that point is at the beginning of a heading when this 56You can assume that point is at the beginning of a heading when this
49regexp is searched for. The heading ends at the end of the match. 57regexp is searched for. The heading ends at the end of the match.
50The recommended way to set this is with a \"Local Variables:\" list 58The recommended way to set this is with a \"Local Variables:\" list
51in the file it applies to.") 59in the file it applies to."
60 :type 'regexp
61 :group 'outlines)
52 62
53(defvar outline-mode-prefix-map nil) 63(defvar outline-mode-prefix-map nil)
54 64
@@ -129,8 +139,10 @@ in the file it applies to.")
129 (define-key outline-mode-map "\C-c" outline-mode-prefix-map) 139 (define-key outline-mode-map "\C-c" outline-mode-prefix-map)
130 (define-key outline-mode-map [menu-bar] outline-mode-menu-bar-map)) 140 (define-key outline-mode-map [menu-bar] outline-mode-menu-bar-map))
131 141
132(defvar outline-minor-mode nil 142(defcustom outline-minor-mode nil
133 "Non-nil if using Outline mode as a minor mode of some other mode.") 143 "Non-nil if using Outline mode as a minor mode of some other mode."
144 :type 'boolean
145 :group 'outlines)
134(make-variable-buffer-local 'outline-minor-mode) 146(make-variable-buffer-local 'outline-minor-mode)
135(put 'outline-minor-mode 'permanent-local t) 147(put 'outline-minor-mode 'permanent-local t)
136(or (assq 'outline-minor-mode minor-mode-alist) 148(or (assq 'outline-minor-mode minor-mode-alist)
@@ -215,10 +227,12 @@ Turning on outline mode calls the value of `text-mode-hook' and then of
215 (add-hook 'change-major-mode-hook 'show-all) 227 (add-hook 'change-major-mode-hook 'show-all)
216 (run-hooks 'text-mode-hook 'outline-mode-hook)) 228 (run-hooks 'text-mode-hook 'outline-mode-hook))
217 229
218(defvar outline-minor-mode-prefix "\C-c@" 230(defcustom outline-minor-mode-prefix "\C-c@"
219 "*Prefix key to use for Outline commands in Outline minor mode. 231 "*Prefix key to use for Outline commands in Outline minor mode.
220The value of this variable is checked as part of loading Outline mode. 232The value of this variable is checked as part of loading Outline mode.
221After that, changing the prefix key requires manipulating keymaps.") 233After that, changing the prefix key requires manipulating keymaps."
234 :type 'string
235 :group 'outlines)
222 236
223(defvar outline-minor-mode-map nil) 237(defvar outline-minor-mode-map nil)
224(if outline-minor-mode-map 238(if outline-minor-mode-map