emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 8a028e9: Revert "Make delete-pair only delete pairs that are part


From: Lars Ingebrigtsen
Subject: master 8a028e9: Revert "Make delete-pair only delete pairs that are part of insert-pair-alist"
Date: Thu, 17 Sep 2020 19:12:35 -0400 (EDT)

branch: master
commit 8a028e900dac18208228a6d7eb4daef3e7aa174e
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Revert "Make delete-pair only delete pairs that are part of 
insert-pair-alist"
    
    This reverts commit 82de8ecc080d91dd05f2432d2d07feb2955aeec4.
    
    This patch breaks doing `M-x delete-pair' on "foo" in text-mode.
---
 lisp/emacs-lisp/lisp.el | 37 ++++++-------------------------------
 1 file changed, 6 insertions(+), 31 deletions(-)

diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index ac4ba78..8c18557 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -735,37 +735,12 @@ This command assumes point is not in a string or comment."
   (insert-pair arg ?\( ?\)))
 
 (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."
-  (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"))
-           (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"))
-         (delete-char -1)))
-      (delete-char 1))))
+  "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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]