[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5923: 23.1.95; minibuffer-message discards input events
From: |
Drew Adams |
Subject: |
bug#5923: 23.1.95; minibuffer-message discards input events |
Date: |
Sun, 18 Apr 2010 23:09:31 -0700 |
> > > > 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.
- bug#5923: 23.1.95; minibuffer-message discards input events, Drew Adams, 2010/04/10
- bug#5923: 23.1.95; minibuffer-message discards input events, Stefan Monnier, 2010/04/10
- bug#5923: 23.1.95; minibuffer-message discards input events, Drew Adams, 2010/04/10
- bug#5923: 23.1.95; minibuffer-message discards input events, Stefan Monnier, 2010/04/13
- bug#5923: 23.1.95; minibuffer-message discards input events, Drew Adams, 2010/04/14
- bug#5923: 23.1.95; minibuffer-message discards input events, Drew Adams, 2010/04/19
- bug#5923: 23.1.95; minibuffer-message discards input events,
Drew Adams <=
- bug#5923: 23.1.95; minibuffer-message discards input events, Drew Adams, 2010/04/20
- bug#5923: 23.1.95; minibuffer-message discards input events, Drew Adams, 2010/04/20
- bug#5923: 23.1.95; minibuffer-message discards input events, Drew Adams, 2010/04/20