emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] 32/77: Improve easy-kill-bounds-of-list


From: Leo Liu
Subject: [elpa] 32/77: Improve easy-kill-bounds-of-list
Date: Sat, 05 Apr 2014 04:08:17 +0000

leoliu pushed a commit to branch master
in repository elpa.

commit 2735f9a572674a16772506633025dcda78a8303a
Author: Leo Liu <address@hidden>
Date:   Thu Oct 10 16:39:43 2013 +0800

    Improve easy-kill-bounds-of-list
    
    Stricter checking for handler in easy-kill-thing.
---
 easy-kill.el |   26 +++++++++++---------------
 1 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/easy-kill.el b/easy-kill.el
index a208594..7674150 100644
--- a/easy-kill.el
+++ b/easy-kill.el
@@ -160,8 +160,8 @@ candidate property instead."
         (n (or n 1)))
     (cond
      ((and (not inhibit-handler)
-           (intern-soft (format "easy-kill-on-%s" thing)))
-      (funcall (intern-soft (format "easy-kill-on-%s" thing)) n))
+           (fboundp (intern-soft (format "easy-kill-on-%s" thing))))
+      (funcall (intern (format "easy-kill-on-%s" thing)) n))
      ((or (eq thing (overlay-get easy-kill-candidate 'thing))
           (memq n '(+ -)))
       (easy-kill-thing-forward (pcase n
@@ -304,22 +304,18 @@ inspected."
         (if (and (or (not bound) (> (point) bound))
                  (/= point (point)))
             (easy-kill-backward-down (point) bound)
-          point))
-    (scan-error point)))
+          (goto-char point)))
+    (scan-error (goto-char point))))
 
 (defun easy-kill-bounds-of-list (n)
   (save-excursion
-    (when (pcase n
-            (`+ (let ((start (overlay-start easy-kill-candidate)))
-                  (goto-char start)
-                  (easy-kill-backward-up)
-                  (/= start (point))))
-            (`- (let ((pt (point)))
-                  (goto-char (easy-kill-backward-down
-                              (point) (overlay-start easy-kill-candidate)))
-                  (/= pt (point))))
-            (_ (error "Unsupported argument `%s'" n)))
-      (cons (point) (progn (forward-sexp 1) (point))))))
+    (pcase n
+      (`+ (goto-char (overlay-start easy-kill-candidate))
+          (easy-kill-backward-up))
+      (`- (easy-kill-backward-down
+           (point) (overlay-start easy-kill-candidate)))
+      (_ (error "Unsupported argument `%s'" n)))
+    (bounds-of-thing-at-point 'sexp)))
 
 (defun easy-kill-on-list (n)
   (if (memq n '(+ -))



reply via email to

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