GNU bug report logs - #1757
23.0.60; completion DWIM too clever

Previous Next

Package: emacs;

Reported by: rms <at> gnu.org

Date: Thu, 1 Jan 2009 15:55:03 UTC

Severity: normal

Tags: wontfix

Done: Lars Magne Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1757 in the body.
You can then email your comments to 1757 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Thu, 01 Jan 2009 15:55:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Jan 2009 15:55:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Richard M Stallman <rms <at> gnu.org>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; completion DWIM too clever
Date: Thu, 01 Jan 2009 10:48:51 -0500
I typed C-x b *d TAB and it offered me as completions `diary' and `old',
neither of which starts with a `*'.

I typed C-x b *di TAB and it completed to `diary', which is not
even a completion of what I typed.

It is extremely annoying to discard the user's input characters.



In GNU Emacs 23.0.60.15 (mipsel-unknown-linux-gnu, GTK+ Version 2.12.11)
 of 2008-12-22 on lemote-yeeloong
configured using `configure  'CFLAGS=-O0 -g -Wno-pointer-sign' 'mipsel-unknown-linux-gnu' 'build_alias=mipsel-unknown-linux-gnu' 'host_alias=mipsel-unknown-linux-gnu' 'target_alias=mipsel-unknown-linux-gnu''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Diff

Minor modes in effect:
  diff-auto-refine-mode: t
  gpm-mouse-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
ESC : b u f f e r - u n d o - l i s t RET C-x b RET 
TAB TAB ESC < C-s p m a i l - v i e w - b u f f e r 
C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-n C-n C-n 
C-n C-n C-n C-n C-a C-p C-p C-p C-o TAB ( s e t q SPC 
b u f f e r - u n d o - l i s t SPC t ) C-x C-s C-x 
b RET ESC p u C-x C-s C-x b RET ESC C-x C-x b RET C-x 
k RET ESC x p m a i l RET y ESC : b u f f e r - s w 
a p p e d - w i t h RET C-d C-d C-d C-d C-d C-d p C-d 
C-d C-d x C-x C-s ESC : b u f f e r ESC p RET C-x d 
e m a c s - c v s / l i s p / m a i l / p m a i l * 
. e l * RET C-u C-n C-n C-n C-@ C-u C-n C-n C-n C-n 
C-n C-n = C-g C-x C-x = RET ESC C-v C-x 1 C-u C-n C-u 
C-n C-n C-p C-n C-@ C-p = RET ESC C-v ESC C-v ESC C-v 
ESC C-v ESC C-v ESC C-v C-x 1 C-x b * d i TAB DEL DEL 
DEL DEL DEL * d i TAB DEL DEL DEL DEL DEL * C-g C-x 
C-b C-x o C-v C-n C-n C-n f C-x 1 ESC x r e p o r t 
SPC e m a v s DEL DEL c s RET

Recent messages:
0 new messages read
#<buffer  *message-viewer PMAIL*>
Expunging deleted messages...done
Saving file /home/rms/PMAIL...
Wrote /home/rms/PMAIL
#<buffer  *message-viewer PMAIL*>
Mark set
Source file `/home/rms/emacs-cvs/lisp/diff.el' newer than byte-compiled file
Quit
Mark activated
Quit




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Thu, 01 Jan 2009 18:05:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Drew Adams" <drew.adams <at> oracle.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Jan 2009 18:05:05 GMT) Full text and rfc822 format available.

Message #10 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: <rms <at> gnu.org>, <1757 <at> debbugs.gnu.org>,
        <emacs-pretest-bug <at> gnu.org>
