about summary refs log tree commit diff
path: root/Doc
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2004-05-25 16:51:17 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2004-05-25 16:51:17 +0000
commitbf4be466765b6f490b15981ecb308664c817535b (patch)
tree323a10469a2af28a4b2187f798567301e4145950 /Doc
parent7d85e53b1e8e24875bdbadeb181a2d3f1358b4f8 (diff)
downloadzsh-bf4be466765b6f490b15981ecb308664c817535b.tar.gz
zsh-bf4be466765b6f490b15981ecb308664c817535b.tar.xz
zsh-bf4be466765b6f490b15981ecb308664c817535b.zip
c.f users/7474: reorder option descriptions in subheadings.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/Zsh/options.yo1598
1 files changed, 822 insertions, 776 deletions
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo
index d67d2b16c..2ef11bf3e 100644
--- a/Doc/Zsh/options.yo
+++ b/Doc/Zsh/options.yo
@@ -52,17 +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(ALIASES)
-cindex(aliases, expansion)
-item(tt(ALIASES) <D>)(
-Expand aliases.
+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(ALL_EXPORT)
-cindex(export, automatic)
-item(tt(ALL_EXPORT) (tt(-a), ksh: tt(-a)))(
-All parameters subsequently defined are automatically exported.
+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
@@ -76,29 +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_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_LIST)
 cindex(completion, listing choices)
 item(tt(AUTO_LIST) (tt(-9)) <D>)(
@@ -137,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>)(
@@ -150,13 +183,104 @@ 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(BASH_AUTO_LIST)
+cindex(completion, listing choices, bash style)
+item(tt(BASH_AUTO_LIST))(
+On an ambiguous completion, automatically list choices when the
+completion function is called twice in succession.  This takes
+precedence over tt(AUTO_LIST).  The setting of tt(LIST_AMBIGUOUS) is
+respected.  If tt(AUTO_MENU) is set, the menu behaviour will then start
+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(COMPLETE_ALIASES)
+cindex(aliases, completion of)
+item(tt(COMPLETE_ALIASES))(
+Prevents aliases on the command line from being internally substituted
+before completion is attempted.  The effect is to make the alias a
+distinct command for completion purposes.
 )
+pindex(COMPLETE_IN_WORD)
+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(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(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(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(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(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(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)
@@ -164,13 +288,6 @@ 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)
@@ -179,31 +296,6 @@ 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))(
-On an ambiguous completion, automatically list choices when the
-completion function is called twice in succession.  This takes
-precedence over tt(AUTO_LIST).  The setting of tt(LIST_AMBIGUOUS) is
-respected.  If tt(AUTO_MENU) is set, the menu behaviour will then start
-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)
@@ -212,13 +304,6 @@ 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(CASE_GLOB)
 cindex(case-insensitive globbing, option)
 item(tt(CASE_GLOB) <D>)(
@@ -229,137 +314,6 @@ will cause case-insensitive matching.  For example, tt(cvs(/)) can
 match the directory tt(CVS) owing to the presence of the globbing flag
 (unless the option tt(BARE_GLOB_QUAL) is unset).
 )
-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(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(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(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))(
-Prevents aliases on the command line from being internally substituted
-before completion is attempted.  The effect is to make the alias a
-distinct command for completion purposes.
-)
-pindex(COMPLETE_IN_WORD)
-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.
-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(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(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(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(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(CSH_NULL_GLOB)
 cindex(csh, null globbing style)
 cindex(null globbing style, csh)
@@ -371,51 +325,12 @@ do not report an error unless all the patterns
 in a command have no matches.
 Overrides tt(NOMATCH).
 )
-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(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(EQUALS)
 cindex(filename expansion, =)
 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(ERR_RETURN)
-cindex(function return, on error)
-cidnex(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(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(EXTENDED_GLOB)
 cindex(globbing, extended)
 item(tt(EXTENDED_GLOB))(
@@ -423,28 +338,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)
@@ -452,33 +345,6 @@ item(tt(GLOB) (tt(PLUS()F), ksh: tt(PLUS()f)) <D>)(
 Perform filename generation (globbing).
 (See noderef(Filename Generation).)
 )
-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(GLOB_ASSIGN)
 item(tt(GLOB_ASSIGN) <C>)(
 If this option is set, filename generation (globbing) is
@@ -492,16 +358,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)))(
@@ -515,30 +371,117 @@ characters resulting from command substitution as being eligible for
 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 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(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 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(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))(
@@ -626,18 +569,129 @@ 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(INC_APPEND_HISTORY)
+cindex(history, incremental appending to a file)
+item(tt(INC_APPEND_HISTORY))(
+This options works like tt(APPEND_HISTORY) except that new history lines
+are added to the tt($HISTFILE) incrementally (as soon as they are
+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(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(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)
@@ -652,113 +706,249 @@ 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(INC_APPEND_HISTORY)
-cindex(history, incremental appending to a file)
-item(tt(INC_APPEND_HISTORY))(
-This options works like tt(APPEND_HISTORY) except that new history lines
-are added to the tt($HISTFILE) incrementally (as soon as they are
-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(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(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(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_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_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_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(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_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(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_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_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(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(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.
+)
+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)
+cidnex(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(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>)(
@@ -788,94 +978,11 @@ fn() { 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(LONG_LIST_JOBS)
-cindex(jobs, list format)
-item(tt(LONG_LIST_JOBS) (tt(-R)))(
-List jobs in the long format by default.
-)
-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(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(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(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(MONITOR)
-cindex(job control, allowing)
-item(tt(MONITOR) (tt(-m), ksh: tt(-m)))(
-Allow job control.  Set by default in interactive shells.
-)
 pindex(MULTIOS)
 item(tt(MULTIOS) <Z>)(
 Perform implicit bf(tee)s or bf(cat)s when multiple
 redirections are attempted (see noderef(Redirection)).
 )
-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(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(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(OCTAL_ZEROES)
 cindex(octal, arithmetic expressions)
 item(tt(OCTAL_ZEROES) <S>)(
@@ -884,27 +991,113 @@ Interpret any integer constant beginning with a 0 as octal, per IEEE Std
 causes problems with parsing of, for example, date and time strings with
 leading zeroes.
 )
-pindex(OVERSTRIKE)
-cindex(editor, overstrike mode)
-cindex(overstrike mode, of editor)
-item(tt(OVERSTRIKE))(
-Start up the line editor in overstrike mode.
+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(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.
+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.
+)
+enditem()
 
-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.
+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(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(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(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(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(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(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(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(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>)(
@@ -932,17 +1125,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)
@@ -960,89 +1208,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.  Note this does not apply in quoted strings
-using the format tt($')var(...)tt('), where a backslashed single quote can
-be used.
-)
-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)))(
@@ -1051,66 +1216,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.
@@ -1127,40 +1232,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(repeat), 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)
@@ -1170,55 +1241,35 @@ 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(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.
-)
-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.
-)
-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(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(VI)
 item(tt(VI))(
 If ZLE is loaded, turning on this option has the equivalent effect
@@ -1227,12 +1278,6 @@ 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(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(ZLE)
 cindex(editor, enabling)
 cindex(enabling the editor)
@@ -1241,6 +1286,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)