From: Juri Linkov Date: Sun, 5 May 2019 19:34:03 +0000 (+0300) Subject: * lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value. X-Git-Tag: emacs-27.0.90~2963 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c64cb02cca320811032bb300ea6d12cf59acf65d;p=emacs.git * 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). --- 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