Subject: RE: bug#1757: 23.0.60; completion DWIM too clever
Date: Thu, 1 Jan 2009 09:59:45 -0800
> I typed C-x b *d TAB and it offered me as completions `diary' 
> and `old', neither of which starts with a `*'.
> 
> I typed C-x b *di TAB and it completed to `diary', which is not
> even a completion of what I typed.
> 
> It is extremely annoying to discard the user's input characters.

I couldn't agree more. The is (the formerly optional) partial completion at
work. It is now the default behavior to first try the traditional completion,
and if that finds no matches, automatically try partial completion. IMO, the
default behavior should remain as it was in Emacs 22 (21, 20...), and the new
behavior should be optional.

With the traditional behavior, if there are no buffers with prefix `*', you are
told so immediately: [No match]. With the new, partial-completion behavior, you
are given possible completions that do not complete `*' in the normal way (as a
literal prefix).

To get the traditional behavior, you now need to customize option
`completion-styles', to be `(basic)', not `(basic partial-completion)'. This
significant change was made with no discussion, AFAIK.

See bug #1512:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1512





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Thu, 01 Jan 2009 18:05:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Drew Adams" <drew.adams <at> oracle.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Jan 2009 18:05:06 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Thu, 01 Jan 2009 18:35:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Lennart Borgman" <lennart.borgman <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Jan 2009 18:35:04 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Lennart Borgman" <lennart.borgman <at> gmail.com>
To: "Drew Adams" <drew.adams <at> oracle.com>, 1757 <at> debbugs.gnu.org
Cc: rms <at> gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1757: 23.0.60; completion DWIM too clever
Date: Thu, 1 Jan 2009 19:26:22 +0100
On Thu, Jan 1, 2009 at 6:59 PM, Drew Adams <drew.adams <at> oracle.com> wrote:
>> I typed C-x b *d TAB and it offered me as completions `diary'
>> and `old', neither of which starts with a `*'.
>>
>> I typed C-x b *di TAB and it completed to `diary', which is not
>> even a completion of what I typed.
>>
>> It is extremely annoying to discard the user's input characters.
>
> I couldn't agree more. The is (the formerly optional) partial completion at
> work. It is now the default behavior to first try the traditional completion,
> and if that finds no matches, automatically try partial completion.

Is perhaps the problem that partial completion does not respect the
user input (of *)?




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Thu, 01 Jan 2009 18:35:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Lennart Borgman" <lennart.borgman <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Jan 2009 18:35:05 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Thu, 01 Jan 2009 19:20:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Drew Adams" <drew.adams <at> oracle.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Jan 2009 19:20:02 GMT) Full text and rfc822 format available.

Message #30 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Lennart Borgman'" <lennart.borgman <at> gmail.com>,
        <1757 <at> debbugs.gnu.org>
Cc: <rms <at> gnu.org>, <emacs-pretest-bug <at> gnu.org>
Subject: RE: bug#1757: 23.0.60; completion DWIM too clever
Date: Thu, 1 Jan 2009 11:10:26 -0800
> >> I typed C-x b *d TAB and it offered me as completions `diary'
> >> and `old', neither of which starts with a `*'.
> >>
> >> I typed C-x b *di TAB and it completed to `diary', which is not
> >> even a completion of what I typed.
> >>
> >> It is extremely annoying to discard the user's input characters.
> >
> > I couldn't agree more. The is (the formerly optional) partial
> > completion at work. It is now the default behavior to first try
> > the traditional completion, and if that finds no matches,
> > automatically try partial completion.
> 
> Is perhaps the problem that partial completion does not respect the
> user input (of *)?

It respects it as a _wildcard_. This is a feature of partial completion. See
`completion-pcm--string->pattern' and `completion-pcm--all-completions' in
minibuffer.el.

Stefan has decided that if your input cannot be completed literally, as a
prefix, it should be completed as a wildcard pattern, using partial completion.
That is the new default behavior.

