Subject: Re: bug#35241: 27.0.50; Tramp can't decrypt .authinfo.gpg in Win 10

From: Michael Albinus <[email-masked]>
Date: Tue, 16 Apr 2019 14:50:40 +0200

Shuguang Sun <[email-masked]> writes:

Hi,

>>>   tramp-file-name-handler(expand-file-name "." "/plink:[email-masked]:")
>>>   locate-file-internal("gpg2" (list of path) (".exe" ".com" ".bat"
>>> ".cmd" ".btm" "") 1)
>>>   executable-find("gpg2")
>>
>> This is the crucial part. `executable-find' shall operate on the local
>> file system only. But it calls `locate-file-internal' with a PATH
>> pointing to remote.
>>
>> I suppose you have edited the backtrace, and written (list of path).
>> What is there? My crystal ball tells me it contains "." ...
>
> Sorry. I do modified it here. It is the local path, not remote. And it
> contains "." which looks like:
>
>   locate-file("gpg2" ("." "C:/Users/username/emacs/bin/" "C:/Users/username/scoop/apps/gnupg/current/bin/" "C:/Users/username/scoop/shims/" "C:/Users/username/Progs/msys64/mingw64/bin/" "C:/Users/username/Progs/msys64/usr/bin/" "C:/Users/username/Progs/miktex-portable/texmfs/insta..." "C:/Users/username/AppData/Local/Microsoft/WindowsApp...") (".exe" ".com" ".bat" ".cmd" ".btm" "") 1)

Thanks, as I've expected. A relative file name like "." is the
problem. If the current directory is a remote one, it expands to a
remote directory inside exec-path, with all the hassle.

How does come "." into exec-path? Have you set this in your .emacs? Or
is it part of the PATH environment variable on your system? You know,
that it is discouraged to add "." to your PATH for security reasons.

Relative file names are not forbidden as part of exec-path. Shall we ban
them (with an error message)? Or shall we ignore them, silently? Don't know.

I'd vote for the latter (including proper documentation).

Best regards, Michael.