On CCL and LW when timeout is specified and form returns more then one value
only one is returned
CL-USER> (trivial-timeout:with-timeout (1)
(values 1 2 3))
1
CL-USER>
--- with-timeout-orig.lisp 2009-03-14 15:45:54.000000000 +0100
+++ with-timeout.lisp 2009-03-14 15:47:33.000000000 +0100
@@ -81,7 +81,7 @@ or is interrupted."
(,process (ccl:process-run-function
,checker-process
(lambda ()
- (setf ,result (progn (,doit-symbol)))))))
+ (setf ,result (multiple-value-list (,doit-symbol)))))))
(ccl:process-wait-with-timeout
,waiting-process
(* ,seconds-symbol #+(or openmcl ccl)
@@ -91,7 +91,7 @@