From 78dc87a23feb2a1a5d5dc0c2a5abc3a310493dcf Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Tue, 12 Feb 2008 23:41:59 +0000 Subject: [PATCH] (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). --- lisp/ChangeLog | 19 +++++++++++++++++++ lisp/progmodes/compile.el | 18 +++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b83116ef99c..927b3ce86aa 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,22 @@ +2008-02-12 Juri Linkov + + * startup.el (fancy-startup-screen, normal-splash-screen): + Set default-directory to command-line-default-directory. + + * desktop.el (after-init-hook): Set inhibit-startup-screen to t + after reading the desktop. + + * progmodes/compile.el (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). + 2008-02-12 Stefan Monnier * international/mule.el (sgml-html-meta-auto-coding-function): diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index f75c5a29bc8..9dca3553b14 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -762,7 +762,8 @@ from a different message." (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 @@ original use. Otherwise, recompile using `compile-command'." 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 @@ Returns the compilation buffer created." (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 @@ The file-structure looks like this: ;; 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)) -- 2.39.2