[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil a4b1910 5/7: Replace state evil-delete-backward-word
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil a4b1910 5/7: Replace state evil-delete-backward-word |
Date: |
Sun, 19 Dec 2021 12:57:43 -0500 (EST) |
branch: elpa/evil
commit a4b19105b930498973d96d879c0c8d846840fa8e
Author: Tom Dalziel <tom_dl@hotmail.com>
Commit: Tom Dalziel <33435574+tomdl89@users.noreply.github.com>
Replace state evil-delete-backward-word
---
evil-commands.el | 19 +++++++++----------
evil-tests.el | 46 +++++++++++++++++++++++++++++-----------------
2 files changed, 38 insertions(+), 27 deletions(-)
diff --git a/evil-commands.el b/evil-commands.el
index e764857..d34abfd 100644
--- a/evil-commands.el
+++ b/evil-commands.el
@@ -1578,16 +1578,15 @@ be joined with the previous line if and only if
(evil-define-command evil-delete-backward-word ()
"Delete previous word."
- (if (and (bolp) (not (bobp)))
- (progn
- (unless evil-backspace-join-lines (user-error "Beginning of line"))
- (delete-char -1))
- (delete-region (max
- (save-excursion
- (evil-backward-word-begin)
- (point))
- (line-beginning-position))
- (point))))
+ (let ((beg (save-excursion (evil-backward-word-begin) (point)))
+ (end (point)))
+ (cond
+ ((evil-replace-state-p) (while (< beg (point))
+ (evil-replace-backspace)))
+ ((or (not (bolp)) (bobp)) (delete-region (max beg
(line-beginning-position))
+ end))
+ (evil-backspace-join-lines (delete-char -1))
+ (t (user-error "Beginning of line")))))
(evil-define-command evil-delete-back-to-indentation ()
"Delete back to the first non-whitespace character.
diff --git a/evil-tests.el b/evil-tests.el
index c17c97c..2cd80bd 100644
--- a/evil-tests.el
+++ b/evil-tests.el
@@ -2079,24 +2079,36 @@ ine3 line3 line3 l\n")))
"line1\n\n[\n]last line\n")))
(ert-deftest evil-test-delete-backward-word ()
- "Test `evil-delete-backward-word' in insert state."
+ "Test `evil-delete-backward-word' in insert & replace states."
:tags '(evil)
- (let ((evil-backspace-join-lines t))
- (evil-test-buffer
- "abc def\n ghi j[k]l\n"
- ("i" (kbd "C-w"))
- "abc def\n ghi [k]l\n"
- ((kbd "C-w"))
- "abc def\n [k]l\n"
- ((kbd "C-w"))
- "abc def\n[k]l\n"
- ((kbd "C-w"))
- "abc def[k]l\n"))
- (let (evil-backspace-join-lines)
- (evil-test-buffer
- "abc def\n[k]l\n"
- (should-error (execute-kbd-macro (concat "i" (kbd "C-w"))))
- "abc def\n[k]l\n")))
+ (ert-info ("evil-delete-backward-word in insert state")
+ (let ((evil-backspace-join-lines t))
+ (evil-test-buffer
+ "abc def\n ghi j[k]l\n"
+ ("i" (kbd "C-w"))
+ "abc def\n ghi [k]l\n"
+ ((kbd "C-w"))
+ "abc def\n [k]l\n"
+ ((kbd "C-w"))
+ "abc def\n[k]l\n"
+ ((kbd "C-w"))
+ "abc def[k]l\n"))
+ (let (evil-backspace-join-lines)
+ (evil-test-buffer
+ "abc def\n[k]l\n"
+ (should-error (execute-kbd-macro (concat "i" (kbd "C-w"))))
+ "abc def\n[k]l\n")))
+ (ert-info ("evil-delete-backward-word in replace state")
+ (evil-test-buffer
+ "alpha bravo [c]harlie delta"
+ ("R" "one two")
+ "alpha bravo one two[ ]delta"
+ ("\C-w")
+ "alpha bravo one [l]ie delta"
+ ("\C-w")
+ "alpha bravo [c]harlie delta"
+ ("\C-w")
+ "alpha [b]ravo charlie delta")))
(ert-deftest evil-test-delete-back-to-indentation ()
"Test `evil-delete-back-to-indentation' in insert state."
- [nongnu] elpa/evil updated (b00018b -> b5c0387), ELPA Syncer, 2021/12/19
- [nongnu] elpa/evil 3db357b 1/7: Define the insert state keybindings in replace state, ELPA Syncer, 2021/12/19
- [nongnu] elpa/evil b644a0f 2/7: Replace state evil-quoted-insert, ELPA Syncer, 2021/12/19
- [nongnu] elpa/evil a1f623c 3/7: Replace state evil digraphs, ELPA Syncer, 2021/12/19
- [nongnu] elpa/evil 1f14c5d 6/7: Replace state evil-delete-back-to-indentation, ELPA Syncer, 2021/12/19
- [nongnu] elpa/evil b5c0387 7/7: Replace state shift line, ELPA Syncer, 2021/12/19
- [nongnu] elpa/evil a4b1910 5/7: Replace state evil-delete-backward-word,
ELPA Syncer <=
- [nongnu] elpa/evil dd13874 4/7: Replace state pasting, ELPA Syncer, 2021/12/19