From 9198e77f1eab5b529ece3fca30cba337cda0620e Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Sun, 28 Aug 2016 16:33:11 +0000
Subject: [PATCH] Bug fix: Have %wait-process-result fail on CLISP

On platforms where %wait-process-result is not supported,
an error is supposed to be raised. Since the error is only
raised when the process-info field 'process' is non-nil, on
CLISP (where 'process' is always NIL), the function instead
behaves like a dummy.
---
 uiop/run-program.lisp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp
index 4cbf606a..b215ac44 100644
--- a/uiop/run-program.lisp
+++ b/uiop/run-program.lisp
@@ -582,9 +582,9 @@ It returns a process-info object."
   (defun %wait-process-result (process-info)
     (or (slot-value process-info 'exit-code)
         (let ((process (slot-value process-info 'process)))
+          #-(or allegro clasp clozure cmucl ecl lispworks mkcl sbcl scl)
+          (error "~S not implemented" '%wait-process)
           (when process
-            #-(or allegro clasp clozure cmucl ecl lispworks mkcl sbcl scl)
-            (error "~S not implemented" '%wait-process)
             ;; 1- wait
             #+clozure (ccl::external-process-wait process)
             #+(or cmucl scl) (ext:process-wait process)
-- 
GitLab