# HG changeset patch # User Thien-Thi Nguyen # Date 1200860584 0 # Node ID 886827d2b42f99a0e2645a9bf0d6f64d158d6339 # Parent 1a3c90d4d8fa2e6f3342d03620d92a719817f069 (vc-process-sentinel): Set mode-line-process. (vc-exec-after): Likewise, for the `run' process status. diff -r 1a3c90d4d8fa -r 886827d2b42f lisp/vc.el --- a/lisp/vc.el Sun Jan 20 20:01:24 2008 +0000 +++ b/lisp/vc.el Sun Jan 20 20:23:04 2008 +0000 @@ -959,6 +959,12 @@ (defun vc-process-sentinel (p s) (let ((previous (process-get p 'vc-previous-sentinel))) + (setq mode-line-process + (let ((status (process-status p))) + ;; Leave mode-line uncluttered, normally. + ;; (Let known any weirdness in-form-ally. ;-) --ttn + (unless (eq 'exit status) + (format " (%s)" status)))) (if previous (funcall previous p s)) (with-current-buffer (process-buffer p) (let (vc-sentinel-movepoint) @@ -999,6 +1005,11 @@ (eval code)) ;; If a process is running, add CODE to the sentinel ((eq (process-status proc) 'run) + (setq mode-line-process + ;; Deliberate overstatement, but power law respected. + ;; (The message is ephemeral, so we make it loud.) --ttn + (propertize " (incomplete / in progress)" + 'face 'compilation-warning)) (let ((previous (process-sentinel proc))) (unless (eq previous 'vc-process-sentinel) (process-put proc 'vc-previous-sentinel previous)) @@ -2572,7 +2583,7 @@ (cd dir) (vc-status-mode)) -(defvar vc-status-mode-map +(defvar vc-status-mode-map (let ((map (make-keymap))) (suppress-keymap map) ;; Marking. @@ -2637,8 +2648,8 @@ ;; be asynchronous. It should compute the results and call the ;; function passed as a an arg to update the vc-status buffer with ;; the results. - (vc-call-backend - backend 'dir-status default-directory + (vc-call-backend + backend 'dir-status default-directory #'vc-update-vc-status-buffer (current-buffer)))) (defun vc-status-next-line (arg) @@ -2731,11 +2742,11 @@ (defun vc-status-marked-files () "Return the list of marked files" - (mapcar + (mapcar (lambda (elem) (expand-file-name (vc-status-fileinfo->name elem))) (ewoc-collect - vc-status + vc-status (lambda (crt) (vc-status-fileinfo->marked crt))))) ;;; End experimental code.