changeset 87866:886827d2b42f

(vc-process-sentinel): Set mode-line-process. (vc-exec-after): Likewise, for the `run' process status.
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Sun, 20 Jan 2008 20:23:04 +0000
parents 1a3c90d4d8fa
children 0fe0f2600ea9
files lisp/vc.el
diffstat 1 files changed, 16 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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.