diff options
author | Andy Wingo <wingo@pobox.com> | 2009-12-13 16:18:39 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-13 16:18:39 +0100 |
commit | 4abb824cdbd5f16a836da8ab75cc24a6a53f3b35 (patch) | |
tree | 2bf092266ba7f5ba3473b6e00dbd50cea1e1198d /test-suite/tests/hooks.test | |
parent | 271a32dbc25825ffa3cd880b4260272c0ddc7cf1 (diff) | |
download | guile-4abb824cdbd5f16a836da8ab75cc24a6a53f3b35.tar.gz |
interpreted closures cons less.
* module/ice-9/eval.scm (primitive-eval): When making a closure with N
formals, actuall return a closure with N formals, if N is less than
*max-static-argument-count*, which currently is 8. If N is greater
than 8, do the arg-parsing loop as we did before. Requires some
macrology, but should reduce unnecessary consing for interpreted
closures.
* test-suite/tests/goops.test:
* test-suite/tests/hooks.test: Now that checks like (thunk? foo) are
going to work as a for interpreted code, remove some (throw
'unresolved).
Diffstat (limited to 'test-suite/tests/hooks.test')
-rw-r--r-- | test-suite/tests/hooks.test | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/test-suite/tests/hooks.test b/test-suite/tests/hooks.test index 3e0787685..0987f8c3c 100644 --- a/test-suite/tests/hooks.test +++ b/test-suite/tests/hooks.test @@ -52,12 +52,7 @@ (pass-if-exception "illegal proc" exception:wrong-type-arg (let ((x (make-hook 1))) - ;; Currently fails to raise an exception - ;; because we can't usefully get any arity - ;; information out of interpreted procedures. A - ;; FIXME I guess. - (throw 'unresolved) - (add-hook! x bad-proc))) + (add-hook! x bad-proc))) (pass-if-exception "illegal hook" exception:wrong-type-arg (add-hook! '(foo) proc1))) |