diff options
author | Eric S. Raymond <[email protected]> | 2008-05-03 13:07:18 +0000 |
---|---|---|
committer | Eric S. Raymond <[email protected]> | 2008-05-03 13:07:18 +0000 |
commit | 1bc7fa22f00a109f1803d46bbd8ee596b9741b8f (patch) | |
tree | 10528c64b58747166f0300a58181fd152a800ceb /lisp | |
parent | f17e2043367787dfd4a2281cb08ed284ec2c665b (diff) |
Refactoring step.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/vc.el | 15 |
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. |