]> git.eshelyaron.com Git - emacs.git/commitdiff
(compilation-goto-locus): Display the
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 16 Oct 2005 14:12:50 +0000 (14:12 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 16 Oct 2005 14:12:50 +0000 (14:12 +0000)
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.

lisp/ChangeLog
lisp/progmodes/compile.el

index 7cb345659cf450fa36e8b2898ab87396d99e5577..1cdcf57868c03a02c6bbf3c949d9bcf5b1c3172d 100644 (file)
@@ -1,3 +1,19 @@
+2005-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * progmodes/compile.el (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.
+
+       * info.el (Info-fontify-node): Use dolist.
+       Change add-text-properties to put-text-property.
+
+2005-10-16  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
+
+       * textmodes/bibtex.el (bibtex-font-lock-url): Catch when point past
+       bound of search.
+
 2005-10-16  Masatake YAMATO  <jet@gyve.org>
 
        * dabbrev.el (dabbrev-completion): Pass the common
        Handle the case that ucs-mule-to-mule-unicode translates a character to
        ASCII (usually for IPA characters).
 
+2005-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * info.el (Info-fontify-node): Don't be fooled by a lone "...".
+       Don't hide the underline of titles if font-lock-mode is disabled.
+
 2005-10-12  Bill Wohler  <wohler@newt.com>
 
        * makefile.w32-in (MH-E-SRC): New. Used by mh-autoloads.
        minibuffer-with-setup-hook (which breaks turning on/off
        file-name-shadow-mode while in the prompt).
 
-       * complete.el (PC-read-include-file-name-internal): Use
-       test-completion.
+       * complete.el (PC-read-include-file-name-internal):
+       Use test-completion.
 
 2005-03-28  Luc Teirlinck  <teirllm@auburn.edu>
 
index 269fbeaf13709ded99fadea131e346ed09106376..d041fa366c89b54828e4abf735bfa89db799d867 100644 (file)
@@ -1678,37 +1678,20 @@ displays at the top of the window; there is no arrow."
   "Jump to an error corresponding to MSG at MK.
 All arguments are markers.  If END-MK is non-nil, mark is set there
 and overlay is highlighted between MK and END-MK."
-  (if (eq (window-buffer (selected-window))
-         (marker-buffer msg))
-      ;; If the compilation buffer window is selected,
-      ;; keep the compilation buffer in this window;
-      ;; display the source in another window.
-      (let ((pop-up-windows t))
-       (pop-to-buffer (marker-buffer mk)))
-    (if (window-dedicated-p (selected-window))
-       (pop-to-buffer (marker-buffer mk))
-      (switch-to-buffer (marker-buffer mk))))
-  ;; If narrowing gets in the way of going to the right place, widen.
-  (unless (eq (goto-char mk) (point))
-    (widen)
-    (goto-char mk))
-  (if end-mk
-      (push-mark end-mk t)
-    (if mark-active (setq mark-active)))
-  ;; If hideshow got in the way of
-  ;; seeing the right place, open permanently.
-  (dolist (ov (overlays-at (point)))
-    (when (eq 'hs (overlay-get ov 'invisible))
-      (delete-overlay ov)
-      (goto-char mk)))
-
   ;; Show compilation buffer in other window, scrolled to this error.
-  (let* ((pop-up-windows t)
-        ;; Use an existing window if it is in a visible frame.
+  (let* ((from-compilation-buffer (eq (window-buffer (selected-window))
+                                      (marker-buffer msg)))
+         ;; Use an existing window if it is in a visible frame.
          (pre-existing (get-buffer-window (marker-buffer msg) 0))
-         (w (let ((display-buffer-reuse-frames t))
-              ;; Pop up a window.
-              (display-buffer (marker-buffer msg))))
+         (w (if (and from-compilation-buffer pre-existing)
+                ;; Calling display-buffer here may end up (partly) hiding
+                ;; the error location if the two buffers are in two
+                ;; different frames.  So don't do it if it's not necessary.
+                pre-existing
+              (let ((display-buffer-reuse-frames t)
+                    (pop-up-windows t))
+               ;; Pop up a window.
+                (display-buffer (marker-buffer msg)))))
         (highlight-regexp (with-current-buffer (marker-buffer msg)
                             ;; also do this while we change buffer
                             (compilation-set-window w msg)
@@ -1718,6 +1701,29 @@ and overlay is highlighted between MK and END-MK."
     ;; creating a new window.
     (unless pre-existing (compilation-set-window-height w))
 
+    (if from-compilation-buffer
+        ;; If the compilation buffer window was selected,
+        ;; keep the compilation buffer in this window;
+        ;; display the source in another window.
+        (let ((pop-up-windows t))
+          (pop-to-buffer (marker-buffer mk) 'other-window))
+      (if (window-dedicated-p (selected-window))
+          (pop-to-buffer (marker-buffer mk))
+        (switch-to-buffer (marker-buffer mk))))
+    ;; If narrowing gets in the way of going to the right place, widen.
+    (unless (eq (goto-char mk) (point))
+      (widen)
+      (goto-char mk))
+    (if end-mk
+        (push-mark end-mk t)
+      (if mark-active (setq mark-active)))
+    ;; If hideshow got in the way of
+    ;; seeing the right place, open permanently.
+    (dolist (ov (overlays-at (point)))
+      (when (eq 'hs (overlay-get ov 'invisible))
+        (delete-overlay ov)
+        (goto-char mk)))
+
     (when highlight-regexp
       (if (timerp next-error-highlight-timer)
          (cancel-timer next-error-highlight-timer))