changeset 43125:49ff3106980b

(undo-get-state, undo-revert-to-state): Fns deleted. (transpose-subr-1): Use atomic-change-group.
author Richard M. Stallman <rms@gnu.org>
date Wed, 06 Feb 2002 15:08:45 +0000
parents 67ff08aaa0d0
children 6f39ff1c6d8f
files lisp/simple.el
diffstat 1 files changed, 7 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Wed Feb 06 15:00:31 2002 +0000
+++ b/lisp/simple.el	Wed Feb 06 15:08:45 2002 +0000
@@ -1122,34 +1122,6 @@
 	    (t
 	     '(0 . 0)))
     '(0 . 0)))
-
-(defun undo-get-state ()
-  "Return a handler for the current state to which we might want to undo.
-The returned handler can then be passed to `undo-revert-to-handle'."
-  (unless (eq buffer-undo-list t)
-    buffer-undo-list))
-
-(defun undo-revert-to-state (handle)
-  "Revert to the state HANDLE earlier grabbed with `undo-get-handle'.
-This undoing is not itself undoable (aka redoable)."
-  (unless (eq buffer-undo-list t)
-    (let ((new-undo-list (cons (car handle) (cdr handle))))
-      ;; Truncate the undo log at `handle'.
-      (when handle
-	(setcar handle nil) (setcdr handle nil))
-      (unless (eq last-command 'undo) (undo-start))
-      ;; Make sure there's no confusion.
-      (when (and handle (not (eq handle (last pending-undo-list))))
-	(error "Undoing to some unrelated state"))
-      ;; Undo it all.
-      (while pending-undo-list (undo-more 1))
-      ;; Reset the modified cons cell to its original content.
-      (when handle
-	(setcar handle (car new-undo-list))
-	(setcdr handle (cdr new-undo-list)))
-      ;; Revert the undo info to what it was when we grabbed the state.
-      (setq buffer-undo-list handle))))
-  
 
 (defvar shell-command-history nil
   "History list for some commands that read shell commands.")
@@ -2825,11 +2797,13 @@
     (let ((swap pos1))
       (setq pos1 pos2 pos2 swap)))
   (if (> (cdr pos1) (car pos2)) (error "Don't have two things to transpose"))
-  (let ((word2 (delete-and-extract-region (car pos2) (cdr pos2))))
-    (goto-char (car pos2))
-    (insert (delete-and-extract-region (car pos1) (cdr pos1)))
-    (goto-char (car pos1))
-    (insert word2)))
+  (atomic-change-group
+   (let (word2)
+     (setq word2 (delete-and-extract-region (car pos2) (cdr pos2)))
+     (goto-char (car pos2))
+     (insert (delete-and-extract-region (car pos1) (cdr pos1)))
+     (goto-char (car pos1))
+     (insert word2))))
 
 (defun backward-word (arg)
   "Move backward until encountering the beginning of a word.