diff options
author | Leo Liu <sdl.web@gmail.com> | 2013-10-04 17:45:25 +0800 |
---|---|---|
committer | Leo Liu <sdl.web@gmail.com> | 2013-10-04 17:45:25 +0800 |
commit | 1dab32a392d0a5f6b5368cd0dbc4ab8cd071cf96 (patch) | |
tree | 15b9443ca809ebfd1a683e9fe4d9fe1dc80a0208 /lisp/progmodes/octave.el | |
parent | 4eed3157327f8406921658442a11af7e9d84d603 (diff) | |
download | emacs-1dab32a392d0a5f6b5368cd0dbc4ab8cd071cf96.tar.gz emacs-1dab32a392d0a5f6b5368cd0dbc4ab8cd071cf96.tar.bz2 emacs-1dab32a392d0a5f6b5368cd0dbc4ab8cd071cf96.zip |
* progmodes/octave.el (inferior-octave-error-regexp-alist)
(inferior-octave-compilation-font-lock-keywords): New variables.
(compilation-error-regexp-alist)
(compilation-mode-font-lock-keywords): Defvar to pacify compiler.
(inferior-octave-mode): Use compilation-shell-minor-mode.
Diffstat (limited to 'lisp/progmodes/octave.el')
-rw-r--r-- | lisp/progmodes/octave.el | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el index 51cee8b2989..ec48f75dd68 100644 --- a/lisp/progmodes/octave.el +++ b/lisp/progmodes/octave.el @@ -631,6 +631,24 @@ mode, include \"-q\" and \"--traditional\"." :type 'hook :group 'octave) +(defcustom inferior-octave-error-regexp-alist + '(("error:\\s-*\\(.*?\\) at line \\([0-9]+\\), column \\([0-9]+\\)" + 1 2 3 2 1) + ("warning:\\s-*\\([^:\n]+\\):.*at line \\([0-9]+\\), column \\([0-9]+\\)" + 1 2 3 1 1)) + "Value for `compilation-error-regexp-alist' in inferior octave." + :type '(repeat (choice (symbol :tag "Predefined symbol") + (sexp :tag "Error specification"))) + :group 'octave) + +(defvar inferior-octave-compilation-font-lock-keywords + '(("\\_<PASS\\_>" . compilation-info-face) + ("\\_<FAIL\\_>" . compilation-error-face) + ("\\_<\\(warning\\):" 1 compilation-warning-face) + ("\\_<\\(error\\):" 1 compilation-error-face) + ("^\\s-*!!!!!.*\\|^.*failed$" . compilation-error-face)) + "Value for `compilation-mode-font-lock-keywords' in inferior octave.") + (defvar inferior-octave-process nil) (defvar inferior-octave-mode-map @@ -673,6 +691,8 @@ This variable is used to initialize `comint-dynamic-complete-functions' in the Inferior Octave buffer.") (defvar info-lookup-mode) +(defvar compilation-error-regexp-alist) +(defvar compilation-mode-font-lock-keywords) (define-derived-mode inferior-octave-mode comint-mode "Inferior Octave" "Major mode for interacting with an inferior Octave process." @@ -698,10 +718,14 @@ in the Inferior Octave buffer.") (setq-local comint-prompt-read-only inferior-octave-prompt-read-only) (add-hook 'comint-input-filter-functions 'inferior-octave-directory-tracker nil t) + (comint-read-input-ring t) ;; http://thread.gmane.org/gmane.comp.gnu.octave.general/48572 (add-hook 'window-configuration-change-hook 'inferior-octave-track-window-width-change nil t) - (comint-read-input-ring t)) + (setq-local compilation-error-regexp-alist inferior-octave-error-regexp-alist) + (setq-local compilation-mode-font-lock-keywords + inferior-octave-compilation-font-lock-keywords) + (compilation-shell-minor-mode 1)) ;;;###autoload (defun inferior-octave (&optional arg) |