GNU bug report logs -
#5923
23.1.95; minibuffer-message discards input events
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Sat, 10 Apr 2010 16:55:02 UTC
Severity: normal
Tags: fixed
Merged with 3938
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> > > > Attached is the code I use for `C-u' in the minibuffer. I
> > > > hope it helps.
> > >
> > > It does.
> > >
> > > But to tell you the truth the handling of this-command-keys and
> > > universal-argument prefix is much too delicate for me to
> > > understand it, so I'm not surprised it doesn't work quite right
> > > if you mess with it in any non-trivial way.
> >
> > Compare Emacs 22 (and earlier), where there is no bug.
> >
> > The code was changed (C to Lisp, at least), and that
> > introduced the regression.
>
> Also, the code I use is _identical_ to the original code in
> simple.el (Emacs 22
> version), except that it also calls `minibuffer-message'. Is
> that really a
> "non-trivial" change?
>
> (And in Emacs 23, `last-command-event' is used instead of
> `last-command-char' - that is the only difference I can see
> from the Emacs 22 code.)
And changing `last-command-char' in the code to `last-command-event', for Emacs
23, does not fix the problem. It seems that the problem was introduced in the
translation from C to Lisp for the vanilla Emacs code for `minibuffer-message'.
Here is enough of the rest of the code I use to let you execute it and reproduce
the bug without doing anything extra:
(defun icicle-remap (old new map &optional oldmap)
(define-key map (vector 'remap old) new))
(icicle-remap 'universal-argument 'icicle-universal-argument ; `C-u'
minibuffer-local-completion-map (current-global-map))
(icicle-remap 'negative-argument 'icicle-negative-argument ; `M--'
minibuffer-local-completion-map (current-global-map))
(icicle-remap 'digit-argument 'icicle-digit-argument ; `C-9'
minibuffer-local-completion-map (current-global-map))
(defvar icicle-minibuffer-message-ok-p t)
Together with the code I sent before, this provides a full test case. It works
in Emacs 22 and doesn't work in Emacs 23.
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.