# HG changeset patch # User Eric S. Raymond # Date 1210089654 0 # Node ID 891cb8f8888f9eb977924aa0ef9e273645816bf9 # Parent 54ad2e16eccb76d898c2497001eeb0c1fb8c22c3 More decoupling of vc-dispatcher.el from vc.el. diff -r 54ad2e16eccb -r 891cb8f8888f lisp/ChangeLog --- a/lisp/ChangeLog Tue May 06 15:54:16 2008 +0000 +++ b/lisp/ChangeLog Tue May 06 16:00:54 2008 +0000 @@ -1,3 +1,9 @@ +2008-05-06 Eric S. Raymond + + * vc-hooks.el (vc-find-file-hook), + vc-dispatcher.el (vc-resynch-window): Decouple vc-dispatcher + further from vc.el. + 2008-05-06 Wilson Snyder * verilog-mode.el (verilog-getopt-file): Cleanup warning message format. diff -r 54ad2e16eccb -r 891cb8f8888f lisp/vc-dispatcher.el --- a/lisp/vc-dispatcher.el Tue May 06 15:54:16 2008 +0000 +++ b/lisp/vc-dispatcher.el Tue May 06 16:00:54 2008 +0000 @@ -102,7 +102,13 @@ ;; (vc-dir) sets up a dispatcher browsing buffer; (vc-dispatcher-selection-set) ;; returns a selection set of files, either the marked files in a browsing ;; buffer or the singleton set consisting of the file visited by the current -;; buffer (when that is appropriate). +;; buffer (when that is appropriate). It also does what is needed to ensure +;; that on-disk files and the contents of their visiting Emacs buffers +;; coincide. +;; +;; When the client mode adds a local mode-line-hook to a buffer, it +;; will be called with the buffer file name as argument whenever the +;; dispatcher resynchs the buffer. ;; To do: ;; @@ -550,8 +556,7 @@ (and (not view-mode) (not (eq (get major-mode 'mode-class) 'special)) (view-mode-enter)))) - ;; FIXME: Call into vc.el - (vc-mode-line buffer-file-name)) + (run-hook-with-args 'modeline-hook buffer-file-name)) (kill-buffer (current-buffer))))) (defun vc-resynch-buffer (file &optional keep noquery) @@ -1640,7 +1645,7 @@ (defun vc-dispatcher-selection-set (eligible &optional allow-directory-wildcard - allow-inegible + allow-ineligible include-files-not-directories) "Deduce a set of files to which to apply an operation. Return the fileset. If we're in VC-dired mode, the fileset is the list of marked files. @@ -1678,7 +1683,7 @@ (vc-dispatcher-browsing)))) (progn (set-buffer vc-parent-buffer) - (vc-dispatcher-selection-set))) + (vc-dispatcher-selection-set eligible))) ;; No parent buffer, we may want to select entire directory ;; ;; This is guarded by an enabling arg so users won't potentially diff -r 54ad2e16eccb -r 891cb8f8888f lisp/vc-hooks.el --- a/lisp/vc-hooks.el Tue May 06 15:54:16 2008 +0000 +++ b/lisp/vc-hooks.el Tue May 06 16:00:54 2008 +0000 @@ -901,6 +901,7 @@ (setq vc-mode nil)) (when buffer-file-name (vc-file-clearprops buffer-file-name) + (add-hook 'mode-line-hook 'vc-mode-line nil t) (cond ((with-demoted-errors (vc-backend buffer-file-name)) ;; Compute the state and put it in the modeline.