changeset 71228:4d648a3d282d

(vc-process-filter): Inhibit undo info collection around call to insert. (vc-setup-buffer): Likewise for call to erase-buffer. (vc-do-command): Likewise for call to process-file.
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Mon, 05 Jun 2006 15:42:55 +0000
parents 33251672fc28
children 35ee3ba4eec1
files lisp/vc.el
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc.el	Mon Jun 05 11:56:03 2006 +0000
+++ b/lisp/vc.el	Mon Jun 05 15:42:55 2006 +0000
@@ -894,10 +894,12 @@
 
 (defun vc-process-filter (p s)
   "An alternative output filter for async process P.
-The only difference with the default filter is to insert S after markers."
+One difference with the default filter is that this inserts S after markers.
+Another is that undo information is not kept."
   (with-current-buffer (process-buffer p)
     (save-excursion
-      (let ((inhibit-read-only t))
+      (let ((buffer-undo-list t)
+            (inhibit-read-only t))
 	(goto-char (process-mark p))
 	(insert s)
 	(set-marker (process-mark p) (point))))))
@@ -914,7 +916,8 @@
     (set (make-local-variable 'vc-parent-buffer-name)
 	 (concat " from " (buffer-name camefrom)))
     (setq default-directory olddir)
-    (let ((inhibit-read-only t))
+    (let ((buffer-undo-list t)
+          (inhibit-read-only t))
       (erase-buffer))))
 
 (defun vc-exec-after (code)
@@ -1003,7 +1006,8 @@
 	      (vc-exec-after
 	       `(unless (active-minibuffer-window)
                   (message "Running %s in the background... done" ',command))))
-	  (setq status (apply 'process-file command nil t nil squeezed))
+	  (let ((buffer-undo-list t))
+            (setq status (apply 'process-file command nil t nil squeezed)))
 	  (when (and (not (eq t okstatus))
                      (or (not (integerp status))
                          (and okstatus (< okstatus status))))