[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: completion-auto-help
From: |
Drew Adams |
Subject: |
RE: completion-auto-help |
Date: |
Fri, 11 Nov 2005 09:47:45 -0800 |
complete.el extends the meaning of the variable so that a non-nil non-t
value means "show the help but only on the second attempt to complete".
I.e. if TAB finds nothing to complete, the first TAB will just
say "[Next
char not unique]" without bringing up the *Completions* buffer, and the
second TAB will then bring up the *Completions* buffer.
It happens to be my favorite behavior.
Thanks. I knew about that behavior, but I couldn't make out the related use
of completion-auto-help.
I still don't see it in complete.el (it is only tested there, never bound),
and I don't see it in C code either. Where is `completion-auto-help's
non-nil, non-t value bound?
If it is only a user who sets such a value, then shouldn't the non-nil,
non-t behavior be documented for the user option? I don't see that, as I
mentioned.
> 2. New feature proposal - How about allowing for an
> "always-display-*Completions*' behavior:
> - t means what it means now
> - nil means what it means now
> - other means this:
We could have
t = what it means now
nil = what it means now
eager = what you suggest (always show the completions and update them
after each key stroke)
lazy = what complete.el does for non-nil non-t values
Good.
> IOW, with this value, the user would not need to hit `TAB' to display
> *Completions*. (S)he would see the list of completions
whenever there are
> more than one. There is currently no way to make `completing-read',
> `read-file-name' etc. display *Completions* from the outset.
Indeed. The closest is icomplete-mode.
Yes, in fact, I implement this behavior with regexp matching in Icicles,
where I refer to it, by analogy, as "apropos icompletion" ("apropos" because
it uses a regexp, "icompletion" because it is incremental completion). That
was one of the motivations for this request: I currently have no way to
display the candidates right from the beginning - a user must first request
the display (via, e.g., `TAB').
I proposed `eager' _without_ the automatic update after each keystroke, in
order to allow that as an additional (separate) option. I think that would
be better. Some people (or some functions) might like to display the list of
candidates right from the beginning, as a kind of menu, but prefer to update
it only upon demand (via `TAB'), not automatically at each keystroke. Some
people might find the automatic list updating to be distracting (I find it
very helpful, personally).
IOW, I think we should separate the control of when to display of
*Completions* from the control of whether or not to automatically update it.
The difference only makes sense, probably, for the `eager' value, so we
could just have two values instead of one: `eager-with-auto-update' and
`eager-without-auto-update'.
My implementation of this kind of incremental completion in Icicles uses an
option that is checked in the special self-insert I use. The option values:
non-nil means update *Completions* incrementally, as you type.
t means do nothing if *Completions* is not already displayed.
non-nil and non-t means display *Completions* and update it.
So, for instance, non-nil, non-t causes character insertion to display
*Completions*. That does not take care of displaying it, however, right from
the beginning, which is why I made this request. The special self-insert
gets called inside `completing-read', upon insertion, but I see no way to
get `completing-read' to display *Completions* without any user action.
- completion-auto-help, Drew Adams, 2005/11/10
- Re: completion-auto-help, Stefan Monnier, 2005/11/10
- RE: completion-auto-help,
Drew Adams <=
- RE: completion-auto-help, Drew Adams, 2005/11/11
- Re: completion-auto-help, Stefan Monnier, 2005/11/11
- RE: completion-auto-help, Drew Adams, 2005/11/11
- RE: completion-auto-help, Drew Adams, 2005/11/11
- RE: completion-auto-help, Drew Adams, 2005/11/11
- Re: completion-auto-help, Stefan Monnier, 2005/11/13
- RE: completion-auto-help, Drew Adams, 2005/11/13
- Re: completion-auto-help, Stefan Monnier, 2005/11/13
- RE: completion-auto-help, Drew Adams, 2005/11/13
- Re: completion-auto-help, Eli Zaretskii, 2005/11/19