# HG changeset patch # User Stefan Monnier # Date 1206388349 0 # Node ID 9add13a0e59790e464f8b8e0227e8d21ff32e7c6 # Parent 139d0b227fdc8159195d2fef36c3644868e4ab8d (vc-bzr-print-log, vc-bzr-diff): Do it asynchronously. diff -r 139d0b227fdc -r 9add13a0e597 lisp/ChangeLog --- a/lisp/ChangeLog Mon Mar 24 19:42:12 2008 +0000 +++ b/lisp/ChangeLog Mon Mar 24 19:52:29 2008 +0000 @@ -1,3 +1,7 @@ +2008-03-24 Stefan Monnier + + * vc-bzr.el (vc-bzr-print-log, vc-bzr-diff): Do it asynchronously. + 2008-03-22 Drew Adams * finder.el (finder-mode-syntax-table, finder-font-lock-keywords): diff -r 139d0b227fdc -r 9add13a0e597 lisp/vc-bzr.el --- a/lisp/vc-bzr.el Mon Mar 24 19:42:12 2008 +0000 +++ b/lisp/vc-bzr.el Mon Mar 24 19:52:29 2008 +0000 @@ -396,22 +396,19 @@ (vc-setup-buffer buffer) ;; If the buffer exists from a previous invocation it might be ;; read-only. - (let ((inhibit-read-only t)) ;; FIXME: `vc-bzr-command' runs `bzr log' with `LC_MESSAGES=C', so ;; the log display may not what the user wants - but I see no other ;; way of getting the above regexps working. (dolist (file files) + (vc-exec-after + `(let ((inhibit-read-only t)) (with-current-buffer buffer ;; Insert the file name so that log-view.el can find it. - (insert "Working file: " file "\n")) ;; Like RCS/CVS. - (apply 'vc-bzr-command "log" buffer 0 file - (if (stringp vc-bzr-log-switches) + (insert "Working file: " ',file "\n")) ;; Like RCS/CVS. + (apply 'vc-bzr-command "log" ',buffer 'async ',file + ',(if (stringp vc-bzr-log-switches) (list vc-bzr-log-switches) - vc-bzr-log-switches)))) - ;; FIXME: Until Emacs-23, VC was missing a hook to sort out the mode for - ;; the buffer, or at least set the regexps right. - (unless (fboundp 'vc-default-log-view-mode) - (add-hook 'log-view-mode-hook 'vc-bzr-log-view-mode))) + vc-bzr-log-switches)))))) (defun vc-bzr-show-log-entry (revision) "Find entry for patch name REVISION in bzr change log buffer." @@ -429,7 +426,7 @@ (defun vc-bzr-diff (files &optional rev1 rev2 buffer) "VC bzr backend for diff." ;; `bzr diff' exits with code 1 if diff is non-empty. - (apply #'vc-bzr-command "diff" (or buffer "*vc-diff*") 1 files + (apply #'vc-bzr-command "diff" (or buffer "*vc-diff*") 'async files "--diff-options" (mapconcat 'identity (vc-diff-switches-list bzr) " ")