help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: `completing-read` without RET


From: Drew Adams
Subject: RE: `completing-read` without RET
Date: Fri, 11 Mar 2016 08:08:08 -0800 (PST)

> >> Is there a function with the same behaviour of `completing-read`, except
> >> that it doesn't need RET when only one completion exists?
> 
> > Of course, it's called `completing-read'.
> > You just have to configure its TAB key accordingly.
> > I.e. rebind TAB in minibuffer-local-completion-map from
> > `minibuffer-complete' to a new command which does what you want.
> 
> Oh, actually, I think I misunderstood your question and there's an even
> closer answer: just provide a neither-nil neither-t value for the
> `require-match' argument or `completing-read'.

No, I don't think so.

 (completing-read "Choose: " '("a") nil 'foobar)

Choose:
Nothing happens.

Choose: TAB
Choose: a
Nothing happens.

Choose: a
Nothing happens.

Choose: a TAB
Nothing happens.

---

FWIW, If you use Icicles, if you set option
`icicle-top-level-when-sole-completion-flag' to non-nil then
completion (e.g. TAB) chooses the only match for your input.

In the examples above where TAB is used, the result is the
same as hitting RET: the sole match (in this case also the
sole candidate) is chosen.

But beware that you might not always want this behavior
(which is why it is not the default behavior).  If you
accidentally type the wrong thing then you don't get a
chance to change your mind.  (Of course, that's what you've
said you are after: quicker choosing.)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]