Mercurial > emacs
changeset 40294:c3b8e6d5266f
(compilation-parse-errors-filename-function):
New variable.
(compilation-parse-errors): Use it.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 25 Oct 2001 07:47:48 +0000 |
parents | 1c73528c9b15 |
children | b2456ad80460 |
files | lisp/progmodes/compile.el |
diffstat | 1 files changed, 14 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/compile.el Thu Oct 25 07:13:22 2001 +0000 +++ b/lisp/progmodes/compile.el Thu Oct 25 07:47:48 2001 +0000 @@ -1,6 +1,7 @@ ;;; compile.el --- run compiler as inferior of Emacs, parse error messages -;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 98, 1999, 2001 Free Software Foundation, Inc. +;; Copyright (C) 1985, 86, 87, 93, 94, 95, 96, 97, 98, 1999, 2001 +;; Free Software Foundation, Inc. ;; Author: Roland McGrath <roland@gnu.org> ;; Maintainer: FSF @@ -133,6 +134,11 @@ `compilation-error-list' to a list with an element for each error message found. See that variable for more info.") +(defvar compilation-parse-errors-filename-function nil + "Function to call to post-process filenames while parsing error messages. +It takes one arg FILENAME which is the name of a file as found +in the compilation output, and should return a transformed file name.") + ;;;###autoload (defvar compilation-process-setup-function nil "*Function to call to customize the compilation process. @@ -1944,6 +1950,13 @@ (setq filename (concat comint-file-name-prefix filename))) + ;; If compilation-parse-errors-filename-function is + ;; defined, use it to process the filename. + (when compilation-parse-errors-filename-function + (setq filename + (funcall compilation-parse-errors-filename-function + filename))) + ;; Some compilers (e.g. Sun's java compiler, reportedly) ;; produce bogus file names like "./bar//foo.c" for file ;; "bar/foo.c"; expand-file-name will collapse these into