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

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

[nongnu] elpa/evil 73014826e9 1/2: Prompt user to reverse reversed ex ra


From: ELPA Syncer
Subject: [nongnu] elpa/evil 73014826e9 1/2: Prompt user to reverse reversed ex range
Date: Tue, 21 Jun 2022 02:58:18 -0400 (EDT)

branch: elpa/evil
commit 73014826e98c910b98b31a0317f5b5ccd250b941
Author: Tom Dalziel <tom_dl@hotmail.com>
Commit: Tom Dalziel <33435574+tomdl89@users.noreply.github.com>

    Prompt user to reverse reversed ex range
    
    Fixes #1628
---
 evil-ex.el   | 9 +++++++++
 evil-vars.el | 3 +++
 2 files changed, 12 insertions(+)

diff --git a/evil-ex.el b/evil-ex.el
index 3120e791e4..2546cc1c46 100644
--- a/evil-ex.el
+++ b/evil-ex.el
@@ -721,6 +721,10 @@ This function interprets special file names like # and %."
       (set-text-properties
        0 (length evil-ex-argument) nil evil-ex-argument))
     (let ((buf (current-buffer)))
+      (when evil-ex-reverse-range
+        (setq evil-ex-reverse-range nil)
+        (unless (y-or-n-p "Backward range given, OK to swap? ")
+          (user-error "Ex command cancelled")))
       (unwind-protect
           (cond
            ((not evil-ex-range)
@@ -773,6 +777,11 @@ This function interprets special file names like # and %."
 
 (defun evil-ex-range (beg-line &optional end-line)
   "Returns the first and last position of the current range."
+  (when (and end-line (< end-line beg-line))
+    (setq evil-ex-reverse-range t)
+    (let ((beg-line* beg-line))
+      (setq beg-line end-line
+            end-line beg-line*)))
   (evil-range
    (evil-line-position beg-line)
    (evil-line-position (or end-line beg-line) -1)
diff --git a/evil-vars.el b/evil-vars.el
index 5bf1d17f58..b24004f6f1 100644
--- a/evil-vars.el
+++ b/evil-vars.el
@@ -1890,6 +1890,9 @@ See `evil-ex-init-shell-argument-completion'.")
 (defvar evil-ex-tree nil
   "The syntax tree.")
 
+(defvar evil-ex-reverse-range nil
+  "Whether the current ex range was entered reversed.")
+
 (defvar evil-ex-command nil
   "The current Ex command.")
 



reply via email to

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