]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.
authorJuri Linkov <juri@linkov.net>
Sun, 5 May 2019 19:34:03 +0000 (22:34 +0300)
committerJuri Linkov <juri@linkov.net>
Sun, 5 May 2019 19:34:03 +0000 (22:34 +0300)
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

index d10d5f0d101d5333c723509dcc32d18452a44f8e..f73dbb269d82ed4d2c4b195967d42f188dfaee22 100644 (file)
@@ -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