aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1997-04-12 02:51:38 +0000
committerRichard M. Stallman1997-04-12 02:51:38 +0000
commitcd482e0573c6e9b4fe1be13c25d9f0f3f8626cb8 (patch)
treed3cac5a6b57c642937cc6d9bf27bbe32375c4c75
parent89df60f2c05881f96f4ba70f032af78ebdd56166 (diff)
downloademacs-cd482e0573c6e9b4fe1be13c25d9f0f3f8626cb8.tar.gz
emacs-cd482e0573c6e9b4fe1be13c25d9f0f3f8626cb8.zip
Add defgroup's; change use defcustom for user vars.
-rw-r--r--lisp/progmodes/sh-script.el124
-rw-r--r--lisp/term.el60
-rw-r--r--lisp/textmodes/texinfo.el32
3 files changed, 159 insertions, 57 deletions
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 1b014faf40d..782a5b32bf1 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -1,6 +1,6 @@
1;;; sh-script.el --- shell-script editing commands for Emacs 1;;; sh-script.el --- shell-script editing commands for Emacs
2 2
3;; Copyright (C) 1993, 1994, 1995, 1996 by Free Software Foundation, Inc. 3;; Copyright (C) 1993, 94, 95, 96, 1997 by Free Software Foundation, Inc.
4 4
5;; Author: Daniel.Pfeiffer@Informatik.START.dbp.de, fax (+49 69) 7588-2389 5;; Author: Daniel.Pfeiffer@Informatik.START.dbp.de, fax (+49 69) 7588-2389
6;; Version: 2.0e 6;; Version: 2.0e
@@ -53,7 +53,18 @@
53(defvar sh-set-shell-hook nil 53(defvar sh-set-shell-hook nil
54 "*Hook run by `sh-set-shell'.") 54 "*Hook run by `sh-set-shell'.")
55 55
56(defvar sh-ancestor-alist 56(defgroup sh nil
57 "Shell programming utilities"
58 :group 'unix
59 :group 'languages)
60
61(defgroup sh-script nil
62 "Shell script mode"
63 :group 'sh
64 :prefix "sh-")
65
66
67(defcustom sh-ancestor-alist
57 '((ash . sh) 68 '((ash . sh)
58 (bash . jsh) 69 (bash . jsh)
59 (dtksh . ksh) 70 (dtksh . ksh)
@@ -92,10 +103,12 @@ sh Bourne Shell
92 zsh Z Shell 103 zsh Z Shell
93 oash SCO OA (curses) Shell 104 oash SCO OA (curses) Shell
94 posix IEEE 1003.2 Shell Standard 105 posix IEEE 1003.2 Shell Standard
95 wsh ? Shell") 106 wsh ? Shell"
107 :type '(repeat (cons symbol symbol))
108 :group 'sh-script)
96 109
97 110
98(defvar sh-alias-alist 111(defcustom sh-alias-alist
99 (nconc (if (eq system-type 'gnu/linux) 112 (nconc (if (eq system-type 'gnu/linux)
100 '((csh . tcsh) 113 '((csh . tcsh)
101 (ksh . pdksh))) 114 (ksh . pdksh)))
@@ -104,10 +117,12 @@ sh Bourne Shell
104 (sh5 . sh))) 117 (sh5 . sh)))
105 "*Alist for transforming shell names to what they really are. 118 "*Alist for transforming shell names to what they really are.
106Use this where the name of the executable doesn't correspond to the type of 119Use this where the name of the executable doesn't correspond to the type of
107shell it really is.") 120shell it really is."
121 :type '(repeat (cons symbol symbol))
122 :group 'sh-script)
108 123
109 124
110(defvar sh-shell-file 125(defcustom sh-shell-file
111 (or 126 (or
112 ;; On MSDOS and Windows, collapse $SHELL to lower-case and remove 127 ;; On MSDOS and Windows, collapse $SHELL to lower-case and remove
113 ;; the executable extension, so comparisons with the list of 128 ;; the executable extension, so comparisons with the list of
@@ -116,10 +131,12 @@ shell it really is.")
116 (file-name-sans-extension (downcase (getenv "SHELL")))) 131 (file-name-sans-extension (downcase (getenv "SHELL"))))
117 (getenv "SHELL") 132 (getenv "SHELL")
118 "/bin/sh") 133 "/bin/sh")
119 "*The executable file name for the shell being programmed.") 134 "*The executable file name for the shell being programmed."
135 :type 'string
136 :group 'sh-script)
120 137
121 138
122(defvar sh-shell-arg 139(defcustom sh-shell-arg
123 ;; bash does not need any options when run in a shell script, 140 ;; bash does not need any options when run in a shell script,
124 '((bash) 141 '((bash)
125 (csh . "-f") 142 (csh . "-f")
@@ -133,7 +150,14 @@ shell it really is.")
133 (wksh) 150 (wksh)
134 ;; -f means don't run .zshrc. 151 ;; -f means don't run .zshrc.
135 (zsh . "-f")) 152 (zsh . "-f"))
136 "*Single argument string for the magic number. See `sh-feature'.") 153 "*Single argument string for the magic number. See `sh-feature'."
154 :type '(repeat (cons (symbol :tag "Shell")
155 (choice (const :tag "No Arguments" nil)
156 (string :tag "Arguments")
157 (cons :format "Evaluate: %v"
158 (const :format "" eval)
159 sexp))))
160 :group 'sh-script)
137 161
138(defvar sh-shell-variables nil 162(defvar sh-shell-variables nil
139 "Alist of shell variable names that should be included in completion. 163 "Alist of shell variable names that should be included in completion.
@@ -274,23 +298,31 @@ the car and cdr are the same symbol.")
274 298
275 299
276 300
277(defvar sh-dynamic-complete-functions 301(defcustom sh-dynamic-complete-functions
278 '(shell-dynamic-complete-environment-variable 302 '(shell-dynamic-complete-environment-variable
279 shell-dynamic-complete-command 303 shell-dynamic-complete-command
280 comint-dynamic-complete-filename) 304 comint-dynamic-complete-filename)
281 "*Functions for doing TAB dynamic completion.") 305 "*Functions for doing TAB dynamic completion."
306 :type '(repeat function)
307 :group 'sh-script)
282 308
283 309
284(defvar sh-require-final-newline 310(defcustom sh-require-final-newline
285 '((csh . t) 311 '((csh . t)
286 (pdksh . t) 312 (pdksh . t)
287 (rc eval . require-final-newline) 313 (rc eval . require-final-newline)
288 (sh eval . require-final-newline)) 314 (sh eval . require-final-newline))
289 "*Value of `require-final-newline' in Shell-Script mode buffers. 315 "*Value of `require-final-newline' in Shell-Script mode buffers.
290See `sh-feature'.") 316See `sh-feature'."
317 :type '(repeat (cons (symbol :tag "Shell")
318 (choice (const :tag "require" t)
319 (cons :format "Evaluate: %v"
320 (const :format "" eval)
321 sexp))))
322 :group 'sh-script)
291 323
292 324
293(defvar sh-assignment-regexp 325(defcustom sh-assignment-prefix
294 '((csh . "\\<\\([a-zA-Z0-9_]+\\)\\(\\[.+\\]\\)?[ \t]*[-+*/%^]?=") 326 '((csh . "\\<\\([a-zA-Z0-9_]+\\)\\(\\[.+\\]\\)?[ \t]*[-+*/%^]?=")
295 ;; actually spaces are only supported in let/(( ... )) 327 ;; actually spaces are only supported in let/(( ... ))
296 (ksh88 . "\\<\\([a-zA-Z0-9_]+\\)\\(\\[.+\\]\\)?[ \t]*\\([-+*/%&|~^]\\|<<\\|>>\\)?=") 328 (ksh88 . "\\<\\([a-zA-Z0-9_]+\\)\\(\\[.+\\]\\)?[ \t]*\\([-+*/%&|~^]\\|<<\\|>>\\)?=")
@@ -298,15 +330,25 @@ See `sh-feature'.")
298 (sh . "\\<\\([a-zA-Z0-9_]+\\)=")) 330 (sh . "\\<\\([a-zA-Z0-9_]+\\)="))
299 "*Regexp for the variable name and what may follow in an assignment. 331 "*Regexp for the variable name and what may follow in an assignment.
300First grouping matches the variable name. This is upto and including the `=' 332First grouping matches the variable name. This is upto and including the `='
301sign. See `sh-feature'.") 333sign. See `sh-feature'."
334 :type '(repeat (cons (symbol :tag "Shell")
335 (choice regexp
336 (cons :format "Evaluate: %v"
337 (const :format "" eval)
338 sexp))))
339 :group 'sh-script)
302 340
303 341
304(defvar sh-indentation 4 342(defcustom sh-indentation 4
305 "The width for further indentation in Shell-Script mode.") 343 "The width for further indentation in Shell-Script mode."
344 :type 'integer
345 :group 'sh-script)
306 346
307 347
308(defvar sh-remember-variable-min 3 348(defcustom sh-remember-variable-min 3
309 "*Don't remember variables less than this length for completing reads.") 349 "*Don't remember variables less than this length for completing reads."
350 :type 'integer
351 :group 'sh-script)
310 352
311 353
312(defvar sh-header-marker nil 354(defvar sh-header-marker nil
@@ -314,16 +356,20 @@ sign. See `sh-feature'.")
314That command is also used for setting this variable.") 356That command is also used for setting this variable.")
315 357
316 358
317(defvar sh-beginning-of-command 359(defcustom sh-beginning-of-command
318 "\\([;({`|&]\\|\\`\\|[^\\]\n\\)[ \t]*\\([/~a-zA-Z0-9:]\\)" 360 "\\([;({`|&]\\|\\`\\|[^\\]\n\\)[ \t]*\\([/~a-zA-Z0-9:]\\)"
319 "*Regexp to determine the beginning of a shell command. 361 "*Regexp to determine the beginning of a shell command.
320The actual command starts at the beginning of the second \\(grouping\\).") 362The actual command starts at the beginning of the second \\(grouping\\)."
363 :type 'regexp
364 :group 'sh-script)
321 365
322 366
323(defvar sh-end-of-command 367(defcustom sh-end-of-command
324 "\\([/~a-zA-Z0-9:]\\)[ \t]*\\([;#)}`|&]\\|$\\)" 368 "\\([/~a-zA-Z0-9:]\\)[ \t]*\\([;#)}`|&]\\|$\\)"
325 "*Regexp to determine the end of a shell command. 369 "*Regexp to determine the end of a shell command.
326The actual command ends at the end of the first \\(grouping\\).") 370The actual command ends at the end of the first \\(grouping\\)."
371 :type 'regexp
372 :group 'sh-script)
327 373
328 374
329 375
@@ -336,7 +382,9 @@ The actual command ends at the end of the first \\(grouping\\).")
336 "Initial input in Bourne if, while and until skeletons. See `sh-feature'.") 382 "Initial input in Bourne if, while and until skeletons. See `sh-feature'.")
337 383
338 384
339(defvar sh-builtins 385;; customized this out of sheer bravado. not for the faint of heart.
386;; but it *did* have an asterisk in the docstring!
387(defcustom sh-builtins
340 '((bash eval sh-append posix 388 '((bash eval sh-append posix
341 "alias" "bg" "bind" "builtin" "declare" "dirs" "enable" "fc" "fg" 389 "alias" "bg" "bind" "builtin" "declare" "dirs" "enable" "fc" "fg"
342 "help" "history" "jobs" "kill" "let" "local" "popd" "pushd" "source" 390 "help" "history" "jobs" "kill" "let" "local" "popd" "pushd" "source"
@@ -399,11 +447,17 @@ The actual command ends at the end of the first \\(grouping\\).")
399 "which")) 447 "which"))
400 "*List of all shell builtins for completing read and fontification. 448 "*List of all shell builtins for completing read and fontification.
401Note that on some systems not all builtins are available or some are 449Note that on some systems not all builtins are available or some are
402implemented as aliases. See `sh-feature'.") 450implemented as aliases. See `sh-feature'."
451 :type '(repeat (cons (symbol :tag "Shell")
452 (choice (repeat string)
453 (cons :format "Evaluate: %v"
454 (const :format "" eval)
455 sexp))))
456 :group 'sh-script)
403 457
404 458
405 459
406(defvar sh-leading-keywords 460(defcustom sh-leading-keywords
407 '((csh "else") 461 '((csh "else")
408 462
409 (es "true" "unwind-protect" "whatis") 463 (es "true" "unwind-protect" "whatis")
@@ -414,10 +468,16 @@ implemented as aliases. See `sh-feature'.")
414 "*List of keywords that may be immediately followed by a builtin or keyword. 468 "*List of keywords that may be immediately followed by a builtin or keyword.
415Given some confusion between keywords and builtins depending on shell and 469Given some confusion between keywords and builtins depending on shell and
416system, the distinction here has been based on whether they influence the 470system, the distinction here has been based on whether they influence the
417flow of control or syntax. See `sh-feature'.") 471flow of control or syntax. See `sh-feature'."
472 :type '(repeat (cons (symbol :tag "Shell")
473 (choice (repeat string)
474 (cons :format "Evaluate: %v"
475 (const :format "" eval)
476 sexp))))
477 :group 'sh-script)
418 478
419 479
420(defvar sh-other-keywords 480(defcustom sh-other-keywords
421 '((bash eval sh-append bourne 481 '((bash eval sh-append bourne
422 "bye" "logout") 482 "bye" "logout")
423 483
@@ -447,7 +507,13 @@ flow of control or syntax. See `sh-feature'.")
447 (zsh eval sh-append bash 507 (zsh eval sh-append bash
448 "select")) 508 "select"))
449 "*List of keywords not in `sh-leading-keywords'. 509 "*List of keywords not in `sh-leading-keywords'.
450See `sh-feature'.") 510See `sh-feature'."
511 :type '(repeat (cons (symbol :tag "Shell")
512 (choice (repeat string)
513 (cons :format "Evaluate: %v"
514 (const :format "" eval)
515 sexp))))
516 :group 'sh-script)
451 517
452 518
453 519
diff --git a/lisp/term.el b/lisp/term.el
index 63624fecc09..c5143c636e2 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -378,6 +378,12 @@
378 378
379(require 'ring) 379(require 'ring)
380(require 'ehelp) 380(require 'ehelp)
381
382(defgroup term nil
383 "General command interpreter in a window"
384 :group 'processes
385 :group 'unix)
386
381 387
382;;; Buffer Local Variables: 388;;; Buffer Local Variables:
383;;;============================================================================ 389;;;============================================================================
@@ -448,8 +454,10 @@
448(defvar term-pager-old-local-map nil) ;; Saves old keymap while paging. 454(defvar term-pager-old-local-map nil) ;; Saves old keymap while paging.
449(defvar term-pager-old-filter) ;; Saved process-filter while paging. 455(defvar term-pager-old-filter) ;; Saved process-filter while paging.
450 456
451(defvar explicit-shell-file-name nil 457(defcustom explicit-shell-file-name nil
452 "*If non-nil, is file name to use for explicitly requested inferior shell.") 458 "*If non-nil, is file name to use for explicitly requested inferior shell."
459 :type '(choice (const nil) file)
460 :group 'term)
453 461
454(defvar term-prompt-regexp "^" 462(defvar term-prompt-regexp "^"
455 "Regexp to recognise prompts in the inferior process. 463 "Regexp to recognise prompts in the inferior process.
@@ -476,7 +484,7 @@ For shells, a good value is (?\\| ?& ?< ?> ?\\( ?\\) ?;).
476 484
477This is a good thing to set in mode hooks.") 485This is a good thing to set in mode hooks.")
478 486
479(defvar term-input-autoexpand nil 487(defcustom term-input-autoexpand nil
480 "*If non-nil, expand input command history references on completion. 488 "*If non-nil, expand input command history references on completion.
481This mirrors the optional behavior of tcsh (its autoexpand and histlit). 489This mirrors the optional behavior of tcsh (its autoexpand and histlit).
482 490
@@ -485,21 +493,27 @@ If the value is `history', then the expansion is only when inserting
485into the buffer's input ring. See also `term-magic-space' and 493into the buffer's input ring. See also `term-magic-space' and
486`term-dynamic-complete'. 494`term-dynamic-complete'.
487 495
488This variable is buffer-local.") 496This variable is buffer-local."
497 :type '(choice (const nil) (const t) (const input) (const history))
498 :group 'term)
489 499
490(defvar term-input-ignoredups nil 500(defcustom term-input-ignoredups nil
491 "*If non-nil, don't add input matching the last on the input ring. 501 "*If non-nil, don't add input matching the last on the input ring.
492This mirrors the optional behavior of bash. 502This mirrors the optional behavior of bash.
493 503
494This variable is buffer-local.") 504This variable is buffer-local."
505 :type 'boolean
506 :group 'term)
495 507
496(defvar term-input-ring-file-name nil 508(defcustom term-input-ring-file-name nil
497 "*If non-nil, name of the file to read/write input history. 509 "*If non-nil, name of the file to read/write input history.
498See also `term-read-input-ring' and `term-write-input-ring'. 510See also `term-read-input-ring' and `term-write-input-ring'.
499 511
500This variable is buffer-local, and is a good thing to set in mode hooks.") 512This variable is buffer-local, and is a good thing to set in mode hooks."
513 :type 'boolean
514 :group 'term)
501 515
502(defvar term-scroll-to-bottom-on-output nil 516(defcustom term-scroll-to-bottom-on-output nil
503 "*Controls whether interpreter output causes window to scroll. 517 "*Controls whether interpreter output causes window to scroll.
504If nil, then do not scroll. If t or `all', scroll all windows showing buffer. 518If nil, then do not scroll. If t or `all', scroll all windows showing buffer.
505If `this', scroll only the selected window. 519If `this', scroll only the selected window.
@@ -508,14 +522,18 @@ If `others', scroll only those that are not the selected window.
508The default is nil. 522The default is nil.
509 523
510See variable `term-scroll-show-maximum-output'. 524See variable `term-scroll-show-maximum-output'.
511This variable is buffer-local.") 525This variable is buffer-local."
526 :type 'boolean
527 :group 'term)
512 528
513(defvar term-scroll-show-maximum-output nil 529(defcustom term-scroll-show-maximum-output nil
514 "*Controls how interpreter output causes window to scroll. 530 "*Controls how interpreter output causes window to scroll.
515If non-nil, then show the maximum output when the window is scrolled. 531If non-nil, then show the maximum output when the window is scrolled.
516 532
517See variable `term-scroll-to-bottom-on-output'. 533See variable `term-scroll-to-bottom-on-output'.
518This variable is buffer-local.") 534This variable is buffer-local."
535 :type 'boolean
536 :group 'term)
519 537
520;; Where gud-display-frame should put the debugging arrow. This is 538;; Where gud-display-frame should put the debugging arrow. This is
521;; set by the marker-filter, which scans the debugger's output for 539;; set by the marker-filter, which scans the debugger's output for
@@ -557,20 +575,26 @@ massage the input string, this is your hook. This is called from
557the user command term-send-input. term-simple-send just sends 575the user command term-send-input. term-simple-send just sends
558the string plus a newline.") 576the string plus a newline.")
559 577
560(defvar term-eol-on-send t 578(defcustom term-eol-on-send t
561 "*Non-nil means go to the end of the line before sending input. 579 "*Non-nil means go to the end of the line before sending input.
562See `term-send-input'.") 580See `term-send-input'."
581 :type 'boolean
582 :group 'term)
563 583
564(defvar term-mode-hook '() 584(defcustom term-mode-hook '()
565 "Called upon entry into term-mode 585 "Called upon entry into term-mode
566This is run before the process is cranked up.") 586This is run before the process is cranked up."
587 :type 'hook
588 :group 'term)
567 589
568(defvar term-exec-hook '() 590(defcustom term-exec-hook '()
569 "Called each time a process is exec'd by term-exec. 591 "Called each time a process is exec'd by term-exec.
570This is called after the process is cranked up. It is useful for things that 592This is called after the process is cranked up. It is useful for things that
571must be done each time a process is executed in a term-mode buffer (e.g., 593must be done each time a process is executed in a term-mode buffer (e.g.,
572\(process-kill-without-query)). In contrast, the term-mode-hook is only 594\(process-kill-without-query)). In contrast, the term-mode-hook is only
573executed once when the buffer is created.") 595executed once when the buffer is created."
596 :type 'hook
597 :group 'term)
574 598
575(defvar term-mode-map nil) 599(defvar term-mode-map nil)
576(defvar term-raw-map nil 600(defvar term-raw-map nil
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el
index ea16b03a4ae..1a62fbc9fa0 100644
--- a/lisp/textmodes/texinfo.el
+++ b/lisp/textmodes/texinfo.el
@@ -1,7 +1,7 @@
1;;; texinfo.el --- major mode for editing Texinfo files 1;;; texinfo.el --- major mode for editing Texinfo files
2 2
3;; Copyright (C) 1985, 1988, 1989, 1990, 1991, 1992, 1993 Free Software 3;; Copyright (C) 1985, 1988, 1989, 1990, 1991, 1992, 1993, 1997
4;; Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Robert J. Chassell 6;; Author: Robert J. Chassell
7;; Maintainer: FSF 7;; Maintainer: FSF
@@ -23,6 +23,10 @@
23;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 23;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24;; Boston, MA 02111-1307, USA. 24;; Boston, MA 02111-1307, USA.
25 25
26(defgroup texinfo nil
27 "Texinfo Mode"
28 :group 'docs)
29
26 30
27;;; Autoloads: 31;;; Autoloads:
28 32
@@ -662,20 +666,28 @@ to jump to the corresponding spot in the Texinfo source file."
662 666
663;;; The tex and print function definitions: 667;;; The tex and print function definitions:
664 668
665(defvar texinfo-texi2dvi-command "texi2dvi" 669(defcustom texinfo-texi2dvi-command "texi2dvi"
666 "*Command used by `texinfo-tex-buffer' to run TeX and texindex on a buffer.") 670 "*Command used by `texinfo-tex-buffer' to run TeX and texindex on a buffer."
671 :type 'string
672 :group 'texinfo)
667 673
668(defvar texinfo-tex-command "tex" 674(defcustom texinfo-tex-command "tex"
669 "*Command used by `texinfo-tex-region' to run TeX on a region.") 675 "*Command used by `texinfo-tex-region' to run TeX on a region."
676 :type 'string
677 :group 'texinfo)
670 678
671(defvar texinfo-texindex-command "texindex" 679(defcustom texinfo-texindex-command "texindex"
672 "*Command used by `texinfo-texindex' to sort unsorted index files.") 680 "*Command used by `texinfo-texindex' to sort unsorted index files."
681 :type 'string
682 :group 'texinfo)
673 683
674(defvar texinfo-delete-from-print-queue-command "lprm" 684(defcustom texinfo-delete-from-print-queue-command "lprm"
675 "*Command string used to delete a job from the line printer queue. 685 "*Command string used to delete a job from the line printer queue.
676Command is used by \\[texinfo-delete-from-print-queue] based on 686Command is used by \\[texinfo-delete-from-print-queue] based on
677number provided by a previous \\[tex-show-print-queue] 687number provided by a previous \\[tex-show-print-queue]
678command.") 688command."
689 :type 'string
690 :group 'texinfo)
679 691
680(defvar texinfo-tex-trailer "@bye" 692(defvar texinfo-tex-trailer "@bye"
681 "String appended after a region sent to TeX by `texinfo-tex-region'.") 693 "String appended after a region sent to TeX by `texinfo-tex-region'.")