[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.")