]> git.eshelyaron.com Git - emacs.git/commitdiff
(undo): Don't let the undo entries for the undo
authorRichard M. Stallman <rms@gnu.org>
Wed, 16 Mar 1994 23:41:32 +0000 (23:41 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 16 Mar 1994 23:41:32 +0000 (23:41 +0000)
contain a specific buffer position.  Delete it if there is one.

lisp/simple.el

index 66f0003bf4dd90045243876866e25951da5fff32..cc2e4c6d801ba50df38b02bd05d70b7929444bf5 100644 (file)
@@ -615,6 +615,16 @@ A numeric argument serves as a repeat count."
        (progn (undo-start)
               (undo-more 1)))
     (undo-more (or arg 1))
+    ;; Don't specify a position in the undo record for the undo command.
+    ;; Instead, undoing this should move point to where the change is.
+    (let ((tail buffer-undo-list)
+         done)
+      (while (and tail (not done) (not (null (car tail))))
+       (if (integerp (car tail))
+           (progn
+             (setq done t)
+             (setq buffer-undo-list (delq (car tail) buffer-undo-list))))
+       (setq tail (cdr tail))))
     (and modified (not (buffer-modified-p))
         (delete-auto-save-file-if-necessary recent-save)))
   ;; If we do get all the way thru, make this-command indicate that.