From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 23 13:50:24 2013 Received: (at submit) by debbugs.gnu.org; 23 Feb 2013 18:50:24 +0000 Received: from localhost ([127.0.0.1]:46002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9KAx-0007K3-7I for submit@debbugs.gnu.org; Sat, 23 Feb 2013 13:50:24 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41837) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9DTQ-00058c-66 for submit@debbugs.gnu.org; Sat, 23 Feb 2013 06:41:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U9DRq-00059C-5L for submit@debbugs.gnu.org; Sat, 23 Feb 2013 06:39:32 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:44508) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U9DRq-000596-26 for submit@debbugs.gnu.org; Sat, 23 Feb 2013 06:39:22 -0500 Received: from eggs.gnu.org ([208.118.235.92]:53126) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U9DRg-0004mP-AS for bug-gnu-emacs@gnu.org; Sat, 23 Feb 2013 06:39:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U9DRb-0004tJ-Gv for bug-gnu-emacs@gnu.org; Sat, 23 Feb 2013 06:39:12 -0500 Received: from mout2.freenet.de ([195.4.92.92]:55596) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U9DRb-0004tA-7X for bug-gnu-emacs@gnu.org; Sat, 23 Feb 2013 06:39:07 -0500 Received: from [195.4.92.142] (helo=mjail2.freenet.de) by mout2.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (port 25) (Exim 4.80.1 #2) id 1U9DRX-0001t0-Rg; Sat, 23 Feb 2013 12:39:03 +0100 Received: from localhost ([::1]:46406 helo=mjail2.freenet.de) by mjail2.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1U9DRX-0005D4-Am; Sat, 23 Feb 2013 12:39:03 +0100 Received: from [195.4.92.24] (port=58521 helo=14.mx.freenet.de) by mjail2.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1U9DNh-00034z-1R; Sat, 23 Feb 2013 12:35:05 +0100 Received: from i59f6cb70.versanet.de ([89.246.203.112]:55947 helo=susi) by 14.mx.freenet.de with esmtpsa (ID frank-fischer@shadow-soft.de) (TLSv1.2:DHE-RSA-AES128-SHA:128) (port 465) (Exim 4.80.1 #2) id 1U9DNg-0000ba-Jq; Sat, 23 Feb 2013 12:35:04 +0100 Date: Sat, 23 Feb 2013 12:35:01 +0100 From: Frank Fischer To: bug-gnu-emacs@gnu.org Subject: 24.3.50; M-x broken in viper and X Message-ID: <20130223123501.43568c52@susi> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sat, 23 Feb 2013 13:50:21 -0500 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 (------) Meta bindings do not work if Emacs is started in X and viper is enabled. To reproduce, type emacs -Q M-x viper RET M-x the last command M-x shows 'M-x undefined'. As far as I can tell, the reason is viper's trick with the ESC key. viper binds (kbd "ESC") to a special command call `viper-intercept-ESC-key`. The purpose is to make the plain ESC key usable in terminal mode: viper, being a vi emulator, uses a plain ESC key to exit insert mode. This special command does the following: If an ESC event arrives, viper waits for a short period of time for another event. If no other event arrives, viper assumes that a plain ESC key has been pressed. Otherwise the the ESC key is interpreted as a prefix of the second event. Thus, M-x in terminal first calls `viper-intercept-ESC-key`, this functions waits for the second event, the 'x', and then calls the binding of 'ESC x'. In X mode this is not necessary, because the plain ESC key generates the event 'escape, so it is distinguishable from a prefix ESC. Nevertheless, the binding of ESC is still active, because viper has to support both, X and terminal (suppose Emacs is started in server mode, one frame being X, another being terminal). So in some sense, the trick to make viper work well in terminal mode now causes a problem in X. Until Emacs 24.2 this "trick" worked quite well. This changed recently. I tried to find the changeset that introduced the bug, and I think it is (I used the git repo) commit 11521f1228e447bb68ff7a48a30148b99323c04e Author: Stefan Monnier Date: Mon Feb 11 14:21:23 2013 -0500 Clean up read_key_sequence a bit; reread active keymaps after first event. Sorry that I'm not (yet) able to figure out what went wrong exactly, but I hope this information helps to find a solution. Best regards, Frank In GNU Emacs 24.3.50.1 (i686-pc-linux-gnu, GTK+ Version 3.4.2) of 2013-02-15 on dubnium, modified by Debian (emacs-snapshot package, version 2:20130215-1~ppa1~precise1) Windowing system distributor `The X.Org Foundation', version 11.0.11103000 System Description: Ubuntu 12.04.2 LTS Configured using: `configure --build i686-linux-gnu --host i686-linux-gnu --prefix=/usr --sharedstatedir=/var/lib --libexecdir=/usr/lib --localstatedir=/var --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes --enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.3.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3.50/site-lisp:/usr/share/emacs/site-lisp --without-compress-info --with-crt-dir=/usr/lib/i386-linux-gnu/ --with-x=yes --with-x-toolkit=gtk3 --with-imagemagick=yes CFLAGS='-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' CPPFLAGS='-D_FORTIFY_SOURCE=2' LDFLAGS='-g -Wl,--as-needed -znocombreloc'' Important settings: value of $LANG: de_DE.UTF-8 locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Message Minor modes in effect: mml-mode: t tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t auto-fill-function: message-do-auto-fill transient-mark-mode: t abbrev-mode: t Recent input: ( ) M-q C-c C-c n o C-SPC C-w C-c C-c C-c C-c C-SPC M-y M-w M-x C-g ) id 1U9KDq-0007QD-Re for submit@debbugs.gnu.org; Sat, 23 Feb 2013 13:53:23 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:44442) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9KDp-0007Q7-6Y for control@debbugs.gnu.org; Sat, 23 Feb 2013 13:53:21 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1U9KCN-0001HI-NM for control@debbugs.gnu.org; Sat, 23 Feb 2013 13:51:51 -0500 Date: Sat, 23 Feb 2013 13:51:51 -0500 Message-Id: Subject: control message for bug 13793 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -4.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: -4.9 (----) merge 13739 13793 From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 24 22:57:24 2013 Received: (at 13793) by debbugs.gnu.org; 25 Feb 2013 03:57:24 +0000 Received: from localhost ([127.0.0.1]:48575 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9pBr-0002mK-Ln for submit@debbugs.gnu.org; Sun, 24 Feb 2013 22:57:24 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:18032) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U9pBk-0002m2-3y; Sun, 24 Feb 2013 22:57:16 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFHO+KLv/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFHO+KLv/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="2277679" Received: from 206-248-162-239.dsl.teksavvy.com (HELO fmsmemgm.homelinux.net) ([206.248.162.239]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 24 Feb 2013 22:55:36 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 8DFC6AE2C6; Sun, 24 Feb 2013 22:55:34 -0500 (EST) From: Stefan Monnier To: Frank Fischer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> Date: Sun, 24 Feb 2013 22:55:34 -0500 In-Reply-To: <20130223123501.43568c52@susi> (Frank Fischer's message of "Sat, 23 Feb 2013 12:35:01 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -0.5 (/) > Meta bindings do not work if Emacs is started in X and viper is > enabled. To reproduce, type > emacs -Q > M-x viper RET > M-x > the last command M-x shows 'M-x undefined'. I can reproduce it here, but it's tricky to investigate because of all the various keymap trickery. The thing I noticed is that in emacs-24, `f1 k M-x' also tells me "M-x is undefined" although M-x does work. > As far as I can tell, the reason is viper's trick with the ESC > key. viper binds (kbd "ESC") to a special command call > `viper-intercept-ESC-key`. AFAICT in the GUI case, viper-intercept-ESC-key is not called when you hit M-x (at least that's what trace-function-background told me, both in trunk and in emacs-24). The same commit caused a problem in Evil as well (see bug#13709), and I hope the problem is the same and can be fixed in the same way, but I'm also having trouble figuring out what's happening in that case. If someone familiar with Evil or Viper's keymap tricks could investigate a bit more to try and see where the behavior changes, I can then hopefully see how it relates to my read-key-sequence changes. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 25 15:21:22 2013 Received: (at 13793) by debbugs.gnu.org; 25 Feb 2013 20:21:22 +0000 Received: from localhost ([127.0.0.1]:50018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UA4Y5-0002Qe-Sa for submit@debbugs.gnu.org; Mon, 25 Feb 2013 15:21:22 -0500 Received: from mout1.freenet.de ([195.4.92.91]:49799) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UA4Y2-0002QT-Vb; Mon, 25 Feb 2013 15:21:20 -0500 Received: from [195.4.92.141] (helo=mjail1.freenet.de) by mout1.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (port 25) (Exim 4.80.1 #2) id 1UA4WM-0007dr-H1; Mon, 25 Feb 2013 21:19:34 +0100 Received: from localhost ([::1]:47580 helo=mjail1.freenet.de) by mjail1.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UA4WM-0008Kl-Bd; Mon, 25 Feb 2013 21:19:34 +0100 Received: from [195.4.92.21] (port=53762 helo=11.mx.freenet.de) by mjail1.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UA4U2-0001jw-Aj; Mon, 25 Feb 2013 21:17:10 +0100 Received: from i59f6a57b.versanet.de ([89.246.165.123]:56260 helo=susi) by 11.mx.freenet.de with esmtpsa (ID frank-fischer@shadow-soft.de) (TLSv1.1:DHE-RSA-AES256-SHA:256) (port 465) (Exim 4.80.1 #2) id 1UA4U1-0001Dk-Rh; Mon, 25 Feb 2013 21:17:10 +0100 Date: Mon, 25 Feb 2013 21:16:57 +0100 From: Frank Fischer To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130225201657.GA10969@susi> References: <20130223123501.43568c52@susi> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/0.94.10i+5398 (706058bd5660) (2011-07-01) X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -1.9 (-) On 02/24, Stefan Monnier wrote: > The same commit caused a problem in Evil as well (see bug#13709), and > I hope the problem is the same and can be fixed in the same way, but I'm > also having trouble figuring out what's happening in that case. > > If someone familiar with Evil or Viper's keymap tricks could investigate > a bit more to try and see where the behavior changes, I can then > hopefully see how it relates to my read-key-sequence changes. Coincidentally, I'm involved with Evil, but I've never tried to debug Emacs' C code. But I think I succeeded and can explain what's going on. I will restrict to Evil, because I know it better than viper. I start with a description of what Evil does and afterwards describe the problem with the new code. The problem, as I said, is that Evil needs to differentiate between a plain ESC key and a meta key sequence. Evil does the following. It has a special minor mode `evil-esc-mode` along with its keymap `evil-esc-map`. This keymap has only one binding, (kbd "ESC") is bound to a function `evil-esc`. This function is very simple (I removed some code, but they main idea should become clear) (defun evil-esc (arg) "Wait for further keys within `evil-esc-delay'. Otherwise send [escape]." (interactive "P") (if (sit-for evil-esc-delay t) (push 'escape unread-command-events) (push last-command-event unread-command-events) ;; preserve prefix argument (setq prefix-arg arg)) ;; disable interception for the next key sequence (evil-esc-mode -1) (setq this-command last-command) (add-hook 'pre-command-hook #'evil-turn-on-esc-mode nil t)) The function waits for the next event. If it arrives, the (kbd "ESC") event is unread, and evil-esc-mode is disabled so that it does not call again `evil-esc`. If no next event arrives the event 'escape is unread so whatever command is bound to 'escape will be called. `evil-esc-mode` will be reenabled after the next command completed. Note that an event like M-x (in the terminal) generates two events in quick succession, namely (kbd "ESC") and "x", so the first case happens. In GUI mode the function `evil-esc` is never called because here M-x generates another event (some large integer). This event is transformed to an ESC sequence, too, but not using `evil-esc` but within the function `access_keymap_1` in file `keymap.c`. If this function detects that the event is a meta event, it looks for the prefix map of (kbd "ESC") in the keymap that has been passed to the function in the "map" argument. Here comes the problem. The function `follow_key` has been changed by the problematic commit. Formerly severall keymaps have been passed in an array. Each keymap has been checked in turn for a binding. One of the keymaps is `evil-esc-map`. If this keymap is checked no binding is found. So the next keymap is checked an it may contain a binding for M-x so this binding is used. After the commit all keymaps are collected in one single "super" keymap, that contains all keymaps as "parents" (is this correct?). Now `access_keymap_1` gets only called once for this super keymap. Again this function tries to find (kbd "ESC") in this keymap. This will return the binding of `evil-esc`, which is not a prefix keymap so no binding will be found. Because of how keymaps work only the first binding of (kbd "ESC") in one of the parent keymaps will be returned, and this is `evil-esc`. The get the old behaviour, `access_keymap_1` would have to check all parent keymaps in turn. For each keymap that bind (kbd "ESC") to another keymap it would have to check the second key. I hope this helps. Sorry that I do not provide a patch, but currently my "Emacs-C" is too bad for this. Anyhow, the real problem is to "multiplex" the (kbd "ESC") event in the terminal. Any solution that sends 'escape instead of (kbd "ESC") if another event arrives within a short period should solve the problem. If my explanations are unclear, please tell ;) Best regards, Frank From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 25 16:37:43 2013 Received: (at 13793) by debbugs.gnu.org; 25 Feb 2013 21:37:43 +0000 Received: from localhost ([127.0.0.1]:50106 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UA5jz-0004Ex-F3 for submit@debbugs.gnu.org; Mon, 25 Feb 2013 16:37:43 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:15651) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UA5jx-0004Eg-60; Mon, 25 Feb 2013 16:37:42 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFHO+KLv/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSQuh3AGwS2RCgOIYZwZgV6DFQ X-IPAS-Result: Av8EABK/CFHO+KLv/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSQuh3AGwS2RCgOIYZwZgV6DFQ X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="2435862" Received: from 206-248-162-239.dsl.teksavvy.com (HELO pastel.home) ([206.248.162.239]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 25 Feb 2013 16:35:57 -0500 Received: by pastel.home (Postfix, from userid 20848) id 950696C0A9; Mon, 25 Feb 2013 16:35:58 -0500 (EST) From: Stefan Monnier To: Frank Fischer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> Date: Mon, 25 Feb 2013 16:35:58 -0500 In-Reply-To: <20130225201657.GA10969@susi> (Frank Fischer's message of "Mon, 25 Feb 2013 21:16:57 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -0.5 (/) > The function `follow_key` has been changed by the problematic commit. > Formerly severall keymaps have been passed in an array. Each keymap > has been checked in turn for a binding. One of the keymaps is > `evil-esc-map`. If this keymap is checked no binding is found. So the > next keymap is checked an it may contain a binding for M-x so this > binding is used. Oh, I think I see what's going on. So the Evil code (and Viper, since it seems to use the same gymnastics) really relies on some pretty nasty detail of the level at which the M-x =3D> ESC x rewriting took place, which was subtly changed. That could also explain why `f1 f M-x' already didn't find the binding in the old code. > Anyhow, the real problem is to "multiplex" the (kbd "ESC") event in > the terminal. Any solution that sends 'escape instead of (kbd "ESC") > if another event arrives within a short period should solve the > problem. Now my question is: why do it with a minor-mode map rather than with an input-decode-map (which would also save you from having to rely on unread-command-events)? Oh, yes, of course, that input-decode-map binding would collide with the escape-sequence remappings. How 'bout something like: (defvar evil-normal-esc-map (lookup-key input-decode-map [?\e])) (define-key input-decode-map [?\e] `(menu-item "" ,evil-normal-esc-map :filter ,(lambda (map) (if (sit-for evail-esc-delay) [escape] map)))) [ Modulo some dance =E0 la evil-esc-mode to add/remove this binding so that code that adds escape sequences to this map never bumps into the [escape] mapping. ] Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 26 02:19:35 2013 Received: (at 13793) by debbugs.gnu.org; 26 Feb 2013 07:19:35 +0000 Received: from localhost ([127.0.0.1]:50421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAEp5-0001qq-5Q for submit@debbugs.gnu.org; Tue, 26 Feb 2013 02:19:35 -0500 Received: from exprod5og116.obsmtp.com ([64.18.0.147]:58470) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAEp2-0001qe-BI for 13793@debbugs.gnu.org; Tue, 26 Feb 2013 02:19:33 -0500 Received: from mail-qe0-f71.google.com ([209.85.128.71]) (using TLSv1) by exprod5ob116.postini.com ([64.18.4.12]) with SMTP ID DSNKUSxhm9dVmZQKHOR8QlODLVGyUwiW5/DV@postini.com; Mon, 25 Feb 2013 23:17:48 PST Received: by mail-qe0-f71.google.com with SMTP id 3so7182079qea.2 for <13793@debbugs.gnu.org>; Mon, 25 Feb 2013 23:17:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:x-received:message-id:date:from:user-agent:mime-version :to:cc:subject:references:in-reply-to:content-type :content-transfer-encoding:x-gm-message-state; bh=kh9HsVO50M4NzNQFYV37bq/X9BKdMVdDTdkPavUINOQ=; b=MN6q3pSUQaCH9+i6NGJP45mSbpKIxjXhuVSK3ZHInOYSR8IxEw7CjvPqRGj77vE2XH 2rLNbVUtWVsrp3Q4LLguFrkwLW6/KuDvHIlcQGFneJa8K1fdlxuo1mUVF0OZVcjZUogX nhJhOCmhQyxp3CdmqlOQCKvHhcS8snt8F4v1YNoZL1LnQWLvx+FUF3ecrU7mv95kdGOB SDC/zWb6LoG+/vAtiS35irxti9CjkvENXw5Omwj2qe3/RlrvQT3jTpRuNAHef4EjHg2W pM0DBM3OYHqbDk6NC7NJUwaeeh+yGUbUuIOuYb3vx3JABRsCp4O77vXWs0uFebA6FkCR 4xcg== X-Received: by 10.229.111.145 with SMTP id s17mr3697141qcp.106.1361863067219; Mon, 25 Feb 2013 23:17:47 -0800 (PST) X-Received: by 10.229.111.145 with SMTP id s17mr3697136qcp.106.1361863066910; Mon, 25 Feb 2013 23:17:46 -0800 (PST) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPS id ec9sm441102qab.9.2013.02.25.23.17.45 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 25 Feb 2013 23:17:46 -0800 (PST) Message-ID: <512C6198.5020305@stonybrook.edu> Date: Tue, 26 Feb 2013 02:17:44 -0500 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> <76c7b8b296b248bf915de72349cfc0c9@HUBCAS2.cs.stonybrook.edu> In-Reply-To: <76c7b8b296b248bf915de72349cfc0c9@HUBCAS2.cs.stonybrook.edu> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQnf1V0nfmmiN4pAAtGJhrjtXGrMgQyC6SnH4qJcHRU54mdme5XGZD8JDVR2Wt/8qpd+pyahqYowb40aE0ehu2HAE+3Xg3AzO3SonZeM8XLLA1uIoHnG3D8YRTWowRbDwlpMHupvhuv+wf9qmJxa4CWQ/5yfCg== X-Spam-Score: -0.8 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, "13709@debbugs.gnu.org" <13709@debbugs.gnu.org>, Frank Fischer 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: -3.5 (---)
On 02/25/2013 04:35 PM, Stefan Monnier wrote:
The function `follow_key` has been changed by the problematic commit.
Formerly severall keymaps have been passed in an array. Each keymap
has been checked in turn for a binding. One of the keymaps is
`evil-esc-map`. If this keymap is checked no binding is found. So the
next keymap is checked an it may contain a binding for M-x so this
binding is used.
Oh, I think I see what's going on.  So the Evil code (and Viper, since
it seems to use the same gymnastics) really relies on some pretty nasty
detail of the level at which the M-x => ESC x rewriting took place,
which was subtly changed.

