From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#32076: 24.5; Electric behavior of dollar sign using AUCTeX Date: Sun, 08 Jul 2018 15:37:01 +0100 Message-ID: <87601pztde.fsf@gmail.com> References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1531060573 11174 195.159.176.226 (8 Jul 2018 14:36:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 8 Jul 2018 14:36:13 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 32076@debbugs.gnu.org To: Patrick Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jul 08 16:36:08 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fcAnI-0002ny-KC for geb-bug-gnu-emacs@m.gmane.org; Sun, 08 Jul 2018 16:36:08 +0200 Original-Received: from localhost ([::1]:37206 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fcApP-0004d3-J3 for geb-bug-gnu-emacs@m.gmane.org; Sun, 08 Jul 2018 10:38:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43046) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fcApF-0004bH-MH for bug-gnu-emacs@gnu.org; Sun, 08 Jul 2018 10:38:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fcApA-0007sz-Lx for bug-gnu-emacs@gnu.org; Sun, 08 Jul 2018 10:38:09 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:43347) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fcApA-0007sr-GX for bug-gnu-emacs@gnu.org; Sun, 08 Jul 2018 10:38:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fcApA-00086R-7l for bug-gnu-emacs@gnu.org; Sun, 08 Jul 2018 10:38:04 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Jul 2018 14:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32076 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 32076-submit@debbugs.gnu.org id=B32076.153106063431089 (code B ref 32076); Sun, 08 Jul 2018 14:38:01 +0000 Original-Received: (at 32076) by debbugs.gnu.org; 8 Jul 2018 14:37:14 +0000 Original-Received: from localhost ([127.0.0.1]:51244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fcAoL-00085M-To for submit@debbugs.gnu.org; Sun, 08 Jul 2018 10:37:14 -0400 Original-Received: from mail-wr1-f47.google.com ([209.85.221.47]:41994) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fcAoJ-000858-JG for 32076@debbugs.gnu.org; Sun, 08 Jul 2018 10:37:12 -0400 Original-Received: by mail-wr1-f47.google.com with SMTP id p1-v6so8361691wrs.9 for <32076@debbugs.gnu.org>; Sun, 08 Jul 2018 07:37:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=FKkEiVw+YtRiWkbegZHLBj8fvGh5nsejIUFlc8lSTjs=; b=N6SBoGXNwFvz4X7nk9lrYWyOMhfDP+VgBhzueAZxf2ZT7fGKJo8HQZfcGJ1wgg4PTL YcG287Y4HQu12GEDnzEGJqY+3wJh47FLMSGLRFeNUrEzTMRz3c7L3NPAd/ZEePNb1Fjf r5+fWS2/3rML+aXX0vwJ1Pea6Ju4ZnuhSnPs6B3NdKzux+JYQN1k2j/x5mAorWY9GXwN ktyyowS7DWM2c9FGHUrMCFyTyGA2kviUT2gbCtgZmr5BC0fpeOzMD2bsLmmHL9OJflxx Jn5BZPPPhblUUj0xZdoVTj8m1xNlvsxzsODiI3AZZUQzJPxKR83QzjfADRf61IXiLq7J KjOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=FKkEiVw+YtRiWkbegZHLBj8fvGh5nsejIUFlc8lSTjs=; b=JeAPmQkyBxDs+Vvx3+UZNb7r1kEpoGO3Wvx4wyfgOLsytT1TBSTp39kVdT3bGtcxBA Pm6uhXCgRSSD6rePRR/GeXEMc+SiUfXstiyNON3cRnMGrJJEQsP0o8un/1Z7ir6+F5Gb CcdHqlvuQyVBeVXDCg2p6To9I4keTKiBtETToRlMUFdUAbXJbh93JpXzPD0MOC/kL9Q5 rhYipuwi4kDPg+kzEKX9WGuqKsZguK4++LECFwwuUaaZophoT9NsJHVQkrnO8c5mclSJ 4UxhM8akh3d8ioj5paTBSuY5xTaStfu9ijx6nD91DHeDnjgFMIjV06GYLPiTn7qVwkXC 9+Ag== X-Gm-Message-State: APt69E3AUSGsc39W6VX353FoT/Wh+YG+bsaHeue6++U43tuyFaLnJuKk WVjkHzNzgphSOFREGe94JVYspAdt X-Google-Smtp-Source: AAOMgpclR66yI0PIO49HnsSuNWSkfsD2o9//xa14WMVWl+p7XgaFVOGIbcXLGR8h7vDK9iAV6FIIhg== X-Received: by 2002:a5d:4d8d:: with SMTP id b13-v6mr11610574wru.80.1531060625331; Sun, 08 Jul 2018 07:37:05 -0700 (PDT) Original-Received: from lolita.yourcompany.com (188.139.62.94.rev.vodafone.pt. [94.62.139.188]) by smtp.gmail.com with ESMTPSA id j131-v6sm14465622wmb.35.2018.07.08.07.37.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 08 Jul 2018 07:37:04 -0700 (PDT) In-Reply-To: (patrick@math.utah.edu's message of "Fri, 06 Jul 2018 16:56:07 -0600") 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: 208.118.235.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:148346 Archived-At: Patrick writes: > See the following StackExchange question: href=3D"https://emacs.stackexchange.com/questions/42278/electric-behavior= -of-dollar-sign-using-auctex">https://emacs.stackexchange.com/questions/422= 78/electric-behavior-of-dollar-sign-using-auctex > Reporting as suggested by Joao Tavora. Thanks Patrick, In general we want the bug descriptions Emacs bug tracker to be as self-contained as possible. So here's the simple way to reproduce this: emacs -Q M-x tex-mode M-x electric-pair-mode type $, two dollars correctly appear and point is in the middle type something type $, again. Two dollars appear again instead of skipping over the dollar. The reason for this is that `electric-pair-skip-if-helps-balance' doesn't recognize the $ (paired-delimiter) syntax. It's easy to open a door for this in elec-pair.el (see attached partial patch), but Emacs' built-in tex-mode doesn't have anything to plug into the new electric-pair-between-paired-delimiters-function var (or does it?) AUCTeX, on the other hand, has `texmathp' which seems to do nicely. Should we lift this function into Emacs, or use some other, perhaps more generic, technique of discovering wether point is between two $$? Jo=C3=A3o diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el index 7df7098295..3040a5be6d 100644 --- a/lisp/elec-pair.el +++ b/lisp/elec-pair.el @@ -428,6 +428,9 @@ electric-pair-inhibit-if-helps-balance (electric-pair--unbalanced-strings-p char)))) (insert-char char))))) =20 +(defvar electric-pair-between-paired-delimiters-function #'ignore + "Function returning non-nil if point between paired delimiters.") + (defun electric-pair-skip-if-helps-balance (char) "Return non-nil if skipping CHAR would benefit parentheses' balance. =20 @@ -451,7 +454,9 @@ electric-pair-skip-if-helps-balance ((car innermost) (not (eq (cdr outermost) pair))))))) ((eq syntax ?\") - (electric-pair--inside-string-p char)))) + (electric-pair--inside-string-p char)) + ((eq syntax ?\$) + (funcall electric-pair-between-paired-delimiters-functio= n)))) (insert-char char))))) =20 (defun electric-pair-default-skip-self (char)