diff options
author | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-05-31 05:03:13 +0000 |
---|---|---|
committer | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-05-31 05:03:13 +0000 |
commit | eb04131b24d5d4900fa05d1750b957e6cc10aab0 (patch) | |
tree | ab689238efae4e0114296fe31a41c2b67e54b324 /Doc/Zsh/options.yo | |
parent | c2c6cd11cffebf638e90b69829ddd3bc74ed0c97 (diff) | |
download | zsh-eb04131b24d5d4900fa05d1750b957e6cc10aab0.tar.gz zsh-eb04131b24d5d4900fa05d1750b957e6cc10aab0.tar.xz zsh-eb04131b24d5d4900fa05d1750b957e6cc10aab0.zip |
Merge 22360/22365: support version 2 of Yodl.
Diffstat (limited to 'Doc/Zsh/options.yo')
-rw-r--r-- | Doc/Zsh/options.yo | 1534 |
1 files changed, 884 insertions, 650 deletions
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo index 844046bc0..363975a69 100644 --- a/Doc/Zsh/options.yo +++ b/Doc/Zsh/options.yo @@ -52,12 +52,79 @@ appear in the list prefixed with `tt(no)'. Hence (unless tt(KSH_OPTION_PRINT) is set), `tt(setopt)' shows all options whose settings are changed from the default. +subsect(Changing Directories) startitem() -pindex(ALL_EXPORT) -cindex(export, automatic) -item(tt(ALL_EXPORT) (tt(-a), ksh: tt(-a)))( -All parameters subsequently defined are automatically exported. +pindex(AUTO_CD) +cindex(cd, automatic) +item(tt(AUTO_CD) (tt(-J)))( +If a command is issued that can't be executed as a normal command, +and the command is the name of a directory, perform the tt(cd) +command to that directory. +) +pindex(AUTO_PUSHD) +cindex(cd, behaving like pushd) +cindex(pushd, making cd behave like) +item(tt(AUTO_PUSHD) (tt(-N)))( +Make tt(cd) push the old directory onto the directory stack. +) +pindex(CDABLE_VARS) +cindex(cd, to parameter) +item(tt(CDABLE_VARS) (tt(-T)))( +If the argument to a tt(cd) command (or an implied tt(cd) with the +tt(AUTO_CD) option set) is not a directory, and does not begin with a +slash, try to expand the expression as if it were preceded by a `tt(~)' (see +noderef(Filename Expansion)). ) +pindex(CHASE_DOTS) +cindex(cd, with .. in argument) +item(tt(CHASE_DOTS))( +When changing to a directory containing a path segment `tt(..)' which would +otherwise be treated as canceling the previous segment in the path (in +other words, `tt(foo/..)' would be removed from the path, or if `tt(..)' is +the first part of the path, the last part of tt($PWD) would be deleted), +instead resolve the path to the physical directory. This option is +overridden by tt(CHASE_LINKS). + +For example, suppose tt(/foo/bar) is a link to the directory tt(/alt/rod). +Without this option set, `tt(cd /foo/bar/..)' changes to tt(/foo); with it +set, it changes to tt(/alt). The same applies if the current directory +is tt(/foo/bar) and `tt(cd ..)' is used. Note that all other symbolic +links in the path will also be resolved. +) +pindex(CHASE_LINKS) +cindex(links, symbolic) +cindex(symbolic links) +item(tt(CHASE_LINKS) (tt(-w)))( +Resolve symbolic links to their true values when changing directory. +This also has the effect of tt(CHASE_DOTS), i.e. a `tt(..)' path segment +will be treated as referring to the physical parent, even if the preceding +path segment is a symbolic link. +) +pindex(PUSHD_IGNORE_DUPS) +cindex(directory stack, ignoring duplicates) +item(tt(PUSHD_IGNORE_DUPS))( +Don't push multiple copies of the same directory onto the directory stack. +) +pindex(PUSHD_MINUS) +cindex(directory stack, controlling syntax) +item(tt(PUSHD_MINUS))( +Exchanges the meanings of `tt(PLUS())' and `tt(-)' +when used with a number to specify a directory in the stack. +) +pindex(PUSHD_SILENT) +cindex(directory stack, silencing) +item(tt(PUSHD_SILENT) (tt(-E)))( +Do not print the directory stack after tt(pushd) or tt(popd). +) +pindex(PUSHD_TO_HOME) +cindex(pushd, to home) +item(tt(PUSHD_TO_HOME) (tt(-D)))( +Have tt(pushd) with no arguments act like `tt(pushd $HOME)'. +) +enditem() + +subsect(Completion) +startitem() pindex(ALWAYS_LAST_PROMPT) item(tt(ALWAYS_LAST_PROMPT) <D>)( If unset, key functions that list completions try to return to the last @@ -71,21 +138,6 @@ full completion is inserted, the cursor is moved to the end of the word. That is, the cursor is moved to the end of the word if either a single match is inserted or menu completion is performed. ) -pindex(APPEND_HISTORY) -cindex(history, appending to a file) -item(tt(APPEND_HISTORY) <D>)( -If this is set, zsh sessions will append their history list to -the history file, rather than overwrite it. Thus, multiple parallel -zsh sessions will all have their history lists added to the -history file, in the order they are killed. -) -pindex(AUTO_CD) -cindex(cd, automatic) -item(tt(AUTO_CD) (tt(-J)))( -If a command is issued that can't be executed as a normal command, -and the command is the name of a directory, perform the tt(cd) -command to that directory. -) pindex(AUTO_LIST) cindex(completion, listing choices) item(tt(AUTO_LIST) (tt(-9)) <D>)( @@ -124,12 +176,6 @@ item(tt(AUTO_PARAM_SLASH) <D>)( If a parameter is completed whose content is the name of a directory, then add a trailing slash instead of a space. ) -pindex(AUTO_PUSHD) -cindex(cd, behaving like pushd) -cindex(pushd, making cd behave like) -item(tt(AUTO_PUSHD) (tt(-N)))( -Make tt(cd) push the old directory onto the directory stack. -) pindex(AUTO_REMOVE_SLASH) cindex(slash, removing trailing) item(tt(AUTO_REMOVE_SLASH) <D>)( @@ -137,35 +183,6 @@ When the last character resulting from a completion is a slash and the next character typed is a word delimiter, a slash, or a character that ends a command (such as a semicolon or an ampersand), remove the slash. ) -pindex(AUTO_RESUME) -cindex(jobs, resuming automatically) -cindex(resuming jobs automatically) -item(tt(AUTO_RESUME) (tt(-W)))( -Treat single word simple commands without redirection -as candidates for resumption of an existing job. -) -pindex(BAD_PATTERN) -cindex(globbing, bad pattern) -cindex(filename generation, bad pattern) -item(tt(BAD_PATTERN) (tt(PLUS()2)) <C> <Z>)( -If a pattern for filename generation is badly formed, print an error message. -(If this option is unset, the pattern will be left unchanged.) -) -pindex(BANG_HIST) -cindex(history, enable substitution) -cindex(enable history substitution) -item(tt(BANG_HIST) (tt(PLUS()K)) <C> <Z>)( -Perform textual history expansion, bf(csh)-style, -treating the character `tt(!)' specially. -) -pindex(BARE_GLOB_QUAL) -cindex(globbing qualifiers, enable) -cindex(enable globbing qualifiers) -item(tt(BARE_GLOB_QUAL) <Z>)( -In a glob pattern, treat a trailing set of parentheses as a qualifier -list, if it contains no `tt(|)', `tt(LPAR())' or (if special) `tt(~)' -characters. See noderef(Filename Generation). -) pindex(BASH_AUTO_LIST) cindex(completion, listing choices, bash style) item(tt(BASH_AUTO_LIST))( @@ -177,85 +194,6 @@ with the third press. Note that this will not work with tt(MENU_COMPLETE), since repeated completion calls immediately cycle through the list in that case. ) -pindex(BEEP) -cindex(beep, enabling) -cindex(enabling the beep) -item(tt(BEEP) (tt(PLUS()B)) <D>)( -Beep on error in ZLE. -) -pindex(BG_NICE) -cindex(jobs, background priority) -cindex(background jobs, priority of) -cindex(priority of background jobs) -item(tt(BG_NICE) (tt(-6)) <C> <Z>)( -Run all background jobs at a lower priority. This option -is set by default. -) -pindex(BRACE_CCL) -cindex(brace expansion, extending) -cindex(expansion, brace, extending) -item(tt(BRACE_CCL))( -Expand expressions in braces which would not otherwise undergo brace -expansion to a lexically ordered list of all the characters. See -noderef(Brace Expansion). -) -pindex(BSD_ECHO) -cindex(echo, BSD compatible) -item(tt(BSD_ECHO) <S>)( -Make the tt(echo) builtin compatible with the BSD manref(echo)(1) command. -This disables backslashed escape sequences in echo strings unless the -tt(-e) option is specified. -) -pindex(CDABLE_VARS) -cindex(cd, to parameter) -item(tt(CDABLE_VARS) (tt(-T)))( -If the argument to a tt(cd) command (or an implied tt(cd) with the -tt(AUTO_CD) option set) is not a directory, and does not begin with a -slash, try to expand the expression as if it were preceded by a `tt(~)' (see -noderef(Filename Expansion)). -) -pindex(CHASE_DOTS) -cindex(cd, with .. in argument) -item(tt(CHASE_DOTS))( -When changing to a directory containing a path segment `tt(..)' which would -otherwise be treated as cancelling the previous segment in the path (in -other words, `tt(foo/..)' would be removed from the path, or if `tt(..)' is -the first part of the path, the last part of tt($PWD) would be deleted), -instead resolve the path to the physical directory. This option is -overridden by tt(CHASE_LINKS). - -For example, suppose tt(/foo/bar) is a link to the directory tt(/alt/rod). -Without this option set, `tt(cd /foo/bar/..)' changes to tt(/foo); with it -set, it changes to tt(/alt). The same applies if the current directory -is tt(/foo/bar) and `tt(cd ..)' is used. Note that all other symbolic -links in the path will also be resolved. -) -pindex(CHASE_LINKS) -cindex(links, symbolic) -cindex(symbolic links) -item(tt(CHASE_LINKS) (tt(-w)))( -Resolve symbolic links to their true values when changing directory. -This also has the effect of tt(CHASE_DOTS), i.e. a `tt(..)' path segment -will be treated as referring to the physical parent, even if the preceeding -path segment is a symbolic link. -) -pindex(CHECK_JOBS) -cindex(exiting, checking jobs when) -cindex(logging out, checking jobs when) -item(tt(CHECK_JOBS) <Z>)( -Report the status of background and suspended jobs before exiting a shell -with job control. tt(NO_CHECK_JOBS) is best used only in combination with -tt(NO_HUP), else such jobs will be killed automatically. -) -pindex(CLOBBER) -cindex(clobbering, of files) -cindex(file clobbering, allowing) -item(tt(CLOBBER) (tt(PLUS()C), ksh: tt(PLUS()C)) <D>)( -Allows `tt(>)' redirection to truncate existing files, -and `tt(>>)' to create files. -Otherwise `tt(>!)' or `tt(>|)' must be used to truncate a file, -and `tt(>>!)' or `tt(>>|)' to create a file. -) pindex(COMPLETE_ALIASES) cindex(aliases, completion of) item(tt(COMPLETE_ALIASES))( @@ -268,52 +206,118 @@ item(tt(COMPLETE_IN_WORD))( If unset, the cursor is set to the end of the word if completion is started. Otherwise it stays there and completion is done from both ends. ) -pindex(CORRECT) -cindex(correction, spelling) -cindex(spelling correction) -item(tt(CORRECT) (tt(-0)))( -Try to correct the spelling of commands. +pindex(GLOB_COMPLETE) +item(tt(GLOB_COMPLETE))( +When the current word has a glob pattern, do not insert all the words +resulting from the expansion but generate matches as for completion and +cycle through them like tt(MENU_COMPLETE). The matches are generated as if +a `tt(*)' was added to the end of the word, or inserted at the cursor when +tt(COMPLETE_IN_WORD) is set. This actually uses pattern matching, not +globbing, so it works not only for files but for any completion, such as +options, user names, etc. + +Note that when the pattern matcher is used, matching control (for example, +case-insensitive or anchored matching) cannot be used. This limitation +only applies when the current word contains a pattern; simply turning +on the tt(GLOB_COMPLETE) option does not have this effect. ) -pindex(CORRECT_ALL) -item(tt(CORRECT_ALL) (tt(-O)))( -Try to correct the spelling of all arguments in a line. +pindex(HASH_LIST_ALL) +item(tt(HASH_LIST_ALL) <D>)( +Whenever a command completion is attempted, make sure the entire +command path is hashed first. This makes the first completion slower. ) -pindex(CSH_JUNKIE_HISTORY) -cindex(csh, history style) -cindex(history style, csh) -item(tt(CSH_JUNKIE_HISTORY) <C>)( -A history reference without an event specifier will always refer to the -previous command. Without this option, such a history reference refers -to the same event as the previous history reference, defaulting to the -previous command. +pindex(LIST_AMBIGUOUS) +cindex(ambiguous completion) +cindex(completion, ambiguous) +item(tt(LIST_AMBIGUOUS) <D>)( +This option works when tt(AUTO_LIST) or tt(BASH_AUTO_LIST) is also +set. If there is an unambiguous prefix to insert on the command line, +that is done without a completion list being displayed; in other +words, auto-listing behaviour only takes place when nothing would be +inserted. In the case of tt(BASH_AUTO_LIST), this means that the list +will be delayed to the third call of the function. ) -pindex(CSH_JUNKIE_LOOPS) -cindex(csh, loop style) -cindex(loop style, csh) -item(tt(CSH_JUNKIE_LOOPS) <C>)( -Allow loop bodies to take the form `var(list); tt(end)' instead of -`tt(do) var(list); tt(done)'. +pindex(LIST_BEEP) +cindex(beep, ambiguous completion) +cindex(completion, beep on ambiguous) +item(tt(LIST_BEEP) <D>)( +Beep on an ambiguous completion. More accurately, this forces the +completion widgets to return status 1 on an ambiguous completion, which +causes the shell to beep if the option tt(BEEP) is also set; this may +be modified if completion is called from a user-defined widget. ) -pindex(CSH_JUNKIE_QUOTES) -cindex(csh, quoting style) -cindex(quoting style, csh) -item(tt(CSH_JUNKIE_QUOTES) <C>)( -Changes the rules for single- and double-quoted text to match that of -bf(csh). These require that embedded newlines be preceded by a backslash; -unescaped newlines will cause an error message. -In double-quoted strings, it is made impossible to escape `tt($)', `tt(`)' -or `tt(")' (and `tt(\)' itself no longer needs escaping). -Command substitutions are only expanded once, and cannot be nested. +pindex(LIST_PACKED) +cindex(completion, listing) +item(tt(LIST_PACKED))( +Try to make the completion list smaller (occupying less lines) by +printing the matches in columns with different widths. ) -pindex(CSH_NULLCMD) -vindex(NULLCMD, ignoring) -vindex(READNULLCMD, ignoring) -cindex(redirections with no command, csh) -cindex(csh, redirections with no command) -item(tt(CSH_NULLCMD) <C>)( -Do not use the values of tt(NULLCMD) and tt(READNULLCMD) -when running redirections with no command. This make -such redirections fail (see noderef(Redirection)). +pindex(LIST_ROWS_FIRST) +cindex(completion, listing order) +item(tt(LIST_ROWS_FIRST))( +Lay out the matches in completion lists sorted horizontally, that is, +the second match is to the right of the first one, not under it as +usual. +) +pindex(LIST_TYPES) +cindex(marking file types) +cindex(files, marking type of) +item(tt(LIST_TYPES) (tt(-X)) <D>)( +When listing files that are possible completions, show the +type of each file with a trailing identifying mark. +) +pindex(MENU_COMPLETE) +cindex(completion, menu) +item(tt(MENU_COMPLETE) (tt(-Y)))( +On an ambiguous completion, instead of listing possibilities or beeping, +insert the first match immediately. Then when completion is requested +again, remove the first match and insert the second match, etc. +When there are no more matches, go back to the first one again. +tt(reverse-menu-complete) may be used to loop through the list +in the other direction. This option overrides tt(AUTO_MENU). +) +pindex(REC_EXACT) +cindex(completion, exact matches) +item(tt(REC_EXACT) (tt(-S)))( +In completion, recognize exact matches even +if they are ambiguous. +) +enditem() + +subsect(Expansion and Globbing) +startitem() +pindex(BAD_PATTERN) +cindex(globbing, bad pattern) +cindex(filename generation, bad pattern) +item(tt(BAD_PATTERN) (tt(PLUS()2)) <C> <Z>)( +If a pattern for filename generation is badly formed, print an error message. +(If this option is unset, the pattern will be left unchanged.) +) +pindex(BARE_GLOB_QUAL) +cindex(globbing qualifiers, enable) +cindex(enable globbing qualifiers) +item(tt(BARE_GLOB_QUAL) <Z>)( +In a glob pattern, treat a trailing set of parentheses as a qualifier +list, if it contains no `tt(|)', `tt(LPAR())' or (if special) `tt(~)' +characters. See noderef(Filename Generation). +) +pindex(BRACE_CCL) +cindex(brace expansion, extending) +cindex(expansion, brace, extending) +item(tt(BRACE_CCL))( +Expand expressions in braces which would not otherwise undergo brace +expansion to a lexically ordered list of all the characters. See +noderef(Brace Expansion). +) +pindex(CASE_GLOB) +cindex(case-insensitive globbing, option) +item(tt(CASE_GLOB) <D>)( +Make globbing (filename generation) sensitive to case. Note that other +uses of patterns are always sensitive to case. If the option is unset, +the presence of any character which is special to filename generation +will cause case-insensitive matching. For example, tt(cvs+LPAR()/+RPAR()) +can match the directory tt(CVS) owing to the presence of the globbing flag +(unless the option tt(BARE_GLOB_QUAL) is unset). ) pindex(CSH_NULL_GLOB) cindex(csh, null globbing style) @@ -324,7 +328,7 @@ If a pattern for filename generation has no matches, delete the pattern from the argument list; do not report an error unless all the patterns in a command have no matches. -Overrides tt(NULL_GLOB). +Overrides tt(NOMATCH). ) pindex(EQUALS) cindex(filename expansion, =) @@ -332,19 +336,6 @@ item(tt(EQUALS) <Z>)( Perform tt(=) filename expansion. (See noderef(Filename Expansion).) ) -pindex(ERR_EXIT) -cindex(exit status, trapping) -item(tt(ERR_EXIT) (tt(-e), ksh: tt(-e)))( -If a command has a non-zero exit status, execute the tt(ZERR) -trap, if set, and exit. This is disabled while running initialization -scripts. -) -pindex(EXEC) -cindex(command execution, enabling) -item(tt(EXEC) (tt(PLUS()n), ksh: tt(PLUS()n)) <D>)( -Do execute commands. Without this option, commands are -read and checked for syntax errors, but not executed. -) pindex(EXTENDED_GLOB) cindex(globbing, extended) item(tt(EXTENDED_GLOB))( @@ -352,28 +343,6 @@ Treat the `tt(#)', `tt(~)' and `tt(^)' characters as part of patterns for filename generation, etc. (An initial unquoted `tt(~)' always produces named directory expansion.) ) -pindex(EXTENDED_HISTORY) -cindex(history, timestamping) -item(tt(EXTENDED_HISTORY) <C>)( -Save each command's beginning timestamp (in seconds since the epoch) -and the duration (in seconds) to the history file. The format of -this prefixed data is: - -`tt(:)var(<beginning time>)tt(:)var(<elapsed seconds>)tt(:)var(<command>)'. -) -pindex(FLOW_CONTROL) -cindex(flow control) -item(tt(FLOW_CONTROL) <D>)( -If this option is unset, -output flow control via start/stop characters (usually assigned to -^S/^Q) is disabled in the shell's editor. -) -pindex(FUNCTION_ARGZERO) -cindex($0, setting) -item(tt(FUNCTION_ARGZERO) <C> <Z>)( -When executing a shell function or sourcing a script, set tt($0) -temporarily to the name of the function/script. -) pindex(GLOB) cindex(globbing, enabling) cindex(enabling globbing) @@ -381,15 +350,6 @@ item(tt(GLOB) (tt(PLUS()F), ksh: tt(PLUS()f)) <D>)( Perform filename generation (globbing). (See noderef(Filename Generation).) ) -pindex(GLOBAL_RCS) -cindex(startup files, global, inhibiting) -cindex(files, global startup, inhibiting) -item(tt(GLOBAL_RCS) (tt(-d)) <D>)( -If this option is unset, the startup files tt(/etc/zprofile), -tt(/etc/zshrc), tt(/etc/zlogin) and tt(/etc/zlogout) will not be run. It -can be disabled and re-enabled at any time, including inside local startup -files (tt(.zshrc), etc.). -) pindex(GLOB_ASSIGN) item(tt(GLOB_ASSIGN) <C>)( If this option is set, filename generation (globbing) is @@ -403,16 +363,6 @@ of array assignments of the form `var(name)tt(=LPAR())var(value)tt(RPAR())' with this option set, it is not possible to predict whether the result will be an array or a scalar. ) -pindex(GLOB_COMPLETE) -item(tt(GLOB_COMPLETE))( -When the current word has a glob pattern, do not insert all the words -resulting from the expansion but generate matches as for completion and -cycle through them like tt(MENU_COMPLETE). The matches are generated as if -a `tt(*)' was added to the end of the word, or inserted at the cursor when -tt(COMPLETE_IN_WORD) is set. This actually uses pattern matching, not -globbing, so it works not only for files but for any completion, such as -options, user names, etc. -) pindex(GLOB_DOTS) cindex(globbing, of . files) item(tt(GLOB_DOTS) (tt(-4)))( @@ -423,29 +373,120 @@ item(tt(GLOB_SUBST) <C> <K> <S>)( Treat any characters resulting from parameter expansion as being eligible for file expansion and filename generation, and any characters resulting from command substitution as being eligible for -filename generation. +filename generation. Braces (and commas in between) do not become eligible +for expansion. ) -pindex(HASH_CMDS) -cindex(hashing, of commands) -cindex(command hashing) -item(tt(HASH_CMDS) <D>)( -Note the location of each command the first time it is executed. -Subsequent invocations of the same command will use the -saved location, avoiding a path search. -If this option is unset, no path hashing will be done at all. +pindex(IGNORE_BRACES) +cindex(disabling brace expansion) +cindex(brace expansion, disabling) +cindex(expansion, brace, disabling) +item(tt(IGNORE_BRACES) (tt(-I)) <S>)( +Do not perform brace expansion. ) -pindex(HASH_DIRS) -cindex(hashing, of directories) -cindex(directories, hashing) -item(tt(HASH_DIRS) <D>)( -Whenever a command is executed, hash the directory containing it, -as well as all directories that occur earlier in the path. -Has no effect if tt(HASH_CMDS) is unset. +pindex(KSH_GLOB) +item(tt(KSH_GLOB) <K>)( +In pattern matching, the interpretation of parentheses is affected by +a preceding `tt(@)', `tt(*)', `tt(+)', `tt(?)' or `tt(!)'. +See noderef(Filename Generation). ) -pindex(HASH_LIST_ALL) -item(tt(HASH_LIST_ALL) <D>)( -Whenever a command completion is attempted, make sure the entire -command path is hashed first. This makes the first completion slower. +pindex(MAGIC_EQUAL_SUBST) +item(tt(MAGIC_EQUAL_SUBST))( +All unquoted arguments of the form `var(anything)tt(=)var(expression)' +appearing after the command name have filename expansion (that is, +where var(expression) has a leading `tt(~)' or `tt(=)') performed on +var(expression) as if it were a parameter assignment. The argument is +not otherwise treated specially; it is passed to the command as a single +argument, and not used as an actual parameter assignment. For example, in +tt(echo foo=~/bar:~/rod), both occurrences of tt(~) would be replaced. +Note that this happens anyway with tt(typeset) and similar statements. + +This option respects the setting of the tt(KSH_TYPESET) option. In other +words, if both options are in effect, arguments looking like +assignments will not undergo wordsplitting. +) +pindex(MARK_DIRS) +cindex(directories, marking) +cindex(marking directories) +item(tt(MARK_DIRS) (tt(-8), ksh: tt(-X)))( +Append a trailing `tt(/)' to all directory +names resulting from filename generation (globbing). +) +pindex(NOMATCH) +cindex(globbing, no matches) +item(tt(NOMATCH) (tt(PLUS()3)) <C> <Z>)( +If a pattern for filename generation has no matches, +print an error, instead of +leaving it unchanged in the argument list. +This also applies to file expansion +of an initial `tt(~)' or `tt(=)'. +) +pindex(NULL_GLOB) +cindex(globbing, no matches) +item(tt(NULL_GLOB) (tt(-G)))( +If a pattern for filename generation has no matches, +delete the pattern from the argument list instead +of reporting an error. Overrides tt(NOMATCH). +) +pindex(NUMERIC_GLOB_SORT) +cindex(globbing, sorting numerically) +item(tt(NUMERIC_GLOB_SORT))( +If numeric filenames are matched by a filename generation pattern, +sort the filenames numerically rather than lexicographically. +) +pindex(RC_EXPAND_PARAM) +cindex(rc, parameter expansion style) +cindex(parameter expansion style, rc) +item(tt(RC_EXPAND_PARAM) (tt(-P)))( +Array expansions of the form +`var(foo)tt(${)var(xx)tt(})var(bar)', where the parameter +var(xx) is set to tt(LPAR())var(a b c)tt(RPAR()), are substituted with +`var(fooabar foobbar foocbar)' instead of the default +`var(fooa b cbar)'. +) +pindex(SH_GLOB) +cindex(sh, globbing style) +cindex(globbing style, sh) +item(tt(SH_GLOB) <K> <S>)( +Disables the special meaning of `tt(LPAR())', `tt(|)', `tt(RPAR())' +and 'tt(<)' for globbing the result of parameter and command substitutions, +and in some other places where +the shell accepts patterns. This option is set by default if zsh is +invoked as tt(sh) or tt(ksh). +) +pindex(UNSET) +cindex(parameters, substituting unset) +cindex(unset parameters, substituting) +item(tt(UNSET) (tt(PLUS()u), ksh: tt(PLUS()u)) <K> <S> <Z>)( +Treat unset parameters as if they were empty when substituting. +Otherwise they are treated as an error. +) +enditem() + +subsect(History) +startitem() +pindex(APPEND_HISTORY) +cindex(history, appending to a file) +item(tt(APPEND_HISTORY) <D>)( +If this is set, zsh sessions will append their history list to +the history file, rather than overwrite it. Thus, multiple parallel +zsh sessions will all have their history lists added to the +history file, in the order they are killed. +) +pindex(BANG_HIST) +cindex(history, enable substitution) +cindex(enable history substitution) +item(tt(BANG_HIST) (tt(PLUS()K)) <C> <Z>)( +Perform textual history expansion, bf(csh)-style, +treating the character `tt(!)' specially. +) +pindex(EXTENDED_HISTORY) +cindex(history, timestamping) +item(tt(EXTENDED_HISTORY) <C>)( +Save each command's beginning timestamp (in seconds since the epoch) +and the duration (in seconds) to the history file. The format of +this prefixed data is: + +`tt(:)var(<beginning time>)tt(:)var(<elapsed seconds>)tt(:)var(<command>)'. ) pindex(HIST_ALLOW_CLOBBER) item(tt(HIST_ALLOW_CLOBBER))( @@ -493,17 +534,28 @@ if they are duplicates of the previous event. pindex(HIST_IGNORE_SPACE) cindex(history, ignoring spaces) item(tt(HIST_IGNORE_SPACE) (tt(-g)))( -Do not enter command lines into the history list -if any command on the line begins with a blank. +Remove command lines from the history list when the first character on +the line is a space, or when one of the expanded aliases contains a +leading space. +Note that the command lingers in the internal history until the next +command is entered before it vanishes, allowing you to briefly reuse +or edit the line. If you want to make it vanish right away without +entering another command, type a space and press return. ) pindex(HIST_NO_FUNCTIONS) item(tt(HIST_NO_FUNCTIONS))( -Do not store function definitions in the history list. +Remove function definitions from the history list. +Note that the function lingers in the internal history until the next +command is entered before it vanishes, allowing you to briefly reuse +or edit the definition. ) pindex(HIST_NO_STORE) item(tt(HIST_NO_STORE))( -Remove the tt(history) (tt(fc -l)) command from -the history when invoked. +Remove the tt(history) (tt(fc -l)) command from the history list +when invoked. +Note that the command lingers in the internal history until the next +command is entered before it vanishes, allowing you to briefly reuse +or edit the line. ) pindex(HIST_REDUCE_BLANKS) item(tt(HIST_REDUCE_BLANKS))( @@ -522,27 +574,6 @@ Whenever the user enters a line with history expansion, don't execute the line directly; instead, perform history expansion and reload the line into the editing buffer. ) -pindex(HUP) -cindex(jobs, HUP) -item(tt(HUP) <Z>)( -Send the tt(HUP) signal to running jobs when the -shell exits. -) -pindex(IGNORE_BRACES) -cindex(disabling brace expansion) -cindex(brace expansion, disabling) -cindex(expansion, brace, disabling) -item(tt(IGNORE_BRACES) (tt(-I)) <S>)( -Do not perform brace expansion. -) -pindex(IGNORE_EOF) -cindex(EOF, ignoring) -item(tt(IGNORE_EOF) (tt(-7)))( -Do not exit on end-of-file. Require the use -of tt(exit) or tt(logout) instead. -However, ten consecutive EOFs will cause the shell to exit anyway, -to avoid the shell hanging if its tty goes away. -) pindex(INC_APPEND_HISTORY) cindex(history, incremental appending to a file) item(tt(INC_APPEND_HISTORY))( @@ -552,94 +583,391 @@ entered), rather than waiting until the shell is killed. The file is periodically trimmed to the number of lines specified by tt($SAVEHIST), but can exceed this value between trimmings. ) -pindex(INTERACTIVE) -item(tt(INTERACTIVE) (tt(-i), ksh: tt(-i)))( -This is an interactive shell. This option is set upon initialisation if -the standard input is a tty and commands are being read from standard input. -(See the discussion of tt(SHIN_STDIN).) -This heuristic may be overridden by specifying a state for this option -on the command line. -The value of this option cannot be changed anywhere other than the command line. +pindex(SHARE_HISTORY) +cindex(share history) +cindex(history, sharing) +item(tt(SHARE_HISTORY) <K>)( + +This option both imports new commands from the history file, and also +causes your typed commands to be appended to the history file (the +latter is like specifying tt(INC_APPEND_HISTORY)). +The history lines are also output with timestamps ala +tt(EXTENDED_HISTORY) (which makes it easier to find the spot where +we left off reading the file after it gets re-written). + +By default, history movement commands visit the imported lines as +well as the local lines, but you can toggle this on and off with the +set-local-history zle binding. It is also possible to create a zle +widget that will make some commands ignore imported commands, and +some include them. + +If you find that you want more control over when commands +get imported, you may wish to turn tt(SHARE_HISTORY) off, +tt(INC_APPEND_HISTORY) on, and then manually import +commands whenever you need them using `tt(fc -RI)'. +) +enditem() + +subsect(Initialisation) +startitem() +pindex(ALL_EXPORT) +cindex(export, automatic) +item(tt(ALL_EXPORT) (tt(-a), ksh: tt(-a)))( +All parameters subsequently defined are automatically exported. +) +pindex(GLOBAL_EXPORT) +cindex(environment, and local parameters) +item(tt(GLOBAL_EXPORT) (tt(<Z>)))( +If this option is set, passing the tt(-x) flag to the builtins tt(declare), +tt(float), tt(integer), tt(readonly) and tt(typeset) (but not tt(local)) +will also set the tt(-g) flag; hence parameters exported to +the environment will not be made local to the enclosing function, unless +they were already or the flag tt(+g) is given explicitly. If the option is +unset, exported parameters will be made local in just the same way as any +other parameter. + +This option is set by default for backward compatibility; it is not +recommended that its behaviour be relied upon. Note that the builtin +tt(export) always sets both the tt(-x) and tt(-g) flags, and hence its +effect extends beyond the scope of the enclosing function; this is the +most portable way to achieve this behaviour. +) +cindex(exporting, and local parameters) +pindex(GLOBAL_RCS) +cindex(startup files, global, inhibiting) +cindex(files, global startup, inhibiting) +item(tt(GLOBAL_RCS) (tt(-d)) <D>)( +If this option is unset, the startup files tt(/etc/zprofile), +tt(/etc/zshrc), tt(/etc/zlogin) and tt(/etc/zlogout) will not be run. It +can be disabled and re-enabled at any time, including inside local startup +files (tt(.zshrc), etc.). +) +pindex(RCS) +cindex(startup files, sourcing) +item(tt(RCS) (tt(PLUS()f)) <D>)( +After tt(/etc/zshenv) is sourced on startup, source the +tt(.zshenv), tt(/etc/zprofile), tt(.zprofile), +tt(/etc/zshrc), tt(.zshrc), tt(/etc/zlogin), tt(.zlogin), and tt(.zlogout) +files, as described in noderef(Files). +If this option is unset, the tt(/etc/zshenv) file is still sourced, but any +of the others will not be; it can be set at any time to prevent the +remaining startup files after the currently executing one from +being sourced. +) +enditem() + +subsect(Input/Output) +startitem() +pindex(ALIASES) +cindex(aliases, expansion) +item(tt(ALIASES) <D>)( +Expand aliases. +) +pindex(CLOBBER) +cindex(clobbering, of files) +cindex(file clobbering, allowing) +item(tt(CLOBBER) (tt(PLUS()C), ksh: tt(PLUS()C)) <D>)( +Allows `tt(>)' redirection to truncate existing files, +and `tt(>>)' to create files. +Otherwise `tt(>!)' or `tt(>|)' must be used to truncate a file, +and `tt(>>!)' or `tt(>>|)' to create a file. +) +pindex(CORRECT) +cindex(correction, spelling) +cindex(spelling correction) +item(tt(CORRECT) (tt(-0)))( +Try to correct the spelling of commands. +Note that, when the tt(HASH_LIST_ALL) option is not set or when some +directories in the path are not readable, this may falsely report spelling +errors the first time some commands are used. +) +pindex(CORRECT_ALL) +item(tt(CORRECT_ALL) (tt(-O)))( +Try to correct the spelling of all arguments in a line. +) +pindex(DVORAK) +item(tt(DVORAK))( +Use the Dvorak keyboard instead of the standard qwerty keyboard as a basis +for examining spelling mistakes for the tt(CORRECT) and tt(CORRECT_ALL) +options and the tt(spell-word) editor command. +) +pindex(FLOW_CONTROL) +cindex(flow control) +item(tt(FLOW_CONTROL) <D>)( +If this option is unset, +output flow control via start/stop characters (usually assigned to +^S/^Q) is disabled in the shell's editor. +) +pindex(IGNORE_EOF) +cindex(EOF, ignoring) +item(tt(IGNORE_EOF) (tt(-7)))( +Do not exit on end-of-file. Require the use +of tt(exit) or tt(logout) instead. +However, ten consecutive EOFs will cause the shell to exit anyway, +to avoid the shell hanging if its tty goes away. + +Also, if this option is set and the Zsh Line Editor is used, widgets +implemented by shell functions can be bound to EOF (normally +Control-D) without printing the normal warning message. This works +only for normal widgets, not for completion widgets. ) pindex(INTERACTIVE_COMMENTS) cindex(comments, in interactive shells) item(tt(INTERACTIVE_COMMENTS) (tt(-k)) <K> <S>)( Allow comments even in interactive shells. ) -pindex(KSH_ARRAYS) -cindex(arrays, ksh style) -cindex(array style, ksh) -cindex(ksh, array style) -item(tt(KSH_ARRAYS) <K> <S>)( -Emulate bf(ksh) array handling as closely as possible. If this option -is set, array elements are numbered from zero, an array parameter -without subscript refers to the first element instead of the whole array, -and braces are required to delimit a subscript (`tt(${path[2]})' rather -than just `tt($path[2])'). +pindex(HASH_CMDS) +cindex(hashing, of commands) +cindex(command hashing) +item(tt(HASH_CMDS) <D>)( +Note the location of each command the first time it is executed. +Subsequent invocations of the same command will use the +saved location, avoiding a path search. +If this option is unset, no path hashing is done at all. +However, when tt(CORRECT) is set, commands whose names do not appear in +the functions or aliases hash tables are hashed in order to avoid +reporting them as spelling errors. ) -pindex(KSH_AUTOLOAD) -item(tt(KSH_AUTOLOAD) <K> <S>)( -Emulate bf(ksh) function autoloading. This means that when a function is -autoloaded, the corresponding file is merely executed, and must define -the function itself. (By default, the function is defined to the contents -of the file. However, the most common bf(ksh)-style case - of the file -containing only a simple definition of the function - is always handled -in the bf(ksh)-compatible manner.) +pindex(HASH_DIRS) +cindex(hashing, of directories) +cindex(directories, hashing) +item(tt(HASH_DIRS) <D>)( +Whenever a command name is hashed, hash the directory containing it, +as well as all directories that occur earlier in the path. +Has no effect if neither tt(HASH_CMDS) nor tt(CORRECT) is set. ) -pindex(KSH_GLOB) -item(tt(KSH_GLOB) <K>)( -In pattern matching, the interpretation of parentheses is affected by -a preceding `tt(@)', `tt(*)', `tt(+)', `tt(?)' or `tt(!)'. -See noderef(Filename Generation). +pindex(MAIL_WARNING) +cindex(mail, warning of reading) +item(tt(MAIL_WARNING) (tt(-U)))( +Print a warning message if a mail file has been +accessed since the shell last checked. ) -pindex(KSH_OPTION_PRINT) -cindex(option printing, ksh style) -cindex(option printing style, ksh) -cindex(ksh, option printing style) -item(tt(KSH_OPTION_PRINT) <K>)( -Alters the way options settings are printed: instead of separate lists of -set and unset options, all options are shown, marked `on' if -they are in the non-default state, `off' otherwise. +pindex(PATH_DIRS) +cindex(path search, extended) +item(tt(PATH_DIRS) (tt(-Q)))( +Perform a path search even on command names with slashes in them. +Thus if `tt(/usr/local/bin)' is in the user's path, and he or she types +`tt(X11/xinit)', the command `tt(/usr/local/bin/X11/xinit)' will be executed +(assuming it exists). +Commands explicitly beginning with `tt(/)', `tt(./)' or `tt(../)' +are not subject to the path search. +This also applies to the tt(.) builtin. + +Note that subdirectories of the current directory are always searched for +executables specified in this form. This takes place before any search +indicated by this option, and regardless of whether `tt(.)' or the current +directory appear in the command search path. ) -pindex(LIST_AMBIGUOUS) -cindex(ambiguous completion) -cindex(completion, ambiguous) -item(tt(LIST_AMBIGUOUS) <D>)( -This option works when tt(AUTO_LIST) or tt(BASH_AUTO_LIST) is also -set. If there is an unambiguous prefix to insert on the command line, -that is done without a completion list being displayed; in other -words, auto-listing behaviour only takes place when nothing would be -inserted. In the case of tt(BASH_AUTO_LIST), this means that the list -will be delayed to the third call of the function. +pindex(PRINT_EIGHT_BIT) +cindex(eight bit characters, printing) +item(tt(PRINT_EIGHT_BIT))( +Print eight bit characters literally in completion lists, etc. +This option is not necessary if your system correctly returns the +printability of eight bit characters (see manref(ctype)(3)). ) -pindex(LIST_BEEP) -cindex(beep, ambiguous completion) -cindex(completion, beep on ambiguous) -item(tt(LIST_BEEP) <D>)( -Beep on an ambiguous completion. More accurately, this forces the -completion widgets to return status 1 on an ambiguous completion, which -causes the shell to beep if the option tt(BEEP) is also set; this may -be modified if completion is called from a user-defined widget. +pindex(PRINT_EXIT_VALUE) +cindex(exit status, printing) +item(tt(PRINT_EXIT_VALUE) (tt(-1)))( +Print the exit value of programs with non-zero exit status. ) -pindex(LIST_PACKED) -cindex(completion, listing) -item(tt(LIST_PACKED))( -Try to make the completion list smaller (occupying less lines) by -printing the matches in columns with different widths. +pindex(RC_QUOTES) +cindex(rc, quoting style) +cindex(quoting style, rc) +item(tt(RC_QUOTES))( +Allow the character sequence `tt('')' to signify a single quote +within singly quoted strings. Note this does not apply in quoted strings +using the format tt($')var(...)tt('), where a backslashed single quote can +be used. ) -pindex(LIST_ROWS_FIRST) -cindex(completion, listing order) -item(tt(LIST_ROWS_FIRST))( -Lay out the matches in completion lists sorted horizontally, that is, -the second match is to the right of the first one, not under it as -usual. +pindex(RM_STAR_SILENT) +cindex(rm *, querying before) +cindex(querying before rm *) +item(tt(RM_STAR_SILENT) (tt(-H)) <K> <S>)( +Do not query the user before executing `tt(rm *)' or `tt(rm path/*)'. ) -pindex(LIST_TYPES) -cindex(marking file types) -cindex(files, marking type of) -item(tt(LIST_TYPES) (tt(-X)) <D>)( -When listing files that are possible completions, show the -type of each file with a trailing identifying mark. +pindex(RM_STAR_WAIT) +cindex(rm *, waiting before) +cindex(waiting before rm *) +item(tt(RM_STAR_WAIT))( +If querying the user before executing `tt(rm *)' or `tt(rm path/*)', +first wait ten seconds and ignore anything typed in that time. +This avoids the problem of reflexively answering `yes' to the query +when one didn't really mean it. The wait and query can always be +avoided by expanding the `tt(*)' in ZLE (with tab). +) +pindex(SHORT_LOOPS) +item(tt(SHORT_LOOPS) <C> <Z>)( +Allow the short forms of tt(for), tt(repeat), tt(select), +tt(if), and tt(function) constructs. +) +pindex(SUN_KEYBOARD_HACK) +cindex(sun keyboard, annoying) +cindex(annoying keyboard, sun) +item(tt(SUN_KEYBOARD_HACK) (tt(-L)))( +If a line ends with a backquote, and there are an odd number +of backquotes on the line, ignore the trailing backquote. +This is useful on some keyboards where the return key is +too small, and the backquote key lies annoyingly close to it. +) +enditem() + +subsect(Job Control) +startitem() +pindex(AUTO_CONTINUE) +cindex(jobs, continuing automatically) +cindex(continuing jobs automatically) +item(tt(AUTO_CONTINUE))( +With this option set, stopped jobs that are removed from the job table +with the tt(disown) builtin command are automatically sent a tt(CONT) +signal to make them running. +) +pindex(AUTO_RESUME) +cindex(jobs, resuming automatically) +cindex(resuming jobs automatically) +item(tt(AUTO_RESUME) (tt(-W)))( +Treat single word simple commands without redirection +as candidates for resumption of an existing job. +) +pindex(BG_NICE) +cindex(jobs, background priority) +cindex(background jobs, priority of) +cindex(priority of background jobs) +item(tt(BG_NICE) (tt(-6)) <C> <Z>)( +Run all background jobs at a lower priority. This option +is set by default. +) +pindex(CHECK_JOBS) +cindex(exiting, checking jobs when) +cindex(logging out, checking jobs when) +item(tt(CHECK_JOBS) <Z>)( +Report the status of background and suspended jobs before exiting a shell +with job control; a second attempt to exit the shell will succeed. +tt(NO_CHECK_JOBS) is best used only in combination with tt(NO_HUP), else +such jobs will be killed automatically. + +The check is omitted if the commands run from the previous command line +included a `tt(jobs)' command, since it is assumed the user is aware that +there are background or suspended jobs. A `tt(jobs)' command run from the +tt(precmd) function is not counted for this purpose. +) +pindex(HUP) +cindex(jobs, HUP) +item(tt(HUP) <Z>)( +Send the tt(HUP) signal to running jobs when the +shell exits. +) +pindex(LONG_LIST_JOBS) +cindex(jobs, list format) +item(tt(LONG_LIST_JOBS) (tt(-R)))( +List jobs in the long format by default. +) +pindex(MONITOR) +cindex(job control, allowing) +item(tt(MONITOR) (tt(-m), ksh: tt(-m)))( +Allow job control. Set by default in interactive shells. +) +pindex(NOTIFY) +cindex(background jobs, notification) +cindex(notification of background jobs) +item(tt(NOTIFY) (tt(-5), ksh: tt(-b)) <Z>)( +Report the status of background jobs immediately, rather than +waiting until just before printing a prompt. +) +enditem() + +subsect(Prompting) +startitem() +pindex(PROMPT_BANG) +cindex(prompt, ! expansion) +item(tt(PROMPT_BANG) <K>)( +If set, `tt(!)' is treated specially in prompt expansion. +See noderef(Prompt Expansion). +) +pindex(PROMPT_CR) +cindex(prompt, with CR) +item(tt(PROMPT_CR) (tt(PLUS()V)) <D>)( +Print a carriage return just before printing +a prompt in the line editor. This is on by default as multi-line editing +is only possible if the editor knows where the start of the line appears. +) +pindex(PROMPT_PERCENT) +cindex(prompt, % expansion) +item(tt(PROMPT_PERCENT) <C> <Z>)( +If set, `tt(%)' is treated specially in prompt expansion. +See noderef(Prompt Expansion). +) +pindex(PROMPT_SUBST) +cindex(prompt, parameter expansion) +item(tt(PROMPT_SUBST) <K>)( +If set, em(parameter expansion), em(command substitution) and +em(arithmetic expansion) are performed in prompts. Substitutions +within prompts do not affect the command status. +) +pindex(TRANSIENT_RPROMPT) +item(tt(TRANSIENT_RPROMPT))( +Remove any right prompt from display when accepting a command +line. This may be useful with terminals with other cut/paste methods. +) +enditem() + +subsect(Scripts and Functions) +startitem() +pindex(C_BASES) +cindex(bases, output in C format) +cindex(hexadecimal, output in C format) +cindex(octal, output in C format) +item(tt(C_BASES))( +Output hexadecimal numbers in the standard C format, for example `tt(0xFF)' +instead of the usual `tt(16#FF)'. If the option tt(OCTAL_ZEROES) is also +set (it is not by default), octal numbers will be treated similarly and +hence appear as `tt(077)' instead of `tt(8#77)'. This option has no effect +on the choice of the output base, nor on the output of bases other than +hexadecimal and octal. Note that these formats will be understood on input +irrespective of the setting of tt(C_BASES). +) +pindex(ERR_EXIT) +cindex(exit status, trapping) +item(tt(ERR_EXIT) (tt(-e), ksh: tt(-e)))( +If a command has a non-zero exit status, execute the tt(ZERR) +trap, if set, and exit. This is disabled while running initialization +scripts. +) +pindex(ERR_RETURN) +cindex(function return, on error) +cindex(return from function, on error) +item(tt(ERR_RETURN))( +If a command has a non-zero exit status, return immediately from the +enclosing function. The logic is identical to that for tt(ERR_EXIT), +except that an implicit tt(return) statement is executed instead of an +tt(exit). This will trigger an exit at the outermost level of a +non-interactive script. +) +pindex(EVAL_LINENO) +cindex(line number, in evaluated expression) +item(tt(EVAL_LINENO) <Z>)( +If set, line numbers of expressions evaluated using the builtin tt(eval) +are tracked separately of the enclosing environment. This applies both +to the parameter tt(LINENO) and the line number output by the prompt +escape tt(%i). If the option is set, the prompt escape tt(%N) will output +the string `tt((eval))' instead of the script or function name as an +indication. (The two prompt escapes are typically used in the parameter +tt(PS4) to be output when the option tt(XTRACE) is set.) If +tt(EVAL_LINENO) is unset, the line number of the surrounding script or +function is retained during the evaluation. +) +pindex(EXEC) +cindex(command execution, enabling) +item(tt(EXEC) (tt(PLUS()n), ksh: tt(PLUS()n)) <D>)( +Do execute commands. Without this option, commands are +read and checked for syntax errors, but not executed. +This option cannot be turned off in an interactive shell, +except when `tt(-n)' is supplied to the shell at startup. +) +pindex(FUNCTION_ARGZERO) +cindex($0, setting) +item(tt(FUNCTION_ARGZERO) <C> <Z>)( +When executing a shell function or sourcing a script, set tt($0) +temporarily to the name of the function/script. ) pindex(LOCAL_OPTIONS) item(tt(LOCAL_OPTIONS) <K>)( @@ -665,110 +993,130 @@ For example, example(unsetopt localtraps trap - INT -fn() { setopt localtraps; trap '' INT; sleep 3; }) +fn+LPAR()RPAR() { setopt localtraps; trap '' INT; sleep 3; }) will restore normally handling of tt(SIGINT) after the function exits. ) -pindex(LOGIN) -item(tt(LOGIN) (tt(-l), ksh: tt(-l)))( -This is a login shell. -If this option is not explicitly set, the shell is a login shell if -the first character of the tt(argv[0]) passed to the shell is a `tt(-)'. +pindex(MULTIOS) +item(tt(MULTIOS) <Z>)( +Perform implicit bf(tee)s or bf(cat)s when multiple +redirections are attempted (see noderef(Redirection)). ) -pindex(LONG_LIST_JOBS) -cindex(jobs, list format) -item(tt(LONG_LIST_JOBS) (tt(-R)))( -List jobs in the long format by default. +pindex(OCTAL_ZEROES) +cindex(octal, arithmetic expressions) +item(tt(OCTAL_ZEROES) <S>)( +Interpret any integer constant beginning with a 0 as octal, per IEEE Std +1003.2-1992 (ISO 9945-2:1993). This is not enabled by default as it +causes problems with parsing of, for example, date and time strings with +leading zeroes. +) +pindex(TYPESET_SILENT) +item(tt(TYPESET_SILENT))( +If this is unset, executing any of the `tt(typeset)' family of +commands with no options and a list of parameters that have no values +to be assigned but already exist will display the value of the parameter. +If the option is set, they will only be shown when parameters are selected +with the `tt(-m)' option. The option `tt(-p)' is available whether or not +the option is set. ) -pindex(MAGIC_EQUAL_SUBST) -item(tt(MAGIC_EQUAL_SUBST))( -All unquoted arguments of the form `var(anything)tt(=)var(expression)' -appearing after the command name have filename expansion (that is, -where var(expression) has a leading `tt(~)' or `tt(=)') performed on -var(expression) as if it were a parameter assignment. The argument is -not otherwise treated specially; it is passed to the command as a single -argument, and not used as an actual parameter assignment. For example, in -tt(echo foo=~/bar:~/rod), both occurrences of tt(~) would be replaced. -Note that this happens anyway with tt(typeset) and similar statements. -) -pindex(MAIL_WARNING) -cindex(mail, warning of reading) -item(tt(MAIL_WARNING) (tt(-U)))( -Print a warning message if a mail file has been -accessed since the shell last checked. +pindex(VERBOSE) +cindex(tracing, of input lines) +cindex(input, tracing) +item(tt(VERBOSE) (tt(-v), ksh: tt(-v)))( +Print shell input lines as they are read. ) -pindex(MARK_DIRS) -cindex(directories, marking) -cindex(marking directories) -item(tt(MARK_DIRS) (tt(-8), ksh: tt(-X)))( -Append a trailing `tt(/)' to all directory -names resulting from filename generation (globbing). +pindex(XTRACE) +cindex(tracing, of commands) +cindex(commands, tracing) +item(tt(XTRACE) (tt(-x), ksh: tt(-x)))( +Print commands and their arguments as they are executed. ) -pindex(MENU_COMPLETE) -cindex(completion, menu) -item(tt(MENU_COMPLETE) (tt(-Y)))( -On an ambiguous completion, instead of listing possibilities or beeping, -insert the first match immediately. Then when completion is requested -again, remove the first match and insert the second match, etc. -When there are no more matches, go back to the first one again. -tt(reverse-menu-complete) may be used to loop through the list -in the other direction. This option overrides tt(AUTO_MENU). +enditem() + +subsect(Shell Emulation) +startitem() +pindex(BSD_ECHO) +cindex(echo, BSD compatible) +item(tt(BSD_ECHO) <S>)( +Make the tt(echo) builtin compatible with the BSD manref(echo)(1) command. +This disables backslashed escape sequences in echo strings unless the +tt(-e) option is specified. ) -pindex(MONITOR) -cindex(job control, allowing) -item(tt(MONITOR) (tt(-m), ksh: tt(-m)))( -Allow job control. Set by default in interactive shells. +pindex(CSH_JUNKIE_HISTORY) +cindex(csh, history style) +cindex(history style, csh) +item(tt(CSH_JUNKIE_HISTORY) <C>)( +A history reference without an event specifier will always refer to the +previous command. Without this option, such a history reference refers +to the same event as the previous history reference, defaulting to the +previous command. ) -pindex(MULTIOS) -item(tt(MULTIOS) <Z>)( -Perform implicit bf(tee)s or bf(cat)s when multiple -redirections are attempted (see noderef(Redirection)). +pindex(CSH_JUNKIE_LOOPS) +cindex(csh, loop style) +cindex(loop style, csh) +item(tt(CSH_JUNKIE_LOOPS) <C>)( +Allow loop bodies to take the form `var(list); tt(end)' instead of +`tt(do) var(list); tt(done)'. ) -pindex(NOMATCH) -cindex(globbing, no matches) -item(tt(NOMATCH) (tt(PLUS()3)) <C> <Z>)( -If a pattern for filename generation has no matches, -print an error, instead of -leaving it unchanged in the argument list. -This also applies to file expansion -of an initial `tt(~)' or `tt(=)'. +pindex(CSH_JUNKIE_QUOTES) +cindex(csh, quoting style) +cindex(quoting style, csh) +item(tt(CSH_JUNKIE_QUOTES) <C>)( +Changes the rules for single- and double-quoted text to match that of +bf(csh). These require that embedded newlines be preceded by a backslash; +unescaped newlines will cause an error message. +In double-quoted strings, it is made impossible to escape `tt($)', `tt(`)' +or `tt(")' (and `tt(\)' itself no longer needs escaping). +Command substitutions are only expanded once, and cannot be nested. ) -pindex(NOTIFY) -cindex(background jobs, notification) -cindex(notification of background jobs) -item(tt(NOTIFY) (tt(-5), ksh: tt(-b)) <Z>)( -Report the status of background jobs immediately, rather than -waiting until just before printing a prompt. +pindex(CSH_NULLCMD) +vindex(NULLCMD, ignoring) +vindex(READNULLCMD, ignoring) +cindex(redirections with no command, csh) +cindex(csh, redirections with no command) +item(tt(CSH_NULLCMD) <C>)( +Do not use the values of tt(NULLCMD) and tt(READNULLCMD) +when running redirections with no command. This make +such redirections fail (see noderef(Redirection)). ) -pindex(NULL_GLOB) -cindex(globbing, no matches) -item(tt(NULL_GLOB) (tt(-G)))( -If a pattern for filename generation has no matches, -delete the pattern from the argument list instead -of reporting an error. Overrides tt(NOMATCH). +pindex(KSH_ARRAYS) +cindex(arrays, ksh style) +cindex(array style, ksh) +cindex(ksh, array style) +item(tt(KSH_ARRAYS) <K> <S>)( +Emulate bf(ksh) array handling as closely as possible. If this option +is set, array elements are numbered from zero, an array parameter +without subscript refers to the first element instead of the whole array, +and braces are required to delimit a subscript (`tt(${path[2]})' rather +than just `tt($path[2])'). ) -pindex(NUMERIC_GLOB_SORT) -cindex(globbing, sorting numerically) -item(tt(NUMERIC_GLOB_SORT))( -If numeric filenames are matched by a filename generation pattern, -sort the filenames numerically rather than lexicographically. +pindex(KSH_AUTOLOAD) +item(tt(KSH_AUTOLOAD) <K> <S>)( +Emulate bf(ksh) function autoloading. This means that when a function is +autoloaded, the corresponding file is merely executed, and must define +the function itself. (By default, the function is defined to the contents +of the file. However, the most common bf(ksh)-style case - of the file +containing only a simple definition of the function - is always handled +in the bf(ksh)-compatible manner.) ) -pindex(OVERSTRIKE) -cindex(editor, overstrike mode) -cindex(overstrike mode, of editor) -item(tt(OVERSTRIKE))( -Start up the line editor in overstrike mode. +pindex(KSH_OPTION_PRINT) +cindex(option printing, ksh style) +cindex(option printing style, ksh) +cindex(ksh, option printing style) +item(tt(KSH_OPTION_PRINT) <K>)( +Alters the way options settings are printed: instead of separate lists of +set and unset options, all options are shown, marked `on' if +they are in the non-default state, `off' otherwise. ) -pindex(PATH_DIRS) -cindex(path search, extended) -item(tt(PATH_DIRS) (tt(-Q)))( -Perform a path search even on command names with slashes in them. -Thus if `tt(/usr/local/bin)' is in the user's path, and he types -`tt(X11/xinit)', the command `tt(/usr/local/bin/X11/xinit)' will be executed -(assuming it exists). -Commands explicitly beginning with `tt(/)', `tt(./)' or `tt(../)' -are not subject to the path search. -This also applies to the tt(.) builtin. +pindex(KSH_TYPESET) +cindex(argument splitting, in typeset etc.) +cindex(ksh, argument splitting in typeset) +item(tt(KSH_TYPESET) <K>)( +Alters the way arguments to the tt(typeset) family of commands, including +tt(declare), tt(export), tt(float), tt(integer), tt(local) and +tt(readonly), are processed. Without this option, zsh will perform normal +word splitting after command and parameter expansion in arguments of an +assignment; with it, word splitting does not take place in those cases. ) pindex(POSIX_BUILTINS) item(tt(POSIX_BUILTINS) <K> <S>)( @@ -796,17 +1144,72 @@ tt(times), tt(trap) and tt(unset). ) -pindex(PRINT_EIGHT_BIT) -cindex(eight bit characters, printing) -item(tt(PRINT_EIGHT_BIT))( -Print eight bit characters literally in completion lists, etc. -This option is not necessary if your system correctly returns the -printability of eight bit characters (see manref(ctype)(3)). +pindex(SH_FILE_EXPANSION) +cindex(sh, expansion style) +cindex(expansion style, sh) +item(tt(SH_FILE_EXPANSION) <K> <S>)( +Perform filename expansion (e.g., ~ expansion) em(before) +parameter expansion, command substitution, arithmetic expansion +and brace expansion. +If this option is unset, it is performed em(after) +brace expansion, so things like `tt(~$USERNAME)' and +`tt(~{pfalstad,rc})' will work. ) -pindex(PRINT_EXIT_VALUE) -cindex(exit status, printing) -item(tt(PRINT_EXIT_VALUE) (tt(-1)))( -Print the exit value of programs with non-zero exit status. +pindex(SH_NULLCMD) +vindex(NULLCMD, ignoring) +vindex(READNULLCMD, ignoring) +cindex(sh, redirections with no command) +cindex(ksh, redirections with no command) +cindex(redirections with no command, sh) +cindex(redirections with no command, ksh) +item(tt(SH_NULLCMD) <K> <S>)( +Do not use the values of tt(NULLCMD) and tt(READNULLCMD) +when doing redirections, use `tt(:)' instead (see noderef(Redirection)). +) +pindex(SH_OPTION_LETTERS) +cindex(sh, single letter options style) +cindex(ksh, single letter options style) +cindex(single letter options, ksh style) +cindex(options, single letter, ksh style) +item(tt(SH_OPTION_LETTERS) <K> <S>)( +If this option is set the shell tries to interpret single letter options +(which are used with tt(set) and tt(setopt)) like bf(ksh) does. +This also affects the value of the tt(-) special parameter. +) +pindex(SH_WORD_SPLIT) +cindex(field splitting, sh style) +cindex(sh, field splitting style) +item(tt(SH_WORD_SPLIT) (tt(-y)) <K> <S>)( +Causes field splitting to be performed on unquoted parameter expansions. +Note that this option has nothing to do with word splitting. +(See noderef(Parameter Expansion).) +) +pindex(TRAPS_ASYNC) +cindex(traps, asynchronous) +item(tt(TRAPS_ASYNC))( +While waiting for a program to exit, handle signals and run traps +immediately. Otherwise the trap is run after a child process has exited. +Note this does not affect the point at which traps are run for any case +other than when the shell is waiting for a child process. +) +enditem() + +subsect(Shell State) +startitem() +pindex(INTERACTIVE) +item(tt(INTERACTIVE) (tt(-i), ksh: tt(-i)))( +This is an interactive shell. This option is set upon initialisation if +the standard input is a tty and commands are being read from standard input. +(See the discussion of tt(SHIN_STDIN).) +This heuristic may be overridden by specifying a state for this option +on the command line. +The value of this option cannot be changed anywhere other than the command line. +) +pindex(LOGIN) +item(tt(LOGIN) (tt(-l), ksh: tt(-l)))( +This is a login shell. +If this option is not explicitly set, the shell is a login shell if +the first character of the tt(argv[0]) passed to the shell is a `tt(-)'. ) pindex(PRIVILEGED) cindex(privileged mode) @@ -824,87 +1227,6 @@ tt(-m) option of tt(setopt) and tt(unsetopt), and changing it inside a function always changes it globally regardless of the tt(LOCAL_OPTIONS) option. ) -pindex(PROMPT_BANG) -cindex(prompt, ! expansion) -item(tt(PROMPT_BANG) <K>)( -If set, `tt(!)' is treated specially in prompt expansion. -See noderef(Prompt Expansion). -) -pindex(PROMPT_CR) -cindex(prompt, with CR) -item(tt(PROMPT_CR) (tt(PLUS()V)) <D>)( -Print a carriage return just before printing -a prompt in the line editor. This is on by default as multi-line editing -is only possible if the editor knows where the start of the line appears. -) -pindex(PROMPT_PERCENT) -cindex(prompt, % expansion) -item(tt(PROMPT_PERCENT) <C> <Z>)( -If set, `tt(%)' is treated specially in prompt expansion. -See noderef(Prompt Expansion). -) -pindex(PROMPT_SUBST) -cindex(prompt, parameter expansion) -item(tt(PROMPT_SUBST) <K>)( -If set, em(parameter expansion), em(command substitution) and -em(arithmetic expansion) are performed in prompts. -) -pindex(PUSHD_IGNORE_DUPS) -cindex(directory stack, ignoring duplicates) -item(tt(PUSHD_IGNORE_DUPS))( -Don't push multiple copies of the same directory onto the directory stack. -) -pindex(PUSHD_MINUS) -cindex(directory stack, controlling syntax) -item(tt(PUSHD_MINUS))( -Exchanges the meanings of `tt(PLUS())' and `tt(-)' -when used with a number to specify a directory in the stack. -) -pindex(PUSHD_SILENT) -cindex(directory stack, silencing) -item(tt(PUSHD_SILENT) (tt(-E)))( -Do not print the directory stack after tt(pushd) or tt(popd). -) -pindex(PUSHD_TO_HOME) -cindex(pushd, to home) -item(tt(PUSHD_TO_HOME) (tt(-D)))( -Have tt(pushd) with no arguments act like `tt(pushd $HOME)'. -) -pindex(RC_EXPAND_PARAM) -cindex(rc, parameter expansion style) -cindex(parameter expansion style, rc) -item(tt(RC_EXPAND_PARAM) (tt(-P)))( -Array expansions of the form -`var(foo)tt(${)var(xx)tt(})var(bar)', where the parameter -var(xx) is set to tt(LPAR())var(a b c)tt(RPAR()), are substituted with -`var(fooabar foobbar foocbar)' instead of the default -`var(fooa b cbar)'. -) -pindex(RC_QUOTES) -cindex(rc, quoting style) -cindex(quoting style, rc) -item(tt(RC_QUOTES))( -Allow the character sequence `tt('')' to signify a single quote -within singly quoted strings. -) -pindex(RCS) -cindex(startup files, sourcing) -item(tt(RCS) (tt(PLUS()f)) <D>)( -After tt(/etc/zshenv) is sourced on startup, source the -tt(.zshenv), tt(/etc/zprofile), tt(.zprofile), -tt(/etc/zshrc), tt(.zshrc), tt(/etc/zlogin), tt(.zlogin), and tt(.zlogout) -files, as described in noderef(Files). -If this option is unset, the tt(/etc/zshenv) file is still sourced, but any -of the others will not be; it can be set at any time to prevent the -remaining startup files after the currently executing one from -being sourced. -) -pindex(REC_EXACT) -cindex(completion, exact matches) -item(tt(REC_EXACT) (tt(-S)))( -In completion, recognize exact matches even -if they are ambiguous. -) pindex(RESTRICTED) cindex(restricted shell) item(tt(RESTRICTED) (tt(-r)))( @@ -913,66 +1235,6 @@ tt(unsetopt), and setting it inside a function always changes it globally regardless of the tt(LOCAL_OPTIONS) option. See noderef(Restricted Shell). ) -pindex(RM_STAR_SILENT) -cindex(rm *, querying before) -cindex(querying before rm *) -item(tt(RM_STAR_SILENT) (tt(-H)) <K> <S>)( -Do not query the user before executing `tt(rm *)' or `tt(rm path/*)'. -) -pindex(RM_STAR_WAIT) -cindex(rm *, waiting before) -cindex(waiting before rm *) -item(tt(RM_STAR_WAIT))( -If querying the user before executing `tt(rm *)' or `tt(rm path/*)', -first wait ten seconds and ignore anything typed in that time. -This avoids the problem of reflexively answering `yes' to the query -when one didn't really mean it. The wait and query can always be -avoided by expanding the `tt(*)' in ZLE (with tab). -) -pindex(SHARE_HISTORY) -cindex(share history) -cindex(history, sharing) -item(tt(SHARE_HISTORY) <K>)( - -This option both imports new commands from the history file, and also -causes your typed commands to be appended to the history file (the -latter is like specifying tt(INC_APPEND_HISTORY)). -The history lines are also output with timestamps ala -tt(EXTENDED_HISTORY) (which makes it easier to find the spot where -we left off reading the file after it gets re-written). - -By default, history movement commands visit the imported lines as -well as the local lines, but you can toggle this on and off with the -set-local-history zle binding. It is also possible to create a zle -widget that will make some commands ignore imported commands, and -some include them. - -If you find that you want more control over when commands -get imported, you may wish to turn tt(SHARE_HISTORY) off, -tt(INC_APPEND_HISTORY) on, and then manually import -commands whenever you need them using `tt(fc -RI)'. -) -pindex(SH_FILE_EXPANSION) -cindex(sh, expansion style) -cindex(expansion style, sh) -item(tt(SH_FILE_EXPANSION) <K> <S>)( -Perform filename expansion (e.g., ~ expansion) em(before) -parameter expansion, command substitution, arithmetic expansion -and brace expansion. -If this option is unset, it is performed em(after) -brace expansion, so things like `tt(~$USERNAME)' and -`tt(~{pfalstad,rc})' will work. -) -pindex(SH_GLOB) -cindex(sh, globbing style) -cindex(globbing style, sh) -item(tt(SH_GLOB) <K> <S>)( -Disables the special meaning of `tt(LPAR())', `tt(|)', `tt(RPAR())' -and 'tt(<)' for globbing the result of parameter and command substitutions, -and in some other places where -the shell accepts patterns. This option is set by default if zsh is -invoked as tt(sh) or tt(ksh). -) pindex(SHIN_STDIN) item(tt(SHIN_STDIN) (tt(-s), ksh: tt(-s)))( Commands are being read from the standard input. @@ -989,40 +1251,6 @@ em(actually) being read from standard input. The value of this option cannot be changed anywhere other than the command line. ) -pindex(SH_NULLCMD) -vindex(NULLCMD, ignoring) -vindex(READNULLCMD, ignoring) -cindex(sh, redirections with no command) -cindex(ksh, redirections with no command) -cindex(redirections with no command, sh) -cindex(redirections with no command, ksh) -item(tt(SH_NULLCMD) <K> <S>)( -Do not use the values of tt(NULLCMD) and tt(READNULLCMD) -when doing redirections, use `tt(:)' instead (see noderef(Redirection)). -) -pindex(SH_OPTION_LETTERS) -cindex(sh, single letter options style) -cindex(ksh, single letter options style) -cindex(single letter options, ksh style) -cindex(options, single letter, ksh style) -item(tt(SH_OPTION_LETTERS) <K> <S>)( -If this option is set the shell tries to interpret single letter options -(which are used with tt(set) and tt(setopt)) like bf(ksh) does. -This also affects the value of the tt(-) special parameter. -) -pindex(SHORT_LOOPS) -item(tt(SHORT_LOOPS) <C> <Z>)( -Allow the short forms of tt(for), tt(select), -tt(if), and tt(function) constructs. -) -pindex(SH_WORD_SPLIT) -cindex(field splitting, sh style) -cindex(sh, field splitting style) -item(tt(SH_WORD_SPLIT) (tt(-y)) <K> <S>)( -Causes field splitting to be performed on unquoted parameter expansions. -Note that this option has nothing to do with word splitting. -(See noderef(Parameter Expansion).) -) pindex(SINGLE_COMMAND) cindex(single command) pindex(INTERACTIVE, use of) @@ -1032,38 +1260,42 @@ has been executed. This also makes the shell non-interactive, unless the tt(INTERACTIVE) option is explicitly set on the command line. The value of this option cannot be changed anywhere other than the command line. ) +enditem() + +subsect(Zle) +startitem() +pindex(BEEP) +cindex(beep, enabling) +cindex(enabling the beep) +item(tt(BEEP) (tt(PLUS()B)) <D>)( +Beep on error in ZLE. +) +pindex(EMACS) +item(tt(EMACS))( +If ZLE is loaded, turning on this option has the equivalent effect +of `tt(bindkey -e)'. In addition, the VI option is unset. +Turning it off has no effect. The option setting is +not guaranteed to reflect the current keymap. This option is +provided for compatibility; tt(bindkey) is the recommended interface. +) +pindex(OVERSTRIKE) +cindex(editor, overstrike mode) +cindex(overstrike mode, of editor) +item(tt(OVERSTRIKE))( +Start up the line editor in overstrike mode. +) pindex(SINGLE_LINE_ZLE) cindex(editor, single line mode) item(tt(SINGLE_LINE_ZLE) (tt(-M)) <K>)( Use single-line command line editing instead of multi-line. ) -pindex(SUN_KEYBOARD_HACK) -cindex(sun keyboard, annoying) -cindex(annoying keyboard, sun) -item(tt(SUN_KEYBOARD_HACK) (tt(-L)))( -If a line ends with a backquote, and there are an odd number -of backquotes on the line, ignore the trailing backquote. -This is useful on some keyboards where the return key is -too small, and the backquote key lies annoyingly close to it. -) -pindex(UNSET) -cindex(parameters, substituting unset) -cindex(unset parameters, substituting) -item(tt(UNSET) (tt(PLUS()u), ksh: tt(PLUS()u)) <K> <S> <Z>)( -Treat unset parameters as if they were empty when substituting. -Otherwise they are treated as an error. -) -pindex(VERBOSE) -cindex(tracing, of input lines) -cindex(input, tracing) -item(tt(VERBOSE) (tt(-v), ksh: tt(-v)))( -Print shell input lines as they are read. -) -pindex(XTRACE) -cindex(tracing, of commands) -cindex(commands, tracing) -item(tt(XTRACE) (tt(-x), ksh: tt(-x)))( -Print commands and their arguments as they are executed. +pindex(VI) +item(tt(VI))( +If ZLE is loaded, turning on this option has the equivalent effect +of `tt(bindkey -v)'. In addition, the EMACS option is unset. +Turning it off has no effect. The option setting is +not guaranteed to reflect the current keymap. This option is +provided for compatibility; tt(bindkey) is the recommended interface. ) pindex(ZLE) cindex(editor, enabling) @@ -1073,6 +1305,7 @@ Use the zsh line editor. Set by default in interactive shells connected to a terminal. ) enditem() + texinode(Option Aliases)(Single Letter Options)(Description of Options)(Options) sect(Option Aliases) cindex(options, aliases) @@ -1206,6 +1439,7 @@ endsitem() subsect(sh/ksh emulation set) startsitem() sitem(tt(-C))(em(NO_)CLOBBER) +sitem(tt(-T))(TRAPS_ASYNC) sitem(tt(-X))(MARK_DIRS) sitem(tt(-a))(ALL_EXPORT) sitem(tt(-b))(NOTIFY) |