emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

use faces on the mode-line for compile.el


From: Dan Nicolaescu
Subject: use faces on the mode-line for compile.el
Date: Wed, 19 Apr 2006 23:20:11 -0700

If the mode-line for the compilation buffer would be a bit more
visible it would be easier to see if a compilation is still running
(which is handy if you have compilations that take a long time and
don't want to spend too much time checking if it's done). 
Also if the compilation fails it's nice to be able to see it faster. 

A simple patch can accomplish the above. It uses
font-lock-warning-face which is designed to be highly visible.

IMO this is a very nice feature to have, and simple to implement... 

Thoughts?


*** compile.el  04 Apr 2006 09:50:37 -0700      1.394
--- compile.el  19 Apr 2006 22:54:58 -0700      
***************
*** 1060,1066 ****
                          (start-process-shell-command (downcase mode-name)
                                                       outbuf command))))
              ;; Make the buffer's mode line show process state.
!             (setq mode-line-process '(":%s"))
              (set-process-sentinel proc 'compilation-sentinel)
              (set-process-filter proc 'compilation-filter)
              (set-marker (process-mark proc) (point) outbuf)
--- 1060,1066 ----
                          (start-process-shell-command (downcase mode-name)
                                                       outbuf command))))
              ;; Make the buffer's mode line show process state.
!             (setq mode-line-process (list (propertize ":%s" 'face 
'font-lock-warning-face)))
              (set-process-sentinel proc 'compilation-sentinel)
              (set-process-filter proc 'compilation-filter)
              (set-marker (process-mark proc) (point) outbuf)
***************
*** 1074,1080 ****
          ;; No asynchronous processes available.
          (message "Executing `%s'..." command)
          ;; Fake modeline display as if `start-process' were run.
!         (setq mode-line-process ":run")
          (force-mode-line-update)
          (sit-for 0)                   ; Force redisplay
          (let* ((buffer-read-only nil) ; call-process needs to modify outbuf
--- 1074,1080 ----
          ;; No asynchronous processes available.
          (message "Executing `%s'..." command)
          ;; Fake modeline display as if `start-process' were run.
!         (setq mode-line-process (propertize ":run" 'face 
'font-lock-warning-face))
          (force-mode-line-update)
          (sit-for 0)                   ; Force redisplay
          (let* ((buffer-read-only nil) ; call-process needs to modify outbuf
***************
*** 1403,1409 ****
      ;; Prevent that message from being recognized as a compilation error.
      (add-text-properties omax (point)
                         (append '(compilation-handle-exit t) nil))
!     (setq mode-line-process (format ":%s [%s]" process-status (cdr status)))
      ;; Force mode line redisplay soon.
      (force-mode-line-update)
      (if (and opoint (< opoint omax))
--- 1403,1415 ----
      ;; Prevent that message from being recognized as a compilation error.
      (add-text-properties omax (point)
                         (append '(compilation-handle-exit t) nil))
!     (setq mode-line-process
!         (concat (format ":%s " process-status)
!                 (format (if (> exit-status 0)
!                             (propertize "[%s]" 'face 'font-lock-warning-face)
!                           "[%s]")
!                         (cdr status))))
!     (message (format "exit status: %s %s" exit-status (> 0 exit-status)))
      ;; Force mode line redisplay soon.
      (force-mode-line-update)
      (if (and opoint (< opoint omax))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]