emacs-devel
[Top][All Lists]
Advanced

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

Re: C-x C-b and C-x C-f bugging about confirmation


From: Alfred M\. Szmidt
Subject: Re: C-x C-b and C-x C-f bugging about confirmation
Date: Sat, 22 Nov 2008 13:18:32 +0100

   >> it IS a big deal to have to kill the buffer:
   >> with confirm-nonexistent-file-or-buffer = t:
   >> C-x b fo TAB [expands to "foo"] RET [confirm?] . TAB RET ==> foo.lisp
   >> with confirm-nonexistent-file-or-buffer = nil:
   >> C-x b fo TAB [expands to "foo"] RET [new buffer] C-x k RET C-x b Up . TAB 
RET 
   >> ==> foo.lisp

   > Your argument is true only if one makes a mistake.  I don't think
   > it is true in general that there are more typing mistakes than
   > correct input.

   The issue is not "correct input" but "correct input that leads to
   the creation of a new file".  Generally, when you're creating a new
   file, you know it, so you hit RET RET right away.

   It's kind of like creating two different commands: one for opening
   an existing file and one for creating a new file, except the only
   different between the two is that you hit RET for one and RET RET
   for the other.

But RET has never had that meaning, it is counter intuitive, nor is
the message clear as to what you are confirming.  RET means (or
atleast meant) "I am done, please do whatever I told you.".

I am also astounded that people just have gone about changing such a
common UI feature that affects _all_ users, without raising a vote
first.  Nor was there anything added to NEWS, or the docstring.

   Once you get used to it, you'll see it's completely painless, even
   if you create a thousand files per hour and never make any typing
   error when opening existing files.

It is not about getting used to it, one can get used to many annoying
things.  When you hit RET, you have finished a command.  This is no
longer the case; a clear (default) behaviour has now changed meaning
to mean anything.  It is also no longer clear what a command might do
or ask, it changes behaviour depending on the enviroment.

Making TAB expand to the first match, and then cycle through all
matches by hitting consequtive TABs is something that makes sense.


The current behaviour also makes it impossible to make a keyboard
macro that behaves well, you might be opening files that exist and do
not exist.  One of the nicest things about emacs has been that there
is a 1-1 correspondence between lisp functions, and key bindings.
E.g. C-x C-f FOO RET is basically the same as (find-file "FOO"), now
this is no longer the case, and this makes it impossible to make
keyboard macros.




reply via email to

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