# HG changeset patch # User Dan Nicolaescu # Date 1211847053 0 # Node ID da036308410566519b3ed13415825c5badd16e06 # Parent 51f0a2e341de273bddfd254332aaec4a10bc9c22 (Problems): Remove fixed issues. (vc-dir-headers): Align labels. (vc-default-status-printer): Do no call prettify-state-info. diff -r 51f0a2e341de -r da0363084105 lisp/ChangeLog --- a/lisp/ChangeLog Tue May 27 00:05:22 2008 +0000 +++ b/lisp/ChangeLog Tue May 27 00:10:53 2008 +0000 @@ -8,6 +8,8 @@ (vc-dir-refresh): Use vc-dir-backend. Fix docstring. (vc-dir-refresh-files): Use vc-dir-backend. Fix docstring. Reset the state for directories. + (vc-dir-headers): Align labels. + (vc-default-status-printer): Do no call prettify-state-info. * vc-dispatcher.el (vc-resynch-window): Fix mode-line updating. (vc-dir-menu-map): Fix menu title for the menu bar and the popup menu. diff -r 51f0a2e341de -r da0363084105 lisp/vc.el --- a/lisp/vc.el Tue May 27 00:05:22 2008 +0000 +++ b/lisp/vc.el Tue May 27 00:10:53 2008 +0000 @@ -652,10 +652,6 @@ ;; created from more than one file. The error is: ;; vc-derived-from-dir-mode: Lisp nesting exceeds `max-lisp-eval-depth'. ;; -;; - the vc-dir display is now bogus for git and mercurial. -;; -;; - the CVS vc-dir display is now incorrect from some states. -;; ;; - the *vc-dir* buffer is not updated correctly anymore after VC ;; operations that change the file state. ;; @@ -1808,18 +1804,21 @@ (defun vc-default-status-extra-headers (backend dir) ;; Be loud by default to remind people to add code to display - ;; backend specific headers. + ;; backend specific headers. ;; XXX: change this to return nil before the release. - "Extra : Add backend specific headers here") + (concat + (propertize "Extra : " 'face 'font-lock-type-face) + (propertize "Please add backend specific headers here. It's easy!" + 'face 'font-lock-warning-face))) (defun vc-dir-headers (backend dir) - "Display the headers in the *VC status* buffer. + "Display the headers in the *VC dir* buffer. It calls the `status-extra-headers' backend method to display backend specific headers." (concat - (propertize "VC backend: " 'face 'font-lock-type-face) + (propertize "VC backend : " 'face 'font-lock-type-face) (propertize (format "%s\n" backend) 'face 'font-lock-variable-name-face) - (propertize "Working dir: " 'face 'font-lock-type-face) + (propertize "Working dir: " 'face 'font-lock-type-face) (propertize (format "%s\n" dir) 'face 'font-lock-variable-name-face) (vc-call-backend backend 'status-extra-headers dir) "\n")) @@ -1829,15 +1828,19 @@ ;; If you change the layout here, change vc-dir-move-to-goal-column. (let* ((isdir (vc-dir-fileinfo->directory fileentry)) (state (if isdir 'DIRECTORY (vc-dir-fileinfo->state fileentry))) - (filename (vc-dir-fileinfo->name fileentry)) - (prettified (if isdir state (vc-call-backend backend 'prettify-state-info filename)))) + (filename (vc-dir-fileinfo->name fileentry))) + ;; FIXME: Backends that want to print the state in a different way + ;; can do it by defining the `status-printer' function. Using + ;; `prettify-state-info' adds two extra vc-calls per item, which + ;; is too expensive. + ;;(prettified (if isdir state (vc-call-backend backend 'prettify-state-info filename)))) (insert (propertize (format "%c" (if (vc-dir-fileinfo->marked fileentry) ?* ? )) 'face 'font-lock-type-face) " " (propertize - (format "%-20s" prettified) + (format "%-20s" state) 'face (cond ((eq state 'up-to-date) 'font-lock-builtin-face) ((memq state '(missing conflict)) 'font-lock-warning-face) (t 'font-lock-variable-name-face))