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

Re: [BUG] complist interactive mode overwrites command line



On 04/03/2024 07:33, Bart Schaefer wrote:
% ls Src/utom4te.cache config S
Scripts/       Src/           StartupFiles/

This occurred after using right-arrow to select Src from the menu.
% ls <TAB>
Then use interactive completion to fill in
% ls autom4te.cache config
Then add S and press TAB:
% ls autom4te.cache config S<TAB>
Then right arrow from Script to Src and end up with the mess above.

Settings:
   bindkey ^I menu-select
   MENUMODE=interactive

Dammit, I wasn't aware of the 2023 follow-up thread you linked in the previous mail...

I'll look into it and on the the issue you just mentionned.

However, is it not another bug that the one that concerned me in the first place?
(Not that I wouldn't want to spend time on this one too :p)


So, trying your test case on the clean Arch repo's zsh package,
I noticed that if you don't press <TAB> on step 3., pressing the arrow will give you this:
% ls Src/

Is it really the expected behavior? Would it not be better if it left you with:
% ls autom4te.cache config Src/
?

I'm asking since without thinking or looking much into it, I can think of two possible solutions.


Also, back at my initial issue and my patch, I noticed I made an assumption that might be wrong about the expected behavior:

Marlon's test case from the 2021 thread was:

% touch test{1,2}
% : ; foobar
     ^ 1. Type the above line in its entirety.
       2. Place the cursor before the ;
       3. Press Tab.
       4. Press Enter.
% : test1 bar
     ^ Completion is written over existing buffer contents.

with my patch, he would end up with
% : test1 foobar

In that case, should the ';' still be present?
ie. % : test1; foobar





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