From 58ce5535fd79ab1d48153eb82b7a0963b6aa20f1 Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Mon, 5 Jun 2006 15:46:00 +0000 Subject: [PATCH] (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. --- lisp/ChangeLog | 7 +++++++ lisp/vc.el | 12 ++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d6efd8f8526..7cf001f1196 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2006-06-05 Thien-Thi Nguyen + + * vc.el (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. + 2006-06-05 Nick Roberts * progmodes/gud.el (gud-menu-map): Use a conditional help echo diff --git a/lisp/vc.el b/lisp/vc.el index 61b8aa05a4b..54237800e3c 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -894,10 +894,12 @@ However, before executing BODY, find FILE, and after BODY, save buffer." (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 @@ BUF defaults to \"*vc*\", can be a string and will be created if necessary." (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 @@ that is inserted into the command line before the filename." (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))))