diff lisp/vc.el @ 83530:46b1096093f5

Merged from emacs@sv.gnu.org. Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-294 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-295 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-296 Update from CVS: admin/FOR-RELEASE: Update refcard section. * emacs@sv.gnu.org/emacs--devo--0--patch-297 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-298 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-299 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-300 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-301 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-302 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-303 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-304 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-103 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-104 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-570
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 12 Jun 2006 07:27:12 +0000
parents 5d328dadd0f4 4d648a3d282d
children a387c138b28e
line wrap: on
line diff
--- a/lisp/vc.el	Fri May 26 17:37:25 2006 +0000
+++ b/lisp/vc.el	Mon Jun 12 07:27:12 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))))