aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schwab1998-01-07 10:31:09 +0000
committerAndreas Schwab1998-01-07 10:31:09 +0000
commit33933d45beb4ab3b66b421a970fc9d3ab18e9acc (patch)
tree2794bb910287b8a044651317863a89538d2251a3
parent92631216919566dd1bfc6a880fc35c2ef0611457 (diff)
downloademacs-33933d45beb4ab3b66b421a970fc9d3ab18e9acc.tar.gz
emacs-33933d45beb4ab3b66b421a970fc9d3ab18e9acc.zip
Customized.
-rw-r--r--lisp/emerge.el149
-rw-r--r--lisp/expand.el26
-rw-r--r--lisp/filecache.el68
-rw-r--r--lisp/find-dired.el21
4 files changed, 180 insertions, 84 deletions
diff --git a/lisp/emerge.el b/lisp/emerge.el
index b8b085f64e5..8794ab45e55 100644
--- a/lisp/emerge.el
+++ b/lisp/emerge.el
@@ -113,6 +113,10 @@ When called interactively, displays the version."
113 113
114;;; Emerge configuration variables 114;;; Emerge configuration variables
115 115
116(defgroup emerge nil
117 "Merge diffs under Emacs control."
118 :group 'tools)
119
116;; Commands that produce difference files 120;; Commands that produce difference files
117;; All that can be configured is the name of the programs to execute 121;; All that can be configured is the name of the programs to execute
118;; (emerge-diff-program and emerge-diff3-program) and the options 122;; (emerge-diff-program and emerge-diff3-program) and the options
@@ -124,69 +128,102 @@ When called interactively, displays the version."
124;; The code which processes the diff/diff3 output depends on all the 128;; The code which processes the diff/diff3 output depends on all the
125;; finicky details of their output, including the somewhat strange 129;; finicky details of their output, including the somewhat strange
126;; way they number lines of a file. 130;; way they number lines of a file.
127(defvar emerge-diff-program "diff" 131(defcustom emerge-diff-program "diff"
128 "*Name of the program which compares two files.") 132 "*Name of the program which compares two files."
129(defvar emerge-diff3-program "diff3" 133 :type 'string
134 :group 'emerge)
135(defcustom emerge-diff3-program "diff3"
130 "*Name of the program which compares three files. 136 "*Name of the program which compares three files.
131Its arguments are the ancestor file and the two variant files.") 137Its arguments are the ancestor file and the two variant files."
132(defvar emerge-diff-options "" 138 :type 'string
133 "*Options to pass to `emerge-diff-program' and `emerge-diff3-program'.") 139 :group 'emerge)
134(defvar emerge-match-diff-line (let ((x "\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)")) 140(defcustom emerge-diff-options ""
135 (concat "^" x "\\([acd]\\)" x "$")) 141 "*Options to pass to `emerge-diff-program' and `emerge-diff3-program'."
142 :type 'string
143 :group 'emerge)
144(defcustom emerge-match-diff-line
145 (let ((x "\\([0-9]+\\)\\(\\|,\\([0-9]+\\)\\)"))
146 (concat "^" x "\\([acd]\\)" x "$"))
136 "*Pattern to match lines produced by diff that describe differences. 147 "*Pattern to match lines produced by diff that describe differences.
137This is as opposed to lines from the source files.") 148This is as opposed to lines from the source files."
138(defvar emerge-diff-ok-lines-regexp 149 :type 'regexp
150 :group 'emerge)
151(defcustom emerge-diff-ok-lines-regexp
139 "^\\([0-9,]+[acd][0-9,]+$\\|[<>] \\|---\\)" 152 "^\\([0-9,]+[acd][0-9,]+$\\|[<>] \\|---\\)"
140 "*Regexp that matches normal output lines from `emerge-diff-program'. 153 "*Regexp that matches normal output lines from `emerge-diff-program'.
141Lines that do not match are assumed to be error messages.") 154Lines that do not match are assumed to be error messages."
142(defvar emerge-diff3-ok-lines-regexp 155 :type 'regexp
156 :group 'emerge)
157(defcustom emerge-diff3-ok-lines-regexp
143 "^\\([1-3]:\\|====\\| \\)" 158 "^\\([1-3]:\\|====\\| \\)"
144 "*Regexp that matches normal output lines from `emerge-diff3-program'. 159 "*Regexp that matches normal output lines from `emerge-diff3-program'.
145Lines that do not match are assumed to be error messages.") 160Lines that do not match are assumed to be error messages."
146 161 :type 'regexp
147(defvar emerge-rcs-ci-program "ci" 162 :group 'emerge)
148 "*Name of the program that checks in RCS revisions.") 163
149(defvar emerge-rcs-co-program "co" 164(defcustom emerge-rcs-ci-program "ci"
150 "*Name of the program that checks out RCS revisions.") 165 "*Name of the program that checks in RCS revisions."
151 166 :type 'string
152(defvar emerge-process-local-variables nil 167 :group 'emerge)
168(defcustom emerge-rcs-co-program "co"
169 "*Name of the program that checks out RCS revisions."
170 :type 'string
171 :group 'emerge)
172
173(defcustom emerge-process-local-variables nil
153 "*Non-nil if Emerge should process local-variables lists in merge buffers. 174 "*Non-nil if Emerge should process local-variables lists in merge buffers.
154\(You can explicitly request processing the local-variables 175\(You can explicitly request processing the local-variables
155by executing `(hack-local-variables)'.)") 176by executing `(hack-local-variables)'.)"
156(defvar emerge-execute-line-deletions nil 177 :type 'boolean
178 :group 'emerge)
179(defcustom emerge-execute-line-deletions nil
157 "*If non-nil: `emerge-execute-line' makes no output if an input was deleted. 180 "*If non-nil: `emerge-execute-line' makes no output if an input was deleted.
158It concludes that an input version has been deleted when an ancestor entry 181It concludes that an input version has been deleted when an ancestor entry
159is present, only one A or B entry is present, and an output entry is present. 182is present, only one A or B entry is present, and an output entry is present.
160If nil: In such circumstances, the A or B file that is present will be 183If nil: In such circumstances, the A or B file that is present will be
161copied to the designated output file.") 184copied to the designated output file."
185 :type 'boolean
186 :group 'emerge)
162 187
163(defvar emerge-before-flag "vvvvvvvvvvvvvvvvvvvv\n" 188(defcustom emerge-before-flag "vvvvvvvvvvvvvvvvvvvv\n"
164 "*Flag placed above the highlighted block of code. Must end with newline. 189 "*Flag placed above the highlighted block of code. Must end with newline.
165Must be set before Emerge is loaded, or emerge-new-flags must be run 190Must be set before Emerge is loaded, or emerge-new-flags must be run
166after setting.") 191after setting."
167(defvar emerge-after-flag "^^^^^^^^^^^^^^^^^^^^\n" 192 :type 'string
193 :group 'emerge)
194(defcustom emerge-after-flag "^^^^^^^^^^^^^^^^^^^^\n"
168 "*Flag placed below the highlighted block of code. Must end with newline. 195 "*Flag placed below the highlighted block of code. Must end with newline.
169Must be set before Emerge is loaded, or emerge-new-flags must be run 196Must be set before Emerge is loaded, or emerge-new-flags must be run
170after setting.") 197after setting."
198 :type 'string
199 :group 'emerge)
171 200
172;; Hook variables 201;; Hook variables
173 202
174(defvar emerge-startup-hook nil 203(defcustom emerge-startup-hook nil
175 "*Hook to run in the merge buffer after the merge has been set up.") 204 "*Hook to run in the merge buffer after the merge has been set up."
176(defvar emerge-select-hook nil 205 :type 'hook
206 :group 'emerge)
207(defcustom emerge-select-hook nil
177 "*Hook to run after a difference has been selected. 208 "*Hook to run after a difference has been selected.
178The variable `n' holds the (internal) number of the difference.") 209The variable `n' holds the (internal) number of the difference."
179(defvar emerge-unselect-hook nil 210 :type 'hook
211 :group 'emerge)
212(defcustom emerge-unselect-hook nil
180 "*Hook to run after a difference has been unselected. 213 "*Hook to run after a difference has been unselected.
181The variable `n' holds the (internal) number of the difference.") 214The variable `n' holds the (internal) number of the difference."
215 :type 'hook
216 :group 'emerge)
182 217
183;; Variables to control the default directories of the arguments to 218;; Variables to control the default directories of the arguments to
184;; Emerge commands. 219;; Emerge commands.
185 220
186(defvar emerge-default-last-directories nil 221(defcustom emerge-default-last-directories nil
187 "*If nil, default dir for filenames in emerge is `default-directory'. 222 "*If nil, default dir for filenames in emerge is `default-directory'.
188If non-nil, filenames complete in the directory of the last argument of the 223If non-nil, filenames complete in the directory of the last argument of the
189same type to an `emerge-files...' command.") 224same type to an `emerge-files...' command."
225 :type 'boolean
226 :group 'emerge)
190 227
191(defvar emerge-last-dir-A nil 228(defvar emerge-last-dir-A nil
192 "Last directory for the first file of an `emerge-files...' command.") 229 "Last directory for the first file of an `emerge-files...' command.")
@@ -246,11 +283,13 @@ depend on the flags."
246;; Calculate dependent variables 283;; Calculate dependent variables
247(emerge-new-flags) 284(emerge-new-flags)
248 285
249(defvar emerge-min-visible-lines 3 286(defcustom emerge-min-visible-lines 3
250 "*Number of lines that we want to show above and below the flags when we are 287 "*Number of lines that we want to show above and below the flags when we are
251displaying a difference.") 288displaying a difference."
289 :type 'integer
290 :group 'emerge)
252 291
253(defvar emerge-temp-file-prefix 292(defcustom emerge-temp-file-prefix
254 (let ((env (or (getenv "TMPDIR") 293 (let ((env (or (getenv "TMPDIR")
255 (getenv "TMP") 294 (getenv "TMP")
256 (getenv "TEMP"))) 295 (getenv "TEMP")))
@@ -262,12 +301,16 @@ displaying a difference.")
262 (setq d (substring d 0 -1))) 301 (setq d (substring d 0 -1)))
263 (concat d "/emerge")) 302 (concat d "/emerge"))
264 "*Prefix to put on Emerge temporary file names. 303 "*Prefix to put on Emerge temporary file names.
265Do not start with `~/' or `~user-name/'.") 304Do not start with `~/' or `~user-name/'."
305 :type 'string
306 :group 'emerge)
266 307
267(defvar emerge-temp-file-mode 384 ; u=rw only 308(defcustom emerge-temp-file-mode 384 ; u=rw only
268 "*Mode for Emerge temporary files.") 309 "*Mode for Emerge temporary files."
310 :type 'integer
311 :group 'emerge)
269 312
270(defvar emerge-combine-versions-template 313(defcustom emerge-combine-versions-template
271 "#ifdef NEW\n%b#else /* not NEW */\n%a#endif /* not NEW */\n" 314 "#ifdef NEW\n%b#else /* not NEW */\n%a#endif /* not NEW */\n"
272 "*Template for `emerge-combine-versions' to combine the two versions. 315 "*Template for `emerge-combine-versions' to combine the two versions.
273The template is inserted as a string, with the following interpolations: 316The template is inserted as a string, with the following interpolations:
@@ -276,7 +319,9 @@ The template is inserted as a string, with the following interpolations:
276 %% the character `%' 319 %% the character `%'
277Don't forget to end the template with a newline. 320Don't forget to end the template with a newline.
278Note that this variable can be made local to a particular merge buffer by 321Note that this variable can be made local to a particular merge buffer by
279giving a prefix argument to `emerge-set-combine-versions-template'.") 322giving a prefix argument to `emerge-set-combine-versions-template'."
323 :type 'string
324 :group 'emerge)
280 325
281;; Build keymaps 326;; Build keymaps
282 327
@@ -298,9 +343,11 @@ Makes Emerge commands directly available.")
298(defvar emerge-move-menu 343(defvar emerge-move-menu
299 (make-sparse-keymap "Move")) 344 (make-sparse-keymap "Move"))
300 345
301(defvar emerge-command-prefix "\C-c\C-c" 346(defcustom emerge-command-prefix "\C-c\C-c"
302 "*Command prefix for Emerge commands in `edit' mode. 347 "*Command prefix for Emerge commands in `edit' mode.
303Must be set before Emerge is loaded.") 348Must be set before Emerge is loaded."
349 :type 'string
350 :group 'emerge)
304 351
305;; This function sets up the fixed keymaps. It is executed when the first 352;; This function sets up the fixed keymaps. It is executed when the first
306;; Emerge is done to allow the user maximum time to set up the global keymap. 353;; Emerge is done to allow the user maximum time to set up the global keymap.
@@ -1247,8 +1294,10 @@ Otherwise, the A or B file present is copied to the output file."
1247 1294
1248;;; Sample function for creating information for emerge-execute-line 1295;;; Sample function for creating information for emerge-execute-line
1249 1296
1250(defvar emerge-merge-directories-filename-regexp "[^.]" 1297(defcustom emerge-merge-directories-filename-regexp "[^.]"
1251 "Regexp describing files to be processed by `emerge-merge-directories'.") 1298 "Regexp describing files to be processed by `emerge-merge-directories'."
1299 :type 'regexp
1300 :group 'emerge)
1252 1301
1253;;;###autoload 1302;;;###autoload
1254(defun emerge-merge-directories (a-dir b-dir ancestor-dir output-dir) 1303(defun emerge-merge-directories (a-dir b-dir ancestor-dir output-dir)
@@ -3154,9 +3203,11 @@ See also `auto-save-file-name-p'."
3154 3203
3155;; Metacharacters that have to be protected from the shell when executing 3204;; Metacharacters that have to be protected from the shell when executing
3156;; a diff/diff3 command. 3205;; a diff/diff3 command.
3157(defvar emerge-metachars "[ \t\n!\"#$&'()*;<=>?[\\^`{|~]" 3206(defcustom emerge-metachars "[ \t\n!\"#$&'()*;<=>?[\\^`{|~]"
3158 "Characters that must be quoted with \\ when used in a shell command line. 3207 "Characters that must be quoted with \\ when used in a shell command line.
3159More precisely, a [...] regexp to match any one such character.") 3208More precisely, a [...] regexp to match any one such character."
3209 :type 'regexp
3210 :group 'emerge)
3160 3211
3161;; Quote metacharacters (using \) when executing a diff/diff3 command. 3212;; Quote metacharacters (using \) when executing a diff/diff3 command.
3162(defun emerge-protect-metachars (s) 3213(defun emerge-protect-metachars (s)
diff --git a/lisp/expand.el b/lisp/expand.el
index 51a12139897..3741a1496e4 100644
--- a/lisp/expand.el
+++ b/lisp/expand.el
@@ -74,14 +74,24 @@
74 74
75;;; Constants: 75;;; Constants:
76 76
77(defvar expand-load-hook nil 77(defgroup expand nil
78 "Hooks run when `expand.el' is loaded.") 78 "Make abbreviations more usable."
79 79 :group 'abbrev)
80(defvar expand-expand-hook nil 80
81 "Hooks run when an abbrev made by `expand-add-abbrevs' is expanded.") 81(defcustom expand-load-hook nil
82 82 "Hooks run when `expand.el' is loaded."
83(defvar expand-jump-hook nil 83 :type 'hook
84 "Hooks run by `expand-jump-to-previous-slot' and `expand-jump-to-next-slot'.") 84 :group 'expand)
85
86(defcustom expand-expand-hook nil
87 "Hooks run when an abbrev made by `expand-add-abbrevs' is expanded."
88 :type 'hook
89 :group 'expand)
90
91(defcustom expand-jump-hook nil
92 "Hooks run by `expand-jump-to-previous-slot' and `expand-jump-to-next-slot'."
93 :type 'hook
94 :group 'expand)
85 95
86;;; Samples: 96;;; Samples:
87 97
diff --git a/lisp/filecache.el b/lisp/filecache.el
index 08ae14c7395..7c8fe96b946 100644
--- a/lisp/filecache.el
+++ b/lisp/filecache.el
@@ -142,48 +142,72 @@
142 142
143;;; Code: 143;;; Code:
144 144
145(defgroup file-cache nil
146 "Find files using a pre-loaded cache."
147 :group 'files
148 :prefix "file-cache-")
149
145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
146;; Variables 151;; Variables
147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
148 153
149;; User-modifiable variables 154;; User-modifiable variables
150(defvar file-cache-filter-regexps 155(defcustom file-cache-filter-regexps
151 (list "~$" "\\.o$" "\\.exe$" "\\.a$" "\\.elc$" ",v$" "\\.output$" 156 (list "~$" "\\.o$" "\\.exe$" "\\.a$" "\\.elc$" ",v$" "\\.output$"
152 "\\.$" "#$") 157 "\\.$" "#$")
153 "*List of regular expressions used as filters by the file cache. 158 "*List of regular expressions used as filters by the file cache.
154File names which match these expressions will not be added to the cache. 159File names which match these expressions will not be added to the cache.
155Note that the functions `file-cache-add-file' and `file-cache-add-file-list' 160Note that the functions `file-cache-add-file' and `file-cache-add-file-list'
156do not use this variable.") 161do not use this variable."
162 :type '(repeat regexp)
163 :group 'file-cache)
157 164
158(defvar file-cache-find-command "find" 165(defcustom file-cache-find-command "find"
159 "*External program used by `file-cache-add-directory-using-find'.") 166 "*External program used by `file-cache-add-directory-using-find'."
167 :type 'string
168 :group 'file-cache)
160 169
161(defvar file-cache-locate-command "locate" 170(defcustom file-cache-locate-command "locate"
162 "*External program used by `file-cache-add-directory-using-locate'.") 171 "*External program used by `file-cache-add-directory-using-locate'."
172 :type 'string
173 :group 'file-cache)
163 174
164;; Minibuffer messages 175;; Minibuffer messages
165(defvar file-cache-no-match-message " [File Cache: No match]" 176(defcustom file-cache-no-match-message " [File Cache: No match]"
166 "Message to display when there is no completion.") 177 "Message to display when there is no completion."
167 178 :type 'string
168(defvar file-cache-sole-match-message " [File Cache: sole completion]" 179 :group 'file-cache)
169 "Message to display when there is only one completion.") 180
170 181(defcustom file-cache-sole-match-message " [File Cache: sole completion]"
171(defvar file-cache-non-unique-message " [File Cache: complete but not unique]" 182 "Message to display when there is only one completion."
172 "Message to display when there is a non-unique completion.") 183 :type 'string
184 :group 'file-cache)
185
186(defcustom file-cache-non-unique-message
187 " [File Cache: complete but not unique]"
188 "Message to display when there is a non-unique completion."
189 :type 'string
190 :group 'file-cache)
173 191
174(defvar file-cache-multiple-directory-message nil) 192(defvar file-cache-multiple-directory-message nil)
175 193
176;; Internal variables 194;; Internal variables
177;; This should be named *Completions* because that's what the function 195;; This should be named *Completions* because that's what the function
178;; switch-to-completions in simple.el expects 196;; switch-to-completions in simple.el expects
179(defvar file-cache-completions-buffer "*Completions*" 197(defcustom file-cache-completions-buffer "*Completions*"
180 "Buffer to display completions when using the file cache.") 198 "Buffer to display completions when using the file cache."
181 199 :type 'string
182(defvar file-cache-buffer "*File Cache*" 200 :group 'file-cache)
183 "Buffer to hold the cache of file names.") 201
184 202(defcustom file-cache-buffer "*File Cache*"
185(defvar file-cache-buffer-default-regexp "^.+$" 203 "Buffer to hold the cache of file names."
186 "Regexp to match files in `file-cache-buffer'.") 204 :type 'string
205 :group 'file-cache)
206
207(defcustom file-cache-buffer-default-regexp "^.+$"
208 "Regexp to match files in `file-cache-buffer'."
209 :type 'regexp
210 :group 'file-cache)
187 211
188(defvar file-cache-last-completion nil) 212(defvar file-cache-last-completion nil)
189 213
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index daa610af18a..502a93c1c74 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -27,25 +27,36 @@
27 27
28(require 'dired) 28(require 'dired)
29 29
30(defgroup find-dired nil
31 "Run a `find' command and dired the output."
32 :group 'dired
33 :prefix "find-")
34
30;; find's -ls corresponds to these switches. 35;; find's -ls corresponds to these switches.
31;; Note -b, at least GNU find quotes spaces etc. in filenames 36;; Note -b, at least GNU find quotes spaces etc. in filenames
32;;;###autoload 37;;;###autoload
33(defvar find-ls-option (if (eq system-type 'berkeley-unix) '("-ls" . "-gilsb") 38(defcustom find-ls-option
34 '("-exec ls -ld {} \\;" . "-ld")) 39 (if (eq system-type 'berkeley-unix) '("-ls" . "-gilsb")
40 '("-exec ls -ld {} \\;" . "-ld"))
35 "*Description of the option to `find' to produce an `ls -l'-type listing. 41 "*Description of the option to `find' to produce an `ls -l'-type listing.
36This is a cons of two strings (FIND-OPTION . LS-SWITCHES). FIND-OPTION 42This is a cons of two strings (FIND-OPTION . LS-SWITCHES). FIND-OPTION
37gives the option (or options) to `find' that produce the desired output. 43gives the option (or options) to `find' that produce the desired output.
38LS-SWITCHES is a list of `ls' switches to tell dired how to parse the output.") 44LS-SWITCHES is a list of `ls' switches to tell dired how to parse the output."
45 :type '(cons (string :tag "Find Option")
46 (string :tag "Ls Switches"))
47 :group 'find-dired)
39 48
40;;;###autoload 49;;;###autoload
41(defvar find-grep-options 50(defcustom find-grep-options
42 (if (or (eq system-type 'berkeley-unix) 51 (if (or (eq system-type 'berkeley-unix)
43 (string-match "solaris2" system-configuration) 52 (string-match "solaris2" system-configuration)
44 (string-match "irix" system-configuration)) 53 (string-match "irix" system-configuration))
45 "-s" "-q") 54 "-s" "-q")
46 "*Option to grep to be as silent as possible. 55 "*Option to grep to be as silent as possible.
47On Berkeley systems, this is `-s'; on Posix, and with GNU grep, `-q' does it. 56On Berkeley systems, this is `-s'; on Posix, and with GNU grep, `-q' does it.
48On other systems, the closest you can come is to use `-l'.") 57On other systems, the closest you can come is to use `-l'."
58 :type 'string
59 :group 'find-dired)
49 60
50(defvar find-args nil 61(defvar find-args nil
51 "Last arguments given to `find' by \\[find-dired].") 62 "Last arguments given to `find' by \\[find-dired].")