diff options
Diffstat (limited to 'lisp/vc.el')
-rw-r--r-- | lisp/vc.el | 12 |
1 files changed, 8 insertions, 4 deletions
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)))) |