如何在修改的模式行中显示编译状态?

时间:2013-10-08 12:16:56

标签: emacs elisp modeline

我将模式线修改为更清晰。遗憾的是,这会阻止编译缓冲区显示其退出状态。

Normaly编译失败会显示如下内容: (Compilation:exit [1])

通过我的修改,编辑状态“exit [1]”将丢失。

我将主要和次要模式定义如下:

(setq my-modeline-major-mode
  ;; major modes
  (list
    '(:eval (propertize "%m" 'face 'font-lock-string-face
                       'help-echo buffer-file-coding-system))))

(setq my-modeline-minor-modes
  ;; list of minor modes
  (list
    minor-mode-alist))

模式行本身的结构如下:

(setq-default mode-line-format
          (list
           "  ["
           my-modeline-major-mode
           "]["
           my-modeline-minor-modes
           "]"
           " %-" ;; fill with '-'
           ))

M-x customize-group编译没有提供任何帮助。

1 个答案:

答案 0 :(得分:4)

您需要在自定义模式行中包含mode-line-process的值。这似乎有效:

(setq my-modeline-major-mode 
  ;; major modes
  (list
    '(:eval (propertize "%m" 'face 'font-lock-string-face
                       'help-echo buffer-file-coding-system))
    '("" mode-line-process)))