aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-04-25 15:43:41 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-04-25 15:43:41 +0000
commit206237c8ec4b7619d9e70a75004cd1ae1066b0a0 (patch)
treeff703cbc295605f90755edb68672ed2de11f4a81
parent8ceb54fbc2f879e0e80f58c18761bd54db07e5f7 (diff)
downloadzsh-206237c8ec4b7619d9e70a75004cd1ae1066b0a0.tar.gz
zsh-206237c8ec4b7619d9e70a75004cd1ae1066b0a0.tar.xz
zsh-206237c8ec4b7619d9e70a75004cd1ae1066b0a0.zip
-rw-r--r--Completion/Core/_path_files18
-rw-r--r--Completion/Core/compdump2
-rw-r--r--Completion/Core/compinit42
-rw-r--r--Completion/User/_find4
-rw-r--r--Completion/User/_make2
-rw-r--r--Config/version.mk4
-rw-r--r--Doc/Makefile.in6
-rw-r--r--Doc/Zsh/compsys.yo10
-rw-r--r--Doc/Zsh/compwid.yo587
-rw-r--r--Doc/Zsh/guide.yo1
-rw-r--r--Doc/Zsh/mod_zftp.yo7
-rw-r--r--Doc/Zsh/zftpsys.yo435
-rw-r--r--Doc/zsh.yo2
-rw-r--r--Doc/zshzftpsys.yo0
-rw-r--r--Etc/FAQ.yo92
-rw-r--r--Functions/Zftp/README4
-rw-r--r--Functions/Zftp/zfanon70
-rw-r--r--Functions/Zftp/zfautocheck33
-rw-r--r--Functions/Zftp/zfcd52
-rw-r--r--Functions/Zftp/zfcd_match42
-rw-r--r--Functions/Zftp/zfcget87
-rw-r--r--Functions/Zftp/zfclose3
-rw-r--r--Functions/Zftp/zfcput76
-rw-r--r--Functions/Zftp/zfdir99
-rw-r--r--Functions/Zftp/zfgcp83
-rw-r--r--Functions/Zftp/zfget64
-rw-r--r--Functions/Zftp/zfget_match27
-rw-r--r--Functions/Zftp/zfhere5
-rw-r--r--Functions/Zftp/zfinit28
-rw-r--r--Functions/Zftp/zfls13
-rw-r--r--Functions/Zftp/zfopen42
-rw-r--r--Functions/Zftp/zfparams12
-rw-r--r--Functions/Zftp/zfpcp47
-rw-r--r--Functions/Zftp/zfput23
-rw-r--r--Functions/Zftp/zfrglob70
-rw-r--r--Functions/Zftp/zfrtime45
-rw-r--r--Functions/Zftp/zfstat89
-rw-r--r--Functions/Zftp/zftp_chpwd39
-rw-r--r--Functions/Zftp/zftp_progress18
-rw-r--r--Functions/Zftp/zftype30
-rw-r--r--Functions/Zftp/zfuget147
-rw-r--r--Functions/Zftp/zfuput115
-rwxr-xr-xMisc/globtests1
-rwxr-xr-xMisc/globtests.ksh1
-rw-r--r--Src/Zle/zle_main.c7
-rw-r--r--Src/Zle/zle_refresh.c4
-rw-r--r--Src/Zle/zle_tricky.c24
-rw-r--r--Src/glob.c64
-rw-r--r--Src/init.c1
-rw-r--r--Src/mkbltnmlst.sh2
-rw-r--r--Src/module.c34
-rw-r--r--patchlist.txt34
52 files changed, 2339 insertions, 408 deletions
diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files
index 21837ade2..ed799be84 100644
--- a/Completion/Core/_path_files
+++ b/Completion/Core/_path_files
@@ -153,7 +153,7 @@ if [[ "$pre[1]" = \~ ]]; then
# prefix path by setting `prepaths'.
linepath="${pre%%/*}/"
- eval realpath\=$linepath
+ realpath=$~linepath
[[ "$realpath" = "$linepath" ]] && return 1
pre="${pre#*/}"
orig="${orig#*/}"
@@ -236,8 +236,14 @@ for prepath in "$prepaths[@]"; do
# the outer loop.
if [[ $#tmp2 -eq 0 ]]; then
- [[ "$tmp1[1]" = */* ]] &&
- exppaths=( "$exppaths[@]" ${^tmp1%/*}/${tpre}${tsuf} )
+ if [[ "$tmp1[1]" = */* ]]; then
+ tmp2=( "${(@)tmp1#${prepath}${realpath}}" )
+ if [[ "$tmp2[1]" = */* ]]; then
+ exppaths=( "$exppaths[@]" ${^tmp2%/*}/${tpre}${tsuf} )
+ else
+ exppaths=( "$exppaths[@]" ${tpre}${tsuf} )
+ fi
+ fi
continue 2
fi
@@ -249,8 +255,6 @@ for prepath in "$prepaths[@]"; do
tmp1=( "${(@M)tmp1:#(${(j:|:)~${(@)tmp2:q}})}" )
fi
elif (( ! $#tmp1 )); then
- [[ "$tmp1[1]" = */* ]] &&
- exppaths=( "$exppaths[@]" ${^tmp1%/*}/${tpre}${tsuf} )
continue 2
fi
@@ -375,8 +379,8 @@ exppaths=( "${(@)exppaths:#$orig}" )
if [[ -n "$compconfig[path_expand]" &&
$#exppaths -ne 0 && nm -eq compstate[nmatches] ]]; then
- compadd -U -S '' "$group[@]" "$expl[@]" -i "$IPREFIX" -I "$ISUFFIX" - \
- "${(@)exppaths}"
+ compadd -U -S '' "$group[@]" "$expl[@]" -i "$IPREFIX" -I "$ISUFFIX" \
+ -p "$linepath" - "${(@)exppaths}"
fi
[[ nm -eq compstate[nmatches] ]]
diff --git a/Completion/Core/compdump b/Completion/Core/compdump
index 6a46f3265..8288ccdd4 100644
--- a/Completion/Core/compdump
+++ b/Completion/Core/compdump
@@ -18,7 +18,7 @@
_d_file=${compconfig[dumpfile]-${0:h}/compinit.dump}
typeset -U _d_files
-_d_files=( ${^~fpath}/_*~*~(N:t) )
+_d_files=( ${^~fpath}/_(|*[^~])(N:t) )
print "#files: $#_d_files" > $_d_file
diff --git a/Completion/Core/compinit b/Completion/Core/compinit
index 20b1262ec..72d5fde28 100644
--- a/Completion/Core/compinit
+++ b/Completion/Core/compinit
@@ -217,15 +217,30 @@ compdef() {
# With the option `-l' as the first argument, the other arguments are
# taken to be key names and the values for theses keys are printed, one
# per line.
+# When listing is done and the `-L' option is given, the keys and
+# values are printed as invocations for this function, usable to be put
+# inte a setup script.
compconf() {
- local i
+ local i opt list
+
+ while getopts "lL" opt; do
+ if [[ "$opt" = l ]]; then
+ [[ -z "$list" ]] && list=yes
+ else
+ list=long
+ fi
+ done
+ shift OPTIND-1
if (( $# )); then
- if [[ "$1" = -l ]]; then
- shift
+ if [[ -n $list ]]; then
for i; do
- print $compconfig[$i]
+ if [[ $list = long ]]; then
+ (( ${+compconfig[$i]} )) && print "compconf $i='$compconfig[$i]'"
+ else
+ print $compconfig[$i]
+ fi
done
else
for i; do
@@ -238,20 +253,19 @@ compconf() {
fi
else
for i in ${(k)compconfig}; do
- print ${(r:25:)i} $compconfig[$i]
+ if [[ $list = long ]]; then
+ print "compconf $i='$compconfig[$i]'"
+ else
+ print ${(r:25:)i} $compconfig[$i]
+ fi
done
fi
}
# Now we automatically make the definition files autoloaded.
-if [[ ! -o extendedglob ]]; then
- _i_noextglob=yes
- setopt extendedglob
-fi
-
typeset -U _i_files
-_i_files=( ${^~fpath}/_*~*~(N:t) )
+_i_files=( ${^~fpath}/_(|*[^~])(N:t) )
_i_initname=$0
_i_done=''
@@ -268,7 +282,7 @@ fi
if [[ -z "$_i_done" ]]; then
for _i_dir in $fpath; do
[[ $_i_dir = . ]] && continue
- for _i_file in $_i_dir/_*~*~(N); do
+ for _i_file in $_i_dir/_(|*[^~])(N); do
read -rA _i_line < $_i_file
_i_tag=$_i_line[1]
shift _i_line
@@ -306,6 +320,4 @@ if [[ -z "$_i_done" ]]; then
(( _i_autodump )) && builtin . ${_i_initname:h}/compdump
fi
-[[ -z "$_i_noextglob" ]] || unsetopt extendedglob
-
-unset _i_files _i_initname _i_done _i_autodump _i_noextglob
+unset _i_files _i_initname _i_done _i_autodump
diff --git a/Completion/User/_find b/Completion/User/_find
index 116ee6f6b..dd00b0ed1 100644
--- a/Completion/User/_find
+++ b/Completion/User/_find
@@ -2,7 +2,7 @@
local prev="$words[CURRENT-1]"
-if compset -N '-(ok|exec)' '\;' then
+if compset -N '-(ok|exec)' '\;'; then
_normal
elif compset -P 1 -; then
compgen -s 'daystart {max,min,}depth follow noleaf version xdev \
@@ -13,7 +13,7 @@ elif [[ CURRENT -eq 2 ]]; then
local ret=1
compgen -g '. ..' && ret=0
- _files -g '(-/)' && ret=0
+ _files -g '*(-/)' && ret=0
return ret
elif [[ "$prev" = -((a|c|)newer|fprint(|0|f)) ]]; then
diff --git a/Completion/User/_make b/Completion/User/_make
index f950ad754..acaa56b8e 100644
--- a/Completion/User/_make
+++ b/Completion/User/_make
@@ -1,3 +1,3 @@
#compdef make gmake pmake
-compgen -s "\$(awk '/^[a-zA-Z0-9][^\/ ]+:/ {print \$1}' FS=: [mM]akefile)"
+compgen -s "\$(awk '/^[a-zA-Z0-9][^\/ ]+:/ {print \$1}' FS=: [mM]akefile /dev/null)"
diff --git a/Config/version.mk b/Config/version.mk
index 6bf4d3e9b..a5a52f6c1 100644
--- a/Config/version.mk
+++ b/Config/version.mk
@@ -27,5 +27,5 @@
# This must also serve as a shell script, so do not add spaces around the
# `=' signs.
-VERSION=3.1.5-pws-15
-VERSION_DATE='April 13, 1999'
+VERSION=3.1.5-pws-16
+VERSION_DATE='April 25, 1999'
diff --git a/Doc/Makefile.in b/Doc/Makefile.in
index df16ef19a..7d4d4745c 100644
--- a/Doc/Makefile.in
+++ b/Doc/Makefile.in
@@ -40,7 +40,7 @@ TEXI2HTML = texi2html -expandinfo -split_chapter
# man pages to install
MAN = zsh.1 zshbuiltins.1 zshcompctl.1 zshcompwid.1 zshcompsys.1 \
zshexpn.1 zshmisc.1 zshmodules.1 \
-zshoptions.1 zshparam.1 zshzle.1 zshall.1
+zshoptions.1 zshparam.1 zshzftpsys.1 zshzle.1 zshall.1
# yodl documentation
YODLDOC = $(MAN) zsh.texi
@@ -53,7 +53,7 @@ Zsh/mod_clone.yo Zsh/mod_comp1.yo Zsh/mod_compctl.yo Zsh/mod_deltochar.yo \
Zsh/mod_example.yo Zsh/mod_files.yo Zsh/mod_stat.yo \
Zsh/mod_zle.yo Zsh/options.yo \
Zsh/params.yo Zsh/prompt.yo Zsh/redirect.yo Zsh/restricted.yo \
-Zsh/seealso.yo Zsh/zle.yo
+Zsh/seealso.yo Zsh/zftpsys.yo Zsh/zle.yo
# ========== DEPENDENCIES FOR BUILDING ==========
@@ -132,6 +132,8 @@ zshoptions.1: Zsh/options.yo
zshparam.1: Zsh/params.yo
+zshzftpsys.1: Zsh/zftpsys.yo
+
zshzle.1: Zsh/zle.yo
version.yo: $(sdir_top)/Config/version.mk
diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo
index 632cb3195..159f944c3 100644
--- a/Doc/Zsh/compsys.yo
+++ b/Doc/Zsh/compsys.yo
@@ -1,4 +1,4 @@
-texinode(Completion System)()(Zsh Modules)(Top)
+texinode(Completion System)(Zftp Function System)(Zsh Modules)(Top)
chapter(Completion System)
cindex(completion, system)
cindex(completion, programmable)
@@ -165,8 +165,8 @@ var(function) autoloadable (exactly equivalent to
tt(autoload )var(function)).
)
xitem(tt(compconf) var(definitions...))
-xitem(tt(compconf))
-item(tt(compconf) [ tt(-l) ] var(keys...))(
+xitem(tt(compconf) [ tt(-L) ] )
+item(tt(compconf) [ tt(-l) ] [ tt(-L) ] var(keys...))(
Several aspects of the completion system can be configured by the
user. The configuration values are stored under the keys described
below in the associative array `tt(compconfig)'. After sourcing
@@ -183,7 +183,9 @@ you should not set all values at once by doing `tt(compconfig=(...))'.
In the second form (without arguments), this function lists all keys
and their values. If given the tt(-l) option as its first argument, as
in the last form, the other arguments are taken as names of keys and
-the values of these keys are printed one per line.
+the values of these keys are printed one per line. In either case, if the
+tt(-L) option is given, the keys and values are printed as calls to this
+function, usable to be put in a setup script.
)
enditem()
diff --git a/Doc/Zsh/compwid.yo b/Doc/Zsh/compwid.yo
index 0a626f4e1..34f1140b9 100644
--- a/Doc/Zsh/compwid.yo
+++ b/Doc/Zsh/compwid.yo
@@ -4,27 +4,27 @@ cindex(completion, widgets)
cindex(completion, programmable)
cindex(completion, controlling)
sect(Description)
-Completion widgets are defined using the tt(-C) option to the tt(zle)
+Completion widgets are defined by the tt(-C) option to the tt(zle)
builtin command provided by the tt(zle) module (see
ifzman(zmanref(zshzle))\
ifnzman(noderef(The zle Module))\
-). For example, the invocation:
+). For example,
-indent(nofill(
-tt(zle -C complete expand-or-complete completer)))
+indent(
+nofill(tt(zle -C complete expand-or-complete completer))
+)
-defines a widget named tt(complete). If this widget is bound to a key
+defines a widget named tt(complete). When this widget is bound to a key
using the tt(bindkey) builtin command defined in the tt(zle) module
(see
ifzman(zmanref(zshzle))\
ifnzman(noderef(Zsh Line Editor))\
-) typing that key will make the completion code call the shell
-function tt(completer). This function is responsible for generating
-the possible matches using the builtins described below. Once the
-function returns, the completion code takes over control again and
-treats the matches the way the builtin widget tt(expand-or-complete)
-would do it. For this second argument, the name of any of the builtin
-widgets that handle completions can be given, i.e. it may be any of
+), typing that key will call the shell function tt(completer). This
+function is responsible for generating the possible matches using the
+builtins described below. Once the function returns, the completion code
+takes over control again and treats the matches as the builtin widget
+tt(expand-or-complete) would do. For this second argument, the name of any
+of the builtin widgets that handle completions can be given:
tt(complete-word), tt(expand-or-complete),
tt(expand-or-complete-prefix), tt(menu-complete),
tt(menu-expand-or-complete), tt(reverse-menu-complete),
@@ -40,94 +40,103 @@ endmenu()
texinode(Special Parameters)(Builtin Commands)()(Completion Widgets)
sect(Special Parameters)
-Inside completion widgets some parameters have special meaning. They
-will be used inside the widget function and other shell functions
-called from it. Outside of these function they are not special to the
-shell in any way.
-
-The parameters are used to give information about the internal state
-from the completion code to the completion widget and can be set to
-give information to the completion code from the completion
-widget. Some of the builtin commands and the condition codes use or
-change the current values of these parameters. While the completion
-widget is active, these parameters are reset on each function exit to
-the values they had when the function was entered.
+Inside completion widgets, and any functions called from those, some
+parameters have special meaning; outside these function they are not
+special to the shell in any way. These parameters are used to pass
+information between the completion code and the completion widget. Some of
+the builtin commands and the condition codes use or change the current
+values of these parameters. Any existing values will be hidden during
+execution of completion widgets; except for tt(compstate), the parameters
+are reset on each function exit (including nested function calls from
+within the completion widget) to the values they had when the function was
+entered.
startitem()
item(tt(words))(
-This array contains the words from the line.
+This array contains the words present on the command line currently being
+edited.
)
item(tt(CURRENT))(
This is the number of the current word, i.e. the word the cursor is
-currently on in the tt(words) array. Note that this value is only
-correct, if the tt(ksharrays) options is not set.
+currently on in the tt(words) array. Note that this value is only
+correct if the tt(ksharrays) options is not set.
)
item(tt(PREFIX))(
-This should be set to that part of the current word that should be
-taken as the string every possible match has to begin with. Initially
-this will be set to the part of the current word from the beginning of
-the word up to the position of the cursor. When
+Initially this will be set to the part of the current word from the
+beginning of the word up to the position of the cursor; it may be altered
+to give a common prefix for all matches.
)
item(tt(IPREFIX))(
-When a part of the current word should not be considered part of the
-matches, this part should be taken from the tt(PREFIX) parameter and
-appended to this parameter. This will initially be set to the empty
-string when called from the completion code.
+Initially this will be set to the empty string. It functions like
+tt(PREFIX), and gives a string which precedes the one in tt(PREFIX) and is
+not considered part of the list of matches. Typically, a string is
+transferred from the beginning of tt(PREFIX) to the end of tt(IPREFIX), for
+example:
+
+tt(indent(
+nofill(IPREFIX=${PREFIX%%\=*}=)
+nofill(PREFIX=${PREFIX#*=})
+))
+
+causes the part of the prefix up to and including the first equal sign not
+to be treated as part of a matched string.
)
item(tt(SUFFIX))(
-This should be set to that part of the current word that should be
-taken as the string every possible match has to end with. The
-completion code sets this to the part of the current word from the
-cursor position to the end.
+Initially this will be set to the part of the current word from the
+cursor position to the end; it may be altered to give a common suffix for
+all matches. It is most useful when the option tt(COMPLETE_IN_WORD) is
+set, as otherwise the whole word on the command line is treated as a
+prefix.
)
item(tt(ISUFFIX))(
-Like tt(IPREFIX), but for a suffix that should not be considered part
-of the matches.
+As tt(IPREFIX), but for a suffix that should not be considered part
+of the matches; note that the tt(ISUFFIX) string follows the tt(SUFFIX)
+string.
)
item(tt(compstate))(
-This is an associative array with various keys and values the
-completion uses to give informtaion to the completion widget and to
-get information regarding the further processing from it. The keys
-are:
+This is an associative array with various keys and values that the
+completion code uses to exchange information with the completion widget.
+The keys are:
startitem()
item(tt(context))(
This will be set by the completion code to the overall context
-completion is attempted in. Possible values are:
+in which completion is attempted. Possible values are:
startitem()
item(tt(command))(
-when completing for a normal command (in a command position or for an
-argument)
+when completing for a normal command (either in a command position or for
+an argument of the command).
)
item(tt(redirect))(
-when completing after a redirection operator
+when completing after a redirection operator.
)
item(tt(condition))(
-when completing inside a `tt([[)...tt(]])' conditional expressing; in
+when completing inside a `tt([[)...tt(]])' conditional expression; in
this case the tt(words) array contains the words inside the
-conditional expression
+conditional expression.
)
item(tt(math))(
when completing in a mathematical environment such as a
-`tt(LPAR()LPAR())...tt(RPAR()RPAR())' construct
+`tt(LPAR()LPAR())...tt(RPAR()RPAR())' construct.
)
item(tt(value))(
-when completing the value of a parameter assignment
+when completing the value of a parameter assignment.
)
item(tt(array_value))(
when completing inside the value of an array parameter assignment; in
-this case the tt(words) array contains the words inside the parentheses
+this case the tt(words) array contains the words inside the parentheses.
)
item(tt(subscript))(
-when completing inside a parameter subscript
+when completing inside a parameter subscript.
)
item(tt(parameter))(
-when the name of a parameter in a parameter expansion
+when completing the name of a parameter in a parameter expansion beginning
+with tt($) but not tt(${).
)
item(tt(brace_parameter))(
-when the name of a parameter in a parameter expansion that started
-with tt(${)
+when completing the name of a parameter in a parameter expansion beginning
+with tt(${).
)
enditem()
)
@@ -136,154 +145,147 @@ The name of the parameter when completing in a subscript or in the
value of a parameter assignment.
)
item(tt(redirect))(
-The redirection operator when completing in a redirection position.
+The redirection operator when completing in a redirection position,
+i.e. one of tt(<), tt(>), etc.
)
item(tt(quoting))(
-If completion is done inside single quotes, this is set to the string
-tt(single). When completing inside double quotes this is set to
-tt(double). When completing inside backticks it is set to tt(backtick).
+When completing inside single quotes, this is set to the string
+tt(single); inside double quotes, the string
+tt(double); inside backticks, the string tt(backtick).
Otherwise it is unset.
)
item(tt(quote))(
When completing inside quotes, this contains the quotation character
-(i.e. either a single quote, a double quote, or a backtick).
+(i.e. either a single quote, a double quote, or a backtick). Otherwise it
+is unset.
)
item(tt(nmatches))(
-This is always set to the number of matches generated and accepted by
-the completion code so far.
+The number of matches generated and accepted by the completion code so far.
)
item(tt(matcher))(
-When completion is used with a global match specification (i.e. a
-tt(compctl) with only a tt(-M) option), this contains the
-number of the specification string which is currently used.
+When completion is performed with a global match specification as defined
+by
+
+indent(
+nofill(tt(compctl -M) var(spec1 ... specN ...))
+)
+
+this gives the number of the specification string currently in use.
+In this case, matching is performed with each specification in turn.
)
item(tt(matcher_string))(
-This is set to the global match specification string currently used.
+The global match specification string var(specN) currently used.
)
item(tt(total_matchers))(
The total number of global match specifications.
)
item(tt(restore))(
-This is set to tt(auto) before a function is entered. If a function
-unsets it or sets it to any other string, the special parameters
-mentioned above (tt(words), tt(CURRENT), tt(PREFIX), tt(IPREFIX), and
-tt(SUFFIX)) will not be restored to their previous values when the
-function exits as is normally done.
+This is set to tt(auto) before a function is entered, which forces the
+special parameters mentioned above (tt(words), tt(CURRENT), tt(PREFIX),
+tt(IPREFIX), tt(SUFFIX), and tt(ISUFFIX)) to be restored to their
+previous values when the function exits. If a function unsets it or
+sets it to any other string, they will not be restored.
)
item(tt(list))(
-On entry to the completion widget this will be unset, if the set of
-matches generated will not be listed. It is set to tt(list),
-tt(autolist), or tt(ambiguous) if the matches will always be listed,
-if they will be listed due to tt(AUTO_LIST) being set, or if they will
-be listed if there is no unambiguous string to insert and
-tt(LIST_AMBIGUOUS) is set, respectively. Inside the completion widget
-it may be set to any of these values to make the completion code as if
-the appropriate options had been set.
+This controls whether or how the list of matches will be displayed. If it
+is unset or empty they will never be listed; if is set to tt(list), they
+will always be listed; if tt(autolist) or tt(ambiguous), they will be
+listed when the tt(AUTO_LIST) or tt(LIST_AMBIGUOUS) options respectively
+would normally cause them to be. It will be set appropriately on entry to
+a completion widget and may be changed there.
)
item(tt(force_list))(
If the value for the tt(list) key is tt(ambiguous), the list will
normally be shown only if there are at least two matches in the
-list. Setting tt(force_list) to an non-empty string makes the list be
+list. Setting tt(force_list) to an non-empty string forces the list to be
shown even if there is only one match.
)
item(tt(list_max))(
Initially this is set to the value of the tt(LISTMAX) parameter.
-Completion widgets may set it to any other numeric value and the value
-stored at when the widget finishes will be used in the same way the
-value of tt(LISTMAX) is used.
+It may be set to any other numeric value; when the widget exits this value
+will be used in the same way as the value of tt(LISTMAX).
)
item(tt(last_prompt))(
If this is set to an non-empty string, the completion code will move
the cursor back to the previous prompt after the list of completions
-has been displayed. Initially this is set depending on the setting of
+has been displayed. Initially this is set or unset according to
the tt(ALWAYS_LAST_PROMPT) option.
)
item(tt(insert))(
-This will be unset by the completon code if the contents of the
-command line will not be changed. It is set to tt(unambiguous),
-tt(menu), or tt(automenu) if a common unambiguous string will be
-inserted or if the first match will be inserted and menu completion
-will be started (due to tt(MENU_COMPLETE) or tt(AUTO_MENU) being set),
-respectively.
-
-On exit it may be set to any of the values above with the obvious
-result or to a number or a string of the form
-`var(group):var(match)'. If it is set to a number the match whose
-number is given will be inserted in the