Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
ed366e87
Commit
ed366e87
authored
Apr 13, 1997
by
Richard M. Stallman
Browse files
Add defgroup's; use defcustom for user vars.
parent
4d100a01
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
185 additions
and
64 deletions
+185
-64
lisp/comint.el
lisp/comint.el
+115
-35
lisp/shell.el
lisp/shell.el
+70
-29
No files found.
lisp/comint.el
View file @
ed366e87
...
...
@@ -137,6 +137,20 @@
;; comint-completion-autolist boolean completion behavior
;; comint-completion-recexact boolean ...
(
defgroup
comint
nil
"General command interpreter in a window stuff."
:group
'processes
)
(
defgroup
comint-completion
nil
"Completion facilities in comint"
:group
'comint
)
(
defgroup
comint-source
nil
"Source finding facilities in comint"
:prefix
"comint-"
:group
'comint
)
(
defvar
comint-prompt-regexp
"^"
"Regexp to recognise prompts in the inferior process.
Defaults to \"^\", the null string at BOL.
...
...
@@ -162,7 +176,7 @@ For shells, a good value is (?\\| ?& ?< ?> ?\\( ?\\) ?;).
This is a good thing to set in mode hooks."
)
(
def
var
comint-input-autoexpand
nil
(
def
custom
comint-input-autoexpand
nil
"*If non-nil, expand input command history references on completion.
This mirrors the optional behavior of tcsh (its autoexpand and histlit).
...
...
@@ -171,30 +185,55 @@ If the value is `history', then the expansion is only when inserting
into the buffer's input ring. See also `comint-magic-space' and
`comint-dynamic-complete'.
This variable is buffer-local."
)
(
defvar
comint-input-ignoredups
nil
This variable is buffer-local."
:type
'
(
choice
(
const
:tag
"off"
nil
)
(
const
:tag
"on"
t
)
(
const
input
)
(
const
history
))
:group
'comint
)
(
defface
comint-input-face
'
((((
class
color
)
(
background
dark
))
(
:foreground
"red"
))
(((
class
color
)
(
background
light
))
(
:foreground
"blue"
))
(
t
(
:bold
t
)))
"How to display user input for comint shells."
:group
'comint
)
(
defcustom
comint-input-ignoredups
nil
"*If non-nil, don't add input matching the last on the input ring.
This mirrors the optional behavior of bash.
This variable is buffer-local."
)
This variable is buffer-local."
:type
'boolean
:group
'comint
)
(
def
var
comint-input-ring-file-name
nil
(
def
custom
comint-input-ring-file-name
nil
"*If non-nil, name of the file to read/write input history.
See also `comint-read-input-ring' and `comint-write-input-ring'.
This variable is buffer-local, and is a good thing to set in mode hooks."
)
This variable is buffer-local, and is a good thing to set in mode hooks."
:type
'boolean
:group
'comint
)
(
def
var
comint-scroll-to-bottom-on-input
nil
(
def
custom
comint-scroll-to-bottom-on-input
nil
"*Controls whether input to interpreter causes window to scroll.
If nil, then do not scroll. If t or `all', scroll all windows showing buffer.
If `this', scroll only the selected window.
The default is nil.
See `comint-preinput-scroll-to-bottom'. This variable is buffer-local."
)
See `comint-preinput-scroll-to-bottom'. This variable is buffer-local."
:type
'
(
choice
(
const
:tag
"off"
nil
)
(
const
t
)
(
const
all
)
(
const
this
))
:group
'comint
)
(
def
var
comint-scroll-to-bottom-on-output
nil
(
def
custom
comint-scroll-to-bottom-on-output
nil
"*Controls whether interpreter output causes window to scroll.
If nil, then do not scroll. If t or `all', scroll all windows showing buffer.
If `this', scroll only the selected window.
...
...
@@ -203,34 +242,49 @@ If `others', scroll only those that are not the selected window.
The default is nil.
See variable `comint-scroll-show-maximum-output' and function
`comint-postoutput-scroll-to-bottom'. This variable is buffer-local."
)
(
defvar
comint-scroll-show-maximum-output
nil
`comint-postoutput-scroll-to-bottom'. This variable is buffer-local."
:type
'
(
choice
(
const
:tag
"off"
nil
)
(
const
t
)
(
const
all
)
(
const
this
)
(
const
others
))
:group
'comint
)
(
defcustom
comint-scroll-show-maximum-output
nil
"*Controls how interpreter output causes window to scroll.
If non-nil, then show the maximum output when the window is scrolled.
See variable `comint-scroll-to-bottom-on-output' and function
`comint-postoutput-scroll-to-bottom'. This variable is buffer-local."
)
`comint-postoutput-scroll-to-bottom'. This variable is buffer-local."
:type
'boolean
:group
'comint
)
(
def
var
comint-buffer-maximum-size
1024
(
def
custom
comint-buffer-maximum-size
1024
"*The maximum size in lines for comint buffers.
Comint buffers are truncated from the top to be no greater than this number, if
the function `comint-truncate-buffer' is on `comint-output-filter-functions'."
)
the function `comint-truncate-buffer' is on `comint-output-filter-functions'."
:type
'integer
:group
'comint
)
(
defvar
comint-input-ring-size
32
"Size of input history ring."
)
(
def
var
comint-process-echoes
nil
(
def
custom
comint-process-echoes
nil
"*If non-nil, assume that the subprocess echoes any input.
If so, delete one copy of the input so that only one copy eventually
appears in the buffer.
This variable is buffer-local."
)
This variable is buffer-local."
:type
'boolean
:group
'comint
)
(
defvar
comint-password-prompt-regexp
;; AIX puts the name of the person being su'd to in from of the prompt.
(
defcustom
comint-password-prompt-regexp
"\\(\\([Oo]ld \\|[Nn]ew \\|'s \\|^\\)[Pp]assword\\|pass phrase\\):\\s *\\'"
"*Regexp matching prompts for passwords in the inferior process.
This is used by `comint-watch-for-password-prompt'."
)
This is used by `comint-watch-for-password-prompt'."
:type
'regexp
:group
'comint
)
;; Here are the per-interpreter hooks.
(
defvar
comint-get-old-input
(
function
comint-get-old-input-default
)
...
...
@@ -240,6 +294,18 @@ It returns the text to be submitted as process input. The default is
`comint-get-old-input-default', which grabs the current line, and strips off
leading text matching `comint-prompt-regexp'."
)
;; XEmacs - fsf doesn't have this, and I think it ought to default to 't'
;; because it's good idiot-proof interface. --stig
(
defcustom
comint-append-old-input
t
"*If nil, old text selected by \\[comint-send-input] is re-sent immediately.
If non-nil, the old text is appended to the end of the buffer,
and a prompting message is printed.
This flag does not affect the behavior of \\[comint-send-input]
after the process output mark."
:type
'boolean
:group
'comint
)
(
defvar
comint-dynamic-complete-functions
'
(
comint-replace-by-expanded-history
comint-dynamic-complete-filename
)
"List of functions called to perform completion.
...
...
@@ -277,20 +343,26 @@ massage the input string, put a different function here.
`comint-simple-send' just sends the string plus a newline.
This is called from the user command `comint-send-input'."
)
(
def
var
comint-eol-on-send
t
(
def
custom
comint-eol-on-send
t
"*Non-nil means go to the end of the line before sending input.
See `comint-send-input'."
)
See `comint-send-input'."
:type
'boolean
:group
'comint
)
(
def
var
comint-mode-hook
'
()
(
def
custom
comint-mode-hook
'
()
"Called upon entry into comint-mode
This is run before the process is cranked up."
)
This is run before the process is cranked up."
:type
'hook
:group
'comint
)
(
def
var
comint-exec-hook
'
()
(
def
custom
comint-exec-hook
'
()
"Called each time a process is exec'd by `comint-exec'.
This is called after the process is cranked up. It is useful for things that
must be done each time a process is executed in a comint mode buffer (e.g.,
`(process-kill-without-query)'). In contrast, the `comint-mode-hook' is only
executed once when the buffer is created."
)
executed once when the buffer is created."
:type
'hook
:group
'comint
)
(
defvar
comint-mode-map
nil
)
...
...
@@ -1813,27 +1885,35 @@ See `comint-prompt-regexp'."
;; Commands like this are fine things to put in load hooks if you
;; want them present in specific modes.
(
def
var
comint-completion-autolist
nil
(
def
custom
comint-completion-autolist
nil
"*If non-nil, automatically list possibilities on partial completion.
This mirrors the optional behavior of tcsh."
)
This mirrors the optional behavior of tcsh."
:type
'boolean
:group
'comint-completion
)
(
def
var
comint-completion-addsuffix
t
(
def
custom
comint-completion-addsuffix
t
"*If non-nil, add a `/' to completed directories, ` ' to file names.
If a cons pair, it should be of the form (DIRSUFFIX . FILESUFFIX) where
DIRSUFFIX and FILESUFFIX are strings added on unambiguous or exact completion.
This mirrors the optional behavior of tcsh."
)
This mirrors the optional behavior of tcsh."
:type
'boolean
:group
'comint-completion
)
(
def
var
comint-completion-recexact
nil
(
def
custom
comint-completion-recexact
nil
"*If non-nil, use shortest completion if characters cannot be added.
This mirrors the optional behavior of tcsh.
A non-nil value is useful if `comint-completion-autolist' is non-nil too."
)
A non-nil value is useful if `comint-completion-autolist' is non-nil too."
:type
'boolean
:group
'comint-completion
)
(
def
var
comint-completion-fignore
nil
(
def
custom
comint-completion-fignore
nil
"*List of suffixes to be disregarded during file completion.
This mirrors the optional behavior of bash and tcsh.
Note that this applies to `comint-dynamic-complete-filename' only."
)
Note that this applies to `comint-dynamic-complete-filename' only."
:type
'
(
repeat
(
string
:tag
"Suffix"
))
:group
'comint-completion
)
(
defvar
comint-file-name-prefix
""
"Prefix prepended to absolute file names taken from process input.
...
...
@@ -1849,7 +1929,7 @@ directory tracking functions.")
This is a good thing to set in mode hooks."
)
(
defvar
comint-file-name-quote-list
nil
"List of characters to quote with `\
\
' when in a file name.
"List of characters to quote with `\' when in a file name.
This is a good thing to set in mode hooks."
)
...
...
lisp/shell.el
View file @
ed366e87
;;; shell.el --- specialized comint.el for running the shell.
;; Copyright (C) 1988,
19
93,
19
94,
19
95, 199
6
Free Software Foundation, Inc.
;; Copyright (C) 1988, 93, 94, 95,
96,
199
7
Free Software Foundation, Inc.
;; Author: Olin Shivers <shivers@cs.cmu.edu>
;; Maintainer: Simon Marshall <simon@gnu.ai.mit.edu>
...
...
@@ -106,6 +106,19 @@
;;; Customization and Buffer Variables
(
defgroup
shell
nil
"Running shell from within Emacs buffers"
:group
'processes
:group
'unix
)
(
defgroup
shell-directories
nil
"Directory support in shell mode"
:group
'shell
)
(
defgroup
shell-faces
nil
"Faces in shell buffers"
:group
'shell
)
;;;###autoload
(
defvar
shell-prompt-pattern
"^[^#$%>\n]*[#$%>] *"
"Regexp to match prompts in the inferior shell.
...
...
@@ -119,13 +132,15 @@ on lines which don't start with a prompt.
This is a fine thing to set in your `.emacs' file."
)
(
def
var
shell-completion-fignore
nil
(
def
custom
shell-completion-fignore
nil
"*List of suffixes to be disregarded during file/command completion.
This variable is used to initialize `comint-completion-fignore' in the shell
buffer. The default is nil, for compatibility with most shells.
Some people like (\"~\" \"#\" \"%\").
This is a fine thing to set in your `.emacs' file."
)
This is a fine thing to set in your `.emacs' file."
:type
'
(
repeat
(
string
:tag
"Suffix"
))
:group
'shell
)
(
defvar
shell-delimiter-argument-list
'
(
?\|
?&
?<
?>
?\(
?\)
?\;
)
"List of characters to recognise as separate arguments.
...
...
@@ -166,57 +181,79 @@ shell buffer.
This is a fine thing to set in your `.emacs' file."
)
(
def
var
shell-command-regexp
"[^;&|\n]+"
(
def
custom
shell-command-regexp
"[^;&|\n]+"
"*Regexp to match a single command within a pipeline.
This is used for directory tracking and does not do a perfect job."
)
This is used for directory tracking and does not do a perfect job."
:type
'regexp
:group
'shell
)
(
def
var
shell-completion-execonly
t
(
def
custom
shell-completion-execonly
t
"*If non-nil, use executable files only for completion candidates.
This mirrors the optional behavior of tcsh.
Detecting executability of files may slow command completion considerably."
)
Detecting executability of files may slow command completion considerably."
:type
'boolean
:group
'shell
)
(
defvar
shell-popd-regexp
"popd"
"*Regexp to match subshell commands equivalent to popd."
)
(
defcustom
shell-popd-regexp
"popd"
"*Regexp to match subshell commands equivalent to popd."
:type
'regexp
:group
'shell-directories
)
(
defvar
shell-pushd-regexp
"pushd"
"*Regexp to match subshell commands equivalent to pushd."
)
(
defcustom
shell-pushd-regexp
"pushd"
"*Regexp to match subshell commands equivalent to pushd."
:type
'regexp
:group
'shell-directories
)
(
def
var
shell-pushd-tohome
nil
(
def
custom
shell-pushd-tohome
nil
"*If non-nil, make pushd with no arg behave as \"pushd ~\" (like cd).
This mirrors the optional behavior of tcsh."
)
This mirrors the optional behavior of tcsh."
:type
'boolean
:group
'shell-directories
)
(
def
var
shell-pushd-dextract
nil
(
def
custom
shell-pushd-dextract
nil
"*If non-nil, make \"pushd +n\" pop the nth dir to the stack top.
This mirrors the optional behavior of tcsh."
)
This mirrors the optional behavior of tcsh."
:type
'boolean
:group
'shell-directories
)
(
def
var
shell-pushd-dunique
nil
(
def
custom
shell-pushd-dunique
nil
"*If non-nil, make pushd only add unique directories to the stack.
This mirrors the optional behavior of tcsh."
)
This mirrors the optional behavior of tcsh."
:type
'boolean
:group
'shell-directories
)
(
defvar
shell-cd-regexp
"cd"
"*Regexp to match subshell commands equivalent to cd."
)
(
defcustom
shell-cd-regexp
"cd"
"*Regexp to match subshell commands equivalent to cd."
:type
'regexp
:group
'shell-directories
)
(
def
var
shell-chdrive-regexp
(
def
custom
shell-chdrive-regexp
(
if
(
memq
system-type
'
(
ms-dos
windows-nt
))
; NetWare allows the five chars between upper and lower alphabetics.
"[]a-zA-Z^_`\\[\\\\]:"
nil
)
"*If non-nil, is regexp used to track drive changes."
)
"*If non-nil, is regexp used to track drive changes."
:type
'regexp
:group
'shell-directories
)
(
defvar
explicit-shell-file-name
nil
"*If non-nil, is file name to use for explicitly requested inferior shell."
)
(
defcustom
explicit-shell-file-name
nil
"*If non-nil, is file name to use for explicitly requested inferior shell."
:type
'
(
choice
(
const
:tag
"None"
nil
)
file
)
:group
'shell
)
(
def
var
explicit-csh-args
(
def
custom
explicit-csh-args
(
if
(
eq
system-type
'hpux
)
;; -T persuades HP's csh not to think it is smarter
;; than us about what terminal modes to use.
'
(
"-i"
"-T"
)
'
(
"-i"
))
"*Args passed to inferior shell by M-x shell, if the shell is csh.
Value is a list of strings, which may be nil."
)
Value is a list of strings, which may be nil."
:type
'
(
repeat
(
string
:tag
"Argument"
))
:group
'shell
)
(
def
var
shell-input-autoexpand
'history
(
def
custom
shell-input-autoexpand
'history
"*If non-nil, expand input command history references on completion.
This mirrors the optional behavior of tcsh (its autoexpand and histlit).
...
...
@@ -226,7 +263,9 @@ into the buffer's input ring. See also `comint-magic-space' and
`comint-dynamic-complete'.
This variable supplies a default for `comint-input-autoexpand',
for Shell mode only."
)
for Shell mode only."
:type
'
(
choice
(
const
nil
)
(
const
input
)
(
const
history
))
:type
'shell
)
(
defvar
shell-dirstack
nil
"List of directories saved by pushd in this buffer's shell.
...
...
@@ -260,8 +299,10 @@ Thus, this does not include the shell's current directory.")
shell-replace-by-expanded-directory
)
'complete-expand
)))
(
defvar
shell-mode-hook
'
()
"*Hook for customising Shell mode."
)
(
defcustom
shell-mode-hook
'
()
"*Hook for customising Shell mode."
:type
'hook
:group
'shell
)
(
defvar
shell-font-lock-keywords
(
list
(
cons
shell-prompt-pattern
'font-lock-keyword-face
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment