Mercurial > emacs
changeset 39835:81c88c75006b
(compile-mouse-goto-error, compile-goto-error):
Consider the text between two errors as belonging to the first error.
(compilation-goto-locus): Use pop-to-buffer rather than
switch-to-buffer-other-frame.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 12 Oct 2001 17:43:05 +0000 |
parents | 0f64721b0bb8 |
children | c2db8c1499cb |
files | lisp/progmodes/compile.el |
diffstat | 1 files changed, 12 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/compile.el Fri Oct 12 17:29:52 2001 +0000 +++ b/lisp/progmodes/compile.el Fri Oct 12 17:43:05 2001 +0000 @@ -1415,7 +1415,13 @@ ;; failed to find the relevant file. See ;; compilation-next-error-locus. (or (null (marker-buffer (caar compilation-error-list))) - (> (point) (caar compilation-error-list)))) + (and (> (point) (caar compilation-error-list)) + (cdr compilation-error-list) + ;; Don't skip too far: the text between two errors + ;; belongs to the first. Especially since this + ;; in-between text might be other errors on the same + ;; line (see compilation-skip-to-next-location). + (>= (point) (caadr compilation-error-list))))) (setq compilation-error-list (cdr compilation-error-list))) (or compilation-error-list (error "No error to go to"))) @@ -1446,7 +1452,9 @@ ;; failed to find the relevant file. See ;; compilation-next-error-locus. (or (null (marker-buffer (caar compilation-error-list))) - (> (point) (caar compilation-error-list)))) + (and (> (point) (caar compilation-error-list)) + (cdr compilation-error-list) + (>= (point) (caadr compilation-error-list))))) (setq compilation-error-list (cdr compilation-error-list))) (push-mark) @@ -1701,9 +1709,8 @@ ;; display the source in another window. (let ((pop-up-windows t)) (pop-to-buffer (marker-buffer (cdr next-error)))) - (if (and (window-dedicated-p (selected-window)) - (eq (selected-window) (frame-root-window))) - (switch-to-buffer-other-frame (marker-buffer (cdr next-error))) + (if (window-dedicated-p (selected-window)) + (pop-to-buffer (marker-buffer (cdr next-error))) (switch-to-buffer (marker-buffer (cdr next-error))))) (goto-char (cdr next-error)) ;; If narrowing got in the way of