Subject: Re: 26.0.50; Problematic transient map in minibuffer-force-complete

From: Michael Heerdegen <[email-masked]>
Date: Tue, 07 Feb 2017 17:41:35 +0100

Stefan Monnier <[email-masked]> 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.