Additionally, one can use next-error and previous-error to quickly locate the stacktrace in the log file. On Sun, Apr 18, 2021 at 8:21 PM Anand Tamariya wrote: > If you need to jump into a file from stacktrace in a log, use the patch in > compile.el . Then with an appropriate find-file function, you can easily > jump to the location. > > (defun gud-compilation-find-file (_marker filename _directory &rest > _formats) > "Find a buffer for file FILENAME." > (ede-find-file filename)) > > (setq next-error-function 'compilation-next-error-function > compilation-locs (make-hash-table :test 'equal :weakness 'value) > compilation-find-file 'gud-compilation-find-file) > > > diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el > index 6b39dcd3d5..a21be665f5 100644 > --- a/lisp/progmodes/compile.el > +++ b/lisp/progmodes/compile.el > @@ -802,6 +802,7 @@ compilation-disable-input > ;; value is a FILE-STRUCTURE as described above, with the car eq to the > hash > ;; key. This holds the tree seen from root, for storing new nodes. > (defvar compilation-locs ()) > +(make-variable-buffer-local 'compilation-locs) > > (defvar compilation-debug nil > "Set this to t before creating a *compilation* buffer. > @@ -2586,7 +2587,7 @@ compilation-next-error-function > (with-current-buffer > (if (bufferp (caar (compilation--loc->file-struct loc))) > (caar (compilation--loc->file-struct loc)) > - (apply #'compilation-find-file > + (apply compilation-find-file > marker > (caar (compilation--loc->file-struct loc)) > (cadr (car (compilation--loc->file-struct loc))) > @@ -2869,6 +2870,10 @@ compilation-goto-locus-delete-o > (remove-hook 'pre-command-hook > #'compilation-goto-locus-delete-o)) > ^L > +(defvar compilation-find-file #'compilation-find-file > + "Function to find a file in compilation buffer.") > +(make-variable-buffer-local 'compilation-find-file) > + > (defun compilation-find-file (marker filename directory &rest formats) > "Find a buffer for file FILENAME. > If FILENAME is not found at all, ask the user where to find it. >