[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/evil f64cdca60a: evil-change only open newline if delete-f
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/evil f64cdca60a: evil-change only open newline if delete-func deleted line |
Date: |
Tue, 5 Jul 2022 10:58:27 -0400 (EDT) |
branch: elpa/evil
commit f64cdca60ad55b0a5f77c0fc38f82d42822f88b3
Author: Tom Dalziel <tom_dl@hotmail.com>
Commit: Tom Dalziel <33435574+tomdl89@users.noreply.github.com>
evil-change only open newline if delete-func deleted line
fixes #1636
---
evil-commands.el | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/evil-commands.el b/evil-commands.el
index 44675aa1aa..94a43f5b61 100644
--- a/evil-commands.el
+++ b/evil-commands.el
@@ -1698,18 +1698,22 @@ of the block."
(interactive "<R><x><y>")
(let ((delete-func (or delete-func #'evil-delete))
(nlines (1+ (evil-count-lines beg end)))
- (opoint (save-excursion
- (goto-char beg)
- (line-beginning-position))))
+ opoint leftmost-point)
+ (save-excursion
+ (goto-char beg)
+ (setq opoint (line-beginning-position))
+ (setq leftmost-point
+ (let ((inhibit-field-text-motion t)) (line-beginning-position))))
(unless (eq evil-want-fine-undo t)
(evil-start-undo-step))
(funcall delete-func beg end type register yank-handler)
(cond
((eq type 'line)
(setq this-command 'evil-change-whole-line) ; for
evil-maybe-remove-spaces
- (if (= opoint (point))
- (evil-open-above 1)
- (evil-open-below 1)))
+ (cond
+ ((/= opoint leftmost-point) (evil-insert 1)) ; deletion didn't delete
line
+ ((= opoint (point)) (evil-open-above 1))
+ (t (evil-open-below 1))))
((eq type 'block)
(evil-insert 1 nlines))
(t
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [nongnu] elpa/evil f64cdca60a: evil-change only open newline if delete-func deleted line,
ELPA Syncer <=