Subject: RE: bug#994: 23.0.60; minibuffer completion should act on all minibuffer input

From: "Drew Adams" <[email-masked]>
Date: Wed, 17 Sep 2008 14:47:54 -0700

> From: Andreas Schwab Sent: Wednesday, September 17, 2008 2:33 PM
> "Drew Adams" <[email-masked]> writes:
> > emacs -Q
> >  
> > Given an existing file foo-bar.el, do `M-x foo-b RET', getting a new
> > buffer `foo-b'.
> >  
> > Then do `C-x C-v TAB'. There is no completion of `foo-b' to
> > `foo-bar.el', because (a) point is just after the directory name,
> > before `foo-b' (as it should be) and (b) completion now acts only
> > on the text before point.
> >  
> > This non-completion is a "feature" introduced in Emacs 22, the idea
> > being that only stuff to the left of point should be 
> > completed. To me, this is a bug (misfeature), and this is a good
> > example why.
> 
> Counter example: I visit a file, then want to visit a new 
> file with the
> same name but in a different directory.  Type C-x C-f <left> <down>,
> edit the directory before point and type TAB.  I expect to get the
> directory part properly completed although the file does not exist.
> Completion is inherently context dependent.

Sure there are counter examples, and that's a good one. And different users have
different preferences wrt which examples (behaviors) are most important to them.

All I'm asking for is a way to return to the previous behavior, which I prefer.
Call it a bug or a feature, as you like. I would like a user option to be able
to choose the alternative behavior.

And the other part of the bug report, which is Emacs 23-specific (related to
automatic partial completion?) is something else again. There too there should
be an easy and obvious way to turn off such smart/silly (your choice) behavior.