zsh-workers
 help / color / mirror / code / Atom feed
* completion autolist has time-sensitive interface
@ 2018-08-15  5:49 ` frederik
  2018-08-15  8:33   ` Peter Stephenson
  0 siblings, 1 reply; 3+ messages in thread
From: frederik @ 2018-08-15  5:49 UTC (permalink / raw)
  To: Zsh hackers list

Dear Zsh Hackers,

Sometimes completion is so laggy on my system that when I press TAB
after e.g. "man perl", nothing seems to happen. So I press it again.
Still nothing happens. Completion seems broken.

Took me a while to figure out the problem. It's related to "setopt
autolist" (which is on by default for me?).

What happens is that if I just press TAB once, e.g. after "man perl",
there is a one-second delay and a prompt "zsh: do you wish to see all
201 possibilities (51 lines)?". At this point I can press TAB again,
which is equivalent to "y" I guess, and I see a list of completions.

However, if I press TAB twice quickly in succession then I see no
list, it is exactly as if there are no completions at all. (Actually
if the prompt is at the bottom of the screen, I get a newline) I find
it confusing that the completion interface would be time-sensitive in
this manner. Why TAB-delay-TAB would behave differently from TAB-TAB.
Usually everything I do on the terminal has the property that it
doesn't matter how fast or slow I type, it's only the order of the
keys that's important...

Someone on #zsh (user "jp" - thanks) recommended "bashautolist" but it
has the same problem, only after three TABs.

Thanks,

Frederick


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: completion autolist has time-sensitive interface
  2018-08-15  5:49 ` completion autolist has time-sensitive interface frederik
@ 2018-08-15  8:33   ` Peter Stephenson
  2018-08-15 15:57     ` frederik
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Stephenson @ 2018-08-15  8:33 UTC (permalink / raw)
  To: frederik, Zsh hackers list

On Tue, 14 Aug 2018 22:49:58 -0700
<frederik@ofb.net> wrote:

> Dear Zsh Hackers,
> 
> Sometimes completion is so laggy on my system that when I press TAB
> after e.g. "man perl", nothing seems to happen. So I press it again.
> Still nothing happens. Completion seems broken.
> 
> Took me a while to figure out the problem. It's related to "setopt
> autolist" (which is on by default for me?).
> 
> What happens is that if I just press TAB once, e.g. after "man perl",
> there is a one-second delay and a prompt "zsh: do you wish to see all
> 201 possibilities (51 lines)?". At this point I can press TAB again,
> which is equivalent to "y" I guess, and I see a list of completions.

One possibility would be if you had (presumably inadvertently) a
key with TAB as a prefix.  Then it would delay to see if you're
going to type the full key stroke, and only execute the TAB binding
if you didn't.  It's not very likely, but it's the best I can think
of.

If you run

bindkey | grep '\^I'

you'll probably see something like

"^I" complete-word
"^[^I" self-insert-unmeta

where the second isn't relevant as there's an ESC in front.  If you
see something else starting with ^I that's a problem.

BTW this is probably more suitable for zsh-users where the larger
audience is more likely to have seen something similar.

pws


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: completion autolist has time-sensitive interface
  2018-08-15  8:33   ` Peter Stephenson
@ 2018-08-15 15:57     ` frederik
  0 siblings, 0 replies; 3+ messages in thread
From: frederik @ 2018-08-15 15:57 UTC (permalink / raw)
  To: Peter Stephenson, zsh-users; +Cc: Zsh hackers list

I'm adding zsh-users at Peter's suggestion.

Thanks in advance.

On Wed, Aug 15, 2018 at 09:33:58AM +0100, Peter Stephenson wrote:
> On Tue, 14 Aug 2018 22:49:58 -0700
> <frederik@ofb.net> wrote:
> 
> > Dear Zsh Hackers,
> > 
> > Sometimes completion is so laggy on my system that when I press TAB
> > after e.g. "man perl", nothing seems to happen. So I press it again.
> > Still nothing happens. Completion seems broken.
> > 
> > Took me a while to figure out the problem. It's related to "setopt
> > autolist" (which is on by default for me?).
> > 
> > What happens is that if I just press TAB once, e.g. after "man perl",
> > there is a one-second delay and a prompt "zsh: do you wish to see all
> > 201 possibilities (51 lines)?". At this point I can press TAB again,
> > which is equivalent to "y" I guess, and I see a list of completions.
> > 
> > However, if I press TAB twice quickly in succession then I see no
> > list, it is exactly as if there are no completions at all. (Actually
> > if the prompt is at the bottom of the screen, I get a newline) I find
> > it confusing that the completion interface would be time-sensitive in
> > this manner. Why TAB-delay-TAB would behave differently from TAB-TAB.
> > Usually everything I do on the terminal has the property that it
> > doesn't matter how fast or slow I type, it's only the order of the
> > keys that's important...
> 
> One possibility would be if you had (presumably inadvertently) a
> key with TAB as a prefix.  Then it would delay to see if you're
> going to type the full key stroke, and only execute the TAB binding
> if you didn't.  It's not very likely, but it's the best I can think
> of.
> 
> If you run
> 
> bindkey | grep '\^I'
> 
> you'll probably see something like
> 
> "^I" complete-word
> "^[^I" self-insert-unmeta
> 
> where the second isn't relevant as there's an ESC in front.  If you
> see something else starting with ^I that's a problem.
> 
> BTW this is probably more suitable for zsh-users where the larger
> audience is more likely to have seen something similar.

Thanks. When I run `bindkey | grep '\^I'` it shows me the same thing
that you see.

Maybe it will be hard for others to reproduce this as a slow computer
is needed. Or maybe if there were some way to run Zsh with input
provided programmatically, like `echo "man perl\t\t" | zsh`...

Frederick


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-08-15 15:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20180815061554epcas3p4806e2cb2444ee67f4cb404ed2957a750@epcas3p4.samsung.com>
2018-08-15  5:49 ` completion autolist has time-sensitive interface frederik
2018-08-15  8:33   ` Peter Stephenson
2018-08-15 15:57     ` frederik

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).