From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.bugs Subject: bug#16981: 24.3.50; electric-pair-delete-adjacent-pairs broken in c-mode, python-mode, maybe-others Date: Thu, 13 Mar 2014 22:04:33 +0000 (UTC) Organization: muc.de e.V. Message-ID: References: NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1394748873 13632 80.91.229.3 (13 Mar 2014 22:14:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 13 Mar 2014 22:14:33 +0000 (UTC) To: gnu-emacs-bug@moderators.isc.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Mar 13 23:14:38 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WODte-00046s-8k for geb-bug-gnu-emacs@m.gmane.org; Thu, 13 Mar 2014 23:14:38 +0100 Original-Received: from localhost ([::1]:41877 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WODtd-0006C2-QI for geb-bug-gnu-emacs@m.gmane.org; Thu, 13 Mar 2014 18:14:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39323) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WODrE-0005He-T0 for bug-gnu-emacs@gnu.org; Thu, 13 Mar 2014 18:12:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WODr8-0003tU-HZ for bug-gnu-emacs@gnu.org; Thu, 13 Mar 2014 18:12:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35032) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WODr8-0003tQ-Er for bug-gnu-emacs@gnu.org; Thu, 13 Mar 2014 18:12:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WODr8-0004n0-9W for bug-gnu-emacs@gnu.org; Thu, 13 Mar 2014 18:12:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Mar 2014 22:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16981 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by submit@debbugs.gnu.org id=B.139474869818369 (code B ref -1); Thu, 13 Mar 2014 22:12:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 13 Mar 2014 22:11:38 +0000 Original-Received: from localhost ([127.0.0.1]:36214 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WODqk-0004mB-4Z for submit@debbugs.gnu.org; Thu, 13 Mar 2014 18:11:38 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:37482) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WODqh-0004m2-DJ for submit@debbugs.gnu.org; Thu, 13 Mar 2014 18:11:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WODqa-0003oL-QM for submit@debbugs.gnu.org; Thu, 13 Mar 2014 18:11:35 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:59149) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WODqa-0003oF-NR for submit@debbugs.gnu.org; Thu, 13 Mar 2014 18:11:28 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39156) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WODqU-0004A0-LE for bug-gnu-emacs@gnu.org; Thu, 13 Mar 2014 18:11:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WODqO-0003mJ-Vd for bug-gnu-emacs@gnu.org; Thu, 13 Mar 2014 18:11:22 -0400 Original-Received: from xvm-90.mit.edu ([18.181.2.90]:58159 helo=mod-relay.xvm.mit.edu) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WODqO-0003mF-Rp for bug-gnu-emacs@gnu.org; Thu, 13 Mar 2014 18:11:16 -0400 Original-Received: by mod-relay.xvm.mit.edu (Postfix) id 72EB31EDF7; Thu, 13 Mar 2014 18:11:15 -0400 (EDT) Original-Received: from mail.muc.de (colin.muc.de [193.149.48.1]) by mod-relay.xvm.mit.edu (Postfix) with ESMTP id 13BBD1EDCA for ; Thu, 13 Mar 2014 18:11:14 -0400 (EDT) Original-Received: (qmail 27647 invoked by uid 8); 13 Mar 2014 22:04:33 -0000 Original-Path: not-for-mail Original-Newsgroups: gnu.emacs.bug Original-Lines: 45 Original-NNTP-Posting-Host: news.muc.de Original-X-Trace: colin.muc.de 1394748273 27645 193.149.48.2 (13 Mar 2014 22:04:33 GMT) Original-X-Complaints-To: news-admin@muc.de Original-NNTP-Posting-Date: Thu, 13 Mar 2014 22:04:33 +0000 (UTC) User-Agent: tin/2.2.0-20131224 ("Lochindaal") (UNIX) (FreeBSD/8.4-RELEASE (amd64)) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-Mailman-Approved-At: Thu, 13 Mar 2014 18:14:35 -0400 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:86839 Archived-At: Jo?o T?vora wrote: > This variable, t by default, acts when `electric-pair-mode' is enabled. > It doesn't work in c-mode, python-mode and maybe other modes in > emacs. In also doesn't work in other modes outside of emacs, such as > markdown-mode.el [1] > All these modes rebind the backspace key to a command that does some > mode-specific action, then calls `backward-delete-char-untabify'. > elec-pair.el does mostly the same through remapping in its > `electric-pair-mode-map' but this binding is overriden by the > major-mode's. There's something funny going on here. A minor mode's keymap should normally take precedence over the major mode's keymap. (See the page "Searching Keymaps" in the Elisp manual.) So why is electric-pair-mode's keymap being overridden by CC Mode's here? > elec-pair.el remaps two other commands similarly. Here's the value of > electric-pair-mode-map > (keymap > (remap keymap > (delete-backward-char . electric-pair-backward-delete-char) > (backward-delete-char . electric-pair-backward-delete-char) > (backward-delete-char-untabify > . electric-pair-backward-delete-char-untabify))) > Perhaps a hook in `backward-delete-char' is in order. Or the other major > modes can find other ways to overload the backspace key. I would say it's legitimate for a major mode to bind the backspace key, but it's more questionable for a minor mode to do the same. Perhaps the minor mode really ought to use defadvice rather than rebinding the key. > Thanks, > Jo?o > [1]: http://jblevins.org/git/markdown-mode.git/plain/markdown-mode.el -- Alan Mackenzie (Nuremberg, Germany).