branch: externals/easy-kill
commit f9b450a87c41e5ef616df565ed158cb236aa5189
Author: Leo Liu <[email protected]>
Commit: Leo Liu <[email protected]>
Remove deprecated format for easy-kill-alist
Include `uuid' in easy-kill-try-things and easy-mark-try-things.
---
README.rst | 5 ++++-
easy-kill.el | 38 ++++++++++++++------------------------
test.el | 28 +++++-----------------------
3 files changed, 23 insertions(+), 48 deletions(-)
diff --git a/README.rst b/README.rst
index b43cb3b5d9..1934cd7c57 100644
--- a/README.rst
+++ b/README.rst
@@ -100,7 +100,10 @@ NEWS
0.9.5
+++++
-#. [BREAKING] Emacs >= 25 required
+#. [BREAKING] Emacs >= 25 required.
+#. [BREAKING] Remove deprecated format for ``easy-kill-alist``.
+#. Include ``uuid`` in ``easy-kill-try-things`` and
+ ``easy-mark-try-things``.
0.9.4
+++++
diff --git a/easy-kill.el b/easy-kill.el
index 0eb9ce48a9..d68b4dd4c1 100644
--- a/easy-kill.el
+++ b/easy-kill.el
@@ -54,10 +54,7 @@
"A list of (CHAR THING APPEND).
CHAR is used immediately following `easy-kill' to select THING.
APPEND is optional and if non-nil specifies the separator (a
-string) for appending current selection to previous kill.
-
-Note: each element can also be (CHAR . THING) but this is
-deprecated."
+string) for appending current selection to previous kill."
:type '(repeat (list character symbol
(choice string (const :tag "None" nil))))
:group 'killing)
@@ -72,12 +69,12 @@ deprecated."
:type '(choice (const :tag "None" nil) key-sequence)
:group 'killing)
-(defcustom easy-kill-try-things '(url email line)
+(defcustom easy-kill-try-things '(url email uuid line)
"A list of things for `easy-kill' to try."
:type '(repeat symbol)
:group 'killing)
-(defcustom easy-mark-try-things '(url email sexp)
+(defcustom easy-mark-try-things '(url email uuid sexp)
"A list of things for `easy-mark' to try."
:type '(repeat symbol)
:group 'killing)
@@ -199,11 +196,8 @@ The value is the function's symbol if non-nil."
(princ "\n")
(princ (easy-kill--fmt "---" "-----" "---------"))
(princ "\n\n")
- (princ (mapconcat (lambda (x) (pcase x
- (`(,c ,thing ,sep)
- (easy-kill--fmt c thing sep))
- ((or `(,c ,thing) `(,c . ,thing))
- (easy-kill--fmt c thing))))
+ (princ (mapconcat (pcase-lambda (`(,c ,thing ,sep))
+ (easy-kill--fmt c thing sep))
easy-kill-alist "\n"))
(princ "\n\n")
(princ (substitute-command-keys "\\{easy-kill-base-map}"))))
@@ -369,16 +363,14 @@ A thing is opted out of cycling if in
`easy-kill-cycle-ignored'."
(easy-kill-cycle next))))
(defun easy-kill-cycle-next (thing depth)
- (cl-flet ((thing-name (thing)
- (if (symbolp (cdr thing)) (cdr thing) (cl-second thing))))
- (let ((next (thing-name
- (car (or (cl-loop for (head . tail) on easy-kill-alist
- when (eq thing (thing-name head))
- return tail)
- easy-kill-alist)))))
- (cond ((not (memq next easy-kill-cycle-ignored)) next)
- ((> depth 0) (easy-kill-cycle-next next (1- depth)))
- (t (user-error "Nothing to cycle"))))))
+ (let ((next (cl-second
+ (car (or (cl-loop for (head . tail) on easy-kill-alist
+ when (eq thing (cl-second head))
+ return tail)
+ easy-kill-alist)))))
+ (cond ((not (memq next easy-kill-cycle-ignored)) next)
+ ((> depth 0) (easy-kill-cycle-next next (1- depth)))
+ (t (user-error "Nothing to cycle")))))
(defun easy-kill-digit-argument (n)
"Expand selection by N number of things.
@@ -465,9 +457,7 @@ checked."
(defun easy-kill-thing (&optional thing n inhibit-handler)
;; N can be -, + and digits
(interactive
- (list (pcase (assq last-command-event easy-kill-alist)
- (`(,_ ,th . ,_) th)
- (`(,_ . ,th) th))
+ (list (cl-second (assq last-command-event easy-kill-alist))
(prefix-numeric-value current-prefix-arg)))
(let* ((thing (or thing (easy-kill-get thing)))
(n (or n 1))
diff --git a/test.el b/test.el
index c4c297f856..cd1c49f0a0 100644
--- a/test.el
+++ b/test.el
@@ -94,32 +94,14 @@
(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)
- (?s . sexp)
- (?l . list)
- (?f . filename)
- (?d . defun)
- (?e . line)
- (?b . buffer-file-name)))
- (text "(first line\nsecond line\nthird line)"))
- (with-temp-buffer
- (insert text)
- (goto-char (point-min))
- (easy-kill)
- (let ((last-command-event ?d))
- (call-interactively #'easy-kill-thing))
- (should (string= text (easy-kill-candidate))))))
-
(ert-deftest test-easy-kill-help ()
- (let ((easy-kill-alist '((?w . word)
- (?s . sexp)
- (?l . list)
+ (let ((easy-kill-alist '((?w word)
+ (?s sexp)
+ (?l list)
(?f filename)
(?d defun "\n\n")
- (?e . line)
- (?b . buffer-file-name)
+ (?e line)
+ (?b buffer-file-name)
(?x buffer-file-name-buffer-file-name "\t"))))
(easy-kill-help)
(with-current-buffer (help-buffer)