From 8f2f91f7acf5792f0dc38f8045dc0d3ffe2e4593 Mon Sep 17 00:00:00 2001 From: Stephen Berman Date: Mon, 14 Jun 2021 14:57:57 +0200 Subject: Fix problem in HTML with bracketed characters * lisp/textmodes/sgml-mode.el (sgml-tag-syntax-table): Use bracket syntax for all Unicode bracket characters (bug#43941). --- lisp/textmodes/sgml-mode.el | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'lisp') diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index d5930e82df3..fda00ec367e 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -190,8 +190,19 @@ This takes effect when first loading the `sgml-mode' library.") "Syntax table used in SGML mode. See also `sgml-specials'.") (defconst sgml-tag-syntax-table - (let ((table (sgml-make-syntax-table sgml-specials))) - (dolist (char '(?\( ?\) ?\{ ?\} ?\[ ?\] ?$ ?% ?& ?* ?+ ?/)) + (let ((table (sgml-make-syntax-table sgml-specials)) + brackets) + (map-char-table + (lambda (key value) + (setq brackets (cons (list + (if (consp key) + (list (car key) (cdr key)) + key) + value) + brackets))) + (unicode-property-table-internal 'paired-bracket)) + (setq brackets (delete-dups (flatten-tree brackets))) + (dolist (char (append brackets (list ?$ ?% ?& ?* ?+ ?/))) (modify-syntax-entry char "." table)) (unless (memq ?' sgml-specials) ;; Avoid that skipping a tag backwards skips any "'" prefixing it. -- cgit v1.2.3