That could also explain why `f1 f M-x' already didn't find the binding
in the old code.

Yes, Viper uses a similar mechanism (in the sense of having a special map just for the ESC key).


Anyhow, the real problem is to "multiplex" the (kbd "ESC") event in
the terminal. Any solution that sends 'escape instead of (kbd "ESC")
if another event arrives within a short period should solve the
problem.
Now my question is: why do it with a minor-mode map rather than with
an input-decode-map (which would also save you from having to rely on
unread-command-events)?  Oh, yes, of course, that input-decode-map
binding would collide with the escape-sequence remappings.

How 'bout something like:

        (defvar evil-normal-esc-map (lookup-key input-decode-map [?\e]))
        (define-key input-decode-map
          [?\e] `(menu-item "" ,evil-normal-esc-map
                   :filter ,(lambda (map)
                              (if (sit-for evail-esc-delay) [escape] map))))

At the time there was no input-decode-map - I am pretty sure.
Viper uses a trick that relies on unread-command-events and emulation-mode-map-alist
to  distinguish between ESC key and ESC sequences on dumb terminals.
(in viper-envelop-ESC-key() in viper-cmd.el).

I must admit that the intricacies of the code are rusty in my head  now, so it is hard for me to evaluate the consequences of the change. It might  simplify things  or it might break them.

--

       --- michael




[ Modulo some dance à la evil-esc-mode to add/remove this binding so
  that code that adds escape sequences to this map never bumps into the
  [escape] mapping.  ]


        Stefan

