Subject: Re: bug#13344: 24.3.50; Gnus error c:/dev/fd/0

From: Eli Zaretskii <[email-masked]>
Date: Fri, 04 Jan 2013 09:48:09 +0200

> From: Daiki Ueno <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked], [email-masked]
> Date: Fri, 04 Jan 2013 09:03:13 +0900
> 
> >>     ;; Set GPG_TTY and TERM for pinentry-curses.  Note that we can't
> >>     ;; use `terminal-name' here to get the real pty name for the child
> >>     ;; process, though /dev/fd/0" is not portable.
> >>     (with-temp-buffer
> >>       (when (= (call-process "tty" "/dev/fd/0" t) 0)
> >> 	(delete-backward-char 1)
> >> 	(setq terminal-name (buffer-string))))
> >>
> >> Obviously, this will never work on Windows.
> >
> > So perhaps that code should just be disabled for Windows?        
> 
> Oops.  Though I tend to revert the previous patch, I've just added error
> check around call-process for now.  Sorry for the inconvenience.

I don't think ignoring errors is TRT here.  You are invoking a command
that doesn't exist on Windows out of the box; however, if some user,
for some reason, does have that command somewhere on PATH, it _will_
be invoked, but the results could be unpredictable, because the
command by that name on MS-Windows can be unrelated to its Posix
namesake.

So it is best to avoid that call on Windows entirely.