From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#23298: 25.0.92; electric-pair-delete-pair doesn't check if parens are balanced Date: Sun, 28 Jul 2019 22:07:49 +0200 Message-ID: <87ftmpapnu.fsf@mouse.gnus.org> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="206930"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 23298@debbugs.gnu.org To: Mohammed Sadik Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jul 28 22:08:10 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hrpSk-000rh9-ED for geb-bug-gnu-emacs@m.gmane.org; Sun, 28 Jul 2019 22:08:10 +0200 Original-Received: from localhost ([::1]:46700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hrpSi-0001lR-TO for geb-bug-gnu-emacs@m.gmane.org; Sun, 28 Jul 2019 16:08:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51487) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hrpSd-0001l9-NP for bug-gnu-emacs@gnu.org; Sun, 28 Jul 2019 16:08:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hrpSc-00086e-JP for bug-gnu-emacs@gnu.org; Sun, 28 Jul 2019 16:08:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38396) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hrpSc-00086Z-GA for bug-gnu-emacs@gnu.org; Sun, 28 Jul 2019 16:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hrpSc-0000Fp-94 for bug-gnu-emacs@gnu.org; Sun, 28 Jul 2019 16:08:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Jul 2019 20:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23298 X-GNU-PR-Package: emacs Original-Received: via spool by 23298-submit@debbugs.gnu.org id=B23298.1564344474942 (code B ref 23298); Sun, 28 Jul 2019 20:08:02 +0000 Original-Received: (at 23298) by debbugs.gnu.org; 28 Jul 2019 20:07:54 +0000 Original-Received: from localhost ([127.0.0.1]:47217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hrpSU-0000F8-Cw for submit@debbugs.gnu.org; Sun, 28 Jul 2019 16:07:54 -0400 Original-Received: from quimby.gnus.org ([80.91.231.51]:32884) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hrpST-0000F0-93 for 23298@debbugs.gnu.org; Sun, 28 Jul 2019 16:07:53 -0400 Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hrpSQ-0007IV-5f; Sun, 28 Jul 2019 22:07:52 +0200 In-Reply-To: (Mohammed Sadik's message of "Sat, 16 Apr 2016 07:08:50 +0530") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 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" Xref: news.gmane.org gmane.emacs.bugs:163988 Archived-At: Mohammed Sadik writes: > When pressing Backspace key, with electric-pair-mode enabled, > it unconditionally deletes the following char, if its the matching pair. > Ideally, it may better check if it breaks the equilibrium of > braces/quotes. > > Eg: code: (char-before (point)) > |_ point location > If my point (cursor) is just before the last paren (the cursor is > blinking on the last paren), and I press backspace until the beginning > of "point"[0], and then one char back[1], it just deletes the bracket, > without checking if the parens are balanced. > > code: > [0] (char-before () > |_point location > [1] (char-before > |_ point location > > This could be the case of quotes, braces, etc. (I'm going through old Emacs bug reports that haven't received any response.) Or a simpler example: (foo () If you put point after the next-to-last character, then hitting DEL will delete the last pair: (foo But... I don't think this is a bug? electric-pair-mode doesn't promise to keep things balanced globally, but delete the matching pair if you delete an opening parenthesis? I think. Does that tally with what everybody else would expect? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no