(re-search-backward "^\n" (- (point) 1) t)
(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)))
+(defcustom insert-pair-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
If COMMAND-CHAR is specified, it is a character that triggers the
insertion of the open/close pair, and COMMAND-CHAR itself isn't
-inserted.")
+inserted."
+ :type '(repeat (choice (list :tag "Pair"
+ (character :tag "Open")
+ (character :tag "Close"))
+ (list :tag "Triple"
+ (character :tag "Command")
+ (character :tag "Open")
+ (character :tag "Close"))))
+ :group 'lisp
+ :version "27.1")
(defun insert-pair (&optional arg open close)
"Enclose following ARG sexps in a pair of OPEN and CLOSE characters.