summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2019-05-05 22:34:03 +0300
committerJuri Linkov <juri@linkov.net>2019-05-05 22:34:03 +0300
commitc64cb02cca320811032bb300ea6d12cf59acf65d (patch)
treee6b5afd1a573cea8bf17db10b826f7237d3031cf /lisp/emacs-lisp/lisp.el
parentdf9b56ecff43b64f39e98ab118fe9a0f299882c4 (diff)
downloademacs-c64cb02cca320811032bb300ea6d12cf59acf65d.tar.gz
* lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.
Use unicode-property-table-internal with 'paired-bracket to append pairs of open/close characters to the default value (bug#35480).
Diffstat (limited to 'lisp/emacs-lisp/lisp.el')
-rw-r--r--lisp/emacs-lisp/lisp.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index d10d5f0d101..f73dbb269d8 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -646,7 +646,13 @@ Interactively, the behavior depends on `narrow-to-defun-include-comments'."
(narrow-to-region beg end))))
(defvar insert-pair-alist
- '((?\( ?\)) (?\[ ?\]) (?\{ ?\}) (?\< ?\>) (?\" ?\") (?\' ?\') (?\` ?\'))
+ (append '((?\< ?\>) (?\" ?\") (?\' ?\') (?\` ?\'))
+ (let (alist)
+ (map-char-table
+ (lambda (open close)
+ (when (< open close) (push (list open close) alist)))
+ (unicode-property-table-internal 'paired-bracket))
+ (nreverse alist)))
"Alist of paired characters inserted by `insert-pair'.
Each element looks like (OPEN-CHAR CLOSE-CHAR) or (COMMAND-CHAR
OPEN-CHAR CLOSE-CHAR). The characters OPEN-CHAR and CLOSE-CHAR