Subject: bug#4093: closed (Re: bug#10459: Overlay keymaps ignored until point is moved when overlay is created from timer)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 05 Oct 2014 01:22:05 +0000

Your bug report

#10459: Overlay keymap and timers

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].

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

Subject: Re: bug#10459: Overlay keymaps ignored until point is moved when overlay is created from timer
From: Dmitry Gutov <[email-masked]>
To: Toby Cubitt <[email-masked]>
Cc: [email-masked], Stefan Monnier <[email-masked]>
Date: Sun, 05 Oct 2014 05:21:25 +0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 24.4

> On Sun, Jan 08, 2012 at 10:52:54PM -0500, Stefan Monnier wrote:
>> Yes, this is a known limitation: the set of active keymaps is computed
>> before waiting for the next key sequence.

This has been fixed around the start of 24.4 development: the set of
keymaps is recomputed at the start of a key sequence.

The examples in this and merged bugs work for me now. Please feel free
to reopen if you see a case where the problem's not fixed.

Subject: Overlay keymap and timers
From: Mihai Bazon <[email-masked]>
To: [email-masked]
Date: Sun, 9 Aug 2009 16:49:30 +0300

Actually, it seems it hasn't anything to do with overlays:

(defun my-set-keymap-with-timer ()
  (interactive)
  (run-with-timer 0.5 nil (lambda()
                            (use-local-map my-keymap)
                            (message "Done setting keymap"))))

If we eval the following and M-x my-set-keymap-with-timer, the keymap
will only be enforced after the first keypress (i.e. first press of M-n
says "M-n is undefined", but subsequently it works).

Found another thread about this issue here:

   http://www.mail-archive.com/[email-masked]/msg12003.html

Stallman says "we should consider that a serious problem". ;-)

Cheers,
-Mihai