GNU bug report logs -
#25644
26.0.50; Problematic transient map in minibuffer-force-complete
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25644 in the body.
You can then email your comments to 25644 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#25644
; Package
emacs
.
(Tue, 07 Feb 2017 15:53:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Heerdegen <michael_heerdegen <at> web.de>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 07 Feb 2017 15:53:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi,
[I CC Stefan because he has installed the fix for #12221 that added the
code that bites me]
I like to use icomplete-mode, but I prefer to have the bindings of RET
and C-j switched.
This sometimes collides with the transient-map installed by
minibuffer-force-complete.
Here is a random recipe for emacs -Q:
Setup:
#+begin_src emacs-lisp
(icomplete-mode)
(define-key icomplete-minibuffer-map [return] #'icomplete-force-complete-and-exit)
(define-key icomplete-minibuffer-map [(control ?j)] #'exit-minibuffer)
#+end_src
Now (just a silly example):
M-x epatch
- Answer y to the question whether the patch is in a buffer
- Hit RET to confirm the suggested default
Note that nothing happens, or you get a `ding'. The second RET works
OTOH. Without the "Setup" part it works as expected however.
I debugged a bit and found that in the first place, the transient map
installed by minibuffer-force-complete shadows the (my) binding of RET.
Someone with insight into that code (Stefan, probably): am I'm doing
something forbidden, or should we improve that code?
Thanks,
Michael.
In GNU Emacs 26.0.50.15 (x86_64-pc-linux-gnu, GTK+ Version 3.22.7)
of 2017-02-06 built on drachen
Repository revision: d45dbccc5d2360818e70bbb0bc816c62c8cf6cbe
Windowing system distributor 'The X.Org Foundation', version 11.0.11901000
System Description: Debian GNU/Linux 9.0 (stretch)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#25644
; Package
emacs
.
(Tue, 07 Feb 2017 16:24:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
> (define-key icomplete-minibuffer-map [return]
> #'icomplete-force-complete-and-exit)
FWIW, I think this should be
(define-key icomplete-minibuffer-map [?\r]
#'icomplete-force-complete-and-exit)
aka
(define-key icomplete-minibuffer-map (kbd "RET")
#'icomplete-force-complete-and-exit)
> M-x epatch
> - Answer y to the question whether the patch is in a buffer
> - Hit RET to confirm the suggested default
> Note that nothing happens, or you get a `ding'. The second RET works
> OTOH. Without the "Setup" part it works as expected however.
> I debugged a bit and found that in the first place, the transient map
> installed by minibuffer-force-complete shadows the (my) binding of RET.
> Someone with insight into that code (Stefan, probably): am I'm doing
> something forbidden, or should we improve that code?
I can't see anything in your Setup code which justifies the behavior
you're seeing, so it seems like a bug somewhere. Probably in the
case of force-complete-and-exit, we should prevent/disable the transient-map.
BTW, if you do
M-x epatch
- Answer y to the question whether the patch is in a buffer
- C-h k RET
what does it say?
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#25644
; Package
emacs
.
(Tue, 07 Feb 2017 16:42:02 GMT)
Full text and
rfc822 format available.
Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> > (define-key icomplete-minibuffer-map [return]
> > #'icomplete-force-complete-and-exit)
>
> FWIW, I think this should be
>
> (define-key icomplete-minibuffer-map [?\r]
> #'icomplete-force-complete-and-exit)
> aka
> (define-key icomplete-minibuffer-map (kbd "RET")
> #'icomplete-force-complete-and-exit)
Why?
> BTW, if you do
>
> M-x epatch
> - Answer y to the question whether the patch is in a buffer
> - C-h k RET
>
> what does it say?
It says
| <return> runs the command icomplete-force-complete-and-exit, which is
| an interactive compiled Lisp function in `icomplete.el'.
but I know that this is wrong (it doesn't consider the transient map).
This is one reason why I needed more than one hour before I found out
what's going on.
FWIW `interaction-log' says that the command run has been
| #[0 \303.\305\300`\301\302$)\207 [#<marker at 1 in *Minibuf-1*> #[771 \211\301>\203. \302\303\304\305\306.."\307"\310\311%\202. .\312...$\207 [obarray (nil t) make-byte-code 257 \301.!\205. \300\302.!\232\206. \211\303N?\207 vconcat vector [symbol-name byte-obsolete-info] 4
|
| (fn SYM) complete-with-action] 10
|
| (fn STRING PRED ACTION)] commandp nil completion-extra-properties
| completion-in-region] 5 Cycle through the possible completions. nil]
| *Minibuf-1*
Michael.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#25644
; Package
emacs
.
(Wed, 23 Jan 2019 17:39:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 25644 <at> debbugs.gnu.org (full text, mbox):
I believe Joao has recently installed changes to minibuffer.el and
icomplete.el which fincally fix this bug. Could you confirm?
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#25644
; Package
emacs
.
(Thu, 24 Jan 2019 22:55:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 25644 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:
> I believe Joao has recently installed changes to minibuffer.el and
> icomplete.el which fincally fix this bug. Could you confirm?
Can't say for sure, I'm not using icomplete currently. But my original
recipe seems indeed to be fixed.
Thanks,
Michael.
Reply sent
to
Stefan Monnier <monnier <at> IRO.UMontreal.CA>
:
You have taken responsibility.
(Fri, 25 Jan 2019 14:00:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Michael Heerdegen <michael_heerdegen <at> web.de>
:
bug acknowledged by developer.
(Fri, 25 Jan 2019 14:00:03 GMT)
Full text and
rfc822 format available.
Message #22 received at 25644-done <at> debbugs.gnu.org (full text, mbox):
> Can't say for sure, I'm not using icomplete currently. But my original
> recipe seems indeed to be fixed.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 23 Feb 2019 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 118 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.