From 8ee27066dcae58f2761d707d864fdc06a860e03d Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <tunes@google.com>
Date: Tue, 25 Feb 2014 06:14:37 -0500
Subject: [PATCH] Undo 824c0f0 from Feb 22, and leave a comment why the thing
 is working.

---
 uiop/run-program.lisp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp
index 417ee204..5102f7d6 100644
--- a/uiop/run-program.lisp
+++ b/uiop/run-program.lisp
@@ -738,8 +738,6 @@ It returns a process-info plist with possible keys:
              (if (os-unix-p) (cons "exec" command) command)))))
 
   (defun %redirected-system-command (command in out err directory) ;; helper for %USE-SYSTEM
-    (when (and directory (not (os-unix-p)))
-      (error "Can't change directory in run-program on non-Unix systems with system() backend"))
     (flet ((redirect (spec operator)
              (let ((pathname
                      (typecase spec
@@ -760,7 +758,7 @@ It returns a process-info plist with possible keys:
         (reduce/strcat
          (append
           before (redirect in " <") (redirect out " >") (redirect err " 2>")
-          (when (and directory (os-unix-p))
+          (when (and directory (os-unix-p)) ;; NB: unless on Unix, %system uses with-current-directory
             `(" ; cd " ,(escape-shell-token (native-namestring directory))))
           after)))))
 
-- 
GitLab