Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to disable fancy completion in minibuffer ?

93 views
Skip to first unread message

Alexandre Oberlin

unread,
May 6, 2013, 8:21:17 AM5/6/13
to
Hi all,

Like most today's software, emacs now may force the fancy refinements that
its developers imagine or reproduce onto the average user that does not
care a hoot for them and has no desire to change his habits. I already had
such problems with tramp mode etc.

The difference with many other software programs is that I know that even
if emacs now puts its smarties by default like the others, I should at
least be able to get rid of it. However it is not always that easy.

I have been enduring the new smart minibuffer completion for a while and
now I just won't take it any more. The recent versions of emacs complete
the minibuffer strings in a way that is just not for me. If I type a "z"
as first character, I want the "zap" or "zen" completion choice, not
"buzz" nor "paz". If there is no completion beginning with z, I want
nothing. Period.

I tried dynamic-completion-mode with no avail.

Hints ?

Alexandre






--
Alexandre Oberlin
http://www.migo.info

In the long run, every program becomes rococco, and then rubble.
Alan Perlis

Damien Wyart

unread,
May 6, 2013, 8:50:06 AM5/6/13
to
* "Alexandre Oberlin" <email_...@migo.info> in gnu.emacs.help:
> [...]
> I have been enduring the new smart minibuffer completion for a while
> and now I just won't take it any more. The recent versions of emacs
> complete the minibuffer strings in a way that is just not for me. If
> I type a "z" as first character, I want the "zap" or "zen" completion
> choice, not "buzz" nor "paz". If there is no completion beginning with
> z, I want nothing. Period.

Strange, this looks like you have the substring completion style
enabled, which is normally not done by default. Maybe some additional
packages have done this for you?

Can you use C-h v completion-styles to check?

The default value is (basic partial-completion emacs22), and you can
read some explanations here:
http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Styles.html
Reverting to the default value should bring you back to what you would
like.

You might also want to have a look at icicles, which is targeted at
customizing and enhancing minibuffer completion:
http://www.emacswiki.org/emacs/EmacsNewbieWithIcicles

--
DW

Damien Wyart

unread,
May 6, 2013, 9:16:06 AM5/6/13
to
> Strange, this looks like you have the substring completion style
> enabled, which is normally not done by default. Maybe some additional
> packages have done this for you?

Sorry, I forgot about some additional details
(http://www.gnu.org/software/emacs/manual/html_node/elisp/Completion-Variables.html);
maybe what is customized in your setup is completion-category-overrides,
so you should check this variable, too.

--
DW

Alexandre Oberlin

unread,
May 8, 2013, 8:42:26 AM5/8/13
to
Thanks Damien for your answer. I am back in Windows and just checked the
variables:
completion-styles is a variable defined in `minibuffer.el'.
Its value is (basic partial-completion emacs22)
completion-category-overrides is a variable defined in `minibuffer.el'.
Its value is ((buffer (styles basic substring)))

I am using GNU Emacs 24.3.1 (i686-pc-cygwin)

Alexandre






On Mon, 06 May 2013 15:16:06 +0200, Damien Wyart <damien...@free.fr>
wrote:
Alexandre Oberlin
http://www.migo.info

Alexandre Oberlin

unread,
May 8, 2013, 3:18:23 PM5/8/13
to
I don't know where the value of completion-category-overrides came from.
(setq completion-category-overrides '((buffer (styles basic))))
did the trick. I put it at the end of .emacs.

Thanks a lot,

Alexandre


On Wed, 08 May 2013 14:42:26 +0200, Alexandre Oberlin
<email_...@migo.info> wrote:

> ((buffer (styles basic substring)))

Damien Wyart

unread,
May 10, 2013, 5:13:17 AM5/10/13
to
* "Alexandre Oberlin" <email_...@migo.info> in gnu.emacs.help:
> I don't know where the value of completion-category-overrides came
> from. (setq completion-category-overrides '((buffer (styles basic))))
> did the trick. I put it at the end of .emacs.

Glad you could solve your initial problem!

In fact, I did not go far enough when citing
completion-category-overrides, because the value you had is indeed the
default one and is not caused by any additional package. I should have
checked that more precisely.

This has even been raised on the emacs dev list some time ago, along
with some bug reports related to the default completion being sometimes
too "aggressive":

http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00282.html
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9598
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12916
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9591

--
DW

Le Wang

unread,
May 10, 2013, 12:22:23 PM5/10/13
to Damien Wyart, GNU Emacs List
On Fri, May 10, 2013 at 5:13 PM, Damien Wyart <damien...@free.fr> wrote:
> * "Alexandre Oberlin" <email_...@migo.info> in gnu.emacs.help:
>> I don't know where the value of completion-category-overrides came
>> from. (setq completion-category-overrides '((buffer (styles basic))))
>> did the trick. I put it at the end of .emacs.
>
> Glad you could solve your initial problem!
>
> In fact, I did not go far enough when citing
> completion-category-overrides, because the value you had is indeed the
> default one and is not caused by any additional package. I should have
> checked that more precisely.
>
> This has even been raised on the emacs dev list some time ago, along
> with some bug reports related to the default completion being sometimes
> too "aggressive":

Defaults should be aggressive. Time marches on. Expectations of new
users change.

As such Emacs should evolve to continue attracting new users (and
indirectly new developers). As long as there is a way to restore
non-aggressiveness, this is how it should be.


--
Le

Alexandre Oberlin

unread,
May 11, 2013, 9:19:09 AM5/11/13
to
On Fri, 10 May 2013 11:13:17 +0200, Damien Wyart <damien...@free.fr>
wrote:

> This has even been raised on the emacs dev list some time ago, along
> with some bug reports related to the default completion being sometimes
> too "aggressive":
Nice to see I'm not alone to cling to old habits ;-)

Have a nice week-end,


Alexandre

Alexandre Oberlin

unread,
May 24, 2013, 9:06:04 AM5/24/13
to
Hi all,

On Fri, 10 May 2013 18:22:23 +0200, Le Wang <l26...@gmail.com> wrote:
> Defaults should be aggressive. Time marches on. Expectations of new
> users change.
OK, I have no problem about what the developers may think most users want
as default.

> As long as there is a way to restore
> non-aggressiveness, this is how it should be.
That’s the point. I know that there is almost always a solution to get
what you want when using emacs, as opposed to many today’s software
programs. However the existence of a solution is not enough, there must be
a *simple function* with a *meaningful name* (maybe aliases too) in order
go back to a *simple behavior*. Not all people can spend hours studying
the arcanes of such a complex program just to fit basic needs.

Cheers,

Alexandre
0 new messages