Subject: bug#49283: [PATCH] 27.2; `(call-process "program" null-device ...)' fails over TRAMP from local MS Windows

From: Eli Zaretskii <[email-masked]>
Date: Thu, 01 Jul 2021 16:12:25 +0300

> From: Michael Albinus <[email-masked]>
> Date: Thu, 01 Jul 2021 14:26:08 +0200
> Cc: Jim Porter <[email-masked]>, [email-masked]
> 
> Lars Ingebrigtsen <[email-masked]> writes:
> 
> > -      infile = Fexpand_file_name (args[1], BVAR (current_buffer, directory));
> > +      infile = Fexpand_file_name (args[1], encode_current_directory ());
> >        CHECK_STRING (infile);
> 
> Yes, this seems TRT. encode_current_directory returns either
> default-directory if this is a local dir, or "~" otherwise. Expanding
> INFILE to that directory is OK, I believe.
> 
> So we shall apply Jim's patch. Maybe the docstring could be enhanced a
> little bit at the end, saying that INFILE, if it is a relative file
> name, is expanded to the directory the process uses as cwd.

encode_current_directory returns an encoded file name.  So if we make
this change, we should avoid calling ENCODE_FILE on it (doing so is a
no-op, but it's still unclean).