aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2005-10-16 14:12:50 +0000
committerStefan Monnier2005-10-16 14:12:50 +0000
commite5456e7318405a705ae4c460c4b32b5e869debda (patch)
tree83b628a8af8fb5f5ecd87edb57400c70105c3988
parent717c6bdeb56c7ef7f2a935873688209bf338a3a9 (diff)
downloademacs-e5456e7318405a705ae4c460c4b32b5e869debda.tar.gz
emacs-e5456e7318405a705ae4c460c4b32b5e869debda.zip
(compilation-goto-locus): Display the
compilation buffer first and the source buffer second, in case they're in overlapping frames. Don't raise the compilation frame if it was the selected window upon entry. Pass the `other-window' arg to pop-to-buffer.
-rw-r--r--lisp/ChangeLog25
-rw-r--r--lisp/progmodes/compile.el64
2 files changed, 58 insertions, 31 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7cb345659cf..1cdcf57868c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,19 @@
12005-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * progmodes/compile.el (compilation-goto-locus): Display the
4 compilation buffer first and the source buffer second, in case they're
5 in overlapping frames. Don't raise the compilation frame if it was the
6 selected window upon entry. Pass the `other-window' arg to
7 pop-to-buffer.
8
9 * info.el (Info-fontify-node): Use dolist.
10 Change add-text-properties to put-text-property.
11
122005-10-16 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
13
14 * textmodes/bibtex.el (bibtex-font-lock-url): Catch when point past
15 bound of search.
16
12005-10-16 Masatake YAMATO <jet@gyve.org> 172005-10-16 Masatake YAMATO <jet@gyve.org>
2 18
3 * dabbrev.el (dabbrev-completion): Pass the common 19 * dabbrev.el (dabbrev-completion): Pass the common
@@ -138,6 +154,11 @@
138 Handle the case that ucs-mule-to-mule-unicode translates a character to 154 Handle the case that ucs-mule-to-mule-unicode translates a character to
139 ASCII (usually for IPA characters). 155 ASCII (usually for IPA characters).
140 156
1572005-10-12 Stefan Monnier <monnier@iro.umontreal.ca>
158
159 * info.el (Info-fontify-node): Don't be fooled by a lone "...".
160 Don't hide the underline of titles if font-lock-mode is disabled.
161
1412005-10-12 Bill Wohler <wohler@newt.com> 1622005-10-12 Bill Wohler <wohler@newt.com>
142 163
143 * makefile.w32-in (MH-E-SRC): New. Used by mh-autoloads. 164 * makefile.w32-in (MH-E-SRC): New. Used by mh-autoloads.
@@ -10183,8 +10204,8 @@
10183 minibuffer-with-setup-hook (which breaks turning on/off 10204 minibuffer-with-setup-hook (which breaks turning on/off
10184 file-name-shadow-mode while in the prompt). 10205 file-name-shadow-mode while in the prompt).
10185 10206
10186 * complete.el (PC-read-include-file-name-internal): Use 10207 * complete.el (PC-read-include-file-name-internal):
10187 test-completion. 10208 Use test-completion.
10188 10209
101892005-03-28 Luc Teirlinck <teirllm@auburn.edu> 102102005-03-28 Luc Teirlinck <teirllm@auburn.edu>
10190 10211
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 269fbeaf137..d041fa366c8 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1678,37 +1678,20 @@ displays at the top of the window; there is no arrow."
1678 "Jump to an error corresponding to MSG at MK. 1678 "Jump to an error corresponding to MSG at MK.
1679All arguments are markers. If END-MK is non-nil, mark is set there 1679All arguments are markers. If END-MK is non-nil, mark is set there
1680and overlay is highlighted between MK and END-MK." 1680and overlay is highlighted between MK and END-MK."
1681 (if (eq (window-buffer (selected-window))
1682 (marker-buffer msg))
1683 ;; If the compilation buffer window is selected,
1684 ;; keep the compilation buffer in this window;
1685 ;; display the source in another window.
1686 (let ((pop-up-windows t))
1687 (pop-to-buffer (marker-buffer mk)))
1688 (if (window-dedicated-p (selected-window))
1689 (pop-to-buffer (marker-buffer mk))
1690 (switch-to-buffer (marker-buffer mk))))
1691 ;; If narrowing gets in the way of going to the right place, widen.
1692 (unless (eq (goto-char mk) (point))
1693 (widen)
1694 (goto-char mk))
1695 (if end-mk
1696 (push-mark end-mk t)
1697 (if mark-active (setq mark-active)))
1698 ;; If hideshow got in the way of
1699 ;; seeing the right place, open permanently.
1700 (dolist (ov (overlays-at (point)))
1701 (when (eq 'hs (overlay-get ov 'invisible))
1702 (delete-overlay ov)
1703 (goto-char mk)))
1704
1705 ;; Show compilation buffer in other window, scrolled to this error. 1681 ;; Show compilation buffer in other window, scrolled to this error.
1706 (let* ((pop-up-windows t) 1682 (let* ((from-compilation-buffer (eq (window-buffer (selected-window))
1707 ;; Use an existing window if it is in a visible frame. 1683 (marker-buffer msg)))
1684 ;; Use an existing window if it is in a visible frame.
1708 (pre-existing (get-buffer-window (marker-buffer msg) 0)) 1685 (pre-existing (get-buffer-window (marker-buffer msg) 0))
1709 (w (let ((display-buffer-reuse-frames t)) 1686 (w (if (and from-compilation-buffer pre-existing)
1710 ;; Pop up a window. 1687 ;; Calling display-buffer here may end up (partly) hiding
1711 (display-buffer (marker-buffer msg)))) 1688 ;; the error location if the two buffers are in two
1689 ;; different frames. So don't do it if it's not necessary.
1690 pre-existing
1691 (let ((display-buffer-reuse-frames t)
1692 (pop-up-windows t))
1693 ;; Pop up a window.
1694 (display-buffer (marker-buffer msg)))))
1712 (highlight-regexp (with-current-buffer (marker-buffer msg) 1695 (highlight-regexp (with-current-buffer (marker-buffer msg)
1713 ;; also do this while we change buffer 1696 ;; also do this while we change buffer
1714 (compilation-set-window w msg) 1697 (compilation-set-window w msg)
@@ -1718,6 +1701,29 @@ and overlay is highlighted between MK and END-MK."
1718 ;; creating a new window. 1701 ;; creating a new window.
1719 (unless pre-existing (compilation-set-window-height w)) 1702 (unless pre-existing (compilation-set-window-height w))
1720 1703
1704 (if from-compilation-buffer
1705 ;; If the compilation buffer window was selected,
1706 ;; keep the compilation buffer in this window;
1707 ;; display the source in another window.
1708 (let ((pop-up-windows t))
1709 (pop-to-buffer (marker-buffer mk) 'other-window))
1710 (if (window-dedicated-p (selected-window))
1711 (pop-to-buffer (marker-buffer mk))
1712 (switch-to-buffer (marker-buffer mk))))
1713 ;; If narrowing gets in the way of going to the right place, widen.
1714 (unless (eq (goto-char mk) (point))
1715 (widen)
1716 (goto-char mk))
1717 (if end-mk
1718 (push-mark end-mk t)
1719 (if mark-active (setq mark-active)))
1720 ;; If hideshow got in the way of
1721 ;; seeing the right place, open permanently.
1722 (dolist (ov (overlays-at (point)))
1723 (when (eq 'hs (overlay-get ov 'invisible))
1724 (delete-overlay ov)
1725 (goto-char mk)))
1726
1721 (when highlight-regexp 1727 (when highlight-regexp
1722 (if (timerp next-error-highlight-timer) 1728 (if (timerp next-error-highlight-timer)
1723 (cancel-timer next-error-highlight-timer)) 1729 (cancel-timer next-error-highlight-timer))