GNU bug report logs - #19064
25.0.50; `message' overwrites `y-or-n-p' prompt, so user misses it

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Sat, 15 Nov 2014 18:39:02 UTC

Severity: wishlist

Tags: confirmed, fixed

Merged with 446, 17272

Found in versions 24.4.50, 25.0.50

Fixed in version 27.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


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

From: Juri Linkov <juri <at> linkov.net>
To: João Távora <joaotavora <at> gmail.com>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 17272 <at> debbugs.gnu.org,
 Lars Ingebrigtsen <larsi <at> gnus.org>, 19064 <at> debbugs.gnu.org
Subject: Re: bug#19064: bug#17272: bug#19064: bug#17272: bug#19064: 25.0.50;
 `message' overwrites `y-or-n-p' prompt, so user misses it
Date: Thu, 21 Nov 2019 23:39:42 +0200
>> It's tempting to do nothing :-), but since the problem is
>> already present with yes-or-no-p too, it should be fixed
>> because it's a general problem affecting other commands too.
>
> I tend to agree, but it's a longstanding thing in Emacs, so I would be
> very wary of touching it (at least until we get some more opinions).

Many other important minibuffer-reading functions already let-bind
enable-recursive-minibuffers to t:

custom-variable-prompt
find-function-read
describe-function
describe-variable
describe-symbol
read-input-method-name
read-char-by-name
read-passwd
and many other.

So yes-or-no-p could do the same because it's important for users to be
able to answer yes/no questions regardless of whether they activated the
minibuffer intentionally or by mistake.

>> The nil value of enable-recursive-minibuffers by default was intended
>> to avoid confusion for beginners unadvisedly typing such sequences as
>> M-x M-x M-x M-x M-x ... to get out from which is not easy.
>
> That may be true, but are you sure there aren't other problems being
> avoided by it?
>
> Let me give you and example: in icomplete-mode, there is a
> post-command-hook that displays some overlays in the minibuffer.  Now,
> if we take your patch, indeed icomplete-mode doesn't have to worry about
> enable-recursive-minibuffers in the example I gave you.  This is good,
> no more error message.  However, that also means that instead of an
> annoying error message, you get another confusing bug where the
> post-command-hook will prevail in the recursive minibuffer, which just
> doesn't make sense when answering just yes-or-no.
>
> In this particular case, I additionally protected the code against this,
> but what I'm saying is that other bugs may be uncovered by your patch
> that are today hidden behind the annoying-but-reasonable error message.

All experienced Emacs users have enable-recursive-minibuffers enabled,
so everything should work regardless of the value of enable-recursive-minibuffers.




This bug report was last modified 5 years and 173 days ago.

Previous Next


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