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

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

[nongnu] elpa/evil 2b1e185522: Make Ex registers available in all minibu


From: ELPA Syncer
Subject: [nongnu] elpa/evil 2b1e185522: Make Ex registers available in all minibuffers
Date: Sun, 6 Aug 2023 12:59:17 -0400 (EDT)

branch: elpa/evil
commit 2b1e18552216a05014fa5ffe4cb54f595b1008a7
Author: Axel Forsman <axelsfor@gmail.com>
Commit: Axel Forsman <axelsfor@gmail.com>

    Make Ex registers available in all minibuffers
---
 evil-common.el | 39 +++++++++++++++++++++++----------------
 1 file changed, 23 insertions(+), 16 deletions(-)

diff --git a/evil-common.el b/evil-common.el
index 54ca731c35..db8c34f575 100644
--- a/evil-common.el
+++ b/evil-common.el
@@ -1967,32 +1967,39 @@ The following special registers are supported.
                     (remove-text-properties 0 (length text) 
'(foreign-selection nil) text))
                   text))))
            ((eq register ?\C-W)
-            (unless (evil-ex-p)
-              (user-error "Register <C-w> is only available in Ex state"))
-            (with-current-buffer evil-ex-original-buffer
+            (with-current-buffer
+                (or evil-ex-original-buffer
+                    (let ((w (minibuffer-selected-window))) (and w 
(window-buffer w)))
+                    (user-error "Register <C-w> is only available in Ex 
state"))
               (thing-at-point 'evil-word)))
            ((eq register ?\C-A)
-            (unless (evil-ex-p)
-              (user-error "Register <C-a> is only available in Ex state"))
-            (with-current-buffer evil-ex-original-buffer
+            (with-current-buffer
+                (or evil-ex-original-buffer
+                    (let ((w (minibuffer-selected-window))) (and w 
(window-buffer w)))
+                    (user-error "Register <C-a> is only available in Ex 
state"))
               (thing-at-point 'evil-WORD)))
            ((eq register ?\C-O)
-            (unless (evil-ex-p)
-              (user-error "Register <C-o> is only available in Ex state"))
-            (with-current-buffer evil-ex-original-buffer
+            (with-current-buffer
+                (or evil-ex-original-buffer
+                    (let ((w (minibuffer-selected-window))) (and w 
(window-buffer w)))
+                    (user-error "Register <C-o> is only available in Ex 
state"))
               (thing-at-point 'evil-symbol)))
            ((eq register ?\C-F)
-            (unless (evil-ex-p)
-              (user-error "Register <C-f> is only available in Ex state"))
-            (with-current-buffer evil-ex-original-buffer
+            (with-current-buffer
+                (or evil-ex-original-buffer
+                    (let ((w (minibuffer-selected-window))) (and w 
(window-buffer w)))
+                    (user-error "Register <C-f> is only available in Ex 
state"))
               (thing-at-point 'filename)))
            ((eq register ?\C-L)
-            (unless (evil-ex-p)
-              (user-error "Register <C-l> is only available in Ex state"))
-            (with-current-buffer evil-ex-original-buffer
+            (with-current-buffer
+                (or evil-ex-original-buffer
+                    (let ((w (minibuffer-selected-window))) (and w 
(window-buffer w)))
+                    (user-error "Register <C-l> is only available in Ex 
state"))
               (replace-regexp-in-string "\n\\'" "" (thing-at-point 'line))))
            ((eq register ?%)
-            (or (buffer-file-name evil-ex-original-buffer)
+            (or (buffer-file-name
+                 (or evil-ex-original-buffer
+                     (let ((w (minibuffer-selected-window))) (and w 
(window-buffer w)))))
                 (user-error "No file name")))
            ((= register ?#)
             (or (with-current-buffer (other-buffer) (buffer-file-name))



reply via email to

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