comparison lisp/vc.el @ 95016:ebce6f4852ad

Move vc-dir menu hook back to vc-dispatcher.
author Eric S. Raymond <esr@snark.thyrsus.com>
date Thu, 15 May 2008 13:50:55 +0000
parents b8d24d4a4bdc
children 7be06414cb71
comparison
equal deleted inserted replaced
95015:183ac8cfca91 95016:ebce6f4852ad
1834 'mouse-face 'highlight)))) 1834 'mouse-face 'highlight))))
1835 1835
1836 (defun vc-default-extra-status-menu (backend) 1836 (defun vc-default-extra-status-menu (backend)
1837 nil) 1837 nil)
1838 1838
1839 ;; This is used to that VC backends could add backend specific menu
1840 ;; items to vc-dir-menu-map.
1841 (defun vc-dir-menu-map-filter (orig-binding)
1842 (when (and (symbolp orig-binding) (fboundp orig-binding))
1843 (setq orig-binding (indirect-function orig-binding)))
1844 (let ((ext-binding
1845 (vc-call-backend (vc-responsible-backend default-directory)
1846 'extra-status-menu)))
1847 (if (null ext-binding)
1848 orig-binding
1849 (append orig-binding
1850 '("----")
1851 ext-binding))))
1852
1853 (defun vc-dir-refresh-files (files default-state) 1839 (defun vc-dir-refresh-files (files default-state)
1854 "Refresh some files in the VC status buffer." 1840 "Refresh some files in the VC status buffer."
1855 (let ((backend (vc-responsible-backend default-directory)) 1841 (let ((backend (vc-responsible-backend default-directory))
1856 (status-buffer (current-buffer)) 1842 (status-buffer (current-buffer))
1857 (def-dir default-directory)) 1843 (def-dir default-directory))
1976 1962
1977 (defun vc-generic-dir-headers (dir) 1963 (defun vc-generic-dir-headers (dir)
1978 (let ((backend (vc-responsible-backend dir))) 1964 (let ((backend (vc-responsible-backend dir)))
1979 (vc-dir-headers backend dir))) 1965 (vc-dir-headers backend dir)))
1980 1966
1967 (defun vc-dir-extra-menu ()
1968 (vc-call-backend (vc-responsible-backend default-directory) 'extra-status-menu))
1969
1981 (defun vc-make-backend-object (file-or-dir) 1970 (defun vc-make-backend-object (file-or-dir)
1982 "Create the backend capability object needed by vc-dispatcher." 1971 "Create the backend capability object needed by vc-dispatcher."
1983 (vc-create-client-object 1972 (vc-create-client-object
1984 "VC status" 1973 "VC status"
1985 (let ((backend (vc-responsible-backend file-or-dir))) 1974 (let ((backend (vc-responsible-backend file-or-dir)))
1986 (vc-dir-headers backend file-or-dir)) 1975 (vc-dir-headers backend file-or-dir))
1987 #'vc-generic-status-printer 1976 #'vc-generic-status-printer
1988 #'vc-generic-state 1977 #'vc-generic-state
1989 #'vc-generic-status-fileinfo-extra 1978 #'vc-generic-status-fileinfo-extra
1990 #'vc-dir-refresh)) 1979 #'vc-dir-refresh
1980 #'vc-dir-extra-menu))
1991 1981
1992 ;;;###autoload 1982 ;;;###autoload
1993 (defun vc-dir (dir) 1983 (defun vc-dir (dir)
1994 "Show the VC status for DIR." 1984 "Show the VC status for DIR."
1995 (interactive "DVC status for directory: ") 1985 (interactive "DVC status for directory: ")