From 0a10795d0bf4fe21997f907b7d6b1fe13517912b Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Wed, 18 Dec 2019 10:19:19 +0100 Subject: [PATCH] Fix an error with remote file name in compile.el * lisp/progmodes/compile.el (compilation-get-file-structure): Compute proper remote file name. (Bug#38648) --- lisp/progmodes/compile.el | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3fbd6eb2c75..197d52b2dea 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -2936,21 +2936,15 @@ TRUE-DIRNAME is the `file-truename' of DIRNAME, if given." ;; Let's normalize it and look again. (let ((filename (car file)) ;; Get the specified directory from FILE. - (spec-directory (if (cdr file) - (file-truename (cdr file))))) + (spec-directory + (if (cdr file) + (file-truename (concat comint-file-name-prefix (cdr file)))))) ;; Check for a comint-file-name-prefix and prepend it if appropriate. ;; (This is very useful for compilation-minor-mode in an rlogin-mode ;; buffer.) - (when (and (boundp 'comint-file-name-prefix) - (not (equal comint-file-name-prefix ""))) - (if (file-name-absolute-p filename) - (setq filename - (concat comint-file-name-prefix filename)) - (if spec-directory - (setq spec-directory - (file-truename - (concat comint-file-name-prefix spec-directory)))))) + (if (file-name-absolute-p filename) + (setq filename (concat comint-file-name-prefix filename))) ;; If compilation-parse-errors-filename-function is ;; defined, use it to process the filename. The result might be a -- 2.39.2