summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2023-01-13 17:38:04 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2023-01-13 17:38:04 -0500
commit59c3c53efa43e82f0f2e48a4c27d5bd623201d4a (patch)
treed6458f8da61926db6e226a1a7fc9f11d7ae89d78 /lisp/subr.el
parent9f8f8ed1bafba97ac942ee03645fa60c67fdfce7 (diff)
downloademacs-59c3c53efa43e82f0f2e48a4c27d5bd623201d4a.tar.gz
* lisp/subr.el (combine-change-calls-1): Fix bug#60467
Don't stop at timestamps. Strip them for now, to be on the safe side. Don't merge into `master` where we'll use a better fix.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el14
1 files changed, 7 insertions, 7 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 485ca9e4f1b..ab451b5613b 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -4946,13 +4946,13 @@ the function `undo--wrap-and-run-primitive-undo'."
(progn
(while (and (not (eq (cdr ptr) old-bul))
;; In case garbage collection has removed OLD-BUL.
- (cdr ptr)
- ;; Don't include a timestamp entry.
- (not (and (consp (cdr ptr))
- (consp (cadr ptr))
- (eq (caadr ptr) t)
- (setq old-bul (cdr ptr)))))
- (setq ptr (cdr ptr)))
+ (cdr ptr))
+ (if (and (consp (cdr ptr))
+ (consp (cadr ptr))
+ (eq (caadr ptr) t))
+ ;; Don't include a timestamp entry.
+ (setcdr ptr (cddr ptr))
+ (setq ptr (cdr ptr))))
(unless (cdr ptr)
(message "combine-change-calls: buffer-undo-list broken"))
(setcdr ptr nil)