summary refs log tree commit diff
path: root/Doc/Zsh/compsys.yo
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/Zsh/compsys.yo')
-rw-r--r--Doc/Zsh/compsys.yo392
1 files changed, 195 insertions, 197 deletions
diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo
index 8834fd489..af17d9434 100644
--- a/Doc/Zsh/compsys.yo
+++ b/Doc/Zsh/compsys.yo
@@ -66,13 +66,14 @@ tt(compinstall) it will be called automatically from your tt(.zshrc).
 
 To initialize the system, the function tt(compinit) should be in a
 directory mentioned in the tt($fpath) variable, and should be autoloaded
-(`tt(autoload -U compinit)' is recommended).  When run, it will define a
+(`tt(autoload -U compinit)' is recommended), and then run simply as
+`tt(compinit)'.  This will define a
 few utility functions, arrange for all the necessary shell functions to be
 autoloaded, and will then re-bind all keys that do completion to use the
-new system. Note that this means that the tt(zsh/complist) module has
-to be loaded before the completion system is initialized (i.e. the
-tt(compinit) function is called) to make sure that the tt(menu-select)
-widget defined by it will be redefined, too.
+new system.  If you use the tt(menu-select) widget, which is part of the
+tt(zsh/complist) module, you should make sure that that module is loaded
+before the call to tt(compinit) to make sure that that widget is also
+re-bound.
 
 Should you need to use the original completion commands, you can still
 bind keys to the old functions by putting a `tt(.)' in front of the
@@ -84,14 +85,14 @@ default, although it can be turned off by calling tt(compinit) with the
 option tt(-D).  The dumped file is tt(.zcompdump) in the same
 directory as the startup files (i.e. tt($ZDOTDIR) or tt($HOME));
 alternatively, an explicit file name can be given by `tt(compinit -d)
-var(dumpfile)'.  On the next call to tt(compinit), the dumped file will be
-read instead of a full initialization.
+var(dumpfile)'.  On the next call to tt(compinit), it will read the dumped
+file instead of performing a full initialization.
 
 If the number of completion files changes, tt(compinit) will recognise this
 and produce a new dump file.  However, if the name of a function or the
 arguments in the first line of a tt(#compdef) function (as described below)
-change, it is easiest to delete the dump file by hand so that the next time
-tt(compinit) will re-create it.
+change, it is easiest to delete the dump file by hand so that
+tt(compinit) will re-create it the next time it is run.
 
 The dumping is actually done by another function, tt(compdump), but you
 will only need to run this yourself if you change the configuration
@@ -109,13 +110,12 @@ The convention for autoloaded functions used in completion is that they
 start with an underscore; as already mentioned, the tt(fpath/FPATH)
 parameter must contain the directory in which they are stored.  If tt(zsh)
 was properly installed on your system, then tt(fpath/FPATH) automatically
-contains the required directories.
+contains the required directories for the standard functions.
 
 For incomplete installations, if tt(compinit) does not find enough files
 beginning with an underscore (fewer than twenty) in the search path, it
 will try to find more by adding the directory tt(_compdir) to the search
-path; if you have run tt(compinstall), this will be set automatically.
-Furthermore, if the directory in question ends in the path segment
+path.  Furthermore, if the directory in question ends in the path segment
 tt(Core), or has a subdirectory named tt(Core), tt(compinit) will add all
 subdirectories of the directory where tt(Core) is to the path: this allows
 the functions to be in the same format as in the tt(zsh) source
@@ -124,7 +124,7 @@ distribution.
 cindex(compdef, use of by compinit)
 When tt(compinit) is run, it searches all such files accessible via
 tt(fpath/FPATH) and reads the first line of each of them.  This line should
-contain one of the tags described below. Files whose first line does not
+contain one of the tags described below.  Files whose first line does not
 start with one of these tags are not considered to be part of the
 completion system and will not be treated specially.
 
@@ -150,23 +150,22 @@ completion function for the command on the line could be found.
 )
 item(tt(#compdef -k) var(style key-sequences...))(
 This can be used to bind special completion functions to the
-var(key-sequences).  It creates a widget behaving like the builtin widget
-var(style), which must be one of those that perform completion, namely
-tt(complete-word), tt(delete-char-or-list), tt(expand-or-complete),
-tt(expand-or-complete-prefix), tt(list-choices), tt(menu-complete),
-tt(menu-expand-or-complete), or tt(reverse-menu-complete). If the
-tt(zsh/complist) module is loaded (see
+var(key-sequences) specified.  It creates a widget behaving like the
+builtin widget var(style), which must be one of those that perform
+completion, namely tt(complete-word), tt(delete-char-or-list),
+tt(expand-or-complete), tt(expand-or-complete-prefix), tt(list-choices),
+tt(menu-complete), tt(menu-expand-or-complete), or
+tt(reverse-menu-complete).  If the tt(zsh/complist) module is loaded (see
 ifzman(zmanref(zshmodules))\
 ifnzman(noderef(The zsh/complist Module))\
-), the tt(menu-select) widget can be used, too.  Note that the
-bindings will not be used if the key is already bound (that
-is, is bound to something other than tt(undefined-key)).
+), the same happens to the tt(menu-select) widget.
 
 The widget is then bound to all the var(key-sequences) given, if any: when
 one of the var(key-sequences) is typed, the function in the file will
-be invoked to generate the matches. The widget created has the same
-name as the file and can also be bound to other keys using tt(bindkey) 
-as usual.
+be invoked to generate the matches.  Note that a key will not be re-bound
+if if it already was (that is, was bound to something other than
+tt(undefined-key)).  The widget created has the same name as the file and
+can be bound to any other keys using tt(bindkey) as usual.
 )
 item(tt(#compdef -K) var(widget-name) var(style) var(key-sequences) ...)(
 This is similar to tt(-k), with the same var(style) and var(key-sequences)
@@ -191,27 +190,24 @@ when invoked.  Typically they are to be called from within one of the
 completion functions.
 
 The var(options) will be given to the tt(autoload) builtin command
-when making the function autoloaded. Note that the tt(-U) flag is
-always used. Most often, this will be tt(+X) to force the function
-to be loaded immediately.
+when making the function autoloaded.  Most often, this will be tt(+X) to
+force the function to be loaded immediately.  Note that the tt(-U) flag is
+always implicitly added.
 )
 enditem()
 
-Note that the tt(#) is part of the tag name and no white space is allowed
-after it.  The tt(#compdef) tags use the tt(compdef) function described
-below; the main difference is that the name of the function is supplied
-implicitly.
+The tt(#) is part of the tag name and no white space is allowed after it.
+The tt(#compdef) tags use the tt(compdef) function described below; the
+main difference is that the name of the function is supplied implicitly.
 
 Note also that the functions for the completion system assume that the
-tt(KSH_AUTOLOAD) option is not set, they can't be loaded when it is
-set. But when you can't or don't want to unset tt(KSH_AUTOLOAD) and
-still want to use the completion system, you can simply use one or
-more tt(zwc) file(s) created with the tt(zcompile) builtin command
-with the tt(-z) option to load the functions for the completion system 
-from (see
+tt(KSH_AUTOLOAD) option is not set and cannot be loaded when it is
+set.  To avoid having to unset tt(KSH_AUTOLOAD), you can instead use one or
+more tt(zwc) file(s) which have been created with the command tt(zcompile
+-z) to load the functions for the completion system; see
 ifzman(zmanref(zshbuiltins))\
 ifnzman(noderef(Shell Builtin Commands))\
-). This forces the functions to be autoloaded the way zsh normally
+.  This forces the functions to be autoloaded the way zsh normally
 loads functions.
 
 subsect(Functions)
@@ -284,15 +280,15 @@ was tried.  The context depends on such things as the name of the
 command when completing an argument, and possibily also
 the name of an option when completing an argument to that option.
 
-For the context a name consisting of multiple fields is built. This
-name is then used to look up styles that can be used to configure the
-completion system. Since it is not possible to build the whole context 
-name in advance, completion functions may modify some of the fields and 
-hence the context name used for lookup may vary during the same call
+The `context' of a completion is a string consisting of multiple fields. This
+is used to look up styles that can be used to configure the
+completion system.  Since it is not possible to build the whole context 
+string in advance, completion functions may modify some of the fields and 
+hence the context used for lookup may vary during the same call
 to the completion system.
 
-The context name always consists of the following fields, separated
-by colons:
+The context string always consists of the following fields, separated
+by colons and with a leading colon before the first:
 
 startitemize()
 itemiz(\
@@ -303,12 +299,12 @@ itemiz(\
 The var(function); in many cases this field will be blank, but when
 the completion system is called from other functions, like
 tt(predict-on) or one of the functions in the tt(Command) directory of 
-the distribution, this field contains the (probably abbreviated) name
-of that function.
+the distribution, this field contains the name of that function, often
+in an abbreviated form.
 )
 itemiz(\
-The var(completer) currently active, i.e. the name of the completer
-function without the leading underscore. Such a completer is in
+The var(completer) currently active, which is the name of the function
+without the leading underscore.  A `completer' is in
 overall control of how completion is to be performed; `tt(complete)'
 is the basic one for ordinary completion, but completers may perform
 various related tasks such as correction, or modify the behaviour of a
@@ -318,10 +314,10 @@ ifnzman(noderef(Control Functions))
 for more information).  
 )
 itemiz(\
-The var(context) or var(command). This is either one of the special
+The var(context) or var(command).  This is either one of the special
 context names such as tt(-condition-) as explained for the
 tt(_complete) completer below, or the name of the command we are
-completing arguments for. Completion functions for commands that have
+completing arguments for.  Completion functions for commands that have
 sub-commands usually modify this field to contain the name of the
 command followed by a minus sign and the sub-command (e.g. the
 completion function for the tt(cvs) command sets this field to strings
@@ -329,15 +325,14 @@ such as tt(cvs-add) when completing for the tt(add) sub-command).
 )
 itemiz(\
 The var(argument), describing which argument we are
-completing. Normally this is either a string of the form
+completing.  Normally this is either a string of the form
 tt(argument-)var(n), where var(n) is the number of the argument or it
 is a string of the form tt(option-)var(opt)tt(-)var(n) when completing the
 var(n)'th argument of the option var(opt).
 )
 itemiz(\
-The var(tag). Tags are used for two purposes:  to describe the types
-of matches a completion function can generate for a certain context
-and to simplify the definition of styles that are tested.
+The var(tag).  Tags are used to discriminate between the types
+of matches a completion function can generate in a certain context.
 )
 enditemize()
 
@@ -358,17 +353,18 @@ below.  To determine in which order the tags are to be used by the
 completion function, the `tt(tag-order)' style for the appropriate
 context may be set, as described in the list of standard styles below.
 Only those types of matches whose tags were selected by this style
-will be produced, and in the order given.
+will be produced, and in the order given, although the default is to try
+all relevant tags in an order determined by the particular completion in
+use.
 
 The tt(_complete_help) bindable command described in 
 ifzman(the section `Bindable Commands' below)\
 ifnzman(noderef(Bindable Commands))
-can be invoked to find out the context and tag names and styles used at a particular
-point in completion.  It shows a list of context names and the 
-tag names used in those contexts if completion were tried at the
-current cursor position.  Hence one can easily find out all the
-information needed to change the behaviour of the tt(tag-order) style
-for a particular context.
+can be invoked to find out the context and tag names and styles used at a
+particular point in completion.  It shows the list of contexts and tags 
+that would be used in if completion were tried at the current cursor
+position.  Hence one can easily find out all the information needed to
+change the behaviour of the tt(tag-order) style for a particular context.
 
 Completion behaviour can be modified by various other
 styles defined with the tt(zstyle) builtin command (\
@@ -386,22 +382,23 @@ the style itself, which must be given exactly.
 
 For example, many completion functions can generate matches in a
 simple and a verbose form and use the tt(verbose) style to decide
-which form should be used. To make all such functions always use the
-verbose form one can simply call
+which form should be used.  To make all such functions use the verbose form,
+put
 
 example(zstyle ':completion:*' verbose yes)
 
-in one of the startup files like tt(.zshrc). This definition simply
+in one of the startup files like tt(.zshrc); this sort of style can also be
+configured with the tt(compinstall) function.  This definition simply
 means that the tt(verbose) style has tt(yes) as its value in every
-context inside the completion system.  If the pattern were `tt(*)', it
-would mean that the verbose style had this value anywhere the style
-mechanism is used.
+context inside the completion system.  If the context pattern were `tt(*)',
+the verbose style would have this value anywhere the style mechanism is
+used, not just in completion.
 
 As a more specific example, the completion function for the tt(kill)
 builtin command uses the tt(verbose) style to decide if jobs and processes
 are listed only as job numbers and process identifiers or if they are
 listed with the full job texts and the command lines of the processes (the
-latter is achieved by calling the tt(ps) command). To make this builtin
+latter is achieved by calling the tt(ps) command).  To make this builtin
 list the matches only as numbers one could call:
 
 example(zstyle ':completion:*:*:kill:*' verbose no)
@@ -420,18 +417,17 @@ preferred over patterns (for example, `tt(:completion::complete:foo)' is
 more specific than `tt(:completion::complete:*')), and longer patterns are
 preferred over shorter patterns.
 
-As for tags, completion functions can use any number of styles, so
-there can't be a complete list. However, the following two sections
+As with tags, completion functions can use any style they choose, so
+there can't be a complete list.  However, the following two sections
 list those tags and styles that are used in many places of the
 completion system.
 
 subsect(Standard Tags)
 cindex(completion system, tags)
 
-Here are the tags currently used by the completion system. Note that
-some of these tags are not actually used while generating matches,
-but are only used by some completion functions when looking up
-styles.
+Here are the tags currently used by the completion system.  Some of them
+are only used when looking up styles and do not refer to a particular type
+of match.
 
 startitem()
 kindex(accounts, completion tag)
@@ -440,12 +436,13 @@ used to look up the tt(users-hosts) style
 )
 kindex(all-files, completion tag)
 item(tt(all-files))(
-for the names of all files
+for the names of all files (as distinct from a particular subset, see the
+tt(globbed-files) tag).
 )
 kindex(all-expansions, completion tag)
 item(tt(all-expansions))(
-used by the tt(_expand) completer when adding the string containing
-all expansions
+used by the tt(_expand) completer when adding the single string containing
+all possible expansions
 )
 kindex(arguments, completion tag)
 item(tt(arguments))(
@@ -457,8 +454,8 @@ for names of array parameters
 )
 kindex(association-keys, completion tag)
 item(tt(association-keys))(
-for keys of associative arrays (e.g. when completing inside a
-subscript of such a parameter)
+for keys of associative arrays; used when completing inside a
+subscript of a parameter of this type
 )
 kindex(bookmarks, completion tag)
 item(tt(bookmarks))(
@@ -523,7 +520,8 @@ for network domains
 )
 kindex(expansions, completion tag)
 item(tt(expansions))(
-used by the tt(_expand) completer for possible expansions
+used by the tt(_expand) completer for individual possibilities resulting
+from expansion of a word
 )
 kindex(extensions, completion tag)
 item(tt(extensions))(
@@ -531,8 +529,8 @@ for X server extensions
 )
 kindex(files, completion tag)
 item(tt(files))(
-used by completion functions that can complete some kind of filenames
-and different types of matches
+the generic file-matching tag used by completion functions that can
+complete the names of some kind of file
 )
 kindex(fonts, completion tag)
 item(tt(fonts))(
@@ -540,8 +538,8 @@ used for X font names
 )
 kindex(functions, completion tag)
 item(tt(functions))(
-names of functions (shell functions or other kinds of functions for
-some commands)
+names of functions, normally shell functions although certain commands may
+understand other kinds of function
 )
 kindex(globbed-files, completion tag)
 item(tt(globbed-files))(
@@ -578,8 +576,8 @@ for names of X keysyms
 )
 kindex(local-directories, completion tag)
 item(tt(local-directories))(
-for names of directories in the current working directory when
-completing for the tt(cd) builtin command
+for names of directories which are subdirectories of the current working
+directory when completing for the tt(cd) and related builtin commands
 )
 kindex(libraries, completion tag)
 item(tt(libraries))(
@@ -595,7 +593,7 @@ for names of manual pages
 )
 kindex(maps, completion tag)
 item(tt(maps))(
-for map names (e.g. YP maps)
+for map names (e.g. NIS maps)
 )
 kindex(messages, completion tag)
 item(tt(messages))(
@@ -623,7 +621,7 @@ for all kinds of names
 )
 kindex(nicknames, completion tag)
 item(tt(nicknames))(
-for nicknames of YP maps
+for nicknames of NIS maps
 )
 kindex(options, completion tag)
 item(tt(options))(
@@ -648,8 +646,8 @@ for names of parameters
 )
 kindex(path-directories, completion tag)
 item(tt(path-directories))(
-for names of directories in directories from the tt(cdpath) array when
-completing for the tt(cd) builtin command
+for names of directories found by searching the tt(cdpath) array when
+completing for the tt(cd) and related builtin commands
 )
 kindex(paths, completion tag)
 item(tt(paths))(
@@ -658,7 +656,7 @@ tt(special-dirs) styles
 )
 kindex(pods, completion tag)
 item(tt(pods))(
-for perl pods
+for perl pods (documentation files)
 )
 kindex(ports, completion tag)
 item(tt(ports))(
@@ -754,26 +752,27 @@ enditem()
 subsect(Standard Styles)
 cindex(completion system, styles)
 
-Here are the names of the styles used by the completion system. Note
+Here are the names of the styles used by the completion system.  Note
 that the values of several of these styles represent boolean
-values. In all these cases any of the strings `tt(true)', `tt(on)',
+values; here, any of the strings `tt(true)', `tt(on)',
 `tt(yes)', and `tt(1)' can be used for the truth value `true' and
 the strings `tt(false)', `tt(off)', `tt(no)', and `tt(0)' are
 interpreted as `false'.  The behavior for any other value is undefined 
 unless the description for the particular style mentions other
-possible values.
+possible values; in particular, the default value may be either on or off
+if the style is not set.
 
 startitem()
 kindex(accept-exact, completion style)
 item(tt(accept-exact))(
 This is tested for the default tag and the tags used when generating
-matches. If it is set to `true' for at least one match which is the
+matches.  If it is set to `true' for at least one match which is the
 same as the string on the line, this match will immediately be
 accepted.
 )
 kindex(add-space, completion style)
 item(tt(add-space))(
-This style is used by the tt(_expand) completer. If it is `true' (the
+This style is used by the tt(_expand) completer.  If it is `true' (the
 default), a space will be inserted after all words resulting from the 
 expansion (except for directory names which get a slash).
 
@@ -782,19 +781,17 @@ be inserted before the suffix.
 )
 kindex(ambiguous, completion style)
 item(tt(ambiguous))(
-This is used with the tt(paths) tag by the function
-generating filenames as matches to find out if the cursor should be left
-after the first ambiguous pathname component even when menucompletion
-is used.
+This applies when completing non-final components of filename paths.
+If it is set, the cursor is left after the first ambiguous component, even
+if menucompletion is in use.  It is tested with the tt(paths) tag.
 )
 kindex(assign-list, completion style)
 item(tt(assign-list))(
 When completing after an equal sign, the completion system normally
-completes only one filename.  But when completing the value for some
-parameters or after other strings separated by an equal sign from a
-value, a colon-separated list of filenames is needed. This style
-can be set to a list of patterns matching the names of parameters for
-which such a colon-separated list of filenames should be completed.
+completes only one filename.  In some cases, particularly for certain
+parameters such as tt(PATH), a list of filenames separated by colons is
+required.  This style can be set to a list of patterns matching the names
+of such parameters.
 
 The default is to complete lists when the word on the line already
 contains a colon.
@@ -803,8 +800,8 @@ kindex(auto-description, completion style)
 item(tt(auto-description))(
 If set, this style's value will be used as the description for options which
 are not described by the completion functions, but that have exactly
-one argument. The sequence `tt(%d)' in the value will be replaced by
-the description for this argument. Depending on personal preferences,
+one argument.  The sequence `tt(%d)' in the value will be replaced by
+the description for this argument.  Depending on personal preferences,
 it may be useful to set this style to something like `tt(specify: %d)'. 
 Note that this may not work for some commands.
 )
@@ -818,27 +815,26 @@ further effect.
 )
 kindex(command, completion style)
 item(tt(command))(
-This style can be used to override the defaults in several completion
-functions for how commands are called to generate information about
-possible matches. The strings in the value are joined with spaces
-between them to build the command line to execute. If the value starts 
-with a hyphen the string built will be prepended to the default
-supplied by the completion function. This allows one to easily stick a 
-tt(builtin) or tt(command) in front of the default in case one has,
-for example, a shell function with the same name as the command
-called, but for completion purposes one needs to ensure that the real
-command is called.
-
-For example, the function generating process IDs as matches uses this
+In many places, completion functions need to call external commands to
+generate the list of completions.  This style can be used to override the
+command which is called in some such cases.  The elements of the value are
+joined with spaces to form a command line to execute.  The value can also
+start with a hyphen, in which case the usual command will be added to the
+end; this is most useful for putting `tt(builtin)' or `tt(command)' in
+front to make sure the appropriate version of a command is called, for
+example to avoid calling a shell function with the same name as an external
+command.
+
+As an example, the function generating process IDs as matches uses this
 style with the tt(processes) tag to generate the IDs to complete and when
 the tt(verbose) style is `true', it uses this style with the
-tt(processes-list) tag to generate the strings to display. When using
+tt(processes-list) tag to generate the strings to display.  When using
 different values for these two tags one should ensure that the process
 IDs appear in the same order in both lists.
 )
 kindex(completer, completion style)
 item(tt(completer))(
-The strings given as the value of this style give the names of the
+The strings given as the value of this style provide the names of the
 completer functions to use. The available completer functions are
 described in
 ifzman(the section `Control Functions' below)\
@@ -849,29 +845,29 @@ Each string may be the name of a completer function or a string of the
 form `var(function)tt(:)var(name)'. In the first case the
 var(completer) field of the context will contain the name of the
 completer without the leading underscore and with all other
-underscores replaced with hyphens. In the second case the
+underscores replaced by hyphens.  In the second case the
 var(function) is the name of the completer to call, but the context
 will contain the var(name) in the var(completer) field of the
-context. If the var(name) starts with a hyphen, the string for the
+context.  If the var(name) starts with a hyphen, the string for the
 context will be build from the name of the completer function as in
-the first case with the var(name) appended to it. For example: 
+the first case with the var(name) appended to it.  For example: 
 
 example(zstyle ':completion:*' completer _complete _complete:-foo)
 
 Here, completion will call the tt(_complete) completer twice, once
 using `tt(complete)' and once using `tt(complete-foo)' in the
-var(completer) field of the context. Normally, using the same
+var(completer) field of the context.  Normally, using the same
 completer more than once makes only sense when used with the
 `var(functions)tt(:)var(name)' form, because otherwise the context
-name will be the same in all calls to the completer (possible
+name will be the same in all calls to the completer; possible
 exceptions to this rule are the tt(_ignored) and tt(_prefix)
-completers).
+completers.
 
 Note that the widget functions from the distribution that call the
 completion code (namely, the tt(incremental-complete-word) and the
 tt(predict-on) widgets) set up their top-level context name before
-calling completion. This allows one to define different sets of
-completer functions for normal completion and for these widgets. For
+calling completion.  This allows one to define different sets of
+completer functions for normal completion and for these widgets.  For
 example, to use completion, approximation and correction for normal
 completion, completion and correction for incremental completion and
 only completion for prediction one could use:
@@ -901,9 +897,9 @@ item(tt(condition))(
 This style is used by the tt(_list) completer function.
 
 If it is not set or set to the empty string, the insertion of
-matches will be delayed unconditionally. If it is set, the value
+matches will be delayed unconditionally.  If it is set, the value
 should be an expression usable inside a `tt($((...)))'
-arithmetical expression. In this case, delaying will be done if the
+arithmetical expression.  In this case, delaying will be done if the
 expression evaluates to `tt(1)'. For example, with
 
 example(zstyle ':completion:*:list:::' condition '${NUMERIC:-1} != 1')
@@ -918,15 +914,15 @@ cursor after completion has been tried.  Values are:
 
 startitem()
 item(tt(complete))(
-The cursor is left at the place where completion left it, but only if
-it is after a character equal to the one just inserted by the user. If 
+The cursor is left where it was when completion finished, but only if
+it is after a character equal to the one just inserted by the user.  If 
 it is after another character, this value is the same as `tt(key)'.
 )
 item(tt(key))(
 The cursor is left
 after the var(n)th occurrence of the character just inserted, where
 var(n) is the number of times that character appeared in the word
-before completion was attempted. In short, this has the effect of
+before completion was attempted.  In short, this has the effect of
 leaving the cursor after the character just typed even if the
 completion code found out that no other characters need to be inserted 
 at that position.
@@ -940,23 +936,24 @@ kindex(disable-stat, completion style)
 item(tt(disable-stat))(
 This is used with an empty tag by the function completing for the
 tt(cvs) command to decide if the tt(zsh/stat) module should be used to
-generate only names of modified files in the appropriate places.
+generate names of modified files in the appropriate places (this is its
+only use).  If set, completion will use the tt(ls) command.
 )
 kindex(domains, completion style)
 item(tt(domains))(
 If set, gives the names of network domains that should be
-completed. If this is not set by the user domain names mentioned in
-tt(/etc/resolv.conf) will be used.
+completed.  If this is not set by the user domain names will be taken from
+the file tt(/etc/resolv.conf).
 )
 kindex(expand, completion style)
 item(tt(expand))(
 This style is used when completing strings consisting of multiple
-parts, such as path names. If its
+parts, such as path names.  If its
 value contains the string `tt(prefix)', the partially typed word from
 the line will be expanded as far as possible even if trailing parts
-can not be completed. If it contains the string `tt(suffix)'
+cannot be completed.  If it contains the string `tt(suffix)'
 and normal (non-menu-) completion is used, matching names for
-components after the first ambiguous one will be added, too. This
+components after the first ambiguous one will also be added.  This
 means that the resulting string is the longest unambiguous string
 possible, but if menucompletion is started on the list of matches
 generated this way (e.g. due to the option tt(AUTO_MENU) being set),
@@ -966,35 +963,35 @@ components after the first ambiguous one.
 kindex(file-patterns, completion style)
 item(tt(file-patterns))(
 In most places where filenames are completed, the function tt(_files)
-is used which can be configured with this style. If the style is
+is used which can be configured with this style.  If the style is
 unset, tt(_files) offers, one after another, up to three tags:
 `tt(globbed-files)',
 `tt(directories)' and `tt(all-files)', depending on the types of files
 expected by the caller of tt(_files).
 
 If the tt(file-patterns) style is set, the default tags are not
-used. Instead, the value of the style says which tags and which
-patterns are to be offered. The strings in the value contain
+used.  Instead, the value of the style says which tags and which
+patterns are to be offered.  The strings in the value contain
 specifications of the form
 `var(pattern)tt(:)var(tag)'; each string may contain any number of
-such specifications. The var(pattern) gives a glob 
+such specifications.  The var(pattern) gives a glob 
 pattern that is to be used to generate
-filenames. If it contains the sequence `tt(%p)', that is replaced by
+filenames.  If it contains the sequence `tt(%p)', that is replaced by
 the pattern(s) given by the calling function.
-Colons in the pattern have to be preceded by a backslash to
-make them distinguishable from the colon before the var(tag). If more
+Colons in the pattern must be preceded by a backslash to
+make them distinguishable from the colon before the var(tag).  If more
 than one pattern is needed, the patterns can be given inside braces,
-separated by commas. The
+separated by commas.  The
 var(tag)s of all strings in the value will be offered by tt(_files)
-(again, one after another) and used when looking up other styles. For
+(again, one after another) and used when looking up other styles.  For
 strings containing more than one specification, the filenames for all
-specifications will be generated at the same try. If
-no `tt(:)var(tag)' is given the `tt(files)' tag will be used. The
+specifications will be generated at the same try.  If
+no `tt(:)var(tag)' is given the `tt(files)' tag will be used.  The
 var(tag) may also be
-followed by an optional second colon and a description. If that is
+followed by an optional second colon and a description.  If that is
 given, this description will be used for the `tt(%d)' in the value of
 the tt(format) style (if that is set) instead of the default
-description supplied by the completion function. If the description
+description supplied by the completion function.  If the description
 given here contains itself a `tt(%d)', that is replaced with the
 description supplied by the completion function.
 
@@ -1007,9 +1004,9 @@ example(zstyle ':completion:*:*:rm:*' file-patterns \
 
 Another interesting example is to change the default behaviour that
 makes completion first offer files matching the patterns given by the
-calling function, then directories and then all files. Many people 
+calling function, then directories and then all files.  Many people 
 prefer to get both the files matching the given patterns and the
-directories in the first try and all files at the second try. To
+directories in the first try and all files at the second try.  To
 achieve this, one could do:
 
 example(zstyle ':completion:*' file-patterns \ 
@@ -1023,25 +1020,25 @@ kindex(file-sort, completion style)
 item(tt(file-sort))(
 The completion function that generates filenames as possible matches
 uses this style with the tt(files) tag to determine in which order the 
-names should be listed and completed when using menucompletion. The
+names should be listed and completed when using menucompletion.  The
 value may be one of `tt(size)' to sort them by the size of the file,
 `tt(links)' to sort them by the number of links to the file,
 `tt(modification)' (or `tt(time)' or `tt(date)') to sort them by the last
 modification time, `tt(access)' to sort them by the last access time, or
 `tt(inode)' (or `tt(change)') to sort them by the last inode change
-time. Any other value (or not setting this style at all) makes them be 
-sorted alphabetically by name. If the value contains the string
+time.  If the style is set to any other value, or is unset, files will be
+sorted alphabetically by name.  If the value contains the string
 `tt(reverse)', sorting is done in decreasing order.
 )
 kindex(force-list, completion style)
 item(tt(force-list))(
-If the completion code would show a list of completions at all, this
-style controls whether the list is shown even in cases when it would
-normally not do that. For example, normally the list is only shown if
-there are at least two different matches. By setting this style to
+This forces a list of completions to be shown at any point where listing is
+done, even in cases where the list would usually be suppressed.
+For example, normally the list is only shown if
+there are at least two different matches.  By setting this style to
 `tt(always)', the list will always be shown, even if there is only a
-single match which is immediately accepted. The style may also
-be set to a number. In this case the list will be shown if there are
+single match which is immediately accepted.  The style may also
+be set to a number.  In this case the list will be shown if there are
 at least that many matches, even if they would all insert the same
 string.
 
@@ -1052,33 +1049,33 @@ for certain types of matches.
 kindex(format, completion style)
 item(tt(format))(
 If this is set for the tt(descriptions) tag, its value is used as a
-string to display above matches in completion lists. The sequence
+string to display above matches in completion lists.  The sequence
 `tt(%d)' in this string will be replaced with a short description of
-what these matches are. This string may also contain the sequences to
+what these matches are.  This string may also contain the sequences to
 specify output attributes, such as `tt(%B)', `tt(%S)' and
 `tt(%{)...tt(%})'.
 
 For the same purpose, this style is also tested with the tags used
 when matches are generated before it is tested for the
-tt(descriptions) tag. This gives the possibility to define different
+tt(descriptions) tag.  This gives the possibility to define different
 format strings for different types of matches.
 
 Note also that some completer functions define additional
-`tt(%)'-sequences. These are described for the completer functions that 
+`tt(%)'-sequences.  These are described for the completer functions that 
 make use of them.
 
 For the tt(messages) tag, this defines a string used by some
-completion functions to display messages. Here, the `tt(%d)' is
+completion functions to display messages.  Here, the `tt(%d)' is
 replaced with the message given by the completion function.
 
-Finally, for the tt(warnings) tag, it is printed when no matches could 
-be generated at all. In this case the `tt(%d)' is replaced with the
-descriptions for the matches that were expected. If the value does not 
-contain a `tt(%d)', then those descriptions are added in the same way
-as matches are added, i.e. they appear below the value for the
-tt(format) style laid out in columns. The descriptions are added as if 
-for the tag tt(warnings) so that you can use the tt(list-colors) style 
-for that tag to highlight them.
+Finally, when set with the tt(warnings) tag, the format string is printed
+when no matches could be generated at all.  In this case the `tt(%d)' is
+replaced with the descriptions for the matches that were expected.  If the
+value does not contain a `tt(%d)', then those descriptions are added in the
+same way as matches are added, i.e. they appear below the value for the
+tt(format) style laid out in columns.  The descriptions are added as if for
+the tag tt(warnings) so that you can use the tt(list-colors) style for that
+tag to highlight them.
 
 The `tt(%)' for the sequences that are replaced by strings provided by 
 the completion functions like the `tt(%d)' may be followed by field
@@ -1101,11 +1098,11 @@ kindex(group-name, completion style)
 item(tt(group-name))(
 The completion system can put different types of matches in different
 groups which are then displayed separately in the list of possible
-completions. This style can be used to give the names for these groups
-for particular tags. For example, in command position the completion
+completions.  This style can be used to give the names for these groups
+for particular tags.  For example, in command position the completion
 system generates names of builtin and external commands, names of
 aliases, shell functions and parameters and reserved words as possible
-completions. To have the external commands and shell functions listed
+completions.  To have the external commands and shell functions listed
 separately, one can set:
 
 example(zstyle ':completion:*:*:-command-:*:commands' group-name commands
@@ -1129,7 +1126,7 @@ item(tt(group-order))(
 This style is to be used together with the tt(group-name) style. Once
 different types of matches are put into different groups, this style
 can be used to define in which order these groups should appear in the 
-list. The strings in the value are taken as group names and the named
+list.  The strings in the value are taken as group names and the named
 groups will be shown in the order in which their names appear in the
 value. All groups whose names are not given in the value of this style 
 will appear in the order defined by the function generating the
@@ -1153,12 +1150,12 @@ item(tt(hidden))(
 If this is set to one of the `true' values, the matches for the tags
 for which this is set will not appear in the list; only the
 description for the matches as set with the tt(format) style will be
-shown. If this is set to `tt(all)', not even the description will be
+shown.  If this is set to `tt(all)', not even the description will be
 displayed.
 
-Note that the matches will still be completed, they are just not shown 
-in the list. To avoid having matches considered as possible
-completions at all the tt(tag-order) style can be modified as described
+Note that the matches will still be completed; they are just not shown 
+in the list.  To avoid having matches considered as possible
+completions at all, the tt(tag-order) style can be modified as described
 below.
 )
 kindex(hosts, completion style)
@@ -1169,20 +1166,20 @@ is not set by the user the hostnames in `tt(/etc/hosts)' will be used.
 kindex(hosts-ports, completion style)
 item(tt(hosts-ports))(
 This style is used by commands that need or accept hostnames and
-ports. The strings in the value should be of the form
-`var(host)tt(:)var(port)'. These hostnames and ports are completed
+ports.  The strings in the value should be of the form
+`var(host)tt(:)var(port)'.  These hostnames and ports are completed
 depending on the information already on the line, so that if, for
-example, the hostname is already typed, only those ports will be
-completed for which pairs with the hostname from the line exist.
+example, the hostname is already typed, only those ports specified for that
+host will be completed.  Multiple ports for the same host may appear.
 )
 kindex(ignore-line, completion style)
 item(tt(ignore-line))(
-This style is tested for the tags used when generating matches. If it
+This style is tested for the tags used when generating matches.  If it
 is set to `true', then none of the words that are already on the line
 will be considered possible completions.
 
 Note that you almost certainly don't want to set this for a general
-context such as `tt(:completion:*)'. This is because it would disallow
+context such as `tt(:completion:*)'.  This is because it would disallow
 completion of, for example, options multiple times even if the command
 in question accepts the option more than once.
 )
@@ -1226,10 +1223,11 @@ it is possible to complete these directories nonetheless.
 )
 kindex(ignored-patterns, completion style)
 item(tt(ignored-patterns))(
-This style is used with the tags for adding matches and defines a couple
-of patterns. All matches that are also matched by any of these patterns
-are ignored (not offered as completions) until the tt(_ignored) completer
-is tried (see the tt(completer) style).  This is a more configurable
+This style can be used to specify a list of patterns which are tested
+against against the trial completions in a given context; any matching
+completions will be removed from the list of possibilities.  The
+tt(_ignored) completer can appear in the list of completers to produce a
+list which includes these matches once more.  This is a more configurable
 version of the shell parameter tt($fignore).
 
 Note that during the execution of completion functions, the