From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 26 04:02:09 2013 Received: (at 13793) by debbugs.gnu.org; 26 Feb 2013 09:02:10 +0000 Received: from localhost ([127.0.0.1]:50551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAGQK-0004H5-VC for submit@debbugs.gnu.org; Tue, 26 Feb 2013 04:02:09 -0500 Received: from mout1.freenet.de ([195.4.92.91]:45886) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAGQH-0004Gu-Qy; Tue, 26 Feb 2013 04:02:07 -0500 Received: from [195.4.92.140] (helo=mjail0.freenet.de) by mout1.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (port 25) (Exim 4.80.1 #2) id 1UAGOZ-000187-Gk; Tue, 26 Feb 2013 10:00:19 +0100 Received: from localhost ([::1]:57545 helo=mjail0.freenet.de) by mjail0.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UAGOZ-0008Ro-7k; Tue, 26 Feb 2013 10:00:19 +0100 Received: from [195.4.92.12] (port=37169 helo=2.mx.freenet.de) by mjail0.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UAGM9-0000z8-Bq; Tue, 26 Feb 2013 09:57:49 +0100 Received: from bayes.mathematik.tu-chemnitz.de ([134.109.41.17]:38844) by 2.mx.freenet.de with esmtpsa (ID frank-fischer@shadow-soft.de) (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (port 465) (Exim 4.80.1 #2) id 1UAGM9-0007Yc-5X; Tue, 26 Feb 2013 09:57:49 +0100 Date: Tue, 26 Feb 2013 09:57:42 +0100 From: Frank Fischer To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -1.9 (-) On 02/25, Stefan Monnier wrote: > > Anyhow, the real problem is to "multiplex" the (kbd "ESC") event in > > the terminal. Any solution that sends 'escape instead of (kbd "ESC") > > if another event arrives within a short period should solve the > > problem. > > Now my question is: why do it with a minor-mode map rather than with > an input-decode-map (which would also save you from having to rely on > unread-command-events)? Oh, yes, of course, that input-decode-map > binding would collide with the escape-sequence remappings. > > How 'bout something like: > > (defvar evil-normal-esc-map (lookup-key input-decode-map [?\e])) > (define-key input-decode-map > [?\e] `(menu-item "" ,evil-normal-esc-map > :filter ,(lambda (map) > (if (sit-for evail-esc-delay) [escape] map)))) This is a really clever solution, thank you a lot. It looks much better than the current one. The Evil code is naturally "inspired" by viper's code, so the reasons for its current form are hidden in the shadows of history ;) I will build something like this into Evil, then we will see if it breaks something. > > [ Modulo some dance à la evil-esc-mode to add/remove this binding so > that code that adds escape sequences to this map never bumps into the > [escape] mapping. ] Maybe one question, because I'm not too familiar with translation keymaps. What do you think is the best solution to this add-escape-sequences-to-input-decode-map-problem? The only possibility that comes into my mind would be to advice `define-key` so that `evil-normal-esc-map` is temporarily put back into `input-decode-map`. Is there a better way than using such an advice? Once again, thank you a lot! Frank From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 26 09:12:16 2013 Received: (at 13793) by debbugs.gnu.org; 26 Feb 2013 14:12:16 +0000 Received: from localhost ([127.0.0.1]:50948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UALGS-0003yD-AU for submit@debbugs.gnu.org; Tue, 26 Feb 2013 09:12:16 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:28630) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UALGQ-0003y1-3x; Tue, 26 Feb 2013 09:12:14 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlMJABK/CFFFxKJt/2dsb2JhbABEuzWCVgQEexdzgh4BAQQBViMFCws0EhQYDSQuh3AGsR+QDpEKA4hhnBmBXoMVgUgk X-IPAS-Result: AlMJABK/CFFFxKJt/2dsb2JhbABEuzWCVgQEexdzgh4BAQQBViMFCws0EhQYDSQuh3AGsR+QDpEKA4hhnBmBXoMVgUgk X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="2504596" Received: from 69-196-162-109.dsl.teksavvy.com (HELO pastel.home) ([69.196.162.109]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 26 Feb 2013 09:10:27 -0500 Received: by pastel.home (Postfix, from userid 20848) id 13BAC6CF3D; Tue, 26 Feb 2013 09:10:28 -0500 (EST) From: Stefan Monnier To: Frank Fischer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> Date: Tue, 26 Feb 2013 09:10:28 -0500 In-Reply-To: <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> (Frank Fischer's message of "Tue, 26 Feb 2013 09:57:42 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -1.9 (-) >> [ Modulo some dance =E0 la evil-esc-mode to add/remove this binding so >> that code that adds escape sequences to this map never bumps into the >> [escape] mapping. ] > Maybe one question, because I'm not too familiar with translation > keymaps. What do you think is the best solution to this > add-escape-sequences-to-input-decode-map-problem? The only possibility > that comes into my mind would be to advice `define-key` so that > `evil-normal-esc-map` is temporarily put back into `input-decode-map`. > Is there a better way than using such an advice? I guess an advice might work (it probably wouldn't need to put the map back, just let-bind a variable that causes the filter function to return evil-normal-esc-map without bothering to sit-for). But it doesn't sound very appealing. Maybe "enable evil-esc-mode in post-command-hook and disable it in pre-command-hook" might work? Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 26 10:00:16 2013 Received: (at 13793) by debbugs.gnu.org; 26 Feb 2013 15:00:16 +0000 Received: from localhost ([127.0.0.1]:51461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAM0s-00058b-BZ for submit@debbugs.gnu.org; Tue, 26 Feb 2013 10:00:16 -0500 Received: from mout1.freenet.de ([195.4.92.91]:35916) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAM0n-00058P-W8; Tue, 26 Feb 2013 10:00:12 -0500 Received: from [195.4.92.141] (helo=mjail1.freenet.de) by mout1.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (port 25) (Exim 4.80.1 #2) id 1UALz4-0005Ul-JN; Tue, 26 Feb 2013 15:58:22 +0100 Received: from localhost ([::1]:53699 helo=mjail1.freenet.de) by mjail1.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UALz4-0005cs-CC; Tue, 26 Feb 2013 15:58:22 +0100 Received: from [195.4.92.25] (port=32974 helo=15.mx.freenet.de) by mjail1.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UALwy-0000OC-NA; Tue, 26 Feb 2013 15:56:12 +0100 Received: from bayes.mathematik.tu-chemnitz.de ([134.109.41.17]:38452) by 15.mx.freenet.de with esmtpsa (ID frank-fischer@shadow-soft.de) (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (port 465) (Exim 4.80.1 #2) id 1UALwy-0004sf-Ig; Tue, 26 Feb 2013 15:56:12 +0100 Date: Tue, 26 Feb 2013 15:56:08 +0100 From: Frank Fischer To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130226145608.GC31613@bayes.mathematik.tu-chemnitz.de> References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -1.9 (-) On 02/26, Stefan Monnier wrote: > >> [ Modulo some dance à la evil-esc-mode to add/remove this binding so > >> that code that adds escape sequences to this map never bumps into the > >> [escape] mapping. ] > > > Maybe one question, because I'm not too familiar with translation > > keymaps. What do you think is the best solution to this > > add-escape-sequences-to-input-decode-map-problem? The only possibility > > that comes into my mind would be to advice `define-key` so that > > `evil-normal-esc-map` is temporarily put back into `input-decode-map`. > > Is there a better way than using such an advice? > > I guess an advice might work (it probably wouldn't need to put the map > back, just let-bind a variable that causes the filter function to return > evil-normal-esc-map without bothering to sit-for). > But it doesn't sound very appealing. > > Maybe "enable evil-esc-mode in post-command-hook and disable it in > pre-command-hook" might work? I'm a little bit afraid of situations where a new binding is defined but pre-command-hook has not been called (to restore the original definition of `input-decode-map`). For example if a new binding is established in a hook or when Emacs starts. If evil is loaded before that binding is defined, i.e. input-decode-map is already 'patched', then it may fail. Of course one could start with an unpatched input-decode-map and wait for the first post-command-hook. So the question is: is it guaranteed that a post-command-hook will be called when Emacs starts and before any user input, and that a call to `define-key` will always be preceded by a pre-command-hook and followed by a post-command-hook, no matter how it is called? This includes any possibility to call `define-key` from a hook or so. I just do not have the overview to give a reliable judgement on this. IMO using an advice is more direct and simpler in this particular situation, although I really don't like it. Frank From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 26 13:13:57 2013 Received: (at 13793) by debbugs.gnu.org; 26 Feb 2013 18:13:57 +0000 Received: from localhost ([127.0.0.1]:51569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAP2K-00027Z-DC for submit@debbugs.gnu.org; Tue, 26 Feb 2013 13:13:56 -0500 Received: from chene.dit.umontreal.ca ([132.204.246.20]:38901) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAP2G-00027K-D3; Tue, 26 Feb 2013 13:13:55 -0500 Received: from faina.iro.umontreal.ca (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id r1QIC1Di010069; Tue, 26 Feb 2013 13:12:01 -0500 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 8D4CCB40E2; Tue, 26 Feb 2013 13:12:01 -0500 (EST) From: Stefan Monnier To: Frank Fischer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> <20130226145608.GC31613@bayes.mathematik.tu-chemnitz.de> Date: Tue, 26 Feb 2013 13:12:01 -0500 In-Reply-To: <20130226145608.GC31613@bayes.mathematik.tu-chemnitz.de> (Frank Fischer's message of "Tue, 26 Feb 2013 15:56:08 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4504=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4504> : streams <913962> : uri <1355830> X-Spam-Score: -4.2 (----) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -4.2 (----) >> Maybe "enable evil-esc-mode in post-command-hook and disable it in >> pre-command-hook" might work? > I'm a little bit afraid of situations where a new binding is defined > but pre-command-hook has not been called (to restore the original > definition of `input-decode-map`). For example if a new binding is > established in a hook or when Emacs starts. If evil is loaded before > that binding is defined, i.e. input-decode-map is already 'patched', > then it may fail. Of course one could start with an unpatched > input-decode-map and wait for the first post-command-hook. Agreed, using post/pre-command-hook is messy. Other problems come up with recursive edits (and minibuffers), where the pre-command-hook can end up run twice without intervening post-command-hook and post-command-hook can similarly be run twice without an intervening pre-command-hook. > So the question is: is it guaranteed that a post-command-hook will be > called when Emacs starts and before any user input, and that a call to > `define-key` will always be preceded by a pre-command-hook and > followed by a post-command-hook, no matter how it is called? No, basically with pre/post-command-hook, nothing is guaranteed. > This includes any possibility to call `define-key` from a hook or > so. I just do not have the overview to give a reliable judgement on > this. IMO using an advice is more direct and simpler in this > particular situation, although I really don't like it. I think what we really care about is to detect "called from read-key-sequence". How 'bout: (defvar evil-normal-esc-map (lookup-key input-decode-map [?\e])) (define-key input-decode-map [?\e] `(menu-item "" ,evil-normal-esc-map :filter ,(=CE=BB (map) (if (and (not evil-inhibit-escape) (equal (this-single-command-keys) [?\e]) (sit-for 0.1)) [escape] map)))) So the special ESC=3D>escape mapping only takes place if the whole last key-sequence so far is just [?\e], i.e. either we're still in read-key-sequence, or the last read-key-sequence only read [?\e], which should ideally never happen because it should have been mapped to [escape]. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 26 15:22:04 2013 Received: (at 13793) by debbugs.gnu.org; 26 Feb 2013 20:22:04 +0000 Received: from localhost ([127.0.0.1]:51662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAR2J-00056c-GY for submit@debbugs.gnu.org; Tue, 26 Feb 2013 15:22:04 -0500 Received: from mout3.freenet.de ([195.4.92.93]:45348) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAR2E-000567-Sg; Tue, 26 Feb 2013 15:22:02 -0500 Received: from [195.4.92.140] (helo=mjail0.freenet.de) by mout3.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (port 25) (Exim 4.80.1 #2) id 1UAR0D-0000jf-Ai; Tue, 26 Feb 2013 21:19:53 +0100 Received: from localhost ([::1]:40275 helo=mjail0.freenet.de) by mjail0.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UAR0D-0002d5-6W; Tue, 26 Feb 2013 21:19:53 +0100 Received: from [195.4.92.26] (port=38082 helo=16.mx.freenet.de) by mjail0.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UAQxk-0005dq-7L; Tue, 26 Feb 2013 21:17:20 +0100 Received: from bayes.mathematik.tu-chemnitz.de ([134.109.41.17]:40328) by 16.mx.freenet.de with esmtpsa (ID frank-fischer@shadow-soft.de) (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (port 465) (Exim 4.80.1 #2) id 1UAQxj-0002sf-Tj; Tue, 26 Feb 2013 21:17:20 +0100 Date: Tue, 26 Feb 2013 21:17:14 +0100 From: Frank Fischer To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130226201714.GD31613@bayes.mathematik.tu-chemnitz.de> References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> <20130226145608.GC31613@bayes.mathematik.tu-chemnitz.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -1.9 (-) On 02/26, Stefan Monnier wrote: > I think what we really care about is to detect "called from > read-key-sequence". How 'bout: > > (defvar evil-normal-esc-map (lookup-key input-decode-map [?\e])) > (define-key input-decode-map > [?\e] `(menu-item "" ,evil-normal-esc-map > :filter ,(λ (map) > (if (and (not evil-inhibit-escape) > (equal (this-single-command-keys) [?\e]) > (sit-for 0.1)) > [escape] map)))) > > So the special ESC=>escape mapping only takes place if the whole > last key-sequence so far is just [?\e], i.e. either we're still in > read-key-sequence, or the last read-key-sequence only read [?\e], which > should ideally never happen because it should have been mapped to [escape]. Sounds good to me. At least, I can't think of a problematic situation, currently. Let's how it works in practise. Thank you for your efforts. I would never have thought of this solution on my own. Best regards, Frank From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 27 13:04:04 2013 Received: (at 13793) by debbugs.gnu.org; 27 Feb 2013 18:04:04 +0000 Received: from localhost ([127.0.0.1]:53849 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAlMJ-0002hg-Vp for submit@debbugs.gnu.org; Wed, 27 Feb 2013 13:04:04 -0500 Received: from mout0.freenet.de ([195.4.92.90]:35373) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAlMF-0002gw-8T; Wed, 27 Feb 2013 13:04:00 -0500 Received: from [195.4.92.140] (helo=mjail0.freenet.de) by mout0.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (port 25) (Exim 4.80.1 #2) id 1UAlKN-0004fP-5b; Wed, 27 Feb 2013 19:02:03 +0100 Received: from localhost ([::1]:41739 helo=mjail0.freenet.de) by mjail0.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UAlKM-0005o5-5L; Wed, 27 Feb 2013 19:02:02 +0100 Received: from [195.4.92.20] (port=59739 helo=10.mx.freenet.de) by mjail0.freenet.de with esmtpa (ID frank-fischer@shadow-soft.de) (Exim 4.80.1 #2) id 1UAlI6-0004f1-O3; Wed, 27 Feb 2013 18:59:42 +0100 Received: from bayes.mathematik.tu-chemnitz.de ([134.109.41.17]:50371) by 10.mx.freenet.de with esmtpsa (ID frank-fischer@shadow-soft.de) (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (port 465) (Exim 4.80.1 #2) id 1UAlI6-0005Ec-BH; Wed, 27 Feb 2013 18:59:42 +0100 Date: Wed, 27 Feb 2013 18:59:36 +0100 From: Frank Fischer To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130227175936.GE31613@bayes.mathematik.tu-chemnitz.de> References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> <20130226145608.GC31613@bayes.mathematik.tu-chemnitz.de> <20130226201714.GD31613@bayes.mathematik.tu-chemnitz.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130226201714.GD31613@bayes.mathematik.tu-chemnitz.de> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -1.9 (-) On 02/26, Frank Fischer wrote: > > Sounds good to me. At least, I can't think of a problematic situation, > currently. Let's how it works in practise. Ok, now I have problem. The keymap `input-decode-map` is keyboard-local (according to the documentation). This means (and this makes sense because the ESC prefix map in `input-decode-map` is different for each keyboard) we have to 'patch' it for each new keyboard. Unfortunately, I'm not sure how to do this right. Currently I use an `after-make-frame-functions` hook and a `delete-terminal-functions` hook (although the latter may not be required) to save the original prefix map in the terminal parameter `evil-esc-map` and change `input-decode-map` accordingly. I hope that this sets the correct values for each "keyboard". Is this the correct way to do? Or is it completely wrong ;) Best regards, Frank From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 27 14:10:29 2013 Received: (at 13793) by debbugs.gnu.org; 27 Feb 2013 19:10:29 +0000 Received: from localhost ([127.0.0.1]:53955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAmOb-0004Er-6s for submit@debbugs.gnu.org; Wed, 27 Feb 2013 14:10:29 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:33073) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UAmOX-0004Ec-KE; Wed, 27 Feb 2013 14:10:27 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFFpaTU/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IPAS-Result: Av8EABK/CFFFpaTU/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCws0EhQYDSSIHgbBLZEKA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="2626517" Received: from 69-165-164-212.dsl.teksavvy.com (HELO pastel.home) ([69.165.164.212]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 27 Feb 2013 14:08:31 -0500 Received: by pastel.home (Postfix, from userid 20848) id 9B9E16CF4A; Wed, 27 Feb 2013 14:08:31 -0500 (EST) From: Stefan Monnier To: Frank Fischer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130225201657.GA10969@susi> <20130226085741.GB31613@bayes.mathematik.tu-chemnitz.de> <20130226145608.GC31613@bayes.mathematik.tu-chemnitz.de> <20130226201714.GD31613@bayes.mathematik.tu-chemnitz.de> <20130227175936.GE31613@bayes.mathematik.tu-chemnitz.de> Date: Wed, 27 Feb 2013 14:08:31 -0500 In-Reply-To: <20130227175936.GE31613@bayes.mathematik.tu-chemnitz.de> (Frank Fischer's message of "Wed, 27 Feb 2013 18:59:36 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, 13709@debbugs.gnu.org, Michael Kifer 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: -1.9 (-) >> Sounds good to me. At least, I can't think of a problematic situation, >> currently. Let's how it works in practise. > Ok, now I have problem. The keymap `input-decode-map` is > keyboard-local (according to the documentation). Indeed it is, but that shouldn't be too hard to handle. > This means (and this makes sense because the ESC prefix map in > `input-decode-map` is different for each keyboard) we have to 'patch' > it for each new keyboard. Yes. > Unfortunately, I'm not sure how to do this right. > Currently I use an `after-make-frame-functions` hook and a > `delete-terminal-functions` hook (although the latter may not be > required) to save the original prefix map in the terminal parameter > `evil-esc-map` and change `input-decode-map` accordingly. I hope that > this sets the correct values for each "keyboard". > Is this the correct way to do? Or is it completely wrong ;) That sounds fine. It would be better to use make-terminal-functions, but you'd have to invent that hook first ;-( BTW, you can take advantage of this opportunity to only install this hack on tty terminals. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 15 08:25:37 2013 Received: (at 13793) by debbugs.gnu.org; 15 Jun 2013 12:25:37 +0000 Received: from localhost ([127.0.0.1]:45841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UnpXz-0003iD-Ib for submit@debbugs.gnu.org; Sat, 15 Jun 2013 08:25:36 -0400 Received: from upsilon.hackadomia.org ([91.121.245.170]:60774) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UnpXv-0003hv-5O for 13793@debbugs.gnu.org; Sat, 15 Jun 2013 08:25:32 -0400 Received: from usha.takhisis.invalid (unknown [IPv6:2a01:e34:eecc:42f0:76e5:bff:fea7:56b8]) by upsilon.hackadomia.org (Postfix) with ESMTPSA id E0BFBB6007 for <13793@debbugs.gnu.org>; Sat, 15 Jun 2013 14:25:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upsilon.cc; s=mail; t=1371299129; bh=rQ4kNaBtV8VAvBMXzl57A3nHgSaLNv9z9jgB3QEuG3U=; h=Date:From:To:Subject:From; b=jSBmKAPR5FQ+FAhyqbANkb2y+9SLGtJNfRM8FiYD07PCIpK+5HsbzH8Y/edFOs0/F TwJChDJ3cimRBkYCcbwy9jJGsH1e1FbLkPMmU8O8RSfTCagCKeIHYu2XkRh5yKjxao cGWesaEtTzIEsSxSKuR78h9F06j3eby6qL98RQpU= Received: by usha.takhisis.invalid (Postfix, from userid 1000) id 728A9680FFD; Sat, 15 Jun 2013 14:25:29 +0200 (CEST) Date: Sat, 15 Jun 2013 14:25:29 +0200 From: Stefano Zacchiroli To: 13793@debbugs.gnu.org Subject: Re: 24.3.50; M-x broken in viper and X Message-ID: <20130615122529.GA25730@upsilon.cc> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 13793 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Heya, just checking back about the status of this bug report. I'm affected by it and I've been stuck with Emacs 23 since its first arrival (or else I can jump back on Emacs 24.3.x ditching viper all together, which might even be a good thing for my saneness :-)) >From the bug log it's not clear to me if a tentative solution is available somewhere already or not. If so, I'll be happy to testdrive it and give all the feedback you might need. At present, unfortunately, I'm not knowledgeable enough into Emacs internals to propose a patch, so sorry for this patch-less ping. Thank you all for maintaining Emacs! Cheers. -- Stefano Zacchiroli . . . . . . . zack@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Former Debian Project Leader . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club » From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 15 15:22:27 2013 Received: (at control) by debbugs.gnu.org; 15 Jun 2013 19:22:27 +0000 Received: from localhost ([127.0.0.1]:46701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Unw3O-0002C7-Fw for submit@debbugs.gnu.org; Sat, 15 Jun 2013 15:22:26 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:34564 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Unw3L-0002Bu-Dl for control@debbugs.gnu.org; Sat, 15 Jun 2013 15:22:23 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Unw3K-0002F3-Sr for control@debbugs.gnu.org; Sat, 15 Jun 2013 15:22:22 -0400 Date: Sat, 15 Jun 2013 15:22:22 -0400 Message-Id: Subject: control message for bug 13793 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -5.3 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.3 (-----) severity 13793 important From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 22 17:56:40 2013 Received: (at 13793) by debbugs.gnu.org; 22 Jun 2013 21:56:40 +0000 Received: from localhost ([127.0.0.1]:35285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqVnT-0005Wv-5d for submit@debbugs.gnu.org; Sat, 22 Jun 2013 17:56:40 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:25845) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqVnP-0005WS-Bl for 13793@debbugs.gnu.org; Sat, 22 Jun 2013 17:56:36 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFFMCppA/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJBOICwbBLZEKA5JakiCBXoMTgUojAQ X-IPAS-Result: Av4EABK/CFFMCppA/2dsb2JhbABEvw4Xc4IeAQEEAVYjBQsLDiYSFBgNJBOICwbBLZEKA5JakiCBXoMTgUojAQ X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="16958689" Received: from 76-10-154-64.dsl.teksavvy.com (HELO pastel.home) ([76.10.154.64]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 22 Jun 2013 17:56:23 -0400 Received: by pastel.home (Postfix, from userid 20848) id D5AF662FF5; Sat, 22 Jun 2013 17:56:28 -0400 (EDT) From: Stefan Monnier To: Stefano Zacchiroli Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> Date: Sat, 22 Jun 2013 17:56:28 -0400 In-Reply-To: <20130615122529.GA25730@upsilon.cc> (Stefano Zacchiroli's message of "Sat, 15 Jun 2013 14:25:29 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, Michael Kifer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Heya, just checking back about the status of this bug report. I'm > affected by it and I've been stuck with Emacs 23 since its first arrival > (or else I can jump back on Emacs 24.3.x ditching viper all together, > which might even be a good thing for my saneness :-)) I don't understand all of what Viper does with the ESC key, nor do I know what are the different cases where ESC has to behave in a specific way, so it's difficult for me to come up with a trustworthy patch. Could you try the patch below under X11 and under a tty, ideally even using emacsclient to create new X11 and tty frames? Michael, could you also take a look at this patch? Stefan === modified file 'lisp/emulation/viper-cmd.el' --- lisp/emulation/viper-cmd.el 2013-06-18 20:24:44 +0000 +++ lisp/emulation/viper-cmd.el 2013-06-22 21:40:32 +0000 @@ -996,93 +996,7 @@ (suspend-emacs)) (viper-change-state-to-emacs))) - -;; Intercept ESC sequences on dumb terminals. -;; Based on the idea contributed by Marcelino Veiga Tuimil - -;; Check if last key was ESC and if so try to reread it as a function key. -;; But only if there are characters to read during a very short time. -;; Returns the last event, if any. -(defun viper-envelop-ESC-key () - (let ((event last-input-event) - (keyseq [nil]) - (inhibit-quit t)) - (if (viper-ESC-event-p event) - (progn - ;; Some versions of Emacs (eg., 22.50.8 (?)) have a bug, which makes - ;; even a single ESC into a fast keyseq. To guard against this, we - ;; added a check if there are other events as well. Keep the next - ;; line for the next time the bug reappears, so that will remember to - ;; report it. - ;;(if (and (viper-fast-keysequence-p) unread-command-events) - (if (viper-fast-keysequence-p) ;; for Emacsen without the above bug - (progn - (let (minor-mode-map-alist emulation-mode-map-alists) - (viper-set-unread-command-events event) - (setq keyseq (read-key-sequence nil 'continue-echo)) - ) ; let - ;; If keyseq translates into something that still has ESC - ;; at the beginning, separate ESC from the rest of the seq. - ;; In XEmacs we check for events that are keypress meta-key - ;; and convert them into [escape key] - ;; - ;; This is needed for the following reason: - ;; If ESC is the first symbol, we interpret it as if the - ;; user typed ESC and then quickly some other symbols. - ;; If ESC is not the first one, then the key sequence - ;; entered was apparently translated into a function key or - ;; something (e.g., one may have - ;; (define-key function-key-map "\e[192z" [f11]) - ;; which would translate the escape-sequence generated by - ;; f11 in an xterm window into the symbolic key f11. - ;; - ;; If `first-key' is not an ESC event, we make it into the - ;; last-command-event in order to pretend that this key was - ;; pressed. This is needed to allow arrow keys to be bound to - ;; macros. Otherwise, viper-exec-mapped-kbd-macro will think - ;; that the last event was ESC and so it'll execute whatever is - ;; bound to ESC. (Viper macros can't be bound to - ;; ESC-sequences). - (let* ((first-key (elt keyseq 0)) - (key-mod (event-modifiers first-key))) - (cond ((and (viper-ESC-event-p first-key) - (not (viper-translate-all-ESC-keysequences))) - ;; put keys following ESC on the unread list - ;; and return ESC as the key-sequence - (viper-set-unread-command-events (viper-subseq keyseq 1)) - (setq last-input-event event - keyseq (if (featurep 'emacs) - "\e" - (vector (character-to-event ?\e))))) - ((and (featurep 'xemacs) - (key-press-event-p first-key) - (equal '(meta) key-mod)) - (viper-set-unread-command-events - (vconcat (vector - (character-to-event (event-key first-key))) - (viper-subseq keyseq 1))) - (setq last-input-event event - keyseq (vector (character-to-event ?\e)))) - ((eventp first-key) - (setq last-command-event - (viper-copy-event first-key))) - )) - ) ; end progn - - ;; this is escape event with nothing after it - ;; put in unread-command-event and then re-read - (viper-set-unread-command-events event) - (setq keyseq (read-key-sequence nil)) - )) - ;; not an escape event - (setq keyseq (vector event))) - keyseq)) - - - ;; Listen to ESC key. -;; If a sequence of keys starting with ESC is issued with very short delays, -;; interpret these keys in Emacs mode, so ESC won't be interpreted as a Vi key. (defun viper-intercept-ESC-key () "Function that implements ESC key in Viper emulation of Vi." (interactive) @@ -1090,13 +1004,7 @@ ;; minor-mode map(s) have been temporarily disabled so the ESC ;; binding to viper-intercept-ESC-key doesn't hide the binding we're ;; looking for (Bug#9146): - (let* ((event (viper-envelop-ESC-key)) - (cmd (cond ((equal event viper-ESC-key) - 'viper-intercept-ESC-key) - ((let ((emulation-mode-map-alists nil)) - (key-binding event))) - (t - (error "Viper bell"))))) + (let* ((cmd 'viper-intercept-ESC-key)) ;; call the actual function to execute ESC (if no other symbols followed) ;; or the key bound to the ESC sequence (if the sequence was issued === modified file 'lisp/emulation/viper-keym.el' --- lisp/emulation/viper-keym.el 2013-01-01 09:11:05 +0000 +++ lisp/emulation/viper-keym.el 2013-06-22 21:43:10 +0000 @@ -192,7 +192,7 @@ :type 'string :group 'viper) -(defvar viper-ESC-key (kbd "ESC") +(defconst viper-ESC-key [escape] "Key used to ESC.") === modified file 'lisp/emulation/viper.el' --- lisp/emulation/viper.el 2013-03-12 02:08:21 +0000 +++ lisp/emulation/viper.el 2013-06-22 21:54:55 +0000 @@ -660,7 +660,7 @@ undone. It also can't undo some Viper settings." (interactive) - + (viper-setup-ESC-to-escape nil) ;; restore non-viper vars (setq-default next-line-add-newlines @@ -825,6 +825,58 @@ (add-hook 'viper-post-command-hooks 'set-viper-state-in-major-mode t)) +;;; Handling of tty's ESC event + +;; On a tty, an ESC event can either be the user hitting the escape key, or +;; some element of a byte sequence used to encode for example cursor keys. +;; So we try to recognize those events that correspond to the escape key and +;; turn them into `escape' events (same as used under GUIs). The heuristic we +;; use to distinguish the two cases is based, as usual, on a timeout, and on +;; the fact that the special ESC=>escape mapping only takes place if the whole +;; last key-sequence so far is just [?\e], i.e. either we're still in +;; read-key-sequence, or the last read-key-sequence only read [?\e], which +;; should ideally never happen because it should have been mapped to [escape]. + +(defun viper--tty-ESC-filter (map) + (if (and (equal (this-single-command-keys) [?\e]) + (sit-for (/ viper-fast-keyseq-timeout 1000))) + [escape] map)) + +(defun viper--lookup-key (map key) + "Kind of like `lookup-key'. +Two differences: +- KEY is a single key, not a sequence. +- the result is the \"raw\" binding, so it can be a `menu-item', rather than the + binding contained in that menu item." + (catch 'found + (map-keymap (lambda (k b) (if (equal key k) (throw 'found b))) map))) + +(defun viper-catch-tty-ESC () + "Setup key mappings of current terminal to turn a tty's ESC into `escape'." + (when (memq (terminal-live-p (frame-terminal)) '(t pc)) + (let ((esc-binding (viper-uncatch-tty-ESC))) + (define-key input-decode-map + [?\e] `(menu-item "" ,esc-binding :filter viper--tty-ESC-filter))))) + +(defun viper-uncatch-tty-ESC () + "Don't hack ESC into `escape' any more." + (let ((b (viper--lookup-key input-decode-map ?\e))) + (and (eq 'menu-item (car-safe b)) + (eq 'viper--tty-ESC-filter (nth 4 b)) + (define-key input-decode-map [?\e] (setq b (nth 2 b)))) + b)) + +(defun viper-setup-ESC-to-escape (enable) + (if enable + (add-hook 'tty-setup-hook 'viper-catch-tty-ESC) + (remove-hook 'tty-setup-hook 'viper-catch-tty-ESC)) + (let ((seen ())) + (dolist (frame (frame-list)) + (let ((terminal (frame-terminal frame))) + (unless (memq terminal seen) + (push terminal seen) + (with-selected-frame frame + (if enable (viper-catch-tty-ESC) (viper-uncatch-tty-ESC)))))))) ;; This sets major mode hooks to make them come up in vi-state. (defun viper-set-hooks () @@ -837,6 +889,8 @@ (if (eq (default-value 'major-mode) 'fundamental-mode) (setq-default major-mode 'viper-mode)) + (viper-setup-ESC-to-escape t) + (add-hook 'change-major-mode-hook 'viper-major-mode-change-sentinel) (add-hook 'find-file-hooks 'set-viper-state-in-major-mode) @@ -847,13 +901,6 @@ (defvar emerge-startup-hook) (add-hook 'emerge-startup-hook 'viper-change-state-to-emacs) - ;; Zap bad bindings in flyspell-mouse-map, which prevent ESC from working - ;; over misspelled words (due to the overlay keymaps) - (defvar flyspell-mode-hook) - (defvar flyspell-mouse-map) - (add-hook 'flyspell-mode-hook - (lambda () - (define-key flyspell-mouse-map viper-ESC-key nil))) ;; if viper is started from .emacs, it might be impossible to get certain ;; info about the display and windows until emacs initialization is complete ;; So do it via the window-setup-hook === modified file 'lisp/faces.el' --- lisp/faces.el 2013-05-15 23:55:41 +0000 +++ lisp/faces.el 2013-06-22 20:22:31 +0000 @@ -2126,7 +2126,8 @@ type) (when (fboundp term-init-func) (funcall term-init-func)) - (set-terminal-parameter frame 'terminal-initted term-init-func))))) + (set-terminal-parameter frame 'terminal-initted term-init-func) + (run-hooks 'tty-setup-hook))))) ;; Called from C function init_display to initialize faces of the ;; dumped terminal frame on startup. From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 22 19:49:43 2013 Received: (at 13793) by debbugs.gnu.org; 22 Jun 2013 23:49:43 +0000 Received: from localhost ([127.0.0.1]:35386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqXYs-0000gs-5h for submit@debbugs.gnu.org; Sat, 22 Jun 2013 19:49:42 -0400 Received: from mail-ve0-f177.google.com ([209.85.128.177]:33760) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqXYo-0000gd-H9 for 13793@debbugs.gnu.org; Sat, 22 Jun 2013 19:49:39 -0400 Received: by mail-ve0-f177.google.com with SMTP id cz10so7528390veb.22 for <13793@debbugs.gnu.org>; Sat, 22 Jun 2013 16:49:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=DpU29m3rAgRq0kPEWfN6iScKFt1FYi7ac7UUdajEqSU=; b=MP0UDGfdFXrF5GoItIwvQ/2BS7QLdMZLRvkJuypzEdKeI7tjqoPCsAaVSBv1JOD8Cc NAPH/i8QF8pSR0WXkPStdZJ78VLZ+9M1PR9EnLBuKjs7ZGePSoobjXtKn8gcjkGaNAqB OczwyxNa8IvVDEZNjRSw62Boq9ph6MIrpHIlkospHhx34vc4d9nloKseWu+rliQ8J4OW For3EaG8dfn/JFJ9bvBtpqMGk/oipqOZ+6XD7Of/0EocCI4TUKvYS9T3dmuv2frTVCpw 1u36FSZg4/Pu0VmsQfkcEXXdBMfpVNRmaFFJznICiIeUIE0ykz3kCXCgLcQ5CgMYj2s7 InkA== X-Received: by 10.58.19.162 with SMTP id g2mr8728971vee.12.1371944972674; Sat, 22 Jun 2013 16:49:32 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id sr7sm12229835vdc.2.2013.06.22.16.49.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 22 Jun 2013 16:49:31 -0700 (PDT) Message-ID: <51C6380A.80205@stonybrook.edu> Date: Sat, 22 Jun 2013 19:49:30 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Stefano Zacchiroli Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> In-Reply-To: <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQlhFQAcmCUP8qV4V1ynGDTIAMVBWQxvoZmLvNy2Y9M/RFyMJGndDFWAQi7S5E2FO/9V1KHg X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/) I missed that bug report. Can you point me to the relevant message?
I should be able to take a look next weekend.

--

       --- michael


On 06/22/2013 05:56 PM, Stefan Monnier wrote:
Heya, just checking back about the status of this bug report. I'm
affected by it and I've been stuck with Emacs 23 since its first arrival
(or else I can jump back on Emacs 24.3.x ditching viper all together,
which might even be a good thing for my saneness :-))
I don't understand all of what Viper does with the ESC key, nor do
I know what are the different cases where ESC has to behave in
a specific way, so it's difficult for me to come up with
a trustworthy patch.

Could you try the patch below under X11 and under a tty, ideally even
using emacsclient to create new X11 and tty frames?

Michael, could you also take a look at this patch?


        Stefan


=== modified file 'lisp/emulation/viper-cmd.el'
--- lisp/emulation/viper-cmd.el	2013-06-18 20:24:44 +0000
+++ lisp/emulation/viper-cmd.el	2013-06-22 21:40:32 +0000
@@ -996,93 +996,7 @@
 	(suspend-emacs))
     (viper-change-state-to-emacs)))
 
