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

From: Michael Albinus <[email-masked]>
Date: Wed, 17 Apr 2019 09:35:12 +0200

Michael Albinus <[email-masked]> writes:

>>> 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).
>>
>> Maybe executable-find should ignore them if default-directory is
>> remote?
>
> Or suppress file name handlers if the REMOTE arg is nil?

Thinking about, the appropriate solution is quoting `default-directory':

*** /tmp/ediffPBChhu	2019-04-17 09:28:24.986244205 +0200
--- /home/albinus/src/emacs/lisp/files.el	2019-04-16 21:48:35.560684261 +0200
***************
*** 1058,1064 ****
          (when (stringp res) (file-local-name res)))
      ;; Use 1 rather than file-executable-p to better match the
      ;; behavior of call-process.
!     (locate-file command exec-path exec-suffixes 1)))

  (defun load-library (library)
    "Load the Emacs Lisp library named LIBRARY.
--- 1058,1065 ----
          (when (stringp res) (file-local-name res)))
      ;; Use 1 rather than file-executable-p to better match the
      ;; behavior of call-process.
!     (let ((default-directory (file-name-quote default-directory 'top)))
!       (locate-file command exec-path exec-suffixes 1))))

  (defun load-library (library)
    "Load the Emacs Lisp library named LIBRARY.

This does not work yet, `locate-file-internal' does not cooperate with a
quoted `default-directory'. Will debug.

Best regards, Michael.