unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: <emacs-pretest-bug@gnu.org>
Subject: bug#3938: 23.0.96; regression: minibuffer-message interferes with C-u
Date: Sun, 26 Jul 2009 16:30:44 -0700	[thread overview]
Message-ID: <CAD1656FC51949788BDCE5A2D545E258@us.oracle.com> (raw)

emacs -Q
 
Eval these:

(defun test-univ-arg ()
  (interactive)
  (setq prefix-arg                     (list 4)
        universal-argument-num-events  (length (this-command-keys)))
  (minibuffer-message "FOO") ; NO GOOD. OK ONLY IF THIS IS REMOVED
  (ensure-overriding-map-is-bound))
 
(defun test2 () (interactive) (describe-function '+))
 
(define-key minibuffer-local-completion-map "\C-f" 'test2)
(define-key minibuffer-local-completion-map
  (vector 'remap 'universal-argument) 'test-univ-arg)
 
Note that the definition of `test-univ-arg' is identical to the
definition of `universal-argument', except for the addition of the
call to `minibuffer-message'.


1. Now do this, without waiting for the 2-sec delay after C-u.
That is, hit C-f immediately after C-u.
 
M-x C-u C-f
 
2. Now do `M-x C-u C-f' again, this time waiting for the delay,
so the minibuffer message `FOO' is no longer displayed, before
hitting `C-f'.
 
#2 has the correct behavior: the input event `C-f' interrupts the
minibuffer message and immediately executes the `C-f' command (the
particular command used is immaterial; I use `describe-function'
just to easily see whether it is executed).
 
In Emacs 23, #1 has this incorrect effect: After C-u, the minibuffer
message FOO is erased, but the `C-f' is not picked up. You must
repeat `C-f' a second time, to get it to be picked up.

Note that if you hit C-f twice even very quickly, then the second
`C-f' is picked up (but not the first). IOW, the problem doesn't
seem to be that the delay has not passed. It seems to be that
only the first input event is ignored if the delay has not
expired. It's hard to hit C-f twice quickly, so I'm not certain
about this, but it seems to be the case.

In Emacs prior to Emacs 23, #1 also had the correct behavior of #2.
IOW, this is a regression.


In GNU Emacs 23.0.96.1 (i386-mingw-nt5.1.2600)
 of 2009-07-09 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
 






             reply	other threads:[~2009-07-26 23:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <877hxsolnt.fsf@stupidchicken.com>
2009-07-26 23:30 ` Drew Adams [this message]
2009-07-28 15:55   ` bug#3938: marked as done (23.0.96; regression: minibuffer-message interferes with C-u) Emacs bug Tracking System
2009-07-28 20:20   ` Emacs bug Tracking System
     [not found]   ` <handler.3938.D3938.12488120693237.notifdone@emacsbugs.donarmstrong.com>
2009-07-28 20:47     ` bug#3938: BUG system seems messed up - I did not close this bug Drew Adams
2009-07-28 21:11       ` Sven Joachim
2009-07-28 21:59         ` Drew Adams
2009-07-29 15:43           ` Stefan Monnier
2009-08-03  5:14 bug#3938: 23.0.96; regression: minibuffer-message interferes with C-u Drew Adams

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=CAD1656FC51949788BDCE5A2D545E258@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=3938@emacsbugs.donarmstrong.com \
    --cc=emacs-pretest-bug@gnu.org \
    /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).