GNU bug report logs - #3938
23.0.96; regression: minibuffer-message interferes with C-u

Previous Next

Package: emacs;

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

Date: Sun, 26 Jul 2009 23:35:05 UTC

Severity: normal

Tags: fixed

Merged with 5923

Done: npostavs <at> users.sourceforge.net

Bug is archived. No further changes may be made.

Full log


Message #10 received at 3938-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 3938-done <at> debbugs.gnu.org
Subject: Re: 23.0.96; regression: minibuffer-message interferes with C-u
Date: Tue, 28 Jul 2009 11:46:30 -0400
> (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)
>
> 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

The function `sit-for', which `minibuffer-message' uses, treats C-u
specially.  It's easy to get your code to work; just put the call to
`minibuffer-message' after `ensure-overriding-map-is-bound':

(defun test-univ-arg ()
  (interactive)
  (setq prefix-arg                     (list 4)
        universal-argument-num-events  (length (this-command-keys)))
  (ensure-overriding-map-is-bound)
  (minibuffer-message "FOO"))



This bug report was last modified 8 years and 295 days ago.

Previous Next


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