Subject: Re: bug#20242: 24.5; compilation-mode and tramp interaction bug
From: Michael Albinus <[email-masked]>
To: David Hull <[email-masked]>
Cc: [email-masked]
Date: Wed, 17 Aug 2016 11:41:32 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Michael Albinus <[email-masked]> writes:

Hi David,

>> I believe that there is a bug in the interaction between
>> compilation-mode and tramp.  This bug exists in 24.5rc1, but also exists
>> in the previous emacs version, 24.4.1.  This is the situation:
>>
>> I am running emacs on a Mac.  On the Mac, "/var" is a symlink to
>> "private/var".
>>
>> I am using tramp to visit a project on a CentOS 6 VM.  The project on
>> the VM is in "/var/home/david.hull/src/ds-advertiser-server/src".
>>
>> I run "M-x compile", and run "make -k" as the compilation command.
>> Compile creates a "*compilation*" buffer with the error messages.  Here
>> are the partial contents, prefixed with ">":
>>
>>> -*- mode: compilation; default-directory:
>>> "/scp:cos6:/var/home/david.hull/src/ds-advertiser-server/src/" -*-
>>> Compilation started at Wed Apr  1 10:18:47
>>> 
>>> ds_adv_ox3_ad_v5.erl:44: syntax error before: '}'
>>
>> When I press Enter on this error line to run compile-goto-error, I get
>> the following message in the minibuffer:
>>
>> Find this error in (default ds_adv_ox3_ad_v5.erl):
>> /scp:cos6:/private/var/home/david.hull/src/ds-advertiser-server/src
>>
>> Note that the file path begins with "/private/var" instead of "/var".  I
>> believe that either compilation-mode or tramp is attempting to expand
>> the symlinks, but is incorrectly expanding "/var" to "/private/var",
>> which would be correct on the Mac but is incorrect on the CentOS VM.
>
> I cannot reproduce the error, neither with Emacs 24.5 RC3, nor with
> Emacs 25.0.50. I have applied the following steps:
>
> - On the local machine:
>
>   mkdir /tmp/foo
>   ln -s /tmp/foo /foo
>
> - On the remote machine:
>
>   mkdir /foo
>   echo "(require 'foo)" >/foo/foo.el
>
> - Then I have opened /scp:machine:/foo/foo.el. I have applied "M-x compile RET
>   emacs --no-site-file -batch -l bytecomp -f batch-byte-compile foo.el".
>
> The result was the *compilation* buffer
>
> -*- mode: compilation; default-directory: "/scp:machine:/foo/" -*-
> Compilation started at Mon Apr  6 11:18:14
>
> emacs --no-site-file -batch -l bytecomp -f batch-byte-compile foo.el
>
> In toplevel form:
> foo.el:1:1:Error: Cannot open load file: foo
>
> Compilation exited abnormally with code 1 at Mon Apr  6 11:18:15
>
> When I apply "M-x compile-goto-error" on the error line, file
> /scp:machine:/foo/foo.el is opened as expected.
>
> Maybe you have some nasty local settings? Could you reproduce the
> problem when starting "emacs -Q"?

There hasn't been a reaction for more than a year. I'm closing the bug;
feel free to reopen if there are more evidences.

Best regards, Michael.