diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Doc/Zsh/contrib.yo | 14 | ||||
-rw-r--r-- | Functions/Zle/read-from-minibuffer | 4 |
3 files changed, 19 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index c83b389e0..e12eb3b46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,12 @@ prompt variable is always reread; fixes bug that if PS1 was altered the prompt string was invalid. +2004-07-10 Bart Schaefer <schaefer@zsh.org> + + * 20145: Doc/Zsh/contrib.yo, Functions/Zle/read-from-minibuffer: + second and third arguments of read-from-minibuffer now specify the + initial values of LBUFFER and RBUFFER. + 2004-07-07 Peter Stephenson <pws@csr.com> * 20142: Test/A06assign.ztst: add test for bug fixed in diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo index 5ab627352..17a0e0792 100644 --- a/Doc/Zsh/contrib.yo +++ b/Doc/Zsh/contrib.yo @@ -742,12 +742,20 @@ when executing, for example, tt(execute-named-cmd)). The value is then returned to the calling function in the parameter tt($REPLY) and the editing buffer restored to its previous state. If the read was aborted by a keyboard break (typically tt(^G)), the function returns status 1 -and tt($REPLY) is not set. If an argument is supplied to the function -it is taken as a prompt, otherwise `tt(? )' is used. +and tt($REPLY) is not set. + +If one argument is supplied to the function it is taken as a prompt, +otherwise `tt(? )' is used. If two arguments are supplied, they are the +prompt and the initial value of tt($LBUFFER), and if a third argument is +given it is the initial value of tt($RBUFFER). This provides a default +value and starting cursor placement. Upon return the entire buffer is the +value of tt($REPLY). One option is available: `tt(-k) var(num)' specifies that var(num) characters are to be read instead of a whole line. The line editor is not -invoked recursively in this case. Note that unlike the tt(read) builtin +invoked recursively in this case, so depending on the terminal settings +the input may not be visible, and only the input keys are placed in +tt($REPLY), not the entire buffer. Note that unlike the tt(read) builtin var(num) must be given; there is no default. The name is a slight misnomer, as in fact the shell's own minibuffer is diff --git a/Functions/Zle/read-from-minibuffer b/Functions/Zle/read-from-minibuffer index 6af7f2a39..c3848ae9f 100644 --- a/Functions/Zle/read-from-minibuffer +++ b/Functions/Zle/read-from-minibuffer @@ -20,8 +20,8 @@ done local savelbuffer=$LBUFFER saverbuffer=$RBUFFER local savepredisplay=$PREDISPLAY savepostdisplay=$POSTDISPLAY -LBUFFER= -RBUFFER= +LBUFFER="$2" +RBUFFER="$3" PREDISPLAY="$PREDISPLAY$savelbuffer$saverbuffer$POSTDISPLAY ${1:-? }" POSTDISPLAY= |