[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 1faade8: Fix marker adjustment for undo (Bug#2911
From: |
Noam Postavsky |
Subject: |
[Emacs-diffs] emacs-26 1faade8: Fix marker adjustment for undo (Bug#29118) |
Date: |
Wed, 15 Nov 2017 08:04:25 -0500 (EST) |
branch: emacs-26
commit 1faade882165de2e9bd63702c59c8f26531c18ed
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>
Fix marker adjustment for undo (Bug#29118)
* lisp/simple.el (primitive-undo): Compare marker against absolute
value of POS, because the sign of POS is irrelevant to markers.
---
lisp/simple.el | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lisp/simple.el b/lisp/simple.el
index 4db8107..65906c8 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2565,10 +2565,10 @@ Return what remains of the list."
(setq did-apply t)))
;; Element (STRING . POS) means STRING was deleted.
(`(,(and string (pred stringp)) . ,(and pos (pred integerp)))
- (when (let ((apos (abs pos)))
- (or (< apos (point-min)) (> apos (point-max))))
- (error "Changes to be undone are outside visible portion of
buffer"))
- (let (valid-marker-adjustments)
+ (let ((valid-marker-adjustments nil)
+ (apos (abs pos)))
+ (when (or (< apos (point-min)) (> apos (point-max)))
+ (error "Changes to be undone are outside visible portion of
buffer"))
;; Check that marker adjustments which were recorded
;; with the (STRING . POS) record are still valid, ie
;; the markers haven't moved. We check their validity
@@ -2579,7 +2579,7 @@ Return what remains of the list."
(let* ((marker-adj (pop list))
(m (car marker-adj)))
(and (eq (marker-buffer m) (current-buffer))
- (= pos m)
+ (= apos m)
(push marker-adj valid-marker-adjustments))))
;; Insert string and adjust point
(if (< pos 0)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-26 1faade8: Fix marker adjustment for undo (Bug#29118),
Noam Postavsky <=