[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36006: electric-pair-mode fails to balance in certain cases
From: |
Dario Gjorgjevski |
Subject: |
bug#36006: electric-pair-mode fails to balance in certain cases |
Date: |
Fri, 22 Nov 2019 13:28:48 +0100 |
(It’s been so long since I last looked into the bug...)
> It doesn't happen in emacs-26, which has the same
> electric-pair--with-uncached-syntax call, so it's not just that alone.
> I suspect this could be related to the recent changes to mark ">"
> outside of tags with punctuation syntax (technically, <foo>a > b</foo>
> is valid, only "<" needs to be escaped as <).
You’re right. The problem is that electric-pair--with-uncached-syntax
let-binds syntax-propertize-function to ignore, causing the syntax of
">" to not be updated.
Applying the attached patch fixes the issue. However, in what cases
would we want syntax-propertize-function to be let-bound to ignore?
Best regards,
Dario
>From 6de30e0cdc97475b3aac2a35bec1fcf1ac0af84f Mon Sep 17 00:00:00 2001
From: Dario Gjorgjevski <dario.gjorgjevski+git@gmail.com>
Date: Fri, 22 Nov 2019 13:19:39 +0100
Subject: [PATCH] Leave syntax-propertize-function unchanged
* lisp/elec-pair.el (electric-pair--with-uncached-syntax): Do not
let-bind syntax-propertize-function.
---
lisp/elec-pair.el | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index f3cbee7048..6e528b2dfd 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -246,8 +246,7 @@ electric-pair--with-uncached-syntax
cache is flushed from position START, defaulting to point."
(declare (debug ((form &optional form) body)) (indent 1))
(let ((start-var (make-symbol "start")))
- `(let ((syntax-propertize-function #'ignore)
- (,start-var ,(or start '(point))))
+ `(let ((,start-var ,(or start '(point))))
(unwind-protect
(with-syntax-table ,table
,@body)
--
2.17.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#36006: electric-pair-mode fails to balance in certain cases,
Dario Gjorgjevski <=