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

RE: PATCH: was RE: PATCH: old lists compstate



Andrej Borsenkow wrote:

> > > I just tested (_complete:_match), and am still confused :-)
>                    ^^^^^^^^^^^^^^^^^
> I do *not* use _menu in this case

Sorry, your speaking about `_menu' confused me...

You wrote:

> with automenu without autolist, listambiguous
>  - menu is started at the second TAB. List is never shown. Cursor moves to
> end of word when menu starts
> with automenu,autolist without listambiguous
>  - list is shown at the first tab; menu at the second TAB; cursor moves to
> the end of word when menu starts
> with all three set
>  - list is shown at the second TAB; menu is started at the third TAB; cursor
> is moved at the end of inserted string when menu starts!

The difference in cursor placement is a -- probably somewhat ugly --
interference between `listambiguous' and `automenu'. On the first TAB
it inserts the unambiguous part (non-menucompletion). On the second
TAB it runs through the completion code again and finds nothing
unambiguous to insert so that `listambiguous' means to show the list
now. Before this the cursor was in the middle of the word. The third
TAB runs the completion code again, but immediatly starts
menucompletion, the real completion code (generating matches) is not
run. Different from the other two cases menucompletion is now
started when the cursor is already in the middle of the word (which is 
remembered by automenu). In this case menucompletion always left the
cursor there instead of moving it to the end.
The problem is, of course, that one has to realise that the first two
TABs do normal completion and since that leaves the cursor in the
word...

Now try `setopt alwaystoend'...

Bye
 Sven


--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



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