emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 88eadc7: Fix hitting RET on some text in compilatio


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 88eadc7: Fix hitting RET on some text in compilation-mode
Date: Sun, 13 Oct 2019 16:22:37 -0400 (EDT)

branch: master
commit 88eadc75d0de8534b26fd490143c94ab2ee4cc45
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Fix hitting RET on some text in compilation-mode
    
    * lisp/progmodes/compile.el (compilation-next-error-function):
    Don't bug out with an incomprehensible error message on "make[2]:"
    texts (bug#5316).
    (compilation-find-file): Protect against there being no file name.
---
 lisp/progmodes/compile.el | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 7d7a1b9..cd7a5dc 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -2509,6 +2509,8 @@ This is the value of `next-error-function' in Compilation 
buffers."
         (loc (compilation--message->loc msg))
         (end-loc (compilation--message->end-loc msg))
         (marker (point-marker)))
+    (unless loc
+      (user-error "No next error"))
     (setq compilation-current-error (point-marker)
          overlay-arrow-position
            (if (bolp)
@@ -2822,7 +2824,8 @@ attempts to find a file whose name is produced by (format 
FMT FILENAME)."
                       (expand-file-name directory)
                     default-directory))
         buffer thisdir fmts name)
-    (if (file-name-absolute-p filename)
+    (if (and filename
+             (file-name-absolute-p filename))
         ;; The file name is absolute.  Use its explicit directory as
         ;; the first in the search path, and strip it from FILENAME.
         (setq filename (abbreviate-file-name (expand-file-name filename))
@@ -2850,8 +2853,11 @@ attempts to find a file whose name is produced by 
(format FMT FILENAME)."
            (and w (progn (compilation-set-window w marker)
                           (compilation-set-overlay-arrow w))))
           (let* ((name (read-file-name
-                        (format "Find this %s in (default %s): "
-                                compilation-error filename)
+                        (format "Find this %s in%s: "
+                                compilation-error
+                                (if filename
+                                    (format " (default %s)" filename)
+                                  ""))
                         spec-dir filename t nil
                         ;; The predicate below is fine when called from
                         ;; minibuffer-complete-and-exit, but it's too



reply via email to

[Prev in Thread] Current Thread [Next in Thread]