Fix nested promises.
authorTaylor R Campbell <campbell@mumble.net>
Thu, 3 Jan 2019 05:36:58 +0000 (05:36 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Fri, 4 Jan 2019 07:08:14 +0000 (07:08 +0000)
src/runtime/boot.scm
tests/runtime/test-promise.scm

index ff5a7a5efed43dd3c8b17854826be6a92924211c..33a226a8e8e97300b49692d48d4bed6649118586 100644 (file)
@@ -436,9 +436,7 @@ USA.
        (object-type? (ucode-type delayed) (cell-contents object))))
 
 (define (make-promise object)
-  (if (promise? object)
-      object
-      (make-cell (system-pair-cons (ucode-type delayed) #t object))))
+  (make-cell (system-pair-cons (ucode-type delayed) #t object)))
 
 (define (make-unforced-promise thunk)
   ;(guarantee thunk? thunk 'make-unforced-promise)
index 0378b01677b19e98e09b36f67dc18ddcdd643772..703baba85ad55deee584aad781f1a3b8e0ea5521 100644 (file)
@@ -30,9 +30,7 @@ USA.
 \f
 (define-test 'force-force-delay-delay
   (lambda ()
-    (expect-error
-     (lambda ()
-       (assert-eqv (force (force (delay (delay 0)))) 0)))))
+    (assert-eqv (force (force (delay (delay 0)))) 0)))
 
 ;; Adapted from SRFI 45.