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

From: Drew Adams <[email-masked]>
Date: Sat, 15 Nov 2014 10:38:25 -0800 (PST)

I don't have a simple recipe, but I doubt that one is needed.  If it
really is then perhaps I will come up with one.

I have some code that calls `y-or-n-p'.  Immediately after it prompts,
`Man-bgproc-sentinel' writes a message to the echo area:

(message "%s man page formatted" (Man-page-from-arguments Man-arguments))

The user thus sees only a message such as "ps man page formatted".
S?he never sees the `y-or-n' prompt.

(Yes, of course as soon as the user tries to hit a key for some reason,
s?he sees the `y-or-n-p' repeat prompt.)

Seems like this is an Emacs bug.  Seems like whenever `y-or-n-p' (or
just `read-key') is waiting for a key, `message' should do nothing.
Either it should echo its message after the key is read or (maybe
better) it should do nothing at all.  As it stands now, this seems like
a basic UI problem, not just a minor annoyance.

FWIW, the context is that I am jumping to a `man' bookmark with code
that can activate the region recorded in the bookmark (not a vanilla
`man' bookmark), and if the region has been relocated (because the
target text has changed) then the user is prompted for whether s?he
wants to save the relocated region limits back to the bookmark.  This
prompting is done by `y-or-n-p'.  But `Man-bgproc-sentinel' then comes
along and overwrites the prompt.

In GNU Emacs 25.0.50.1 (i686-pc-mingw32)
 of 2014-10-20 on LEG570
Bzr revision: 118168 [email-masked]
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --enable-checking=yes,glyphs CPPFLAGS=-DGLYPH_DEBUG=1'