From unknown Fri Jun 20 07:18:06 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#4093 <4093@debbugs.gnu.org> To: bug#4093 <4093@debbugs.gnu.org> Subject: Status: Overlay keymap and timers Reply-To: bug#4093 <4093@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:18:06 +0000 retitle 4093 Overlay keymap and timers reassign 4093 emacs submitter 4093 Mihai Bazon severity 4093 normal thanks From mihai@bazon.net Sun Aug 9 06:53:14 2009 Received: (at submit) by emacsbugs.donarmstrong.com; 9 Aug 2009 13:53:14 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=0.0 required=4.0 tests=none autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n79DrCRT002939 for ; Sun, 9 Aug 2009 06:53:13 -0700 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ma8pk-0004Vl-0g for bug-gnu-emacs@gnu.org; Sun, 09 Aug 2009 09:53:12 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ma8pj-0004VX-3E for bug-gnu-emacs@gnu.org; Sun, 09 Aug 2009 09:53:11 -0400 Received: from [199.232.76.173] (port=56322 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ma8pi-0004VS-Vw for bug-gnu-emacs@gnu.org; Sun, 09 Aug 2009 09:53:11 -0400 Received: from ip-72-55-183-145.static.privatedns.com ([72.55.183.145]:41142 helo=v1.dynarch.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Ma8pi-0006Gd-M3 for bug-gnu-emacs@gnu.org; Sun, 09 Aug 2009 09:53:10 -0400 Received: by v1.dynarch.com (Postfix, from userid 5001) id 8E16A1DCC61; Sun, 9 Aug 2009 16:49:31 +0300 (EEST) Received: from v3.dynarch.com (ip-72-55-183-147.static.privatedns.com [72.55.183.147]) by v1.dynarch.com (Postfix) with SMTP id E2D8C1DCC5D for ; Sun, 9 Aug 2009 16:49:30 +0300 (EEST) Received: (nullmailer pid 1698 invoked by uid 65534); Sun, 09 Aug 2009 13:49:30 -0000 MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF8" Date: Sun, 9 Aug 2009 16:49:30 +0300 Subject: Overlay keymap and timers To: bug-gnu-emacs@gnu.org From: Mihai Bazon X-Mailer: XUHEKI - Dynarch.com WebMail Message-Id: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-Greylist: delayed 102278 seconds by postgrey-1.27 at monty-python; Sun, 09 Aug 2009 09:53:10 EDT 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/emacs-pretest-bug@gnu.org/msg12003.html Stallman says "we should consider that a serious problem". ;-) Cheers, -Mihai= From lennart.borgman@gmail.com Sun Aug 9 13:56:51 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 9 Aug 2009 20:56:52 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.3 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mail-yw0-f175.google.com (mail-yw0-f175.google.com [209.85.211.175]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n79Kuow4014845 for <4093@emacsbugs.donarmstrong.com>; Sun, 9 Aug 2009 13:56:51 -0700 Received: by ywh5 with SMTP id 5so3476232ywh.13 for <4093@emacsbugs.donarmstrong.com>; Sun, 09 Aug 2009 13:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=mXz/HO7BQFnR54YvjPdsv1s2WA5uOGEGBrFZOlcpk1E=; b=PUMVBuubN0dOzC5mauvty2vCcWPFh95aG5ksdBbn6DaGUKOOAgOcqf8W2QmoQbXks0 5zYubD6klSjupju3rsRV+tRBP3Co27EuYFgfE66ZVDUJlasOC+jKwTsT3HqGwQ79sm45 dRo94sjbH0a7501bIsStzHnBF6ixnIoyADtz4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=f/q23ADLx4nj5nQPvtgicmOm4PTRIdtTATnRJKRsFfJUXpe/uep9kUfJWt4xiiFz67 He0Rhygs6NUcr9IjtSbWVVXh0qEszfdAOJZdM2kbYUSAmcxDI/qjZesJT9QcoigBUDFG z/VAo/RbDl8vexmtBtCoH5+N3EVlqcbi+qgd0= MIME-Version: 1.0 Received: by 10.100.8.4 with SMTP id 4mr2670554anh.146.1249851405079; Sun, 09 Aug 2009 13:56:45 -0700 (PDT) In-Reply-To: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> Date: Sun, 9 Aug 2009 22:56:45 +0200 Message-ID: Subject: Re: bug#4093: Overlay keymap and timers From: Lennart Borgman To: Mihai Bazon , 4093@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Yes, this is a really bad thing - sometimes, ie when you need to do just th= at. Is there any fundamental difficulty with fixing this? On Sun, Aug 9, 2009 at 3:49 PM, Mihai Bazon wrote: > Actually, it seems it hasn't anything to do with overlays: > > (defun my-set-keymap-with-timer () > =C2=A0(interactive) > =C2=A0(run-with-timer 0.5 nil (lambda() > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(use-local-map my-keymap) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(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: > > =C2=A0 http://www.mail-archive.com/emacs-pretest-bug@gnu.org/msg12003.htm= l > > Stallman says "we should consider that a serious problem". ;-) From mihai@bazon.net Sun Aug 9 14:27:37 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 9 Aug 2009 21:27:37 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.0 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from v1.dynarch.com (ip-72-55-183-145.static.privatedns.com [72.55.183.145]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n79LRaUR018394 for <4093@emacsbugs.donarmstrong.com>; Sun, 9 Aug 2009 14:27:37 -0700 Received: by v1.dynarch.com (Postfix, from userid 5001) id D78181DCC61; Mon, 10 Aug 2009 00:23:52 +0300 (EEST) Received: from v3.dynarch.com (ip-72-55-183-147.static.privatedns.com [72.55.183.147]) by v1.dynarch.com (Postfix) with SMTP id 82A0F1DCC5E; Mon, 10 Aug 2009 00:23:47 +0300 (EEST) Received: (nullmailer pid 13894 invoked by uid 65534); Sun, 09 Aug 2009 21:23:47 -0000 MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF8" Date: Mon, 10 Aug 2009 00:23:47 +0300 Cc: 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> To: Lennart Borgman From: Mihai Bazon In-Reply-To: X-Mailer: XUHEKI - Dynarch.com WebMail Message-Id: <9db73bcfc76b988a47fb3c4eed1875de@bazon.net> Sorry, looks like I accidentally started a new bug, but this is really a follow up to http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D4081 Should be marked as duplicate, or whatever.. Lennart Borgman wrote: > Yes, this is a really bad thing But indeed, it is bad... I'm calling (top-level) for now, but it's not nice. Cheers, -Mihai= From monnier@iro.umontreal.ca Sun Aug 9 21:06:55 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 04:06:56 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-5.0 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from ironport2-out.teksavvy.com (ironport2-out.teksavvy.com [206.248.154.182]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7A46sfc026657 for <4093@emacsbugs.donarmstrong.com>; Sun, 9 Aug 2009 21:06:55 -0700 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqYEAEo5f0pFxL8W/2dsb2JhbACBUspuhBgFhzg X-IronPort-AV: E=Sophos;i="4.43,351,1246852800"; d="scan'208";a="43226641" Received: from 69-196-191-22.dsl.teksavvy.com (HELO ceviche.home) ([69.196.191.22]) by ironport2-out.teksavvy.com with ESMTP; 10 Aug 2009 00:06:35 -0400 Received: by ceviche.home (Postfix, from userid 20848) id E323BB454F; Mon, 10 Aug 2009 00:06:47 -0400 (EDT) From: Stefan Monnier To: Lennart Borgman Cc: 4093@debbugs.gnu.org, Mihai Bazon Subject: Re: bug#4093: Overlay keymap and timers Message-ID: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> Date: Mon, 10 Aug 2009 00:06:47 -0400 In-Reply-To: (Lennart Borgman's message of "Sun, 9 Aug 2009 22:56:45 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > Yes, this is a really bad thing - sometimes, ie when you need to do > just that. The code in keyboard.c reads the set of active keymaps before reading the next event. That's most likely the explanation for this behavior. > Is there any fundamental difficulty with fixing this? It seems the relevant code is trying to do something clever in case of low-memory situations, so we may bump into surprises, but other than that, I can't think of any reason why it should be difficult. Stefan From mihai@bazon.net Sun Aug 9 23:59:10 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 06:59:10 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.8 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from v1.dynarch.com (ip-72-55-183-145.static.privatedns.com [72.55.183.145]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7A6x9fa009875 for <4093@emacsbugs.donarmstrong.com>; Sun, 9 Aug 2009 23:59:10 -0700 Received: by v1.dynarch.com (Postfix, from userid 5001) id 413C61DCC61; Mon, 10 Aug 2009 09:55:25 +0300 (EEST) Received: from v3.dynarch.com (ip-72-55-183-147.static.privatedns.com [72.55.183.147]) by v1.dynarch.com (Postfix) with SMTP id A05321DCC5E; Mon, 10 Aug 2009 09:55:24 +0300 (EEST) Received: (nullmailer pid 29605 invoked by uid 65534); Mon, 10 Aug 2009 06:55:24 -0000 MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF8" Date: Mon, 10 Aug 2009 09:55:24 +0300 Cc: Lennart Borgman , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> To: Stefan Monnier From: Mihai Bazon In-Reply-To: X-Mailer: XUHEKI - Dynarch.com WebMail Message-Id: <8d0e98985fc5a0229f138935490f4f6a@bazon.net> Stefan Monnier wrote: > > Yes, this is a really bad thing - sometimes, ie when you need to do > > just that. >=20 > The code in keyboard.c reads the set of active keymaps before reading > the next event. That's most likely the explanation for this behavior. What you are saying does actually make sense. If it set the keymap *before* serving an event, it should work fine. But I think what happens is that it sets the keymap *after* executing an event... I looked at the code but couldn't figure out where is the keymap computed. Could you point it out? Cheers, -Mihai= From monnier@iro.umontreal.ca Mon Aug 10 09:25:32 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 16:25:33 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from tomts16-srv.bellnexxia.net (tomts16-srv.bellnexxia.net [209.226.175.4]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AGPV0l003232 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 09:25:32 -0700 Received: from toip6.srvr.bell.ca ([209.226.175.125]) by tomts16-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20090810162530.FUWP13336.tomts16-srv.bellnexxia.net@toip6.srvr.bell.ca> for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 12:25:30 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApsEANvkf0pGN48s/2dsb2JhbACBUs8JhBgF Received: from bas1-montreal42-1178046252.dsl.bell.ca (HELO ceviche.home) ([70.55.143.44]) by toip6.srvr.bell.ca with ESMTP; 10 Aug 2009 12:18:14 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 2FE1DB454F; Mon, 10 Aug 2009 12:25:30 -0400 (EDT) From: Stefan Monnier To: Mihai Bazon Cc: Lennart Borgman , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers Message-ID: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> Date: Mon, 10 Aug 2009 12:25:30 -0400 In-Reply-To: <8d0e98985fc5a0229f138935490f4f6a@bazon.net> (Mihai Bazon's message of "Mon, 10 Aug 2009 09:55:24 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii >> > Yes, this is a really bad thing - sometimes, ie when you need to do >> > just that. >> The code in keyboard.c reads the set of active keymaps before reading >> the next event. That's most likely the explanation for this behavior. > What you are saying does actually make sense. If it set the keymap > *before* serving an event, it should work fine. But I think what > happens is that it sets the keymap *after* executing an event... > I looked at the code but couldn't figure out where is the keymap > computed. Could you point it out? The relevant code is in .... read_key_sequence! (only those who've had to deal with this function understand the "...."). You'll see that it first collects all the active keyamps (see where it calls current_minor_maps), and later on calls read_char (which can do redisplay, run timers, run process filters, etc...). Basically the problem in the case of changing the keymap from a timer comes down to: what happens if the use presses C-c, then your code runs then the user presses C-d: should the C-c C-d be looked up in the original keymaps or in the new keymaps? you worry about the case where the timer is run before the C-c, but from Emacs's current point of view, it's no different whether the timer is run after 1 key-press, or after 2 key-presses, or after 0 key-presses. We can probably change the code to collect the list of active keymaps later (e.g. right after the first key-press). But maybe an alternative is to provide some way for your Elisp code to cause a jump back to `replay_sequence' so that you can force the C-c C-d to be interpreted in the new keymaps even if the C-c had already been pressed when your code was run. In any case, this function is a monster, so I'll only consider changes to it if it makes it simpler (typically by moving code out of it into some new function). Maybe the idea of a new "need-to-replay-sequence" variable could be a good way to simplify the code: we could maybe arrange for most other "goto replay_sequence" to use this new var (i.e. replace the current code that checks some relevant condition, by some piece of code elsewhere (where that condition is created) which sets the var). Stefan From lennart.borgman@gmail.com Mon Aug 10 09:30:29 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 16:30:29 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.3 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.242]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AGURgC003678 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 09:30:29 -0700 Received: by an-out-0708.google.com with SMTP id b2so1167724ana.31 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 09:30:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Jesk2WFHNXlbaPd/OR5d5LkX++CB8f7CtIoF8aJV2Rg=; b=eiwmNnVi2p2IWGCkVQd8o8ZNWd1moIDoCfFWiBespIJ5oD29AX45uXK00dmklynvwg QmMr60zhSq3DXnb9k+lThZNZwzCk2vXWOWIHbNh/nfiE/J2J+LG89FgGDXIs/ilhDmle UV8F+w/8F1rMWXfRywfrIWcPiSVsJHQnZzkCk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=QNc8FCiFCFQHZn93h4c8KuFAR/CjzPmpqb1eFyDwuYL0IoWjnqR2KU7urxXlAZh0Rk +mJsDjKkkeRD9GbVpoaMrbhdB45Of/xbaYhpCGqsbVGqCB0PPlBILvajkoN8AgYLTxAA YknugcoTWT14JFhb+5bKSK1RZvkLbZqqrOmSc= MIME-Version: 1.0 Received: by 10.100.106.12 with SMTP id e12mr3856924anc.89.1249921827382; Mon, 10 Aug 2009 09:30:27 -0700 (PDT) In-Reply-To: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> Date: Mon, 10 Aug 2009 18:30:27 +0200 Message-ID: Subject: Re: bug#4093: Overlay keymap and timers From: Lennart Borgman To: Stefan Monnier Cc: Mihai Bazon , 4093@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On Mon, Aug 10, 2009 at 6:25 PM, Stefan Monnier wrote: > But maybe an alternative is to provide some way for your Elisp code to > cause a jump back to `replay_sequence' so that you can force the C-c C-d > to be interpreted in the new keymaps even if the C-c had already been > pressed when your code was run. Sounds good. Would it perhaps be most easy to implement a `please-replay-sequence' function that tells the command loop to go one more turn and check the keymaps again and reuse the pending input? From monnier@iro.umontreal.ca Mon Aug 10 10:38:11 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 17:38:12 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from tomts10-srv.bellnexxia.net (tomts10-srv.bellnexxia.net [209.226.175.54]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AHcA7D010630 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 10:38:11 -0700 Received: from toip7.srvr.bell.ca ([209.226.175.124]) by tomts10-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20090810173809.YEHN12711.tomts10-srv.bellnexxia.net@toip7.srvr.bell.ca> for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 13:38:09 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApsEAH/1f0pGN48s/2dsb2JhbACBUs9GhBgF Received: from bas1-montreal42-1178046252.dsl.bell.ca (HELO ceviche.home) ([70.55.143.44]) by toip7.srvr.bell.ca with ESMTP; 10 Aug 2009 13:40:57 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 4243FB454F; Mon, 10 Aug 2009 13:38:09 -0400 (EDT) From: Stefan Monnier To: Lennart Borgman Cc: Mihai Bazon , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers Message-ID: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> Date: Mon, 10 Aug 2009 13:38:09 -0400 In-Reply-To: (Lennart Borgman's message of "Mon, 10 Aug 2009 18:30:27 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii >> But maybe an alternative is to provide some way for your Elisp code to >> cause a jump back to `replay_sequence' so that you can force the C-c C-d >> to be interpreted in the new keymaps even if the C-c had already been >> pressed when your code was run. > Sounds good. Would it perhaps be most easy to implement > a `please-replay-sequence' function that tells the command loop to go > one more turn and check the keymaps again and reuse the pending input? That function couldn't do much more than set a variable and return. So yes, it could be done and would have the advantage of making it possible to keep the variable hidden from Elisp. Not sure if that advantage is of any significance, tho. Stefan From lennart.borgman@gmail.com Mon Aug 10 10:42:17 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 17:42:18 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.4 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.249]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AHgGcd011073 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 10:42:17 -0700 Received: by an-out-0708.google.com with SMTP id b2so1188805ana.31 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 10:42:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Qq9Y7xXAmzZoJFtzqfl/1sOgF2PFoNC1F8DTUjx+jrk=; b=VZu00RyTlxHeMsPkJ+nJunN3KL4AtK9sV2XxBCeC1h6h21Cilt86I9boEVVhSsMJhH A9V5N/bwqCKU3purT+JMbhg+OcanlA+ACFZ2rnQOSgH5lYfk+nL7jGJq3AF+kZA1yD2F k8Hj9oaMma5VoNVHnvBDSQF2+0JHOPvUnhjm8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=FkEZyIPhmBX+keWzQBuK0kGISPdMOUT83F49yHTZzhBQC10QEyYPRsvfRZ+0YaJC93 prpLflfnQTCciGp0XTICIstaqbhOtkAQRcErFD7Ur/8eDSKP4eUj5taA/nHdv1JiY8Gu /aSeIYMYtb+hqmIzt/14q9ZGIBBRDqvoV6x50= MIME-Version: 1.0 Received: by 10.100.96.4 with SMTP id t4mr3911268anb.170.1249926135814; Mon, 10 Aug 2009 10:42:15 -0700 (PDT) In-Reply-To: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> Date: Mon, 10 Aug 2009 19:42:15 +0200 Message-ID: Subject: Re: bug#4093: Overlay keymap and timers From: Lennart Borgman To: Stefan Monnier Cc: Mihai Bazon , 4093@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Aug 10, 2009 at 7:38 PM, Stefan Monnier w= rote: >>> But maybe an alternative is to provide some way for your Elisp code to >>> cause a jump back to `replay_sequence' so that you can force the C-c C-= d >>> to be interpreted in the new keymaps even if the C-c had already been >>> pressed when your code was run. >> Sounds good. =C2=A0Would it perhaps be most easy to implement >> a `please-replay-sequence' function that tells the command loop to go >> one more turn and check the keymaps again and reuse the pending input? > > That function couldn't do much more than set a variable and return. > So yes, it could be done and would have the advantage of making it > possible to keep the variable hidden from Elisp. =C2=A0Not sure if that > advantage is of any significance, tho. You mean it is the same approach as you were thinking of? Then I think the "active voice" used to call the function makes it a bit easier to understand, but maybe that is just me. Also you can't really doubt how to use it. From monnier@iro.umontreal.ca Mon Aug 10 11:18:01 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 18:18:01 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.0 required=4.0 tests=HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from tomts10-srv.bellnexxia.net (tomts10.bellnexxia.net [209.226.175.54]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AIHxdp015093 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 11:18:00 -0700 Received: from toip3.srvr.bell.ca ([209.226.175.86]) by tomts10-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20090810181759.YOAH12711.tomts10-srv.bellnexxia.net@toip3.srvr.bell.ca> for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 14:17:59 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApsEAHf9f0pGN48s/2dsb2JhbACBUc9XhBgF Received: from bas1-montreal42-1178046252.dsl.bell.ca (HELO ceviche.home) ([70.55.143.44]) by toip3.srvr.bell.ca with ESMTP; 10 Aug 2009 14:10:16 -0400 Received: by ceviche.home (Postfix, from userid 20848) id A40F2B454F; Mon, 10 Aug 2009 14:17:52 -0400 (EDT) From: Stefan Monnier To: Lennart Borgman Cc: Mihai Bazon , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers Message-ID: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> Date: Mon, 10 Aug 2009 14:17:52 -0400 In-Reply-To: (Lennart Borgman's message of "Mon, 10 Aug 2009 19:42:15 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > You mean it is the same approach as you were thinking of? Pretty much. I was thinking of (setq need-to-replay-sequence t) instead. > Then I think the "active voice" used to call the function makes it > a bit easier to understand, but maybe that is just me. To me it sounds a bit misleading since the replay does not happen during the function call. But `force-mode-line-update' does it like you propose, so it's not that different. > Also you can't really doubt how to use it. Indeed, especially if it doesn't take any arguments ;-). Stefan From mihai@bazon.net Mon Aug 10 11:30:10 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 18:30:10 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,HAS_BUG_NUMBER, MDO_DATING2 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from v1.dynarch.com (ip-72-55-183-145.static.privatedns.com [72.55.183.145]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AIU9Ro016162 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 11:30:10 -0700 Received: by v1.dynarch.com (Postfix, from userid 5001) id BFCD91DCC61; Mon, 10 Aug 2009 21:26:24 +0300 (EEST) Received: from v3.dynarch.com (ip-72-55-183-147.static.privatedns.com [72.55.183.147]) by v1.dynarch.com (Postfix) with SMTP id E74C81DCC5E; Mon, 10 Aug 2009 21:26:23 +0300 (EEST) Received: (nullmailer pid 22548 invoked by uid 65534); Mon, 10 Aug 2009 18:26:23 -0000 MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF8" Date: Mon, 10 Aug 2009 21:26:23 +0300 Cc: Lennart Borgman , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> To: Stefan Monnier From: Mihai Bazon In-Reply-To: X-Mailer: XUHEKI - Dynarch.com WebMail Message-Id: <5f77467962473de6f883e85a8259fed2@bazon.net> Stefan Monnier wrote: >=20 > Basically the problem in the case of changing the keymap from a timer > comes down to: >=20 > what happens if the use presses C-c, then your code runs then the user > presses C-d: should the C-c C-d be looked up in the original keymaps > or in the new keymaps? That's a good question. As an user, if I start typing a combined key binding then I would expect it to work regardless of whatever happened in a timer in between. So indeed, it can be a problem to allow a timer to set a new keymap in this case. But if there's no prefix key already typed, it would be great if use-local-map actually did what it's supposed to do, even when ran with a timer. Perhaps the proper solution would involve saving the current keymap when a prefix key has been pressed, and use that keymap until it results in a command or it's canceled. If a timer changes the keymap in between, the new keymap should apply only after any pending key binding has been finished. Not sure if this is doable... I'm sorry I don't have any knowledge of Emacs internals, and only limited Lisp knowledge anyway, but I'd love to see a decent work-around for this... Cheers, -Mihai= From lennart.borgman@gmail.com Mon Aug 10 11:32:34 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 10 Aug 2009 18:32:34 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.4 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.248]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AIWW9G016487 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 11:32:34 -0700 Received: by an-out-0708.google.com with SMTP id b2so1202724ana.31 for <4093@emacsbugs.donarmstrong.com>; Mon, 10 Aug 2009 11:32:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=q9MXNE/ZjcAKsTxlMOMUZpmzurybOkVogrkMUwQzfHQ=; b=tlE9v5upycEsJ27nnvPEkVWho+45a4cVUBHQ0KKGnRpi6Mu08yt88V2oQwxNkzbFqk dXwOxB//6P6x+9YR6snh/IJXJaRVdjIrz2hK34fQp0qKSDukxcoZ7jV5m/3tg9V1YZoS cht1w+0TQq2af/vRf3jI7JMytHmXIGx9r9Czc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=bqB7KAGeDG12d8iNtL3Xll+3gz5O6JlYvGwk/b2uitRDzh86c8oyoOyis2Yl50qNw8 RnCrG5GLAorshLrKKHe3I/sPA4WcMHOYGYE5zl0QzX8XXEvvr0ZxEAqgi/xJeYG46JXv IYrfAmHSdHkBvmxUPnMeDtM/Otnm6nbv39k9Q= MIME-Version: 1.0 Received: by 10.100.127.17 with SMTP id z17mr4043786anc.153.1249929152544; Mon, 10 Aug 2009 11:32:32 -0700 (PDT) In-Reply-To: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> Date: Mon, 10 Aug 2009 20:32:32 +0200 Message-ID: Subject: Re: bug#4093: Overlay keymap and timers From: Lennart Borgman To: Stefan Monnier Cc: Mihai Bazon , 4093@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Aug 10, 2009 at 8:17 PM, Stefan Monnier w= rote: >> You mean it is the same approach as you were thinking of? > > Pretty much. =C2=A0I was thinking of (setq need-to-replay-sequence t) ins= tead. > >> Then I think the "active voice" used to call the function makes it >> a bit easier to understand, but maybe that is just me. > > To me it sounds a bit misleading since the replay does not happen during > the function call. =C2=A0But `force-mode-line-update' does it like you > propose, so it's not that different. Maybe a better name. But this is of course not as important as the feature. I do not think that there are many people who dares to touch this part of the code, but I may be misunderstanding that totally... From rgm@gnu.org Mon Aug 10 13:55:48 2009 Received: (at control) by emacsbugs.donarmstrong.com; 10 Aug 2009 20:55:48 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.5 required=4.0 tests=AWL,ONEWORD autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7AKtkh9030770 for ; Mon, 10 Aug 2009 13:55:48 -0700 Received: from rgm by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1MabuD-0004wr-42; Mon, 10 Aug 2009 16:55:45 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19072.35153.46871.538804@fencepost.gnu.org> Date: Mon, 10 Aug 2009 16:55:45 -0400 From: Glenn Morris To: control Subject: control merge 4082 3420 reassign 4084 notemacs tags 3420 unreproducible forcemerge 1750 4109 reassign 4092 emacs,ns reassign 4070 emacs,ns merge 4093 4081 From mihai@bazon.net Tue Aug 11 09:53:27 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 11 Aug 2009 16:53:27 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.2 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from v1.dynarch.com (ip-72-55-183-145.static.privatedns.com [72.55.183.145]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7BGrPGJ031131 for <4093@emacsbugs.donarmstrong.com>; Tue, 11 Aug 2009 09:53:27 -0700 Received: by v1.dynarch.com (Postfix, from userid 5001) id 4E8A61D80003; Tue, 11 Aug 2009 19:49:40 +0300 (EEST) Received: from v3.dynarch.com (ip-72-55-183-147.static.privatedns.com [72.55.183.147]) by v1.dynarch.com (Postfix) with SMTP id 61B3D1D80003; Tue, 11 Aug 2009 19:49:39 +0300 (EEST) Received: (nullmailer pid 1625 invoked by uid 65534); Tue, 11 Aug 2009 16:49:39 -0000 MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF8" Date: Tue, 11 Aug 2009 19:49:39 +0300 Cc: Lennart Borgman , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> To: Stefan Monnier From: Mihai Bazon In-Reply-To: X-Mailer: XUHEKI - Dynarch.com WebMail Message-Id: <3db84103d8c5db51b3dd6bba4c267a84@bazon.net> Indeed, that function looks frightening. It's worth noting that XEmacs doesn't have this problem. But the code differs drastically.. Hard to figure out a simple fix. -M Stefan Monnier wrote: > >> > Yes, this is a really bad thing - sometimes, ie when you need to do > >> > just that. > >> The code in keyboard.c reads the set of active keymaps before reading > >> the next event. That's most likely the explanation for this behavior. > > What you are saying does actually make sense. If it set the keymap > > *before* serving an event, it should work fine. But I think what > > happens is that it sets the keymap *after* executing an event... >=20 > > I looked at the code but couldn't figure out where is the keymap > > computed. Could you point it out? >=20 > The relevant code is in .... read_key_sequence! (only those who've had > to deal with this function understand the "...."). >=20 > You'll see that it first collects all the active keyamps (see where it > calls current_minor_maps), and later on calls read_char (which can do > redisplay, run timers, run process filters, etc...). >=20 > Basically the problem in the case of changing the keymap from a timer > comes down to: >=20 > what happens if the use presses C-c, then your code runs then the user > presses C-d: should the C-c C-d be looked up in the original keymaps > or in the new keymaps? >=20 > you worry about the case where the timer is run before the C-c, but from > Emacs's current point of view, it's no different whether the timer is > run after 1 key-press, or after 2 key-presses, or after 0 key-presses. >=20 > We can probably change the code to collect the list of active keymaps > later (e.g. right after the first key-press). > But maybe an alternative is to provide some way for your Elisp code to > cause a jump back to `replay_sequence' so that you can force the C-c C-d > to be interpreted in the new keymaps even if the C-c had already been > pressed when your code was run. >=20 > In any case, this function is a monster, so I'll only consider changes > to it if it makes it simpler (typically by moving code out of it into > some new function). Maybe the idea of a new "need-to-replay-sequence" > variable could be a good way to simplify the code: we could maybe > arrange for most other "goto replay_sequence" to use this new var > (i.e. replace the current code that checks some relevant condition, by > some piece of code elsewhere (where that condition is created) which > sets the var). >=20 >=20 > Stefan= From monnier@IRO.UMontreal.CA Thu Aug 13 10:33:28 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 13 Aug 2009 17:33:28 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-4.3 required=4.0 tests=AWL,FOURLA,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from pruche.dit.umontreal.ca (pruche.dit.umontreal.ca [132.204.246.22]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7DHXPuB004325 for <4093@emacsbugs.donarmstrong.com>; Thu, 13 Aug 2009 10:33:27 -0700 Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id n7DHXOMk019649; Thu, 13 Aug 2009 13:33:24 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 1B1199015C; Thu, 13 Aug 2009 13:33:24 -0400 (EDT) From: Stefan Monnier To: Mihai Bazon Cc: Lennart Borgman , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers Message-ID: References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> <3db84103d8c5db51b3dd6bba4c267a84@bazon.net> Date: Thu, 13 Aug 2009 13:33:24 -0400 In-Reply-To: <3db84103d8c5db51b3dd6bba4c267a84@bazon.net> (Mihai Bazon's message of "Tue, 11 Aug 2009 19:49:39 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV3340=0 > Indeed, that function looks frightening. I hoped you'd find it challenging. Oh well! > It's worth noting that XEmacs doesn't have this problem. IIRC XEmacs's equivalent function restarts the whole work after every event, so they look up the keymaps anew, and look them all up anew (kind of like always jumping back to replay_sequence except that it additionally recomputes the active keymaps). > But the code differs drastically.. Yes, the algorithm is completely different. I have a feeling it's related to the "frightening" above... nah! Stefan From mihai@bazon.net Thu Aug 13 10:53:12 2009 Received: (at 4093) by emacsbugs.donarmstrong.com; 13 Aug 2009 17:53:13 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.2 required=4.0 tests=AWL,HAS_BUG_NUMBER, MDO_DATING2 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from v1.dynarch.com (ip-72-55-183-145.static.privatedns.com [72.55.183.145]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n7DHrBZc007743 for <4093@emacsbugs.donarmstrong.com>; Thu, 13 Aug 2009 10:53:12 -0700 Received: by v1.dynarch.com (Postfix, from userid 5001) id CB0A61D80003; Thu, 13 Aug 2009 20:49:23 +0300 (EEST) Received: from v3.dynarch.com (ip-72-55-183-147.static.privatedns.com [72.55.183.147]) by v1.dynarch.com (Postfix) with SMTP id 430311D80001; Thu, 13 Aug 2009 20:49:23 +0300 (EEST) Received: (nullmailer pid 7369 invoked by uid 65534); Thu, 13 Aug 2009 17:49:23 -0000 MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF8" Date: Thu, 13 Aug 2009 20:49:23 +0300 Cc: Lennart Borgman , 4093@debbugs.gnu.org Subject: Re: bug#4093: Overlay keymap and timers References: <680d89b1d020330a6cb4001845e1e5fb@bazon.net> <8d0e98985fc5a0229f138935490f4f6a@bazon.net> <3db84103d8c5db51b3dd6bba4c267a84@bazon.net> To: Stefan Monnier From: Mihai Bazon In-Reply-To: X-Mailer: XUHEKI - Dynarch.com WebMail Message-Id: Stefan Monnier wrote: > > Indeed, that function looks frightening. >=20 > I hoped you'd find it challenging. Oh well! I'd love to find it challenging, but I don't have time for this, sorry... :-( If I felt competitive enough to fix it within hours, or even days, I'd get on it. But my C skills, though once pretty good, are long forgotten -- not to mention that that code requires knowledge far beyond "C", you actually have to know some intimate Emacs internals. We'll live with it. -M.= From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 25 15:03:57 2012 Received: (at control) by debbugs.gnu.org; 25 Mar 2012 19:03:57 +0000 Received: from localhost ([127.0.0.1]:38547 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SBsjN-0001Ln-3q for submit@debbugs.gnu.org; Sun, 25 Mar 2012 15:03:57 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:35842) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SBsj3-0001Kq-1q for control@debbugs.gnu.org; Sun, 25 Mar 2012 15:03:55 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1SBsEx-0004Aq-9Y for control@debbugs.gnu.org; Sun, 25 Mar 2012 14:32:31 -0400 Date: Sun, 25 Mar 2012 14:32:31 -0400 Message-Id: Subject: control message for bug 11088 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) merge 4081 11088 From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 25 15:04:19 2012 Received: (at control) by debbugs.gnu.org; 25 Mar 2012 19:04:19 +0000 Received: from localhost ([127.0.0.1]:38551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SBsji-0001NE-G2 for submit@debbugs.gnu.org; Sun, 25 Mar 2012 15:04:18 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:35847) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SBsjg-0001N5-Lv for control@debbugs.gnu.org; Sun, 25 Mar 2012 15:04:17 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1SBsFa-0004C0-UX for control@debbugs.gnu.org; Sun, 25 Mar 2012 14:33:11 -0400 Date: Sun, 25 Mar 2012 14:33:10 -0400 Message-Id: Subject: control message for bug 10459 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) merge 4081 10459 From unknown Fri Jun 20 07:18:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 02 Nov 2014 12:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator