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

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

[elpa] externals/easy-kill 02dcebc 02/14: Implement easy-kill-delete-reg


From: Stefan Monnier
Subject: [elpa] externals/easy-kill 02dcebc 02/14: Implement easy-kill-delete-region.
Date: Mon, 15 Mar 2021 22:20:16 -0400 (EDT)

branch: externals/easy-kill
commit 02dcebcbd5f15126a65bbccc83985f602160898c
Author: Akinori MUSHA <knu@idaemons.org>
Commit: Akinori MUSHA <knu@idaemons.org>

    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 449a763..d08810a 100644
--- a/easy-kill.el
+++ b/easy-kill.el
@@ -122,6 +122,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)
@@ -531,6 +532,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 6458d4c..9df4d2d 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]