zsh-workers
 help / color / mirror / code / Atom feed
From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@sunsite.auc.dk
Subject: Re:  Problem with completion matching control
Date: Tue, 16 Feb 1999 09:30:54 +0100 (MET)	[thread overview]
Message-ID: <199902160830.JAA00713@beta.informatik.hu-berlin.de> (raw)
In-Reply-To: opk@thoth.u-net.com's message of Tue, 16 Feb 1999 01:14:37 +0000


Oliver Kiddle wrote:

> Now this behaves in a way that I like:
> less t<tab><tab><tab>
> 
> But this behaves quite differently
> less te<tab><tab><tab>
> 
> ...
> 
> In the second case, the first tab completes to 'temp' and moves the
> cursor over the e as before but it doesn't list anything below. Any
> subsequent tabs do nothing.
> 
> In practical use, I tended to get the second scenario because I normally
> press tab after typing more than one character. Anyway, it is certainly
> the second case which I find annoying.

I can't reproduce it, can you give me information about the completion 
options you have set or unset and any compctl's used here (global
matchers, default completion, special completion for the command,...).

> > Playing with this I also noticed that there is some weird interaction
> > going on between inserting such a string and the setting of recexact
> > (the exact inserted match isn't immediatly accepted, which is wrong if 
> > auto_menu is unset). I'll have a lokk at this.
> 
> I'm not sure if its the same as what you've noticed there. I get some
> similar but different problems to what I described above when in the zsh
> source directory after:
> ./co<tab><tab>
> Here I again get no list and the menu completing stops at Config/ but
> this is only with my options - its fine with zsh -f.

No, the thing I found is this:

  % zsh -f
  % ls
  Temp    foo     foobar  temp
  % setopt recexact; compctl -M 'm:{a-z}={A-Z}'
  % ls f<TAB><TAB>
  
This completes and accepts `foo'.

  % ls t<TAB><TAB>
  Temp   temp

This completes to `temp' but does not accept it. In the meanwhile I
remembered that I knew about this when implementing the matching
stuff. The reason is that after the first TAB we can't easily find out 
that the string inserted is a possible match and once we have the list 
from the first TAB, the match-generation code isn't called again and
so the exact match isn't detected on the second TAB. And there is
more:

  % unsetopt listambiguous   # who made this be set by default?
  % ls f<TAB>
  foo     foobar

This shows the list and inserts `foo'. Further TABs will *not* accept
the match but start menucompletion. If automenu is unset, further TABs 
will do nothing.

I'm tempted to remove the test that avoids calling the match-
generation again, at least if the command line was changed. But then
I'll have to make sure the interaction between listambiguous,
automenu, autolist, bashautolist, and recexact still gives reasonable
results, so this may take a while.

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


             reply	other threads:[~1999-02-16  8:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-16  8:30 Sven Wischnowsky [this message]
  -- strict thread matches above, loose matches on Subject: below --
1999-02-24  8:39 Sven Wischnowsky
1999-02-23 10:04 Sven Wischnowsky
1999-02-24  5:11 ` Bart Schaefer
1999-02-22 23:35 Oliver Kiddle
1999-02-18  9:05 Sven Wischnowsky
1999-02-18  1:00 Oliver Kiddle
1999-02-17  8:00 Sven Wischnowsky
1999-02-16 13:58 Sven Wischnowsky
1999-02-16 17:04 ` Peter Stephenson
1999-02-16  1:14 Oliver Kiddle
1999-02-15  9:42 Sven Wischnowsky
1999-02-14 19:35 Oliver Kiddle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=199902160830.JAA00713@beta.informatik.hu-berlin.de \
    --to=wischnow@informatik.hu-berlin.de \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).