Mercurial > emacs
changeset 91811:3db89e7c0f1d
(compilation-auto-jump): Call
compile-goto-error only when compilation-auto-jump-to-first-error
is non-nil.
(compilation-scroll-output): Replace :type 'boolean with a choice
that has three options including a third option `first-error'.
Doc fix.
(compilation-start, compilation-forget-errors): Add an alternate
condition comparing compilation-scroll-output with `first-error'
in addition to compilation-auto-jump-to-first-error (to call
compilation-auto-jump in the proper place).
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 12 Feb 2008 23:41:32 +0000 |
parents | 81c282959319 |
children | 22cb32652c70 |
files | lisp/progmodes/compile.el |
diffstat | 1 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/compile.el Tue Feb 12 23:41:19 2008 +0000 +++ b/lisp/progmodes/compile.el Tue Feb 12 23:41:32 2008 +0000 @@ -762,7 +762,8 @@ (defun compilation-auto-jump (buffer pos) (with-current-buffer buffer (goto-char pos) - (compile-goto-error))) + (if compilation-auto-jump-to-first-error + (compile-goto-error)))) ;; This function is the central driver, called when font-locking to gather ;; all information needed to later jump to corresponding source code. @@ -1054,8 +1055,13 @@ Setting it causes the Compilation mode commands to put point at the end of their output window so that the end of the output is always -visible rather than the beginning." - :type 'boolean +visible rather than the beginning. + +The value `first-error' stops scrolling at the first error, and leaves +point on its location in the *compilation* buffer." + :type '(choice (const :tag "No scrolling" nil) + (const :tag "Scroll compilation output" t) + (const :tag "Stop scrolling at the first error" first-error)) :version "20.3" :group 'compilation) @@ -1168,7 +1174,8 @@ (if highlight-regexp (set (make-local-variable 'compilation-highlight-regexp) highlight-regexp)) - (if compilation-auto-jump-to-first-error + (if (or compilation-auto-jump-to-first-error + (eq compilation-scroll-output 'first-error)) (set (make-local-variable 'compilation-auto-jump-to-next) t)) ;; Output a mode setter, for saving and later reloading this buffer. (insert "-*- mode: " name-of-mode @@ -2160,7 +2167,8 @@ ;; compilations, to set the beginning of "this compilation", it's a good ;; place to reset compilation-auto-jump-to-next. (set (make-local-variable 'compilation-auto-jump-to-next) - compilation-auto-jump-to-first-error)) + (or compilation-auto-jump-to-first-error + (eq compilation-scroll-output 'first-error)))) ;;;###autoload (add-to-list 'auto-mode-alist '("\\.gcov\\'" . compilation-mode))