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

Re: Two bugs



>% Src/zsh -f
>bolyai% bindkey '^j' self-insert
>bolyai%
>
>Now press ^J twice type anything and press ^J again.  The first character you
>typed will disappear from the screen.  If there are more lines the first
>character after each blank lines will disappear.  It is very bad in zed.

Actually, the symtom, more precisely, is that the last line preceded by
a blank line gets as its first character the first character on the
last line, and the first character of every other line preceded by a
blank line disappears.  I'm 99% certain that this is related to
am_char, as the characters that disappear are the ones that are output
by the code that outputs am_char.  (Change it to output, say, 'X'
instead of am_char, and you'll see what I mean.)

>This appeared between beta11 and beta13 (I did not even compile beta12 since I
>was too busy).

beta12 doesn't do it, so I'd say it's most likely the new refresh code
that changes closely related code to this.

Actually, I find that the recent refresh changes, outputting spaces to
the end of lines instead of merely moving onto the next line, results
in an unacceptable performance penalty.  I'm working at 19200 baud
here, and multi-line command editing is now painfully slow.  Would it
work to merely clear with spaces the *first* time a line needs it, and
go back to the old behaviour thereafter?  If not, can we please either
revert the changes or make them optional?  (setopt CORRECT_CUT_N_PASTE
to get the new behaviour.)  I'm willing to write the necessary code to
do this, provided it will be integrated into the baseline.

>% Src/zsh -f
>bolyai% setopt autolist listambiguous 
>bolyai% compctl -U -s 'fo1 fo2 fo3' foo
>bolyai% foo fo<TAB>
>
>This tab does not show the list of available completions but ^D still works
>for that.

This is a philosophical bug.  The -U is the culprit here; it
effectively causes the word to be deleted on the line and completion
started as if the word were empty.  This means that if your completion
options don't show a list immediately (which requires AUTO_LIST on and
LIST_AMBIGUOUS off) then you won't see one.  Similarly, unless you use
MENU_COMPLETE you won't get a full completion.  AUTO_MENU won't start
menu completion immediately.  I think this basically shows that -U is
mostly useless when it isn't used with -K.  This situation needs
improvement, and I've got some ideas about what to do to programmable
completion, but there's nothing that can be done, really, before the
3.0 release.

-zefram



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