> From: l...@gnu.org (Ludovic Courtès) > Cc: guile-devel@gnu.org > Date: Wed, 11 Jun 2014 14:37:53 +0200 > > OK, thanks for the explanation. > > Below is the fix I just pushed. > [...] > +(define %null-device > + ;; On Windows (MinGW), /dev/null does not exist and we must instead > + ;; use NUL. Note that file system procedures automatically translate > + ;; /dev/null, so this variable is only useful for shell snippets. > + (if (file-exists? "/dev/null") > + "/dev/null" > + "NUL"))
Not sure this is a good idea: I can create a file /dev/null on Windows, but that doesn't mean it is my null device. > (with-input-from-port (car p2c) > (lambda () > (open-input-pipe > - "exec 1>/dev/null; echo closed 1>&2; exec > 2>/dev/null; read REPLY"))))))) > + (format #f "exec 1>~a; echo closed 1>&2; \ > +exec 2>~a; read REPLY" > + %null-device %null-device)))))))) Here, the pipe will not work on Windows anyway, because there's no 'exec' command. But it's good to use %null-device nonetheless, for consistency.