aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEric S. Raymond <[email protected]>2008-05-03 13:07:18 +0000
committerEric S. Raymond <[email protected]>2008-05-03 13:07:18 +0000
commit1bc7fa22f00a109f1803d46bbd8ee596b9741b8f (patch)
tree10528c64b58747166f0300a58181fd152a800ceb /lisp
parentf17e2043367787dfd4a2281cb08ed284ec2c665b (diff)
Refactoring step.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/vc.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/vc.el b/lisp/vc.el
index 0996632293..6ac3f655f4 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -2061,7 +2061,7 @@ specific headers."
(defun vc-default-extra-status-menu (backend)
nil)
-(defun vc-dir-mode ()
+(defun vc-dir-mode (entry-printer header-printer updater marker)
"Major mode for showing the VC status for a directory.
Marking/Unmarking key bindings and actions:
m - marks a file/directory or ff the region is active, mark all the files
@@ -2092,13 +2092,13 @@ U - if the cursor is on a file: unmark all the files with the same VC state
(erase-buffer)
(set (make-local-variable 'vc-dir-process-buffer) nil)
(set (make-local-variable 'vc-ewoc)
- (ewoc-create #'vc-dir-printer
- #'vc-dir-header-maker))
- (add-hook 'after-save-hook 'vc-dir-mark-buffer-changed)
+ (ewoc-create entry-printer
+ header-printer))
+ (add-hook 'after-save-hook marker)
;; Make sure that if the VC status buffer is killed, the update
;; process running in the background is also killed.
(add-hook 'kill-buffer-query-functions 'vc-dir-kill-query nil t)
- (vc-dir-refresh))
+ (eval updater))
(run-hooks 'vc-dir-mode-hook))
(put 'vc-dir-mode 'mode-class 'special)
@@ -2110,7 +2110,10 @@ U - if the cursor is on a file: unmark all the files with the same VC state
(pop-to-buffer (vc-dir-prepare-status-buffer dir))
(if (eq major-mode 'vc-dir-mode)
(vc-dir-refresh)
- (vc-dir-mode)))
+ (vc-dir-mode #'vc-dir-printer
+ #'vc-dir-header-maker
+ #'vc-dir-mark-buffer-changed
+ #'vc-dir-refresh)))
;; This is used to that VC backends could add backend specific menu
;; items to vc-dir-menu-map.