~ chicken-core (chicken-5) 0eaead56d58ea77579e891c0c854713579d92bf1
commit 0eaead56d58ea77579e891c0c854713579d92bf1 Author: Moritz Heidkamp <moritz@twoticketsplease.de> AuthorDate: Sat Apr 14 20:37:06 2012 +0200 Commit: Christian Kellermann <ckeen@pestilenz.org> CommitDate: Mon Apr 16 10:32:45 2012 +0200 Correct the types.db entry for `eval' to allow multiple return values. Signed-off-by: Christian Kellermann <ckeen@pestilenz.org> diff --git a/tests/library-tests.scm b/tests/library-tests.scm index f133f3fe..1268bd46 100644 --- a/tests/library-tests.scm +++ b/tests/library-tests.scm @@ -278,3 +278,9 @@ (assert-fail (make-blob -1)) (assert-fail (make-vector -1)) + +;;; eval return values + +(assert (= 1 (eval 1))) +(assert (eq? '() (receive (eval '(values))))) +(assert (equal? '(1 2 3) (receive (eval '(values 1 2 3))))) diff --git a/types.db b/types.db index be902250..7aed56f9 100644 --- a/types.db +++ b/types.db @@ -659,7 +659,7 @@ (let ((#(tmp2) #(2))) (#(tmp2) (#(tmp1))))))) -(eval (procedure eval (* #!optional (struct environment)) *)) +(eval (procedure eval (* #!optional (struct environment)) . *)) (char-ready? (#(procedure #:enforce) char-ready? (#!optional input-port) boolean)) (imag-part (#(procedure #:clean #:enforce) imag-part (number) number)Trap