-
-;; Intercept ESC sequences on dumb terminals.
-;; Based on the idea contributed by Marcelino Veiga Tuimil <mveiga@dit.upm.es>
-
-;; Check if last key was ESC and if so try to reread it as a function key.
-;; But only if there are characters to read during a very short time.
-;; Returns the last event, if any.
-(defun viper-envelop-ESC-key ()
-  (let ((event last-input-event)
-	(keyseq [nil])
-	(inhibit-quit t))
-    (if (viper-ESC-event-p event)
-	(progn
-	  ;; Some versions of Emacs (eg., 22.50.8 (?)) have a bug, which makes
-          ;; even a single ESC into a fast keyseq. To guard against this, we
-	  ;; added a check if there are other events as well.  Keep the next
-	  ;; line for the next time the bug reappears, so that will remember to
-	  ;; report it.
-	  ;;(if (and (viper-fast-keysequence-p) unread-command-events)
-	  (if (viper-fast-keysequence-p) ;; for Emacsen without the above bug
-	      (progn
-		(let (minor-mode-map-alist emulation-mode-map-alists)
-		  (viper-set-unread-command-events event)
-		  (setq keyseq (read-key-sequence nil 'continue-echo))
-		  ) ; let
-		;; If keyseq translates into something that still has ESC
-		;; at the beginning, separate ESC from the rest of the seq.
-		;; In XEmacs we check for events that are keypress meta-key
-		;; and convert them into [escape key]
-		;;
-		;; This is needed for the following reason:
-		;; If ESC is the first symbol, we interpret it as if the
-		;; user typed ESC and then quickly some other symbols.
-		;; If ESC is not the first one, then the key sequence
-		;; entered was apparently translated into a function key or
-		;; something (e.g., one may have
-		;; (define-key function-key-map "\e[192z" [f11])
-		;; which would translate the escape-sequence generated by
-		;; f11 in an xterm window into the symbolic key f11.
-		;;
-		;; If `first-key' is not an ESC event, we make it into the
-		;; last-command-event in order to pretend that this key was
-		;; pressed.  This is needed to allow arrow keys to be bound to
-		;; macros.  Otherwise, viper-exec-mapped-kbd-macro will think
-		;; that the last event was ESC and so it'll execute whatever is
-		;; bound to ESC. (Viper macros can't be bound to
-		;; ESC-sequences).
-		(let* ((first-key (elt keyseq 0))
-		       (key-mod (event-modifiers first-key)))
-		  (cond ((and (viper-ESC-event-p first-key)
-			      (not (viper-translate-all-ESC-keysequences)))
-			 ;; put keys following ESC on the unread list
-			 ;; and return ESC as the key-sequence
-			 (viper-set-unread-command-events (viper-subseq keyseq 1))
-			 (setq last-input-event event
-			       keyseq (if (featurep 'emacs)
-					  "\e"
-					(vector (character-to-event ?\e)))))
-			((and (featurep 'xemacs)
-			      (key-press-event-p first-key)
-			      (equal '(meta) key-mod))
-			 (viper-set-unread-command-events
-			  (vconcat (vector
-				    (character-to-event (event-key first-key)))
-				   (viper-subseq keyseq 1)))
-			 (setq last-input-event event
-			       keyseq (vector (character-to-event ?\e))))
-			((eventp first-key)
-			 (setq last-command-event
-			       (viper-copy-event first-key)))
-			))
-		) ; end progn
-
-	    ;; this is escape event with nothing after it
-	    ;; put in unread-command-event and then re-read
-	    (viper-set-unread-command-events event)
-	    (setq keyseq (read-key-sequence nil))
-	    ))
-      ;; not an escape event
-      (setq keyseq (vector event)))
-    keyseq))
-
-
-
 ;; Listen to ESC key.
-;; If a sequence of keys starting with ESC is issued with very short delays,
-;; interpret these keys in Emacs mode, so ESC won't be interpreted as a Vi key.
 (defun viper-intercept-ESC-key ()
   "Function that implements ESC key in Viper emulation of Vi."
   (interactive)
@@ -1090,13 +1004,7 @@
   ;; minor-mode map(s) have been temporarily disabled so the ESC
   ;; binding to viper-intercept-ESC-key doesn't hide the binding we're
   ;; looking for (Bug#9146):
-  (let* ((event (viper-envelop-ESC-key))
-	 (cmd (cond ((equal event viper-ESC-key)
-		     'viper-intercept-ESC-key)
-		    ((let ((emulation-mode-map-alists nil))
-		       (key-binding event)))
-		    (t
-		     (error "Viper bell")))))
+  (let* ((cmd 'viper-intercept-ESC-key))
 
     ;; call the actual function to execute ESC (if no other symbols followed)
     ;; or the key bound to the ESC sequence (if the sequence was issued

=== modified file 'lisp/emulation/viper-keym.el'
--- lisp/emulation/viper-keym.el	2013-01-01 09:11:05 +0000
+++ lisp/emulation/viper-keym.el	2013-06-22 21:43:10 +0000
@@ -192,7 +192,7 @@
   :type 'string
   :group 'viper)
 
-(defvar viper-ESC-key (kbd "ESC")
+(defconst viper-ESC-key [escape]
   "Key used to ESC.")
 
 

=== modified file 'lisp/emulation/viper.el'
--- lisp/emulation/viper.el	2013-03-12 02:08:21 +0000
+++ lisp/emulation/viper.el	2013-06-22 21:54:55 +0000
@@ -660,7 +660,7 @@
 undone.
 It also can't undo some Viper settings."
   (interactive)
-
+  (viper-setup-ESC-to-escape nil)
   ;; restore non-viper vars
   (setq-default
    next-line-add-newlines
@@ -825,6 +825,58 @@
   (add-hook 'viper-post-command-hooks 'set-viper-state-in-major-mode t))
 
 
+;;; Handling of tty's ESC event
+
+;; On a tty, an ESC event can either be the user hitting the escape key, or
+;; some element of a byte sequence used to encode for example cursor keys.
+;; So we try to recognize those events that correspond to the escape key and
+;; turn them into `escape' events (same as used under GUIs).  The heuristic we
+;; use to distinguish the two cases is based, as usual, on a timeout, and on
+;; the fact that the special ESC=>escape mapping only takes place if the whole
+;; last key-sequence so far is just [?\e], i.e. either we're still in
+;; read-key-sequence, or the last read-key-sequence only read [?\e], which
+;; should ideally never happen because it should have been mapped to [escape].
+
+(defun viper--tty-ESC-filter (map)
+  (if (and (equal (this-single-command-keys) [?\e])
+           (sit-for (/ viper-fast-keyseq-timeout 1000)))
+      [escape] map))
+
+(defun viper--lookup-key (map key)
+  "Kind of like `lookup-key'.
+Two differences:
+- KEY is a single key, not a sequence.
+- the result is the \"raw\" binding, so it can be a `menu-item', rather than the
+  binding contained in that menu item."
+  (catch 'found
+    (map-keymap (lambda (k b) (if (equal key k) (throw 'found b))) map)))
+
+(defun viper-catch-tty-ESC ()
+  "Setup key mappings of current terminal to turn a tty's ESC into `escape'."
+  (when (memq (terminal-live-p (frame-terminal)) '(t pc))
+    (let ((esc-binding (viper-uncatch-tty-ESC)))
+      (define-key input-decode-map
+        [?\e] `(menu-item "" ,esc-binding :filter viper--tty-ESC-filter)))))
+
+(defun viper-uncatch-tty-ESC ()
+  "Don't hack ESC into `escape' any more."
+  (let ((b (viper--lookup-key input-decode-map ?\e)))
+    (and (eq 'menu-item (car-safe b))
+         (eq 'viper--tty-ESC-filter (nth 4 b))
+         (define-key input-decode-map [?\e] (setq b (nth 2 b))))
+    b))
+
+(defun viper-setup-ESC-to-escape (enable)
+  (if enable
+      (add-hook 'tty-setup-hook 'viper-catch-tty-ESC)
+    (remove-hook 'tty-setup-hook 'viper-catch-tty-ESC))
+  (let ((seen ()))
+    (dolist (frame (frame-list))
+      (let ((terminal (frame-terminal frame)))
+        (unless (memq terminal seen)
+          (push terminal seen)
+          (with-selected-frame frame
+            (if enable (viper-catch-tty-ESC) (viper-uncatch-tty-ESC))))))))
 
 ;; This sets major mode hooks to make them come up in vi-state.
 (defun viper-set-hooks ()
@@ -837,6 +889,8 @@
   (if (eq (default-value 'major-mode) 'fundamental-mode)
       (setq-default major-mode 'viper-mode))
 
+  (viper-setup-ESC-to-escape t)
+
   (add-hook 'change-major-mode-hook 'viper-major-mode-change-sentinel)
   (add-hook 'find-file-hooks 'set-viper-state-in-major-mode)
 
@@ -847,13 +901,6 @@
   (defvar emerge-startup-hook)
   (add-hook 'emerge-startup-hook 'viper-change-state-to-emacs)
 
-  ;; Zap bad bindings in flyspell-mouse-map, which prevent ESC from working
-  ;; over misspelled words (due to the overlay keymaps)
-  (defvar flyspell-mode-hook)
-  (defvar flyspell-mouse-map)
-  (add-hook 'flyspell-mode-hook
-	    (lambda ()
-              (define-key flyspell-mouse-map viper-ESC-key nil)))
   ;; if viper is started from .emacs, it might be impossible to get certain
   ;; info about the display and windows until emacs initialization is complete
   ;; So do it via the window-setup-hook

=== modified file 'lisp/faces.el'
--- lisp/faces.el	2013-05-15 23:55:41 +0000
+++ lisp/faces.el	2013-06-22 20:22:31 +0000
@@ -2126,7 +2126,8 @@
 		       type)
 	(when (fboundp term-init-func)
 	  (funcall term-init-func))
-	(set-terminal-parameter frame 'terminal-initted term-init-func)))))
+        (set-terminal-parameter frame 'terminal-initted term-init-func)
+	(run-hooks 'tty-setup-hook)))))
 
 ;; Called from C function init_display to initialize faces of the
 ;; dumped terminal frame on startup.


From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 22 22:28:48 2013 Received: (at 13793) by debbugs.gnu.org; 23 Jun 2013 02:28:49 +0000 Received: from localhost ([127.0.0.1]:35542 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uqa2p-0006NA-So for submit@debbugs.gnu.org; Sat, 22 Jun 2013 22:28:48 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:49513) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uqa2o-0006Ms-50 for 13793@debbugs.gnu.org; Sat, 22 Jun 2013 22:28:46 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkITABK/CFFMCppA/2dsb2JhbABEDoMNi2QBsA4Xc4IeAQEEAVYjBQsLNBIUGA0kiB4GsyeOBpEKA5cpiiCDMYFegjla X-IPAS-Result: AkITABK/CFFMCppA/2dsb2JhbABEDoMNi2QBsA4Xc4IeAQEEAVYjBQsLNBIUGA0kiB4GsyeOBpEKA5cpiiCDMYFegjla X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="16966789" Received: from 76-10-154-64.dsl.teksavvy.com (HELO pastel.home) ([76.10.154.64]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 22 Jun 2013 22:28:35 -0400 Received: by pastel.home (Postfix, from userid 20848) id 03EA762D2D; Sat, 22 Jun 2013 22:28:39 -0400 (EDT) From: Stefan Monnier To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51C6380A.80205@stonybrook.edu> Date: Sat, 22 Jun 2013 22:28:39 -0400 In-Reply-To: <51C6380A.80205@stonybrook.edu> (Michael Kifer's message of "Sat, 22 Jun 2013 19:49:30 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > I missed that bug report. Can you point me to the relevant message? > I should be able to take a look next weekend. You can see for yourself, the bug number is in the subject: http://debbugs.gnu.org/13793 Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 22 23:27:09 2013 Received: (at 13793) by debbugs.gnu.org; 23 Jun 2013 03:27:09 +0000 Received: from localhost ([127.0.0.1]:35612 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqaxJ-00005c-38 for submit@debbugs.gnu.org; Sat, 22 Jun 2013 23:27:09 -0400 Received: from mail-ve0-f172.google.com ([209.85.128.172]:39146) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UqaxH-000059-45 for 13793@debbugs.gnu.org; Sat, 22 Jun 2013 23:27:07 -0400 Received: by mail-ve0-f172.google.com with SMTP id jz10so7718341veb.31 for <13793@debbugs.gnu.org>; Sat, 22 Jun 2013 20:27:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=bhSm7KOCQyyR5RU74bSOpgLzsjfKWM2qtpoUOTauV4g=; b=Yjvj0IS0i+xY+eWAjEpzI8VcSzE2dsXo0VHWXTH83gDpPV3yjcp9xAP5uDGGTFBKuV Y9HOzeomwfTsXmGd3bOrYT/IvqtKOl8/ghVudAVTQK8WS5HvSLszXgpGYBIkEcIb1IlP ezel+VpSsgN+mkFA3qftFk0NTe8n/G4FOT5DZnmdIhjujoFOZz3e4A5Nkc/qRLjMG9z5 nkmtT4kMMSK1rc+EsZ23fU5yJOXM6SkV0SdatPTHbyMe0uzT60zm9wMuM7JY0cPZmgXN UkgFoyuBJspkuhzSSlOBV66R2v6hRBNwpzeJJJJYo9N0TgPSsXAhHPMyR6rEzjMLp90s 0jnw== X-Received: by 10.58.31.106 with SMTP id z10mr8928057veh.61.1371958021493; Sat, 22 Jun 2013 20:27:01 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id o3sm11742214vdu.13.2013.06.22.20.27.00 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 22 Jun 2013 20:27:00 -0700 (PDT) Message-ID: <51C66B03.7050802@stonybrook.edu> Date: Sat, 22 Jun 2013 23:26:59 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51C6380A.80205@stonybrook.edu> In-Reply-To: Content-Type: text/html; charset=windows-1255 Content-Transfer-Encoding: 8bit X-Gm-Message-State: ALoCoQntzluUEfhQfZV27yeW4QhizqgR7ogcB/W422qlXxLiDnCT3MU3kt49ihC6/hAGBRL0iT0E X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/)
On 06/22/2013 10:28 PM, Stefan Monnier wrote:
I missed that bug report.  Can you point me to the relevant message?
I should be able to take a look next weekend. 
You can see for yourself, the bug number is in the subject:
http://debbugs.gnu.org/13793


        Stefan

Ah, that one is non-trivial. I remember that 24.2 also broke Evil and there was a discussion on how to work around that emacs change.  The suggestion didn't work out of the box and then I timed out.
Will see if I get luckier next time.

--

       --- michael


From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 24 10:37:37 2013 Received: (at 13793) by debbugs.gnu.org; 24 Jun 2013 14:37:37 +0000 Received: from localhost ([127.0.0.1]:38702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ur7tg-0005Rl-Je for submit@debbugs.gnu.org; Mon, 24 Jun 2013 10:37:36 -0400 Received: from upsilon.hackadomia.org ([91.121.245.170]:58694) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ur7td-0005RR-BA for 13793@debbugs.gnu.org; Mon, 24 Jun 2013 10:37:34 -0400 Received: from usha.takhisis.invalid (unknown [IPv6:2001:660:3013:3:f2de:f1ff:fed1:eff6]) by upsilon.hackadomia.org (Postfix) with ESMTPSA id D263F960D0; Mon, 24 Jun 2013 16:37:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upsilon.cc; s=mail; t=1372084651; bh=Sv99flzCO+kOf0e8I67kDpVo3585MPOS+7X6lpUziXo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=dZB5pc7z3l9rV5sYnO3T8VGsJ7fuJb8FRDrWoQhUnSwNw/42WXurU7dz1gS5RNYbQ dJ3/8I7zJ0OZohH3hnDz/HfR8vhUUUNdMMmq3njGgKvpFcEZqyOxc9ubsSs1EGcNUy q7sK/PX5Kicx//Itd4Ic2pZOlErkB+ZAQPb1Aebc= Received: by usha.takhisis.invalid (Postfix, from userid 1000) id 284966813B8; Mon, 24 Jun 2013 16:37:31 +0200 (CEST) Date: Mon, 24 Jun 2013 16:37:31 +0200 From: Stefano Zacchiroli To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130624143731.GA24473@upsilon.cc> References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, Michael Kifer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On Sat, Jun 22, 2013 at 05:56:28PM -0400, Stefan Monnier wrote: > Could you try the patch below under X11 and under a tty, ideally even > using emacsclient to create new X11 and tty frames? Hi Stefan, I've just tried the patch (sorry for the delay, but in the process I stumbled upon #14596 and I was short on time, found only now the workaround for that). The patch works in fixing the M-x issue, which now works fine in both console (emacsclient -t) and GUI (emacsclient -c) clients. Unfortunately, the patch has a very nasty side-effect: it makes impossible to leave insert mode in console clients. Hitting ESC result (after the expected brief delay) in "ESC-" being shown in the Emacs minibuffer, but the nothing else happens. The key remains shown there indefinitely, whereas Viper remains in insert mode ( shown in the line just above the minibuffer). Hitting some other key then makes the "ESC-" message going away (presumably because ESC-that_char is not mapped to anything meaningful), but that's hit. There's no way to leave insert mode. On the other hand, everything works fine in the GUI clients, where both M-x and entering/leaving insert mode work as expected. For the sake of debugging, I've also tried to open in parallel the same buffer in a side-by-side console and GUI clients. It is possible to enter insert mode in the console client, and then use the GUI client to leave it. This was probably obvious to you, but it shows to me that the issue is in the interaction with the client, and not a sticky property of the underlying buffer. Thanks a lot for a first stab at the patch, I really appreciate. Hope this feedback helps, Cheers. -- Stefano Zacchiroli . . . . . . . zack@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Former Debian Project Leader . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club » From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 25 12:17:37 2013 Received: (at 13793) by debbugs.gnu.org; 25 Jun 2013 16:17:37 +0000 Received: from localhost ([127.0.0.1]:40699 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UrVw0-0000Y8-A1 for submit@debbugs.gnu.org; Tue, 25 Jun 2013 12:17:37 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:30454) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UrVvx-0000Xa-RV for 13793@debbugs.gnu.org; Tue, 25 Jun 2013 12:17:34 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFMCppA/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCwsOJhIUGA0kiB4GsR+QDpEKA6R6gV6DEw X-IPAS-Result: Av8EABK/CFFMCppA/2dsb2JhbABEuzWDWRdzgh4BAQQBViMFCwsOJhIUGA0kiB4GsR+QDpEKA6R6gV6DEw X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="17130998" Received: from 76-10-154-64.dsl.teksavvy.com (HELO pastel.home) ([76.10.154.64]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 25 Jun 2013 12:17:22 -0400 Received: by pastel.home (Postfix, from userid 20848) id B76786A3D0; Tue, 25 Jun 2013 12:17:27 -0400 (EDT) From: Stefan Monnier To: Stefano Zacchiroli Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> Date: Tue, 25 Jun 2013 12:17:27 -0400 In-Reply-To: <20130624143731.GA24473@upsilon.cc> (Stefano Zacchiroli's message of "Mon, 24 Jun 2013 16:37:31 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, Michael Kifer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Unfortunately, the patch has a very nasty side-effect: it makes > impossible to leave insert mode in console clients. Hitting ESC result > (after the expected brief delay) in "ESC-" being shown in the Emacs > minibuffer, but the nothing else happens. Hmm... I don't see this here: % emacs -Q M-x viper-mode 5 n i test ESC Please, note that the patch includes a change to lisp/faces.el which is a preloaded file, so you either need to regenerate (aka "redump") src/emacs after byte-compiling the new lisp/faces.el or to manually call M-x load-libbrary RET faces RET after starting `emacs'. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 01 12:32:47 2013 Received: (at 13793) by debbugs.gnu.org; 1 Jul 2013 16:32:47 +0000 Received: from localhost ([127.0.0.1]:50569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uth1y-0000jd-CZ for submit@debbugs.gnu.org; Mon, 01 Jul 2013 12:32:46 -0400 Received: from upsilon.hackadomia.org ([91.121.245.170]:56820) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uth1v-0000jU-DI for 13793@debbugs.gnu.org; Mon, 01 Jul 2013 12:32:44 -0400 Received: from usha.takhisis.invalid (maths.r-prg.net.univ-paris7.fr [81.194.27.158]) by upsilon.hackadomia.org (Postfix) with ESMTPSA id BB0FD960B2; Mon, 1 Jul 2013 18:32:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upsilon.cc; s=mail; t=1372696361; bh=4DkMmTFPSSXujSfNaT+ztRdxHFaaaM3y4R0LPxxac6Y=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=gX9nZDTXzLrKXcuLL5gVCcMlOJ5q6d+znyIFBUZ7Zif21s9izfRPKYHJEUN2QWnka UqOMMzThsmIT+9U+vYOPygRcdom/mFOxWuWzUlxmFV7xxa90zlKG8hcp1N+94PeExm sCN6KjfVrz1RoXW8ZIcQn27RVdv80bVFFsQtU+1E= Received: by usha.takhisis.invalid (Postfix, from userid 1000) id 9C2A06830E6; Mon, 1 Jul 2013 18:32:41 +0200 (CEST) Date: Mon, 1 Jul 2013 18:32:41 +0200 From: Stefano Zacchiroli To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130701163241.GA1895@upsilon.cc> References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, Michael Kifer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On Tue, Jun 25, 2013 at 12:17:27PM -0400, Stefan Monnier wrote: > Please, note that the patch includes a change to lisp/faces.el which is > a preloaded file, so you either need to regenerate (aka "redump") > src/emacs after byte-compiling the new lisp/faces.el or to manually call > M-x load-libbrary RET faces RET after starting `emacs'. That was it. By doing so I can confirm that the patch works with various combinations of daemon/non-daemon, console/GUI, etc. Thanks for it! Cheers. -- Stefano Zacchiroli . . . . . . . zack@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Former Debian Project Leader . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club » From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 01 19:27:47 2013 Received: (at 13793) by debbugs.gnu.org; 1 Jul 2013 23:27:47 +0000 Received: from localhost ([127.0.0.1]:51207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UtnVa-0007WN-At for submit@debbugs.gnu.org; Mon, 01 Jul 2013 19:27:46 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:34366) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UtnVY-0007WF-TG for 13793@debbugs.gnu.org; Mon, 01 Jul 2013 19:27:45 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id r61NRcNo016776; Mon, 1 Jul 2013 19:27:39 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 00904AE169; Mon, 1 Jul 2013 19:27:37 -0400 (EDT) From: Stefan Monnier To: Stefano Zacchiroli Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> Date: Mon, 01 Jul 2013 19:27:37 -0400 In-Reply-To: <20130701163241.GA1895@upsilon.cc> (Stefano Zacchiroli's message of "Mon, 1 Jul 2013 18:32:41 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4626=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4626> : streams <992494> : uri <1464189> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 13793 Cc: 13793@debbugs.gnu.org, Michael Kifer X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) >> Please, note that the patch includes a change to lisp/faces.el which is >> a preloaded file, so you either need to regenerate (aka "redump") >> src/emacs after byte-compiling the new lisp/faces.el or to manually call >> M-x load-libbrary RET faces RET after starting `emacs'. > That was it. By doing so I can confirm that the patch works with various > combinations of daemon/non-daemon, console/GUI, etc. Thanks for testing it. Michael, what's your opinion on the patch? Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 01 23:56:41 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 03:56:41 +0000 Received: from localhost ([127.0.0.1]:51591 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Utrho-0006i6-D4 for submit@debbugs.gnu.org; Mon, 01 Jul 2013 23:56:41 -0400 Received: from mail-qc0-f177.google.com ([209.85.216.177]:49435) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Utrhm-0006ht-1S for 13793@debbugs.gnu.org; Mon, 01 Jul 2013 23:56:38 -0400 Received: by mail-qc0-f177.google.com with SMTP id n1so3321456qcx.8 for <13793@debbugs.gnu.org>; Mon, 01 Jul 2013 20:56:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=lOk/OQy8RTw2mdjYeNUuYzHyl4SB5OVcydChmZS13FY=; b=Fm/4n1qFLg8yyae9Lzw4COtKvsYRqWH6NCsZQpfO0fIEmQ8Yb2Ye/tLAKtRaPvj2Dc IvMcJmHznVk60X5OaWoLnzexht2MtgUbGJ1k1eeCt8t7/svUDI2x3QbbJ6yPSrgtHsr8 NBy8uB+x13ouI20H4ZXx13R3gh08YDEBZWtKrfHn/5FREUDc2du/4DiLXY0dZqxZAuGs 6o6Pi5DdgKhE+tikjN9kjZ6t8MMa9p14kSf+UsRCwtzkPwuC/tu92LHNjJfPUkDOgiDG 4T32Bi+V0KOB5Xrrb8iif4sfq4kCG4bJ/IQFlJ9zG7JH86hJK/nNzQdtk2EbwXQ6fgO/ wz2g== X-Received: by 10.224.94.1 with SMTP id x1mr25377232qam.54.1372737392300; Mon, 01 Jul 2013 20:56:32 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id 2sm32129148qap.7.2013.07.01.20.56.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 01 Jul 2013 20:56:31 -0700 (PDT) Message-ID: <51D24F6E.5070907@stonybrook.edu> Date: Mon, 01 Jul 2013 23:56:30 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> In-Reply-To: <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQlJbwfNrGOrcCsIQagMNk8N2V0j4sMil4WPOq7c706PUbIKwGowFuABfxkYH5rIaD5jqpxI X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/)
On 07/01/2013 07:27 PM, Stefan Monnier wrote:
Please, note that the patch includes a change to lisp/faces.el which is
a preloaded file, so you either need to regenerate (aka "redump")
src/emacs after byte-compiling the new lisp/faces.el or to manually call
M-x load-libbrary RET faces RET after starting `emacs'.

      
That was it. By doing so I can confirm that the patch works with various
combinations of daemon/non-daemon, console/GUI, etc.
Thanks for testing it.
Michael, what's your opinion on the patch?


        Stefan

I was not able to test this weekend as planned. Will do soon.
However, I am concerned how it works under XEmacs.
Maintaining two versions is not an attractive option for me.

--

       --- michael


From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 02 03:56:01 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 07:56:01 +0000 Received: from localhost ([127.0.0.1]:51827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UtvRQ-000611-Lf for submit@debbugs.gnu.org; Tue, 02 Jul 2013 03:56:00 -0400 Received: from mail-qa0-f51.google.com ([209.85.216.51]:51524) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UtvRO-00060f-72 for 13793@debbugs.gnu.org; Tue, 02 Jul 2013 03:55:58 -0400 Received: by mail-qa0-f51.google.com with SMTP id f11so2484730qae.3 for <13793@debbugs.gnu.org>; Tue, 02 Jul 2013 00:55:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=Ijt6c547FAcq3nLwqTvYCS4vebybnw3xpY/cCa2k/a4=; b=ElkZZjLdX13V0BNa6/wb0NyfhoHsNt2x3TIU+uONO0ZAKJTKbAUGGPCWzo82mR8OBC fRSdEmUkOpuViWsGbnW1XONLqj64LMPsIPaJw9hMbGLnvdUJmpeaQuoGecnvsbFsDW8z bPCJ20VL/yKTgtE6S4ZnExwlWmO+cwNPGqEmRjSmFEh0IaOvayzKoqfiUpcRhRP3Kceo 7mJd+JS6XKouMczZHAlDGyc1NIAbADf/UpMxa7ikzDI9vHoE64GZJ3X+PvBZmbEP41bp 4U1rX+hoGA5zS55VKLpshUZAIQC9wISJR4pyvkrJtqIuJDTebh2JKCMc2yzURJfsdWNj ZAfQ== X-Received: by 10.229.141.10 with SMTP id k10mr8706297qcu.44.1372751752445; Tue, 02 Jul 2013 00:55:52 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id 2sm32945027qap.7.2013.07.02.00.55.51 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 02 Jul 2013 00:55:51 -0700 (PDT) Message-ID: <51D28786.6000104@stonybrook.edu> Date: Tue, 02 Jul 2013 03:55:50 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> In-Reply-To: <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQm9HkFkMtW3ztei4X6ymyN65ZdPm2drRXRs6hDxo1ATpUUB6AH/HQasYq3N9eVO130sF2dN X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/)
On 07/01/2013 07:27 PM, Stefan Monnier wrote:
Please, note that the patch includes a change to lisp/faces.el which is
a preloaded file, so you either need to regenerate (aka "redump")
src/emacs after byte-compiling the new lisp/faces.el or to manually call
M-x load-libbrary RET faces RET after starting `emacs'.

      
That was it. By doing so I can confirm that the patch works with various
combinations of daemon/non-daemon, console/GUI, etc.
Thanks for testing it.
Michael, what's your opinion on the patch?


        Stefan
actually, I just updated to the latest version of emacs from bzr and it breaks Viper completely.
Even M-x does not work: says M-x is undefined.
I thought the previous reports were talking only about terminal windows.

--

       --- michael


From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 02 04:45:05 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 08:45:06 +0000 Received: from localhost ([127.0.0.1]:51856 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UtwCu-0007yX-VY for submit@debbugs.gnu.org; Tue, 02 Jul 2013 04:45:05 -0400 Received: from upsilon.hackadomia.org ([91.121.245.170]:35975) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UtwCr-0007xp-CL for 13793@debbugs.gnu.org; Tue, 02 Jul 2013 04:45:03 -0400 Received: from usha.takhisis.invalid (unknown [IPv6:2a01:e34:eecc:42f0:76e5:bff:fea7:56b8]) by upsilon.hackadomia.org (Postfix) with ESMTPSA id DB572960B2; Tue, 2 Jul 2013 10:44:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upsilon.cc; s=mail; t=1372754699; bh=q50RimvRVpBlTkOOFOhGq5OrnWTYQsFWOvPFO0Wckeg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Tev3qNAvM4aKkZQqL35l2rAgUJ114U1kxe0TCG9OtGrKlxQP5t3gTdPpd0M+2hXl+ md5Oak84xKmq1vquNx0Th8f32r2BLYVq3OpoURu/OgHFXyZyEH8dlZr3fc/44qCd7p taAJdXIPbZE4L4JXnHxroxeAGixNTeftbhBtW6zA= Received: by usha.takhisis.invalid (Postfix, from userid 1000) id 818C8680BC5; Tue, 2 Jul 2013 10:44:59 +0200 (CEST) Date: Tue, 2 Jul 2013 10:44:59 +0200 From: Stefano Zacchiroli To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: <20130702084459.GA13421@upsilon.cc> References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> <51D28786.6000104@stonybrook.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <51D28786.6000104@stonybrook.edu> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) On Tue, Jul 02, 2013 at 03:55:50AM -0400, Michael Kifer wrote: > Stefan > > actually, I just updated to the latest version of emacs from bzr and it breaks > Viper completely. > Even M-x does not work: says M-x is undefined. > I thought the previous reports were talking only about terminal windows. Is that with or without Stefan's patch? I'm using right now an Emacs development snapshot from yesterday, with Stefan's patch applied, and everything works fine here. Cheers. -- Stefano Zacchiroli . . . . . . . zack@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Former Debian Project Leader . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club » From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 02 10:41:44 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 14:41:45 +0000 Received: from localhost ([127.0.0.1]:52553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu1m4-00032e-C6 for submit@debbugs.gnu.org; Tue, 02 Jul 2013 10:41:44 -0400 Received: from mail-qc0-f182.google.com ([209.85.216.182]:34421) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu1m2-00032H-7U for 13793@debbugs.gnu.org; Tue, 02 Jul 2013 10:41:42 -0400 Received: by mail-qc0-f182.google.com with SMTP id e10so3778875qcy.27 for <13793@debbugs.gnu.org>; Tue, 02 Jul 2013 07:41:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=JTwApR/Q5gFSI7bz84m3MZNe9BRcIjD3EelOKYgBgjI=; b=PwZLOAuCZBE8k9OILykivz+XYGLtZdaA8quGF8w+1NZZT9j8ua33a8esvakb62DmP0 yuKUu3TgVyV9FL814AQAgjmtxfRauU2aQPDSs5tiKABRxBZCdcwbHAAIhYADMNpigIkD L5qFTNAN1ekonCEYiwPFoUqYIrX6OYPAwCYWBRJfyMlI0hLBuESVIhyN0PfcR1NjMjEf nU1ZENh/hbWNeEbdOB8UnxSzw4BNlAlWfDONvHod4co1k2lp2WdOFFEOQ4TcRMvQ/QPh Bv1IgSm/HHeaYG5dV4op97Q8Y5EKuaAMAzqSVrqjc89Z1gEo4E52Ujp/33uniZJ+FDJL x6Rw== X-Received: by 10.49.106.40 with SMTP id gr8mr38065922qeb.84.1372776096646; Tue, 02 Jul 2013 07:41:36 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id 4sm12270855qaq.6.2013.07.02.07.41.35 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 02 Jul 2013 07:41:35 -0700 (PDT) Message-ID: <51D2E69E.3020207@stonybrook.edu> Date: Tue, 02 Jul 2013 10:41:34 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Stefano Zacchiroli Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> <51D28786.6000104@stonybrook.edu> <20130702084459.GA13421@upsilon.cc> In-Reply-To: <20130702084459.GA13421@upsilon.cc> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQlt3uPj55mPNDWwgm1ahrrvR0Xq+Hp1TszDqVpl1rY9cWxsTcQpvV9MmmEvGwUHjbD13Kqn X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/)
On 07/02/2013 04:44 AM, Stefano Zacchiroli wrote:
On Tue, Jul 02, 2013 at 03:55:50AM -0400, Michael Kifer wrote:
            Stefan

actually, I just updated to the latest version of emacs from bzr and it breaks
Viper completely.
Even M-x does not work: says M-x is undefined.
I thought the previous reports were talking only about terminal windows.
Is that with or without Stefan's patch? I'm using right now an Emacs
development snapshot from yesterday, with Stefan's patch applied, and
everything works fine here.

Cheers.

without the patch. I just pulled, compiled, and am getting M-x undefined.

--

       --- michael


From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 02 11:47:58 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 15:47:58 +0000 Received: from localhost ([127.0.0.1]:52662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu2o9-0005UH-3r for submit@debbugs.gnu.org; Tue, 02 Jul 2013 11:47:57 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:55000 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu2o6-0005U8-Oo for 13793@debbugs.gnu.org; Tue, 02 Jul 2013 11:47:55 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Uu2o4-0005Ru-1t; Tue, 02 Jul 2013 11:47:52 -0400 From: Glenn Morris To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> <51D28786.6000104@stonybrook.edu> X-Spook: Mantis FTS2000 South Africa SAPO Legion of Doom IMF X-Ran: nyNF0,SB,+;w!^ (Michael Kifer's message of "Tue, 02 Jul 2013 03:55:50 -0400") Message-ID: <227gh9arq0.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Kifer wrote: > Even M-x does not work: says M-x is undefined. Probably `make bootstrap' will fix that. PS any chance you could use plain text email rather than html? From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 02 12:39:37 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 16:39:37 +0000 Received: from localhost ([127.0.0.1]:52702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu3c8-00078T-In for submit@debbugs.gnu.org; Tue, 02 Jul 2013 12:39:36 -0400 Received: from mail-qc0-f180.google.com ([209.85.216.180]:63363) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu3c5-00078E-5e for 13793@debbugs.gnu.org; Tue, 02 Jul 2013 12:39:33 -0400 Received: by mail-qc0-f180.google.com with SMTP id a1so3853132qcx.11 for <13793@debbugs.gnu.org>; Tue, 02 Jul 2013 09:39:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=ej9KzVv5crDsWGTE7WuObipkBuL189w3lurT1epZ/Og=; b=VYWOKeOS98h+Aa9Fnj9fSFd9fvbUeoScW5gQcyCGK3wcv5fU3y84T5D13nxmv8sucB 3eagDLc1S78OIjNacIMy74/hGgaDFi+QBwiAApK7gPwidkDgyleO0LzIUyiJdXlBlM05 HL9dBVMUfD2iW2kxu7h1ywbHe/IwMUUFPW/LbIbLozWMESgh/4dKnA1RJbRn58XB/bte ACGC4JrNuv6E6hChx4ruhFR454weW83zKGVsQ8uW6j8nuZlwa3YpM/iFyxMirLbYglvH SL/0VZLiQ6M4X+rBQsCwGDZdxV7f6N5chmAN888US7Pw0IRr3a8/85xelKwEJ421zbLB HrWQ== X-Received: by 10.49.58.240 with SMTP id u16mr39046176qeq.16.1372783167274; Tue, 02 Jul 2013 09:39:27 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id l4sm37933401qay.0.2013.07.02.09.39.25 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 02 Jul 2013 09:39:26 -0700 (PDT) Message-ID: <51D3023D.4000305@stonybrook.edu> Date: Tue, 02 Jul 2013 12:39:25 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> <51D28786.6000104@stonybrook.edu> <227gh9arq0.fsf@fencepost.gnu.org> In-Reply-To: <227gh9arq0.fsf@fencepost.gnu.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQmLNPD5WwIXMzmdvfuyU+LbQ+gLP38qz28Khpi+x/rH1juV3/cRoqZ+vpyBSMxo6yuLIDn8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 07/02/2013 11:47 AM, Glenn Morris wrote: > Michael Kifer wrote: > >> Even M-x does not work: says M-x is undefined. > Probably `make bootstrap' will fix that. of course I did that. > PS any chance you could use plain text email rather than html? It should be sending both plain text and html and your mail client should be deciding what to display. From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 02 14:19:07 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 18:19:07 +0000 Received: from localhost ([127.0.0.1]:52826 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu5AQ-0001hI-I2 for submit@debbugs.gnu.org; Tue, 02 Jul 2013 14:19:06 -0400 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:59805) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu5AN-0001h7-9K for 13793@debbugs.gnu.org; Tue, 02 Jul 2013 14:19:03 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id r62IIxGf020917; Tue, 2 Jul 2013 14:19:00 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id CED82AE169; Tue, 2 Jul 2013 14:18:58 -0400 (EDT) From: Stefan Monnier To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> <51D28786.6000104@stonybrook.edu> Date: Tue, 02 Jul 2013 14:18:58 -0400 In-Reply-To: <51D28786.6000104@stonybrook.edu> (Michael Kifer's message of "Tue, 02 Jul 2013 03:55:50 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV4627=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4627> : streams <992928> : uri <1464961> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) > However, I am concerned how it works under XEmacs. Not sure how to get it to work in both, indeed. The faces.el patch is not indispensable (we could probably come up with some other hook for it), but I'm not sure if XEmacs provides something equivalent to input-decode-map. > actually, I just updated to the latest version of emacs from bzr and it > breaks Viper completely. Right, that's what this discussion is all about. > Even M-x does not work: says M-x is undefined. > I thought the previous reports were talking only about terminal windows. No, the previous reports are about GUI frames, Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 02 14:35:27 2013 Received: (at 13793) by debbugs.gnu.org; 2 Jul 2013 18:35:28 +0000 Received: from localhost ([127.0.0.1]:52834 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu5QF-000273-9u for submit@debbugs.gnu.org; Tue, 02 Jul 2013 14:35:27 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:58675 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uu5QD-00026w-IC for 13793@debbugs.gnu.org; Tue, 02 Jul 2013 14:35:26 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1Uu5QC-0002rX-3S; Tue, 02 Jul 2013 14:35:24 -0400 From: Glenn Morris To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <20130624143731.GA24473@upsilon.cc> <20130701163241.GA1895@upsilon.cc> <5fc5643667924a7eb32800ba7465bd7e@HUBCAS1.cs.stonybrook.edu> <51D28786.6000104@stonybrook.edu> <227gh9arq0.fsf@fencepost.gnu.org> <51D3023D.4000305@stonybrook.edu> X-Spook: Crowell USCODE Baranyi class struggle SDI Bin Laden X-Ran: jLo0gq$a<#d*kVsbBs0dCK//rGzD!j*R]^Iex4=STiL6*@N_9y`Opc&@3*8+@T=zQ8VmJU X-Hue: blue X-Debbugs-No-Ack: yes X-Attribution: GM Date: Tue, 02 Jul 2013 14:35:23 -0400 In-Reply-To: <51D3023D.4000305@stonybrook.edu> (Michael Kifer's message of "Tue, 02 Jul 2013 12:39:25 -0400") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Kifer wrote: >> Probably `make bootstrap' will fix that. > > of course I did that. I misunderstood, you are just seeing the reported viper problem. (I thought you meant that emacs -Q M-x did not work.) >> PS any chance you could use plain text email rather than html? > > It should be sending both plain text and html and your mail client > should be deciding what to display. No, all previous messages from you on this subject have been html-only. http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13793#19 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13793#51 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13793#57 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13793#72 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13793#75 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13793#81 The latest was ok: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13793#87 From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 04 17:13:21 2013 Received: (at 13793) by debbugs.gnu.org; 4 Jul 2013 21:13:21 +0000 Received: from localhost ([127.0.0.1]:58092 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uuqq6-0007yW-IP for submit@debbugs.gnu.org; Thu, 04 Jul 2013 17:13:21 -0400 Received: from mail-gh0-f178.google.com ([209.85.160.178]:42399) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uuqq0-0007yG-Sz for 13793@debbugs.gnu.org; Thu, 04 Jul 2013 17:13:16 -0400 Received: by mail-gh0-f178.google.com with SMTP id g15so524871ghb.23 for <13793@debbugs.gnu.org>; Thu, 04 Jul 2013 14:13:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=YsqdR7jViDEo2vQCV8e+HnILOKtqZJtfrIqIW7nYroU=; b=Yy3quC5FbWikYdAkNvOsUa+BLgEWX2U/RVmGVaN+OFmLMKloT4I19kToEhZN+f5F/4 znCbTfbBGXzPu6BxEGFVb7UY3MVWoVL/DTGhBpZrpY6r8egrF0fja9xV1DkiTsDwRBQ9 YAtA08Up6fRugttTT9hhxNp8xvcBkfhep7WXNlSGnLdiuaOhyf0fnZeU/wEBcr47mbw/ PYz3EpndxDenxtsjlHu/NoBwrNJ/nAqyyvZoaiAa2NCT6Rww9/UrakTAIeQiMHo77DE2 N1izEtDfn7VerZLbADOSgwAUkdJucn594l4v5rMLKlBj1rBeh7eApYDxrwxhXdnOFzP/ UxQw== X-Received: by 10.236.202.211 with SMTP id d59mr4089793yho.221.1372972387406; Thu, 04 Jul 2013 14:13:07 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id f67sm7519102yhh.9.2013.07.04.14.13.06 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 04 Jul 2013 14:13:06 -0700 (PDT) Message-ID: <51D5E561.5070802@stonybrook.edu> Date: Thu, 04 Jul 2013 17:13:05 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> In-Reply-To: <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQkpI22/38kTB+htm8xQsWAwfnVJYwk3tJnKVelMBVfWZfNHMXCBwOgMJqSiv7EDOMJhXgBo X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/) Stefan,
the patch seems to be working. Thanks for fixing it.
I'll play with it some more and will then commit.

--

       --- michael


On 06/22/2013 05:56 PM, Stefan Monnier wrote:
Heya, just checking back about the status of this bug report. I'm
affected by it and I've been stuck with Emacs 23 since its first arrival
(or else I can jump back on Emacs 24.3.x ditching viper all together,
which might even be a good thing for my saneness :-))
I don't understand all of what Viper does with the ESC key, nor do
I know what are the different cases where ESC has to behave in
a specific way, so it's difficult for me to come up with
a trustworthy patch.

Could you try the patch below under X11 and under a tty, ideally even
using emacsclient to create new X11 and tty frames?

Michael, could you also take a look at this patch?


        Stefan


=== modified file 'lisp/emulation/viper-cmd.el'
--- lisp/emulation/viper-cmd.el	2013-06-18 20:24:44 +0000
+++ lisp/emulation/viper-cmd.el	2013-06-22 21:40:32 +0000
@@ -996,93 +996,7 @@
 	(suspend-emacs))
     (viper-change-state-to-emacs)))
 
-
-;; Intercept ESC sequences on dumb terminals.
-;; Based on the idea contributed by Marcelino Veiga Tuimil <mveiga@dit.upm.es>
-
-;; Check if last key was ESC and if so try to reread it as a function key.
-;; But only if there are characters to read during a very short time.
-;; Returns the last event, if any.
-(defun viper-envelop-ESC-key ()
-  (let ((event last-input-event)
-	(keyseq [nil])
-	(inhibit-quit t))
-    (if (viper-ESC-event-p event)
-	(progn
-	  ;; Some versions of Emacs (eg., 22.50.8 (?)) have a bug, which makes
-          ;; even a single ESC into a fast keyseq. To guard against this, we
-	  ;; added a check if there are other events as well.  Keep the next
-	  ;; line for the next time the bug reappears, so that will remember to
-	  ;; report it.
-	  ;;(if (and (viper-fast-keysequence-p) unread-command-events)
-	  (if (viper-fast-keysequence-p) ;; for Emacsen without the above bug
-	      (progn
-		(let (minor-mode-map-alist emulation-mode-map-alists)
-		  (viper-set-unread-command-events event)
-		  (setq keyseq (read-key-sequence nil 'continue-echo))
-		  ) ; let
-		;; If keyseq translates into something that still has ESC
-		;; at the beginning, separate ESC from the rest of the seq.
-		;; In XEmacs we check for events that are keypress meta-key
-		;; and convert them into [escape key]
-		;;
-		;; This is needed for the following reason:
-		;; If ESC is the first symbol, we interpret it as if the
-		;; user typed ESC and then quickly some other symbols.
-		;; If ESC is not the first one, then the key sequence
-		;; entered was apparently translated into a function key or
-		;; something (e.g., one may have
-		;; (define-key function-key-map "\e[192z" [f11])
-		;; which would translate the escape-sequence generated by
-		;; f11 in an xterm window into the symbolic key f11.
-		;;
-		;; If `first-key' is not an ESC event, we make it into the
-		;; last-command-event in order to pretend that this key was
-		;; pressed.  This is needed to allow arrow keys to be bound to
-		;; macros.  Otherwise, viper-exec-mapped-kbd-macro will think
-		;; that the last event was ESC and so it'll execute whatever is
-		;; bound to ESC. (Viper macros can't be bound to
-		;; ESC-sequences).
-		(let* ((first-key (elt keyseq 0))
-		       (key-mod (event-modifiers first-key)))
-		  (cond ((and (viper-ESC-event-p first-key)
-			      (not (viper-translate-all-ESC-keysequences)))
-			 ;; put keys following ESC on the unread list
-			 ;; and return ESC as the key-sequence
-			 (viper-set-unread-command-events (viper-subseq keyseq 1))
-			 (setq last-input-event event
-			       keyseq (if (featurep 'emacs)
-					  "\e"
-					(vector (character-to-event ?\e)))))
-			((and (featurep 'xemacs)
-			      (key-press-event-p first-key)
-			      (equal '(meta) key-mod))
-			 (viper-set-unread-command-events
-			  (vconcat (vector
-				    (character-to-event (event-key first-key)))
-				   (viper-subseq keyseq 1)))
-			 (setq last-input-event event
-			       keyseq (vector (character-to-event ?\e))))
-			((eventp first-key)
-			 (setq last-command-event
-			       (viper-copy-event first-key)))
-			))
-		) ; end progn
-
-	    ;; this is escape event with nothing after it
-	    ;; put in unread-command-event and then re-read
-	    (viper-set-unread-command-events event)
-	    (setq keyseq (read-key-sequence nil))
-	    ))
-      ;; not an escape event
-      (setq keyseq (vector event)))
-    keyseq))
-
-
-
 ;; Listen to ESC key.
-;; If a sequence of keys starting with ESC is issued with very short delays,
-;; interpret these keys in Emacs mode, so ESC won't be interpreted as a Vi key.
 (defun viper-intercept-ESC-key ()
   "Function that implements ESC key in Viper emulation of Vi."
   (interactive)
@@ -1090,13 +1004,7 @@
   ;; minor-mode map(s) have been temporarily disabled so the ESC
   ;; binding to viper-intercept-ESC-key doesn't hide the binding we're
   ;; looking for (Bug#9146):
-  (let* ((event (viper-envelop-ESC-key))
-	 (cmd (cond ((equal event viper-ESC-key)
-		     'viper-intercept-ESC-key)
-		    ((let ((emulation-mode-map-alists nil))
-		       (key-binding event)))
-		    (t
-		     (error "Viper bell")))))
+  (let* ((cmd 'viper-intercept-ESC-key))
 
     ;; call the actual function to execute ESC (if no other symbols followed)
     ;; or the key bound to the ESC sequence (if the sequence was issued

=== modified file 'lisp/emulation/viper-keym.el'
--- lisp/emulation/viper-keym.el	2013-01-01 09:11:05 +0000
+++ lisp/emulation/viper-keym.el	2013-06-22 21:43:10 +0000
@@ -192,7 +192,7 @@
   :type 'string
   :group 'viper)
 
-(defvar viper-ESC-key (kbd "ESC")
+(defconst viper-ESC-key [escape]
   "Key used to ESC.")
 
 

=== modified file 'lisp/emulation/viper.el'
--- lisp/emulation/viper.el	2013-03-12 02:08:21 +0000
+++ lisp/emulation/viper.el	2013-06-22 21:54:55 +0000
@@ -660,7 +660,7 @@
 undone.
 It also can't undo some Viper settings."
   (interactive)
-
+  (viper-setup-ESC-to-escape nil)
   ;; restore non-viper vars
   (setq-default
    next-line-add-newlines
@@ -825,6 +825,58 @@
   (add-hook 'viper-post-command-hooks 'set-viper-state-in-major-mode t))
 
 
+;;; Handling of tty's ESC event
+
+;; On a tty, an ESC event can either be the user hitting the escape key, or
+;; some element of a byte sequence used to encode for example cursor keys.
+;; So we try to recognize those events that correspond to the escape key and
+;; turn them into `escape' events (same as used under GUIs).  The heuristic we
+;; use to distinguish the two cases is based, as usual, on a timeout, and on
+;; the fact that the special ESC=>escape mapping only takes place if the whole
+;; last key-sequence so far is just [?\e], i.e. either we're still in
+;; read-key-sequence, or the last read-key-sequence only read [?\e], which
+;; should ideally never happen because it should have been mapped to [escape].
+
+(defun viper--tty-ESC-filter (map)
+  (if (and (equal (this-single-command-keys) [?\e])
+           (sit-for (/ viper-fast-keyseq-timeout 1000)))
+      [escape] map))
+
+(defun viper--lookup-key (map key)
+  "Kind of like `lookup-key'.
+Two differences:
+- KEY is a single key, not a sequence.
+- the result is the \"raw\" binding, so it can be a `menu-item', rather than the
+  binding contained in that menu item."
+  (catch 'found
+    (map-keymap (lambda (k b) (if (equal key k) (throw 'found b))) map)))
+
+(defun viper-catch-tty-ESC ()
+  "Setup key mappings of current terminal to turn a tty's ESC into `escape'."
+  (when (memq (terminal-live-p (frame-terminal)) '(t pc))
+    (let ((esc-binding (viper-uncatch-tty-ESC)))
+      (define-key input-decode-map
+        [?\e] `(menu-item "" ,esc-binding :filter viper--tty-ESC-filter)))))
+
+(defun viper-uncatch-tty-ESC ()
+  "Don't hack ESC into `escape' any more."
+  (let ((b (viper--lookup-key input-decode-map ?\e)))
+    (and (eq 'menu-item (car-safe b))
+         (eq 'viper--tty-ESC-filter (nth 4 b))
+         (define-key input-decode-map [?\e] (setq b (nth 2 b))))
+    b))
+
+(defun viper-setup-ESC-to-escape (enable)
+  (if enable
+      (add-hook 'tty-setup-hook 'viper-catch-tty-ESC)
+    (remove-hook 'tty-setup-hook 'viper-catch-tty-ESC))
+  (let ((seen ()))
+    (dolist (frame (frame-list))
+      (let ((terminal (frame-terminal frame)))
+        (unless (memq terminal seen)
+          (push terminal seen)
+          (with-selected-frame frame
+            (if enable (viper-catch-tty-ESC) (viper-uncatch-tty-ESC))))))))
 
 ;; This sets major mode hooks to make them come up in vi-state.
 (defun viper-set-hooks ()
@@ -837,6 +889,8 @@
   (if (eq (default-value 'major-mode) 'fundamental-mode)
       (setq-default major-mode 'viper-mode))
 
+  (viper-setup-ESC-to-escape t)
+
   (add-hook 'change-major-mode-hook 'viper-major-mode-change-sentinel)
   (add-hook 'find-file-hooks 'set-viper-state-in-major-mode)
 
@@ -847,13 +901,6 @@
   (defvar emerge-startup-hook)
   (add-hook 'emerge-startup-hook 'viper-change-state-to-emacs)
 
-  ;; Zap bad bindings in flyspell-mouse-map, which prevent ESC from working
-  ;; over misspelled words (due to the overlay keymaps)
-  (defvar flyspell-mode-hook)
-  (defvar flyspell-mouse-map)
-  (add-hook 'flyspell-mode-hook
-	    (lambda ()
-              (define-key flyspell-mouse-map viper-ESC-key nil)))
   ;; if viper is started from .emacs, it might be impossible to get certain
   ;; info about the display and windows until emacs initialization is complete
   ;; So do it via the window-setup-hook

=== modified file 'lisp/faces.el'
--- lisp/faces.el	2013-05-15 23:55:41 +0000
+++ lisp/faces.el	2013-06-22 20:22:31 +0000
@@ -2126,7 +2126,8 @@
 		       type)
 	(when (fboundp term-init-func)
 	  (funcall term-init-func))
-	(set-terminal-parameter frame 'terminal-initted term-init-func)))))
+        (set-terminal-parameter frame 'terminal-initted term-init-func)
+	(run-hooks 'tty-setup-hook)))))
 
 ;; Called from C function init_display to initialize faces of the
 ;; dumped terminal frame on startup.


From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 05 18:55:00 2013 Received: (at 13793) by debbugs.gnu.org; 5 Jul 2013 22:55:00 +0000 Received: from localhost ([127.0.0.1]:33001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvEu3-0003AK-1f for submit@debbugs.gnu.org; Fri, 05 Jul 2013 18:54:59 -0400 Received: from mail-ye0-f171.google.com ([209.85.213.171]:45391) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvEtz-00039r-Ao for 13793@debbugs.gnu.org; Fri, 05 Jul 2013 18:54:56 -0400 Received: by mail-ye0-f171.google.com with SMTP id q14so879713yen.30 for <13793@debbugs.gnu.org>; Fri, 05 Jul 2013 15:54:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=6wgqmjgz71aZ3nyU7Uv9NGkRo/cfpdK8638Z8sTZq7Q=; b=dwkmMQxregv+uVR2DJz8jR4meSh1zsfC0f1Cyqpnzc79IQ6WOaufqALIzPc30w8J4y KNTRdlMwM/Bg7K7QeGowSl0ykorziiBViNpvuZODZ2bbPzS2hbVtyrme/N7uaF4J8Y89 Ij407W6d4kznaQkp5AXoeZsyKURccU0inakOH4IJ3AH8Hw27aOaJwnndXAdCthNsUvjm 5v/Clyj24+ULPJjAOssE+EBIVQ5FH5O5ASCtxVeUsc4aUNg5JRm4NhgA5+r7LRrlCoy9 mudVrhplqiBzGt2SjOLq24n6z3wlxqtyYmha+lWToi02EhcUHn1+QhYA+rOvzX/dRNTw 4dBA== X-Received: by 10.236.24.226 with SMTP id x62mr7026221yhx.124.1373064889633; Fri, 05 Jul 2013 15:54:49 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id d68sm16029328yhk.7.2013.07.05.15.54.48 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 05 Jul 2013 15:54:49 -0700 (PDT) Message-ID: <51D74EB7.8070804@stonybrook.edu> Date: Fri, 05 Jul 2013 18:54:47 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Stefan Monnier Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> In-Reply-To: <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQlQQPqq3xspBRrQ/ozf8NI9xEFOHpLAsOGqjFn2YCgb/0DkK2qgQBTJt93qW/dgJlnqUlkI X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/) ok. I committed your patch along with some of my other changes.

--
     Thanks
       --- michael


On 06/22/2013 05:56 PM, Stefan Monnier wrote:
Heya, just checking back about the status of this bug report. I'm
affected by it and I've been stuck with Emacs 23 since its first arrival
(or else I can jump back on Emacs 24.3.x ditching viper all together,
which might even be a good thing for my saneness :-))
I don't understand all of what Viper does with the ESC key, nor do
I know what are the different cases where ESC has to behave in
a specific way, so it's difficult for me to come up with
a trustworthy patch.

Could you try the patch below under X11 and under a tty, ideally even
using emacsclient to create new X11 and tty frames?

Michael, could you also take a look at this patch?


        Stefan


=== modified file 'lisp/emulation/viper-cmd.el'
--- lisp/emulation/viper-cmd.el	2013-06-18 20:24:44 +0000
+++ lisp/emulation/viper-cmd.el	2013-06-22 21:40:32 +0000
@@ -996,93 +996,7 @@
 	(suspend-emacs))
     (viper-change-state-to-emacs)))
 
-
-;; Intercept ESC sequences on dumb terminals.
-;; Based on the idea contributed by Marcelino Veiga Tuimil <mveiga@dit.upm.es>
-
-;; Check if last key was ESC and if so try to reread it as a function key.
-;; But only if there are characters to read during a very short time.
-;; Returns the last event, if any.
-(defun viper-envelop-ESC-key ()
-  (let ((event last-input-event)
-	(keyseq [nil])
-	(inhibit-quit t))
-    (if (viper-ESC-event-p event)
-	(progn
-	  ;; Some versions of Emacs (eg., 22.50.8 (?)) have a bug, which makes
-          ;; even a single ESC into a fast keyseq. To guard against this, we
-	  ;; added a check if there are other events as well.  Keep the next
-	  ;; line for the next time the bug reappears, so that will remember to
-	  ;; report it.
-	  ;;(if (and (viper-fast-keysequence-p) unread-command-events)
-	  (if (viper-fast-keysequence-p) ;; for Emacsen without the above bug
-	      (progn
-		(let (minor-mode-map-alist emulation-mode-map-alists)
-		  (viper-set-unread-command-events event)
-		  (setq keyseq (read-key-sequence nil 'continue-echo))
-		  ) ; let
-		;; If keyseq translates into something that still has ESC
-		;; at the beginning, separate ESC from the rest of the seq.
-		;; In XEmacs we check for events that are keypress meta-key
-		;; and convert them into [escape key]
-		;;
-		;; This is needed for the following reason:
-		;; If ESC is the first symbol, we interpret it as if the
-		;; user typed ESC and then quickly some other symbols.
-		;; If ESC is not the first one, then the key sequence
-		;; entered was apparently translated into a function key or
-		;; something (e.g., one may have
-		;; (define-key function-key-map "\e[192z" [f11])
-		;; which would translate the escape-sequence generated by
-		;; f11 in an xterm window into the symbolic key f11.
-		;;
-		;; If `first-key' is not an ESC event, we make it into the
-		;; last-command-event in order to pretend that this key was
-		;; pressed.  This is needed to allow arrow keys to be bound to
-		;; macros.  Otherwise, viper-exec-mapped-kbd-macro will think
-		;; that the last event was ESC and so it'll execute whatever is
-		;; bound to ESC. (Viper macros can't be bound to
-		;; ESC-sequences).
-		(let* ((first-key (elt keyseq 0))
-		       (key-mod (event-modifiers first-key)))
-		  (cond ((and (viper-ESC-event-p first-key)
-			      (not (viper-translate-all-ESC-keysequences)))
-			 ;; put keys following ESC on the unread list
-			 ;; and return ESC as the key-sequence
-			 (viper-set-unread-command-events (viper-subseq keyseq 1))
-			 (setq last-input-event event
-			       keyseq (if (featurep 'emacs)
-					  "\e"
-					(vector (character-to-event ?\e)))))
-			((and (featurep 'xemacs)
-			      (key-press-event-p first-key)
-			      (equal '(meta) key-mod))
-			 (viper-set-unread-command-events
-			  (vconcat (vector
-				    (character-to-event (event-key first-key)))
-				   (viper-subseq keyseq 1)))
-			 (setq last-input-event event
-			       keyseq (vector (character-to-event ?\e))))
-			((eventp first-key)
-			 (setq last-command-event
-			       (viper-copy-event first-key)))
-			))
-		) ; end progn
-
-	    ;; this is escape event with nothing after it
-	    ;; put in unread-command-event and then re-read
-	    (viper-set-unread-command-events event)
-	    (setq keyseq (read-key-sequence nil))
-	    ))
-      ;; not an escape event
-      (setq keyseq (vector event)))
-    keyseq))
-
-
-
 ;; Listen to ESC key.
-;; If a sequence of keys starting with ESC is issued with very short delays,
-;; interpret these keys in Emacs mode, so ESC won't be interpreted as a Vi key.
 (defun viper-intercept-ESC-key ()
   "Function that implements ESC key in Viper emulation of Vi."
   (interactive)
@@ -1090,13 +1004,7 @@
   ;; minor-mode map(s) have been temporarily disabled so the ESC
   ;; binding to viper-intercept-ESC-key doesn't hide the binding we're
   ;; looking for (Bug#9146):
-  (let* ((event (viper-envelop-ESC-key))
-	 (cmd (cond ((equal event viper-ESC-key)
-		     'viper-intercept-ESC-key)
-		    ((let ((emulation-mode-map-alists nil))
-		       (key-binding event)))
-		    (t
-		     (error "Viper bell")))))
+  (let* ((cmd 'viper-intercept-ESC-key))
 
     ;; call the actual function to execute ESC (if no other symbols followed)
     ;; or the key bound to the ESC sequence (if the sequence was issued

=== modified file 'lisp/emulation/viper-keym.el'
--- lisp/emulation/viper-keym.el	2013-01-01 09:11:05 +0000
+++ lisp/emulation/viper-keym.el	2013-06-22 21:43:10 +0000
@@ -192,7 +192,7 @@
   :type 'string
   :group 'viper)
 
-(defvar viper-ESC-key (kbd "ESC")
+(defconst viper-ESC-key [escape]
   "Key used to ESC.")
 
 

=== modified file 'lisp/emulation/viper.el'
--- lisp/emulation/viper.el	2013-03-12 02:08:21 +0000
+++ lisp/emulation/viper.el	2013-06-22 21:54:55 +0000
@@ -660,7 +660,7 @@
 undone.
 It also can't undo some Viper settings."
   (interactive)
-
+  (viper-setup-ESC-to-escape nil)
   ;; restore non-viper vars
   (setq-default
    next-line-add-newlines
@@ -825,6 +825,58 @@
   (add-hook 'viper-post-command-hooks 'set-viper-state-in-major-mode t))
 
 
+;;; Handling of tty's ESC event
+
+;; On a tty, an ESC event can either be the user hitting the escape key, or
+;; some element of a byte sequence used to encode for example cursor keys.
+;; So we try to recognize those events that correspond to the escape key and
+;; turn them into `escape' events (same as used under GUIs).  The heuristic we
+;; use to distinguish the two cases is based, as usual, on a timeout, and on
+;; the fact that the special ESC=>escape mapping only takes place if the whole
+;; last key-sequence so far is just [?\e], i.e. either we're still in
+;; read-key-sequence, or the last read-key-sequence only read [?\e], which
+;; should ideally never happen because it should have been mapped to [escape].
+
+(defun viper--tty-ESC-filter (map)
+  (if (and (equal (this-single-command-keys) [?\e])
+           (sit-for (/ viper-fast-keyseq-timeout 1000)))
+      [escape] map))
+
+(defun viper--lookup-key (map key)
+  "Kind of like `lookup-key'.
+Two differences:
+- KEY is a single key, not a sequence.
+- the result is the \"raw\" binding, so it can be a `menu-item', rather than the
+  binding contained in that menu item."
+  (catch 'found
+    (map-keymap (lambda (k b) (if (equal key k) (throw 'found b))) map)))
+
+(defun viper-catch-tty-ESC ()
+  "Setup key mappings of current terminal to turn a tty's ESC into `escape'."
+  (when (memq (terminal-live-p (frame-terminal)) '(t pc))
+    (let ((esc-binding (viper-uncatch-tty-ESC)))
+      (define-key input-decode-map
+        [?\e] `(menu-item "" ,esc-binding :filter viper--tty-ESC-filter)))))
+
+(defun viper-uncatch-tty-ESC ()
+  "Don't hack ESC into `escape' any more."
+  (let ((b (viper--lookup-key input-decode-map ?\e)))
+    (and (eq 'menu-item (car-safe b))
+         (eq 'viper--tty-ESC-filter (nth 4 b))
+         (define-key input-decode-map [?\e] (setq b (nth 2 b))))
+    b))
+
+(defun viper-setup-ESC-to-escape (enable)
+  (if enable
+      (add-hook 'tty-setup-hook 'viper-catch-tty-ESC)
+    (remove-hook 'tty-setup-hook 'viper-catch-tty-ESC))
+  (let ((seen ()))
+    (dolist (frame (frame-list))
+      (let ((terminal (frame-terminal frame)))
+        (unless (memq terminal seen)
+          (push terminal seen)
+          (with-selected-frame frame
+            (if enable (viper-catch-tty-ESC) (viper-uncatch-tty-ESC))))))))
 
 ;; This sets major mode hooks to make them come up in vi-state.
 (defun viper-set-hooks ()
@@ -837,6 +889,8 @@
   (if (eq (default-value 'major-mode) 'fundamental-mode)
       (setq-default major-mode 'viper-mode))
 
+  (viper-setup-ESC-to-escape t)
+
   (add-hook 'change-major-mode-hook 'viper-major-mode-change-sentinel)
   (add-hook 'find-file-hooks 'set-viper-state-in-major-mode)
 
@@ -847,13 +901,6 @@
   (defvar emerge-startup-hook)
   (add-hook 'emerge-startup-hook 'viper-change-state-to-emacs)
 
-  ;; Zap bad bindings in flyspell-mouse-map, which prevent ESC from working
-  ;; over misspelled words (due to the overlay keymaps)
-  (defvar flyspell-mode-hook)
-  (defvar flyspell-mouse-map)
-  (add-hook 'flyspell-mode-hook
-	    (lambda ()
-              (define-key flyspell-mouse-map viper-ESC-key nil)))
   ;; if viper is started from .emacs, it might be impossible to get certain
   ;; info about the display and windows until emacs initialization is complete
   ;; So do it via the window-setup-hook

=== modified file 'lisp/faces.el'
--- lisp/faces.el	2013-05-15 23:55:41 +0000
+++ lisp/faces.el	2013-06-22 20:22:31 +0000
@@ -2126,7 +2126,8 @@
 		       type)
 	(when (fboundp term-init-func)
 	  (funcall term-init-func))
-	(set-terminal-parameter frame 'terminal-initted term-init-func)))))
+        (set-terminal-parameter frame 'terminal-initted term-init-func)
+	(run-hooks 'tty-setup-hook)))))
 
 ;; Called from C function init_display to initialize faces of the
 ;; dumped terminal frame on startup.


From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 06 15:12:06 2013 Received: (at 13793) by debbugs.gnu.org; 6 Jul 2013 19:12:06 +0000 Received: from localhost ([127.0.0.1]:35336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvXtt-0002W6-P1 for submit@debbugs.gnu.org; Sat, 06 Jul 2013 15:12:05 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:45804 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvXtr-0002Vy-Iv for 13793@debbugs.gnu.org; Sat, 06 Jul 2013 15:12:03 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1UvXtq-0007eQ-7w; Sat, 06 Jul 2013 15:12:02 -0400 From: Glenn Morris To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> X-Spook: 64 Vauxhall Cross asset Ft. Bragg arrangements X-Ran: _~X%uTs~gNl:3iMBvln9C'z]oKm{*J5b/[AbbznCd>SS!3iBFuqKB4}pE6IUf_^H!jwH\L X-Hue: magenta X-Debbugs-No-Ack: yes X-Attribution: GM Date: Sat, 06 Jul 2013 15:12:02 -0400 In-Reply-To: <51D74EB7.8070804@stonybrook.edu> (Michael Kifer's message of "Fri, 05 Jul 2013 18:54:47 -0400") Message-ID: <1zip0n8pvh.fsf@fencepost.gnu.org> User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Kifer wrote: > ok. I committed your patch along with some of my other changes.
You haven't committed anything to the Emacs repo AFAICS. Maybe you forgot to push the changes, or something. From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 06 16:33:46 2013 Received: (at 13793) by debbugs.gnu.org; 6 Jul 2013 20:33:46 +0000 Received: from localhost ([127.0.0.1]:35459 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvZAv-0004tY-JH for submit@debbugs.gnu.org; Sat, 06 Jul 2013 16:33:45 -0400 Received: from mail-vb0-f48.google.com ([209.85.212.48]:49324) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvZAt-0004t6-6G for 13793@debbugs.gnu.org; Sat, 06 Jul 2013 16:33:43 -0400 Received: by mail-vb0-f48.google.com with SMTP id w15so2499365vbf.35 for <13793@debbugs.gnu.org>; Sat, 06 Jul 2013 13:33:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=49aR1qW89jts4sI+2iWEn7FhSkbggc6tyZHDkoCey0U=; b=WfYLbtnxyM1de2JVX9WHx2wSuMO/O2/3myGuDh1YOtvD5Tca2wNjYy0sCT/WfaCVsD 79lPTAjXKCKLLn+cgVNoYQjQ4byxNPK+CpLNOfSJSrS1qYSHOXZCdFkF9J35vK0mLLTf NDl2tseZMFmYQuNufdc6b0VnNKpwgQq4OW4ROpBq/8hH+ZppauvR3bLYrkTST/T0GL0O PUS3nI+ZdWaRCaOTA3TY309UqVCrmomxNSesHBfadpAyuCmhoL3TuPVKSlIJZSg0kxmQ aqCxzuypwydC5k05afUOjjwUfvVUFTZqRRSKYk3y8Itu/uN9OU0cpQgbXHHOO9b6pot4 a7Kg== X-Received: by 10.58.50.198 with SMTP id e6mr10507903veo.15.1373142817585; Sat, 06 Jul 2013 13:33:37 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id no3sm8627324veb.4.2013.07.06.13.33.36 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 06 Jul 2013 13:33:36 -0700 (PDT) Message-ID: <51D87F20.80606@stonybrook.edu> Date: Sat, 06 Jul 2013 16:33:36 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> <1zip0n8pvh.fsf@fencepost.gnu.org> In-Reply-To: <1zip0n8pvh.fsf@fencepost.gnu.org> Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQmFzpDj5b7UIHYFE9lSfWqlGRxS7cg4SsIGim5/UgVDYgZMIhrwbWn/PWqTkHcZKfDIFFIx X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.4 (/)
On 07/06/2013 03:12 PM, Glenn Morris wrote:
Michael Kifer wrote:

    ok. I committed your patch along with some of my other changes. <br>
You haven't committed anything to the Emacs repo AFAICS.
Maybe you forgot to push the changes, or something.

I did push. Here is the log:

> bzr log

revno: 113293
committer: Michael Kifer <kifer@cs.stonybrook.edu>
branch nick: trunk
timestamp: Fri 2013-07-05 18:50:16 -0400
message:
        * faces.el  (tty-run-terminal-initialization): function changed (Stefan
        Monnier's patch).
       
        * viper.el (viper-emacs-state-mode-list): add egg-status-buffer-mode.
        (viper-version): version update.
        (viper-go-away,viper-setup-hooks): function changed (Stefan Monnier's
        patch).
        (viper--lookup-key,viper-catch-tty-ESC,viper-uncatch-tty-ESC,
        viper-setup-ESC-to-escape): new functions (Stefan Monnier's
        patch).
       
        * viper-cmd.el: (viper-del-forward-char-in-insert): new function.
        (viper-save-kill-buffer): check if buffer is modified.
        (viper-envelop-ESC-key): function deleted (Stefan Monnier's patch).
        (viper-intercept-ESC-key): function changed (Stefan Monnier's patch).
       
        * viper-keym.el (viper-ESC-key): constant changed (Stefan Monnier's
        patch).
       
        * ediff.el (ediff-files-command,ediff3-files-command): new functions.
        (ediff-merge-command,ediff-merge-with-ancestor-command): new functions.
        (ediff-directories-command,ediff-directories3-command): new functions.
        (ediff-merge-directories-command): new function.
        (ediff-merge-directories-with-ancestor-command): new function.
        All the above are command-line interfaces to ediff: facilitate calling
        Emacs with the appropriate ediff functions invoked.
        (ediff-version): version update.
------------------------------------------------------------
revno: 113292
committer: Paul Eggert <eggert@cs.ucla.edu>
branch nick: trunk
timestamp: Fri 2013-07-05 09:58:01 -0700
message:
  Remove duplicate #include directives.
 
  * alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]:
  * xfaces.c:
  Don't include stdio.h twice.
  * buffer.c [USE_MMAP_FOR_BUFFERS]:
  Don't in  * fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice.
  * lread.c: Don't include coding.h twice.
  * nsfont.m: Don't include frame.h twice.
  * process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice.
  * ralloc.c: Don't include <unistd.h> twice.
  * xdisp.c: Don't include font.h twice.
  * xterm.c: Don't include fontset.h twice.
  * xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice.
------------------------------------------------------------
revno: 113291
committer: Glenn Morris <rgm@gnu.org>
branch nick: trunk
timestamp: Fri 2013-07-05 09:10:47 -0700
message:
  * admin/admin.el (make-manuals): Use a pdf/ subdirectory for pdf versions.
clude sys/types.h or stdio.h twice.

etc.

From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 06 17:01:06 2013 Received: (at 13793) by debbugs.gnu.org; 6 Jul 2013 21:01:06 +0000 Received: from localhost ([127.0.0.1]:35490 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvZbN-0005hI-UY for submit@debbugs.gnu.org; Sat, 06 Jul 2013 17:01:06 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:48161 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvZbL-0005h6-7T for 13793@debbugs.gnu.org; Sat, 06 Jul 2013 17:01:03 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1UvZbJ-0007B1-Ug; Sat, 06 Jul 2013 17:01:01 -0400 From: Glenn Morris To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> <1zip0n8pvh.fsf@fencepost.gnu.org> <51D87F20.80606@stonybrook.edu> X-Spook: threat Aldergrove embassy Guantanamo $400 million in gold X-Ran: G/a~QZx'H;7WGPt;DvND4{F.}J1:C.4Ur]EB"fB6>Vb(Y?^FBs'@UN{:Di_.()@8SIC`pq X-Hue: white X-Debbugs-No-Ack: yes X-Attribution: GM Date: Sat, 06 Jul 2013 17:01:01 -0400 In-Reply-To: <51D87F20.80606@stonybrook.edu> (Michael Kifer's message of "Sat, 06 Jul 2013 16:33:36 -0400") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Michael Kifer wrote: > revno: 113293
> committer: Michael Kifer <kifer@cs.stonybrook.edu>
> branch nick: trunk
> timestamp: Fri 2013-07-05 18:50:16 -0400
> message:
>         * faces.el  (tty-run-terminal-initialization): function (As you can see, this is still html-only and hard to read.) That revision is not in the Emacs repository. Here is revision 113293 in Emacs: http://lists.gnu.org/archive/html/emacs-diffs/2013-07/msg00065.html From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 06 17:16:22 2013 Received: (at 13793) by debbugs.gnu.org; 6 Jul 2013 21:16:22 +0000 Received: from localhost ([127.0.0.1]:35499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvZq9-0006Ai-Cr for submit@debbugs.gnu.org; Sat, 06 Jul 2013 17:16:21 -0400 Received: from mail-vc0-f175.google.com ([209.85.220.175]:42309) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvZq7-0006AO-9C for 13793@debbugs.gnu.org; Sat, 06 Jul 2013 17:16:19 -0400 Received: by mail-vc0-f175.google.com with SMTP id hr11so2435891vcb.34 for <13793@debbugs.gnu.org>; Sat, 06 Jul 2013 14:16:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=30ODu4ReJhTrsBXyqffYuodjt4PgGC2kEq87n9MPlo4=; b=YmTTZzSPPud51xpXBzR6BRy3JPg6KPSX5L2FZNBSgYASF6FWYQxFSNWr7bmqLpo8ub z/vezOlSfseqtLWhaq6As8fnPMTzSCTdQbKRmJacc2RA/WlliwyH+tGS8nqERx9aPzIh EFHIX3548zgPPJYjcwjLrrWOgIgPU7O6mq+nOFIq56XJDfDLFXVU5AllvQpdrqGx3xZa a3rBGDUQ6f80qELYYLCMWSq8f8H0rUPbcE6sIdgzseOvOO2DxThV/+MGIfGwBjpiPone 3MkOyXTeo1/uNXQCMFLWxVqpSaAvOL1+V5MDwJu8l8/pwQXwnR+86J+YpntMKVDJDuW0 1bqA== X-Received: by 10.52.35.109 with SMTP id g13mr4418488vdj.21.1373145373723; Sat, 06 Jul 2013 14:16:13 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id p5sm8770090vek.1.2013.07.06.14.16.12 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 06 Jul 2013 14:16:13 -0700 (PDT) Message-ID: <51D8891B.3020607@stonybrook.edu> Date: Sat, 06 Jul 2013 17:16:11 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> <1zip0n8pvh.fsf@fencepost.gnu.org> <51D87F20.80606@stonybrook.edu> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQkFfhyEznVrCZ3YR9jMXLIn42jzhdsAaXLz1I4LJ7R97G6W7H5SQ1aGDnbE4U3qjz0n0Na8 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 07/06/2013 05:01 PM, Glenn Morris wrote: > Michael Kifer wrote: > >> revno: 113293
>> committer: Michael Kifer <kifer@cs.stonybrook.edu>
>> branch nick: trunk
>> timestamp: Fri 2013-07-05 18:50:16 -0400
>> message:
>>         * faces.el  (tty-run-terminal-initialization): function > (As you can see, this is still html-only and hard to read.) Yeah, need to check. It is supposed to send in both formats. > > That revision is not in the Emacs repository. > Here is revision 113293 in Emacs: > > http://lists.gnu.org/archive/html/emacs-diffs/2013-07/msg00065.html Hmm. Where could it be? /home/kifer/gnu/emacs/trunk> bzr info Repository tree (format: 2a) Location: shared repository: /home/kifer/gnu/emacs repository branch: . Related branches: parent branch: bzr+ssh://kifer@bzr.savannah.gnu.org/emacs/trunk/ Will check later where it went. From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 06 17:27:46 2013 Received: (at 13793) by debbugs.gnu.org; 6 Jul 2013 21:27:46 +0000 Received: from localhost ([127.0.0.1]:35513 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uva1C-0006VB-96 for submit@debbugs.gnu.org; Sat, 06 Jul 2013 17:27:46 -0400 Received: from mout.gmx.net ([212.227.17.22]:53757) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uva1A-0006Ux-0V for 13793@debbugs.gnu.org; Sat, 06 Jul 2013 17:27:45 -0400 Received: from rosalinde.fritz.box ([89.245.66.225]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MeMOx-1UZNu80uMh-00QFnH; Sat, 06 Jul 2013 23:27:32 +0200 From: Stephen Berman To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> <1zip0n8pvh.fsf@fencepost.gnu.org> <51D87F20.80606@stonybrook.edu> <51D8891B.3020607@stonybrook.edu> Date: Sat, 06 Jul 2013 23:27:30 +0200 In-Reply-To: <51D8891B.3020607@stonybrook.edu> (Michael Kifer's message of "Sat, 06 Jul 2013 17:16:11 -0400") Message-ID: <87vc4nxttp.fsf@rosalinde.fritz.box> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:cz6fyp8arqPOdw8tPym9LsgYy0/TOQ11PcYlaVcGlC29LZ716Vn /aijNnXSxLX7MoJGwrzRNyuuaGhfsyv3Am58fcH7Z75YldczJkj/7+Z3NRXHZaHubCOof+M yBMHu4hmfBBKCp2dUQzsrmhAcZohJUmsk+HYpyOej5lv4DTwA5RURn+iCxbnNILT2BKPUDH EiFZSbxMD5eVeM4dtUXvA== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Glenn Morris , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On Sat, 06 Jul 2013 17:16:11 -0400 Michael Kifer wrote: > On 07/06/2013 05:01 PM, Glenn Morris wrote: >> Michael Kifer wrote: >> >>> revno: 113293
>>> committer: Michael Kifer >> href="mailto:kifer@cs.stonybrook.edu"><kifer@cs.stonybrook.edu>
>>> branch nick: trunk
>>> timestamp: Fri 2013-07-05 18:50:16 -0400
>>> message:
>>>         * faces.el  >>> (tty-run-terminal-initialization): function >> (As you can see, this is still html-only and hard to read.) > > Yeah, need to check. It is supposed to send in both formats. > >> >> That revision is not in the Emacs repository. >> Here is revision 113293 in Emacs: >> >> http://lists.gnu.org/archive/html/emacs-diffs/2013-07/msg00065.html > > Hmm. Where could it be? > > /home/kifer/gnu/emacs/trunk> bzr info > > Repository tree (format: 2a) > Location: > shared repository: /home/kifer/gnu/emacs > repository branch: . > > Related branches: > parent branch: bzr+ssh://kifer@bzr.savannah.gnu.org/emacs/trunk/ > > Will check later where it went. Could it be that your checkout of trunk is not a bound branch? bzr infor on mine, which is bound, looks like this: steve@rosalinde:~/bzr/emacs/trunk> bzr info Repository checkout (format: 2a) Location: repository checkout root: . checkout of branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ shared repository: /data/steve/bzr/emacs Related branches: public branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk parent branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ submit branch: /data/steve/bzr/emacs/todos while bzr info on my quickfixes branch, which is not bound, looks like your trunk info: steve@rosalinde:~/bzr/emacs/quickfixes> bzr info Repository tree (format: 2a) Location: shared repository: /data/steve/bzr/emacs repository branch: . Related branches: parent branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ Steve Berman From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 06 17:39:33 2013 Received: (at 13793) by debbugs.gnu.org; 6 Jul 2013 21:39:33 +0000 Received: from localhost ([127.0.0.1]:35521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvaCa-0006pE-MZ for submit@debbugs.gnu.org; Sat, 06 Jul 2013 17:39:33 -0400 Received: from mout.gmx.net ([212.227.17.20]:64401) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvaCY-0006ou-B8 for 13793@debbugs.gnu.org; Sat, 06 Jul 2013 17:39:31 -0400 Received: from rosalinde.fritz.box ([89.245.66.225]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0M9b4B-1V47zS0Dzr-00D3PO; Sat, 06 Jul 2013 23:39:14 +0200 From: Stephen Berman To: Michael Kifer Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> <1zip0n8pvh.fsf@fencepost.gnu.org> <51D87F20.80606@stonybrook.edu> <51D8891B.3020607@stonybrook.edu> <87vc4nxttp.fsf@rosalinde.fritz.box> Date: Sat, 06 Jul 2013 23:39:11 +0200 In-Reply-To: <87vc4nxttp.fsf@rosalinde.fritz.box> (Stephen Berman's message of "Sat, 06 Jul 2013 23:27:30 +0200") Message-ID: <87r4fbxta8.fsf@rosalinde.fritz.box> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:n10c5uQJGf5j2kdSfAYDIDJcDzT+edbWew00CJTDRaeYcN3HoXH Fntz8forzQptHugIzbU4IOSn/0QJvb6S6GvrWhMI99qHj0rX1Cro8hre1fYqqpGl+FisE58 9oYeiRbBgwh1BOw+6zJFTrUKBO0CEWlw+7mYsAh0LqNB+SGkRHVzdStS1auCgy+mlc9wiN0 lkvFrW4DnH73GusdoHO3A== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On Sat, 06 Jul 2013 23:27:30 +0200 Stephen Berman wrote: > On Sat, 06 Jul 2013 17:16:11 -0400 Michael Kifer > wrote: > >> On 07/06/2013 05:01 PM, Glenn Morris wrote: >>> Michael Kifer wrote: >>> >>>> revno: 113293
>>>> committer: Michael Kifer >>> href="mailto:kifer@cs.stonybrook.edu"><kifer@cs.stonybrook.edu>
>>>> branch nick: trunk
>>>> timestamp: Fri 2013-07-05 18:50:16 -0400
>>>> message:
>>>>         * faces.el  >>>> (tty-run-terminal-initialization): function >>> (As you can see, this is still html-only and hard to read.) >> >> Yeah, need to check. It is supposed to send in both formats. >> >>> >>> That revision is not in the Emacs repository. >>> Here is revision 113293 in Emacs: >>> >>> http://lists.gnu.org/archive/html/emacs-diffs/2013-07/msg00065.html >> >> Hmm. Where could it be? >> >> /home/kifer/gnu/emacs/trunk> bzr info >> >> Repository tree (format: 2a) >> Location: >> shared repository: /home/kifer/gnu/emacs >> repository branch: . >> >> Related branches: >> parent branch: bzr+ssh://kifer@bzr.savannah.gnu.org/emacs/trunk/ >> >> Will check later where it went. > > Could it be that your checkout of trunk is not a bound branch? bzr > infor on mine, which is bound, looks like this: > > steve@rosalinde:~/bzr/emacs/trunk> bzr info > Repository checkout (format: 2a) > Location: > repository checkout root: . > checkout of branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ > shared repository: /data/steve/bzr/emacs > > Related branches: > public branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk > parent branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ > submit branch: /data/steve/bzr/emacs/todos > > while bzr info on my quickfixes branch, which is not bound, looks like > your trunk info: > > steve@rosalinde:~/bzr/emacs/quickfixes> bzr info > Repository tree (format: 2a) > Location: > shared repository: /data/steve/bzr/emacs > repository branch: . > > Related branches: > parent branch: bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ I should have added that you can check whether your trunk checkout is bound by looking at /home/kifer/gnu/emacs/trunk/.bzr/branch/branch.conf -- here is mine: parent_location = bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ public_branch = bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk bound_location = bzr+ssh://srb@bzr.savannah.gnu.org/emacs/trunk/ bound = True submit_branch = file:///data/steve/bzr/emacs/todos/ Steve Berman From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 07 15:41:57 2013 Received: (at 13793) by debbugs.gnu.org; 7 Jul 2013 19:41:57 +0000 Received: from localhost ([127.0.0.1]:37683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvuqK-0006IC-G5 for submit@debbugs.gnu.org; Sun, 07 Jul 2013 15:41:56 -0400 Received: from mail-vc0-f177.google.com ([209.85.220.177]:38703) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UvuqI-0006Hz-8C for 13793@debbugs.gnu.org; Sun, 07 Jul 2013 15:41:54 -0400 Received: by mail-vc0-f177.google.com with SMTP id hv10so2785699vcb.36 for <13793@debbugs.gnu.org>; Sun, 07 Jul 2013 12:41:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding :x-gm-message-state; bh=sRDdVTY5Vm7ozQMi306GFEjCQCRABiQCU6DnrUx9piw=; b=DR05n9Ji3kPLUgYaj4FXNV9PQs2VjtNqcKZppBaz7iCecEiWw2H6G+rW4oTDJk5eYl MLaoKW0ufIrWTAzak8WD9C/7838DPXHjf8uKxm+BCENjMTlc/llQiKkcDaApG/DfpWpN Wr8nT+0mGtw8sdJIlk86ZTp085J3UcQzAyz/jNynKyBZFC4gkdjl9ObP8MZ8ZHI3D0+H nviUywMohT7cw8PTnv4oXsEMYvEvALHbXrKEdyNdyURSD0C9/TLy1RYqILY+CeyrJgXn HZYKzPxCcxCy4a+N7VCDAbsIOQqmYU1qbj5oCt5KX1Zru+jv1NFNqke1p9NgwIf8V46c 9OIA== X-Received: by 10.58.41.105 with SMTP id e9mr12343647vel.14.1373226108369; Sun, 07 Jul 2013 12:41:48 -0700 (PDT) Received: from [192.168.1.106] (ool-18bf47c9.dyn.optonline.net. [24.191.71.201]) by mx.google.com with ESMTPSA id no3sm12336020veb.4.2013.07.07.12.41.47 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 07 Jul 2013 12:41:47 -0700 (PDT) Message-ID: <51D9C47A.7060107@stonybrook.edu> Date: Sun, 07 Jul 2013 15:41:46 -0400 From: Michael Kifer User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: Glenn Morris Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> <1zip0n8pvh.fsf@fencepost.gnu.org> <51D87F20.80606@stonybrook.edu> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQkZ4PPIRHwshbJILf6J6rjp4azD8p2AKGnD2AAWZT88dypQREVnRffwr33nA+O3DkrTkpA4 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 13793 Cc: "13793@debbugs.gnu.org" <13793@debbugs.gnu.org>, Stefan Monnier , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On 07/06/2013 05:01 PM, Glenn Morris wrote: > Michael Kifer wrote: > >> revno: 113293
>> committer: Michael Kifer <kifer@cs.stonybrook.edu>
>> branch nick: trunk
>> timestamp: Fri 2013-07-05 18:50:16 -0400
>> message:
>>         * faces.el  (tty-run-terminal-initialization): function > (As you can see, this is still html-only and hard to read.) > > That revision is not in the Emacs repository. > Here is revision 113293 in Emacs: > > http://lists.gnu.org/archive/html/emacs-diffs/2013-07/msg00065.html ok, the commit seems to be there now. From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 09 02:44:40 2013 Received: (at control) by debbugs.gnu.org; 9 Jul 2013 06:44:40 +0000 Received: from localhost ([127.0.0.1]:41055 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UwRfD-0000xk-9U for submit@debbugs.gnu.org; Tue, 09 Jul 2013 02:44:39 -0400 Received: from fencepost.gnu.org ([208.118.235.10]:43559 ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1UwRfA-0000xY-Dk for control@debbugs.gnu.org; Tue, 09 Jul 2013 02:44:37 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1UwRf9-000464-OF for control@debbugs.gnu.org; Tue, 09 Jul 2013 02:44:35 -0400 Date: Tue, 09 Jul 2013 02:44:35 -0400 Message-Id: Subject: control message for bug 13793 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -5.3 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.3 (-----) close 13793 From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 10 04:30:09 2013 Received: (at 13793-done) by debbugs.gnu.org; 10 Jul 2013 08:30:09 +0000 Received: from localhost ([127.0.0.1]:44197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uwpmq-0005VS-Qe for submit@debbugs.gnu.org; Wed, 10 Jul 2013 04:30:09 -0400 Received: from chene.dit.umontreal.ca ([132.204.246.20]:44582) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Uwpml-0005UL-KH for 13793-done@debbugs.gnu.org; Wed, 10 Jul 2013 04:30:04 -0400 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id r6A8U03d020442; Wed, 10 Jul 2013 04:30:01 -0400 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 042E1AE0C7; Wed, 10 Jul 2013 04:29:59 -0400 (EDT) From: Stefan Monnier To: 13793-done@debbugs.gnu.org Subject: Re: bug#13793: 24.3.50; M-x broken in viper and X Message-ID: References: <20130223123501.43568c52@susi> <20130615122529.GA25730@upsilon.cc> <435158c2008843bb9bd4a75345251bbe@HUBCAS1.cs.stonybrook.edu> <51D74EB7.8070804@stonybrook.edu> Date: Wed, 10 Jul 2013 04:29:59 -0400 In-Reply-To: <51D74EB7.8070804@stonybrook.edu> (Michael Kifer's message of "Fri, 05 Jul 2013 18:54:47 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV4634=0 X-NAI-Spam-Version: 2.3.0.9362 : core <4634> : streams <997261> : uri <1472790> X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: 13793-done Cc: Michael Kifer , Stefano Zacchiroli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.6 (-) > ok. I committed your patch along with some of my other changes. Thank you Michael, Stefan From unknown Tue Jun 17 01:50:21 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 07 Aug 2013 11:24:04 +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 From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 14 22:10:04 2017 Received: (at control) by debbugs.gnu.org; 15 Apr 2017 02:10:04 +0000 Received: from localhost ([127.0.0.1]:47664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1czDA4-0000TQ-KF for submit@debbugs.gnu.org; Fri, 14 Apr 2017 22:10:04 -0400 Received: from mail-it0-f41.google.com ([209.85.214.41]:36688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1czDA3-0000Ss-E1 for control@debbugs.gnu.org; Fri, 14 Apr 2017 22:10:03 -0400 Received: by mail-it0-f41.google.com with SMTP id b15so3059697iti.1 for ; Fri, 14 Apr 2017 19:10:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:mime-version; bh=8v1NosdXBUHfpHI9QqHUll3yCTNILog1PzUrd7umB8w=; b=Mvzuym7oX/eMEGtO3ie+NVJ7h1tC62FW/1OgkliNLKl1woIwlCs651zsZYKx4uetPs S38tThWqJNSzzFEdI3GZWZ0P3mtpJjRpyV9KlC0B2PfBs22jkP1/448s3klX+MoN0vhU SDrA6BalVy0/hImiNGnDprJ0nfCbpenmrr+PyPYllOlhS+XR8Cja8BFqhjqh+J/8r4vQ RB48jWTDf2ozjaut94WVK14zyihyy/suyUqbmv1AmT8NSPAyiEjJgbyPVP9l635xgKKj ooJHyr7hz2nZOcP6wP5PAGiAkP2Lz0niBf5wB3DduGwby8Tl4zK6FUBnjZUgP/L5lW5n Be+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :mime-version; bh=8v1NosdXBUHfpHI9QqHUll3yCTNILog1PzUrd7umB8w=; b=DuLLsuholV9sf1ld3MjjK2WM0DmH/jdamEEyxXF4rvVX5mqfGGL6EV/2Y5sD8UxrCS xSd9usjP9NIe6CUein3r90BuBllSGNDXCzZnWMRtR+3wxdJX5bS8iSVraG3QqZ3O1FrK M68kk/awORlAXvPltfxMFcnzd3OuRaztYyUf7DA2g/sO5cQohVn/5lsLDj2rw/pDmXLn wj9v4mRe5Ra2Zm9a3hXfcyds0Cr3BWBoZLKBth3FJSqwrQkcGzxvqBDTvynzTjRT/ICr xflKtS+39GD8L4ieEyJYk0mSRE09PwzSJ45DxJ7JJLcqwm9ETZfe6Gl6qrApyUugtQ4p xMPw== X-Gm-Message-State: AN3rC/4d9qJNgqGDuqdAShvgMbfB8Fk/VnIVdVV0Ex2uR7xCae2BESut 8zmDJJ/VHlwt7WU1 X-Received: by 10.36.115.146 with SMTP id y140mr1305523itb.21.1492222197513; Fri, 14 Apr 2017 19:09:57 -0700 (PDT) Received: from zony ([45.2.7.65]) by smtp.googlemail.com with ESMTPSA id 141sm1852239ioe.47.2017.04.14.19.09.56 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 14 Apr 2017 19:09:56 -0700 (PDT) From: npostavs@users.sourceforge.net To: control@debbugs.gnu.org Subject: control message for bug #13793 Date: Fri, 14 Apr 2017 22:11:26 -0400 Message-ID: <871ssuto6p.fsf@users.sourceforge.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.7 (/) unarchive 13793 forcemerge 13793 13709 quit From unknown Tue Jun 17 01:50:21 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 13 May 2017 11:24:04 +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