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

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

[elpa] externals/easy-kill cf5488a 06/14: Merge pull request #20 from kn


From: Stefan Monnier
Subject: [elpa] externals/easy-kill cf5488a 06/14: Merge pull request #20 from knu/delete-region
Date: Mon, 15 Mar 2021 22:20:16 -0400 (EDT)

branch: externals/easy-kill
commit cf5488ad7f92de7c4f708f1f601a6805bd70b918
Merge: 3ca8018 02dcebc
Author: Leo Liu <sdl.web@gmail.com>
Commit: Leo Liu <sdl.web@gmail.com>

    Merge pull request #20 from knu/delete-region
    
    Implement easy-kill-delete-region.
---
 easy-kill.el |  7 +++++++
 test.el      | 12 ++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/easy-kill.el b/easy-kill.el
index 40d537a..684a209 100644
--- a/easy-kill.el
+++ b/easy-kill.el
@@ -124,6 +124,7 @@ deprecated."
     (define-key map "?" 'easy-kill-help)
     (define-key map [remap set-mark-command] 'easy-kill-mark-region)
     (define-key map [remap kill-region] 'easy-kill-region)
+    (define-key map [remap delete-region] 'easy-kill-delete-region)
     (define-key map [remap keyboard-quit] 'easy-kill-abort)
     (define-key map [remap exchange-point-and-mark]
       'easy-kill-exchange-point-and-mark)
@@ -539,6 +540,12 @@ checked."
     (setq deactivate-mark t)
     (easy-kill-echo "Appended")))
 
+(put 'easy-kill-delete-region 'easy-kill-exit t)
+(defun easy-kill-delete-region ()
+  (interactive)
+  (pcase (easy-kill-get bounds)
+    (`(,beg . ,end) (delete-region beg end))))
+
 (put 'easy-kill-unhighlight 'easy-kill-exit t)
 (defun easy-kill-unhighlight ()
   (interactive)
diff --git a/test.el b/test.el
index 8386aa6..599920a 100644
--- a/test.el
+++ b/test.el
@@ -82,6 +82,18 @@
     (call-interactively #'easy-kill-append)
     (should (string= (car kill-ring) "abc"))))
 
+(ert-deftest test-easy-kill-delete-region ()
+  (with-temp-buffer
+    (insert "abc def ghi")
+    (backward-word 2)
+    (kill-new "test")
+    (easy-kill)
+    (easy-kill-thing 'word)
+    (call-interactively #'easy-kill-delete-region)
+    (should (string= (car kill-ring) "test"))
+    (should (string= (buffer-substring-no-properties (point-min) (point)) "abc 
"))
+    (should (string= (buffer-substring-no-properties (point) (point-max)) " 
ghi"))))
+
 ;;; Make sure the old format of easy-kill-alist is still supported.
 (ert-deftest test-old-easy-kill-alist ()
   (let ((easy-kill-alist '((?w . word)



reply via email to

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