Function: delete-pair
delete-pair is an interactive and byte-compiled function defined in
lisp.el.gz.
Signature
(delete-pair &optional ARG)
Documentation
Delete a pair of characters enclosing ARG sexps that follow point.
A negative ARG deletes a pair around the preceding ARG sexps instead.
The option delete-pair-blink-delay can disable blinking. With
delete-pair-push-mark enabled, pushes a mark at the end of the
enclosed region.
Probably introduced at or before Emacs version 22.1.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/lisp.el.gz
(defun delete-pair (&optional arg)
"Delete a pair of characters enclosing ARG sexps that follow point.
A negative ARG deletes a pair around the preceding ARG sexps instead.
The option `delete-pair-blink-delay' can disable blinking. With
`delete-pair-push-mark' enabled, pushes a mark at the end of the
enclosed region."
(interactive "P")
(if arg
(setq arg (prefix-numeric-value arg))
(setq arg 1))
(if (< arg 0)
(save-excursion
(skip-chars-backward " \t")
(save-excursion
(let ((close-char (char-before)))
(forward-sexp arg)
(unless (member (list (char-after) close-char)
(mapcar (lambda (p)
(if (= (length p) 3) (cdr p) p))
insert-pair-alist))
(error "Not after matching pair"))
(when (and (numberp delete-pair-blink-delay)
(> delete-pair-blink-delay 0))
(sit-for delete-pair-blink-delay))
(delete-char 1)))
(delete-char -1))
(save-excursion
(skip-chars-forward " \t")
(save-excursion
(let ((open-char (char-after)))
(forward-sexp arg)
(unless (member (list open-char (char-before))
(mapcar (lambda (p)
(if (= (length p) 3) (cdr p) p))
insert-pair-alist))
(error "Not before matching pair"))
(when (and (numberp delete-pair-blink-delay)
(> delete-pair-blink-delay 0))
(sit-for delete-pair-blink-delay))
(delete-char -1)
(when delete-pair-push-mark
(push-mark))))
(delete-char 1))))