Subject: bug#25644: closed (Re: bug#25644: 26.0.50; Problematic transient map in minibuffer-force-complete)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 25 Jan 2019 14:00:03 +0000

Your bug report

#25644: 26.0.50; Problematic transient map in minibuffer-force-complete

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
25644: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25644
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25644: 26.0.50; Problematic transient map in minibuffer-force-complete
From: Stefan Monnier <[email-masked]>
To: [email-masked]
Date: Fri, 25 Jan 2019 08:59:31 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

> Can't say for sure, I'm not using icomplete currently.  But my original
> recipe seems indeed to be fixed.

Subject: 26.0.50; Problematic transient map in minibuffer-force-complete
From: Michael Heerdegen <[email-masked]>
To: [email-masked]
Cc: Stefan Monnier <[email-masked]>
Date: Tue, 07 Feb 2017 16:52:19 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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)