unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: "'Eli Zaretskii'" <eliz@gnu.org>,
	"'Stephen Berman'" <stephen.berman@gmx.net>
Cc: rms@gnu.org, 9591@debbugs.gnu.org
Subject: bug#9591: 24.0.50; buffer name completion
Date: Tue, 27 Sep 2011 10:45:09 -0700	[thread overview]
Message-ID: <D4117036D0FA4D9F9991CB114A73D924@us.oracle.com> (raw)
In-Reply-To: <E1R86m0-0005yH-N8@fencepost.gnu.org>

> I find arguments about defaults a waste of time.

Echoes of those who claim political discourse and politics in general are a
waste of time...

1. This thing about user surprise/confusion and lack of control is very much
about the default behavior.  Someone who explicitly chooses something like
partial completion presumably knows what s?he's in for.  Not necessarily so,
someone using the default settings.

You might not like discussing defaults (who does?), or you might think that
doing so is a waste of time (sometimes it is), but arguing against discussing
what the default behavior should be is simply an argument defending the status
quo without giving any reason.  This is a very old story...

> I customized completion-category-overrides to nil and
> completion-styles to `(emacs22), and the result is the
> kind of completion that Richard wanted and expected.


2. That a given user such as Richard can customize away the default automatic
chaining of completion methods is not the point.  The question (I raise) is
whether the default behavior should be to chain methods together.

This was a *big* change in default behavior, beyond just the differences
provided by any of the individual fancy matching methods (e.g. partial
completion matching).  It was hardly discussed (discussion was more or less
discouraged, IMO).


3. My point in mentioning a user-controlled, on-demand approach (as, e.g., in
Icicles) is that:

3a. Users can still define the list of methods to try - exactly as is the case
now in Emacs (e.g. `completion-styles').

3b. Users can have Emacs *not* automatically chain these methods together.  They
can have Emacs use only the first (or perhaps the last-used) method, by default.

3c. Users can nevertheless switch to the next method in the list - on demand.


4. We could also let an individual item in the methods list
(`completion-styles') be itself a list of methods, as an alternative to a single
method.  When such a list item is chosen, its methods *would* be chained
together automatically.  IOW, let users decide whether and how much to use
automatic chaining.


In sum:

A. Pick as the default behavior a single, simple/basic completion method, one
with few surprises.

B. Let users, as now, customize the list of available methods.

C. Let users switch to the next method in their list on demand, by hitting a
key.

D. Let users choose (opt in) to have Emacs automatically chain among some
methods, by using a list of those methods as an entry of the methods-list option
(`completion-styles').

For example (`completion-styles' values):

(basic emacs22 partial-completion) would you give basic completion by default,
and let you cycle to Emacs 22 completion on demand (only), and then to partial
completion and then back to basic..., by hitting a key in the minibuffer.

((basic partial-completion emacs22)) would give you the current,
automatic-chaining behavior by default, and would not provide for any
alternative (no other entry to cycle to, manually)

(basic (basic partial-completion emacs22)) would give you basic completion by
default, and would let you switch to the current default behavior of automatic
chaining among basic, partial, and emacs22 on demand.

And so on.  Such an approach would give users control and flexibility.  They
could choose whether and when switching between methods should be on-demand vs
automatic.

But the important thing is for us to choose the default behavior wisely. IMO,
the default should *not* use chaining and should probably not be partial
completion.  Avoiding these would present users with fewer surprises and
gotchas, but they could still get all the bells and whistles available now - and
more - if they want.


P.S. As for polling the users, Richard said almost 3 years ago that they should
be polled for this:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1757#40






  reply	other threads:[~2011-09-27 17:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-24 12:28 bug#9591: 24.0.50; buffer name completion Richard Stallman
2011-09-24 18:44 ` Chong Yidong
2011-09-24 23:52   ` Richard Stallman
2011-09-25  0:19     ` Lars Magne Ingebrigtsen
2011-09-25  8:35       ` Andreas Schwab
2011-09-25 17:34       ` Richard Stallman
2011-09-25 17:52         ` Lars Magne Ingebrigtsen
2011-09-26  1:00           ` Richard Stallman
2011-09-25 18:45         ` Drew Adams
2011-09-25  1:04     ` Chong Yidong
2011-09-25 17:34       ` Richard Stallman
2011-09-29 22:02   ` Stefan Monnier
2011-09-29 22:39     ` Lars Ingebrigtsen
2011-09-30 21:03       ` Richard Stallman
2011-09-30  6:42     ` Eli Zaretskii
2011-09-30 19:39       ` Stefan Monnier
2011-10-01 14:05         ` Richard Stallman
2011-10-01 14:15           ` Eli Zaretskii
2011-10-01 20:54             ` Richard Stallman
2011-10-02  0:27               ` Stefan Monnier
2011-09-26  1:18 ` Stefan Monnier
2011-09-26  5:35   ` Eli Zaretskii
2011-09-26  7:56     ` Stephen Berman
2011-09-26  8:42       ` Eli Zaretskii
2011-09-27 17:45         ` Drew Adams [this message]
2011-09-27 18:52         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D4117036D0FA4D9F9991CB114A73D924@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=9591@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=rms@gnu.org \
    --cc=stephen.berman@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).