emacs-devel
[Top][All Lists]
Advanced

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

Re: M-x compile should tell its status (a little bit better)..


From: Stephan Stahl
Subject: Re: M-x compile should tell its status (a little bit better)..
Date: Mon, 12 Jul 2004 18:16:18 +0200 (CEST)
User-agent: SquirrelMail/1.4.0

Hi Richard. (I've CC'ed emacs-devel again because of this possible bug..)

I said:

> Here is a new patch. With the funtion you suggested it is much simpler.
> diff -c buff-menu.el.\~1.66.\~ buff-menu.el
> *** buff-menu.el.\~1.66.\~ Mon Jul 12 11:01:15 2004
> --- buff-menu.el Mon Jul 12 11:08:58 2004
> ***************
> *** 613,619 ****
>                        "  "
>                        (Buffer-menu-make-sort-button "Mode" 4) mode-end
>                        (Buffer-menu-make-sort-button "File" 5) "\n"))
> !      list desired-point name file)
>       (when Buffer-menu-use-header-line
>         (let ((pos 0))
>       ;; Turn spaces in the header into stretch specs so they work
> --- 613,619 ----
>                        "  "
>                        (Buffer-menu-make-sort-button "Mode" 4) mode-end
>                        (Buffer-menu-make-sort-button "File" 5) "\n"))
> !      list desired-point name mode file)
>       (when Buffer-menu-use-header-line
>         (let ((pos 0))
>       ;; Turn spaces in the header into stretch specs so they work
> ***************
> *** 639,644 ****
> --- 639,647 ----
>                  (lambda (buffer)
>                    (with-current-buffer buffer
>                      (setq name (buffer-name)
> +                          mode (concat mode-name
> +                                       (if mode-line-process
> +                                           (format-mode-line 
> mode-line-process)))
>                            file (buffer-file-name))
>                      (cond
>                       ;; Don't mention internal buffers.
> ***************
> *** 665,671 ****
>                                          ?% ? )
>                                      ;; Identify modified buffers.
>                                      (if (buffer-modified-p) ?* ? ))
> !                            name (buffer-size) mode-name file)))))
>                  (buffer-list))))
>         (dolist (buffer
>              (if Buffer-menu-sort-column
> --- 668,674 ----
>                                          ?% ? )
>                                      ;; Identify modified buffers.
>                                      (if (buffer-modified-p) ?* ? ))
> !                            name (buffer-size) mode file)))))
>                  (buffer-list))))
>         (dolist (buffer
>              (if Buffer-menu-sort-column

It does however not work correctly.. I suspect format-mode-line to be guilty 
but have
not yet looked at the c code..

format-mode-line returns different things depending on the buffer it was called 
from.

With this example the bug can be seen to.

emacs -q --no-site-init
M-x shell
M-; (with-current-buffer (get-buffer "*shell*")
  (concat mode-name
          (if mode-line-process
              (format-mode-line mode-line-process))))
=> "Shell:run"

C-x C-b <RET>   (you should be in *scratch* now)
M-; (with-current-buffer (get-buffer "*shell*")
  (concat mode-name
          (if mode-line-process
              (format-mode-line mode-line-process))))
=> "Shell:no process"

Maybe someone can help me with this??

Stephan
-- 
Stephan Stahl





reply via email to

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