This takes away the useful negative feedback that your input has no literal
prefix completion: [No match]. Instead of letting you immediately correct a
simple typo (e.g. accidentally hitting `*' instead of some other char), you can
end up needing to correct lots of characters (e.g. `diary', as a completion of
`*di').

The problem is not that partial completion has a bug wrt *. The problem is that
partial completion is being used as an automatic fallback by default. The
assumption is that you always want to complete one way or the other - either by
treating your input as a literal prefix, if possible, or by treating it as a
wildcard expression, if literal prefix matching fails.

This "extremely annoying" feature should be optional. Partial completion is one
thing. Automatically slipping from prefix completion to partial completion is
another thing. Either of these is annoying and inappropriate as the default
behavior. And the automatic change of completing behavior is arguably more
annoying and more confusing than plain partial completion.






Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Thu, 01 Jan 2009 19:20:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Drew Adams" <drew.adams <at> oracle.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Thu, 01 Jan 2009 19:20:04 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Fri, 02 Jan 2009 17:25:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 02 Jan 2009 17:25:04 GMT) Full text and rfc822 format available.

Message #40 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Richard M Stallman <rms <at> gnu.org>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 1757 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1757: 23.0.60; completion DWIM too clever
Date: Fri, 02 Jan 2009 12:14:27 -0500
    I couldn't agree more. The is (the formerly optional) partial completion at
    work. It is now the default behavior to first try the traditional completion,
    and if that finds no matches, automatically try partial completion. IMO, the
    default behavior should remain as it was in Emacs 22 (21, 20...), and the new
    behavior should be optional.

My first tendency is to dislike the new behavior, but now that I have
some idea what it does, I will try looking for some advantages in it.

However, a change like this calls for polling the users.





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Fri, 02 Jan 2009 17:25:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 02 Jan 2009 17:25:05 GMT) Full text and rfc822 format available.

Message #45 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Richard M Stallman <rms <at> gnu.org>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: lennart.borgman <at> gmail.com, 1757 <at> debbugs.gnu.org,
        emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1757: 23.0.60; completion DWIM too clever
Date: Fri, 02 Jan 2009 12:14:46 -0500
Using * as a wildcard in buffer name completion
is particularly a hassle given that * is used in many buffer names.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Fri, 02 Jan 2009 17:25:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 02 Jan 2009 17:25:09 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Fri, 02 Jan 2009 17:25:10 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Fri, 02 Jan 2009 17:25:10 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1757; Package emacs. (Mon, 05 Jan 2009 22:25:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 05 Jan 2009 22:25:04 GMT) Full text and rfc822 format available.

Message #60 received at 1757 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: rms <at> gnu.org
Cc: 1757 <at> debbugs.gnu.org
Subject: Re: bug#1757: 23.0.60; completion DWIM too clever
Date: Mon, 05 Jan 2009 17:19:02 -0500
tag 1757 +wontfix
thanks

> I typed C-x b *di TAB and it completed to `diary', which is not
> even a completion of what I typed.

It's not a bug, it's a feature.


        Stefan




Tags added: wontfix Request was from Stefan Monnier <monnier <at> iro.umontreal.ca> to control <at> emacsbugs.donarmstrong.com. (Mon, 05 Jan 2009 22:25:06 GMT) Full text and rfc822 format available.

Added tag(s) fixed. Request was from Lars Magne Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 11 Sep 2011 20:08:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 1757 <at> debbugs.gnu.org and rms <at> gnu.org Request was from Lars Magne Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 11 Sep 2011 20:08:01 GMT) Full text and rfc822 format available.

Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#1757; Package emacs. (Sun, 11 Sep 2011 22:16:02 GMT) Full text and rfc822 format available.

Message #69 received at 1757 <at> debbugs.gnu.org (full text, mbox):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: <1757 <at> emacsbugs.donarmstrong.com>
Cc: lennart.borgman <at> gmail.com, rms <at> gnu.org
Subject: RE: bug#1757: 23.0.60; completion DWIM too clever
Date: Sun, 11 Sep 2011 15:10:41 -0700
> tags 1757 fixed
Bug #1757 [emacs] 23.0.60; completion DWIM too clever
Added tag(s) fixed.
> close 1757

How in the world can you consider this "fixed"?
The behavior reported as a bug is still there.
No fix was made.

Stefan claims it's a feature.
RMS said to poll the users before doing it.
That was several releases ago (and no poll).

You can claim the behavior is not a bug.  Or you can admit that it is a bug but
state that it won't be fixed.

But how could you possibly claim that, (a) yes, it is a bug and (b) it has been
fixed?  Makes no sense.





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#1757; Package emacs. (Sun, 11 Sep 2011 22:25:01 GMT) Full text and rfc822 format available.

Message #72 received at 1757 <at> debbugs.gnu.org (full text, mbox):

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 1757 <at> debbugs.gnu.org, lennart.borgman <at> gmail.com, rms <at> gnu.org
Subject: Re: bug#1757: 23.0.60; completion DWIM too clever
Date: Mon, 12 Sep 2011 00:16:32 +0200
"Drew Adams" <drew.adams <at> oracle.com> writes:

>> tags 1757 fixed
> Bug #1757 [emacs] 23.0.60; completion DWIM too clever
> Added tag(s) fixed.
>> close 1757
>
> How in the world can you consider this "fixed"?

Wrong key.  I meant to close it without "fixed".

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 10 Oct 2011 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 13 years and 316 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.