GNU bug report logs -
#12487
24.2.50; Inconsistent, so confusing, confirmation msgs for `find-alternate-file'
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Sat, 22 Sep 2012 17:33:02 UTC
Severity: normal
Merged with 9577,
12941
Found in versions 24.0.50, 24.2.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
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 12487 in the body.
You can then email your comments to 12487 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12487
; Package
emacs
.
(Sat, 22 Sep 2012 17:33:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 22 Sep 2012 17:33:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
emacs -Q
Visit an existing file foo. Make some changes, without saving. `C-x
C-v RET', to re-visit foo, effectively reverting it.
You are asked "Buffer foo is modified; save it first (yes or no)".
(There is no question mark here, BTW.) You reply "no". Then you are
asked "Kill and replace the buffer without saving it? (yes or no)".
(This time there is a question mark, as there should be.) You ponder a
minute, then reply "yes".
This is a common use case when a user wants to abandon edits by using
`C-x C-v'. Note that `revert-buffer' will not revert everything that
`C-x C-v' reverts. Overlays etc. remain, so it can sometimes be useful
to use `C-x C-v' here.
Here's the problem: You changed the first message, flipping its sense,
so now, if a user wants to discard the changes s?he has to first say
"no", s?he does not want to save the changes, and then s?he has to say
"yes", s?he really wants to replace the buffer.
This inconsistency is confusing and thus error-prone. While your change
was no doubt motivated by wanting to avoid user errors, it actually
promotes them, at least in this scenario.
Furthermore, why are you asking the second question, if the reply to the
first is "no"? If the user does not want to save the changes, then why
ask again, especially with a reversed sense for the question?
In GNU Emacs 24.2.50.1 (i386-mingw-nt5.1.2600)
of 2012-09-17 on MARVIN
Bzr revision: 110062 cyd <at> gnu.org-20120917054104-r93rtwkrtva73ewe
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include
-ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
-ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12487
; Package
emacs
.
(Sat, 22 Sep 2012 23:11:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 12487 <at> debbugs.gnu.org (full text, mbox):
> You are asked "Buffer foo is modified; save it first (yes or no)".
> (There is no question mark here, BTW.) You reply "no". Then you are
> asked "Kill and replace the buffer without saving it? (yes or no)".
See also http://thread.gmane.org/gmane.emacs.devel/151762
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12487
; Package
emacs
.
(Sat, 22 Sep 2012 23:30:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 12487 <at> debbugs.gnu.org (full text, mbox):
> > You are asked "Buffer foo is modified; save it first (yes or no)".
> > (There is no question mark here, BTW.) You reply "no".
> > Then you are asked "Kill and replace the buffer without saving it?
> > (yes or no)".
>
> See also http://thread.gmane.org/gmane.emacs.devel/151762
Yes, thanks. I will merge them.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12487
; Package
emacs
.
(Sat, 22 Sep 2012 23:32:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 12487 <at> debbugs.gnu.org (full text, mbox):
> > See also http://thread.gmane.org/gmane.emacs.devel/151762
>
> Yes, thanks. I will merge them.
Oops, sorry, I thought that other one was a bug report.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12487
; Package
emacs
.
(Sun, 23 Sep 2012 02:55:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 12487 <at> debbugs.gnu.org (full text, mbox):
> > You are asked "Buffer foo is modified; save it first (yes or no)".
> > (There is no question mark here, BTW.) You reply "no".
> > Then you are asked "Kill and replace the buffer without saving it?
> > (yes or no)".
>
> See also http://thread.gmane.org/gmane.emacs.devel/151762
I really hope this gets fixed. It was much better before (but there was room
for improvement). Now I'm afraid that users will *lose data*.
It is just too easy to answer "yes" to the first question, thinking that it is
asking you to confirm the action that you, after all, asked for (which includes
abandoning any changes to the currently visited file).
`find-alternate-file' is not simply choosing to visit another buffer or file.
It is specifically an abandonment of the current state of the currently visited
file.
Especially for the common use case of using it to revert to the saved state of
the same file (and unmodified in any other way, including display - overlays
etc.). At least for that case, the new interaction is a disaster.
Imagine asking someone whether s?he wants to *save* the current file when s?he
invokes `revert-buffer'! Naturally, we ask exactly the opposite: are you sure
you want to abandon your changes?
We should ask a question (one, not two!) here, but the question should be
phrased in terms of confirming ("yes") that you want to abandon any
modifications. It should not be phrased negatively, asking whether you want to
do something different from what the command intends, i.e., save your changes.
This change made to the user interaction no doubt reflects good intentions, but
it was misguided, IMHO.
Reply sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
You have taken responsibility.
(Mon, 29 Oct 2012 13:33:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Mon, 29 Oct 2012 13:33:01 GMT)
Full text and
rfc822 format available.
Message #22 received at 12487-done <at> debbugs.gnu.org (full text, mbox):
> You are asked "Buffer foo is modified; save it first (yes or no)".
> (There is no question mark here, BTW.) You reply "no". Then you are
> asked "Kill and replace the buffer without saving it? (yes or no)".
> (This time there is a question mark, as there should be.) You ponder a
> minute, then reply "yes".
Agreed. I simply dropped the first question. If the user wants to
save first she can just abort, save, and try again.
Stefan
Forcibly Merged 9577 12487 12941.
Request was from
Glenn Morris <rgm <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Tue, 20 Nov 2012 17:01:01 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 19 Dec 2012 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 187 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.