Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Widget oddity with accept-line



I just noticed the following, by accident:

function fiddle() {
   zle accept-line
   BUFFER='echo Can you see this\?'
}
bindey ^X^J fiddle

zsh% echo Now you see me ...<C-x C-j>
Can you see this?
zsh% 

This results because accept-line is implemented simply by setting a flag.
You can go on doing anything you like after accept-line; the only thing
you can't do (except by send-break) is prevent the final value of $BUFFER
from being executed.

Also, accept-and-hold is the same as `print -z "$BUFFER"; zle accept-line'
so one can do strange things like

faddle() {
   zle accept-and-hold
   zle send-break
}

which amounts to being an expensive way to ring the bell, reprint the line,
and move the cursor to the end.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   



Messages sorted by: Reverse Date, Date, Thread, Author