From c64cb02cca320811032bb300ea6d12cf59acf65d Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Sun, 5 May 2019 22:34:03 +0300 Subject: [PATCH] * 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). --- lisp/emacs-lisp/lisp.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 -- 2.39.5