]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/lisp.el (delete-pair): Add optional prefix arg.
authorJuri Linkov <juri@linkov.net>
Thu, 18 Oct 2018 23:09:15 +0000 (02:09 +0300)
committerJuri Linkov <juri@linkov.net>
Thu, 18 Oct 2018 23:09:15 +0000 (02:09 +0300)
(Bug#32896)

lisp/emacs-lisp/lisp.el

index 5a89923f8fb14d97b74016d23ab9ee979840266a..3fda1dd6186e2d75db76be66f99b1e7a8ccf0063 100644 (file)
@@ -723,11 +723,13 @@ This command assumes point is not in a string or comment."
   (interactive "P")
   (insert-pair arg ?\( ?\)))
 
-(defun delete-pair ()
-  "Delete a pair of characters enclosing the sexp that follows point."
-  (interactive)
-  (save-excursion (forward-sexp 1) (delete-char -1))
-  (delete-char 1))
+(defun delete-pair (&optional arg)
+  "Delete a pair of characters enclosing ARG sexps following point.
+A negative ARG deletes a pair of characters around preceding ARG sexps."
+  (interactive "p")
+  (unless arg (setq arg 1))
+  (save-excursion (forward-sexp arg) (delete-char (if (> arg 0) -1 1)))
+  (delete-char (if (> arg 0) 1 -1)))
 
 (defun raise-sexp (&optional arg)
   "Raise ARG sexps higher up the tree."