Mercurial > emacs
changeset 84982:0bb1eda0b839
(zone-hiding-modeline): Use mode-line-format.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 30 Sep 2007 11:00:43 +0000 |
parents | a35153116cd0 |
children | f1c36d3150a8 |
files | lisp/play/zone.el |
diffstat | 1 files changed, 4 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/play/zone.el Sat Sep 29 20:56:48 2007 +0000 +++ b/lisp/play/zone.el Sun Sep 30 11:00:43 2007 +0000 @@ -86,30 +86,10 @@ ,@body)) (defmacro zone-hiding-modeline (&rest body) - `(let (bg mode-line-fg mode-line-bg mode-line-box) - (unwind-protect - (progn - (when (and (= 0 (get 'zone 'modeline-hidden-level)) - (display-color-p)) - (setq bg (face-background 'default) - mode-line-box (face-attribute 'mode-line :box) - mode-line-fg (face-attribute 'mode-line :foreground) - mode-line-bg (face-attribute 'mode-line :background)) - (set-face-attribute 'mode-line nil - :foreground bg - :background bg - :box nil)) - (put 'zone 'modeline-hidden-level - (1+ (get 'zone 'modeline-hidden-level))) - ,@body) - (put 'zone 'modeline-hidden-level - (1- (get 'zone 'modeline-hidden-level))) - (when (and (> 1 (get 'zone 'modeline-hidden-level)) - mode-line-fg) - (set-face-attribute 'mode-line nil - :foreground mode-line-fg - :background mode-line-bg - :box mode-line-box))))) + ;; This formerly worked by temporarily altering face `mode-line', + ;; which did not even work right, it seems. + `(let (mode-line-format) + ,@body)) (defun zone-call (program &optional timeout) "Call PROGRAM in a zoned way.