diff options
Diffstat (limited to 'tests/011/special-1.tl')
-rw-r--r-- | tests/011/special-1.tl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/011/special-1.tl b/tests/011/special-1.tl index 7461b730..aa791354 100644 --- a/tests/011/special-1.tl +++ b/tests/011/special-1.tl @@ -1,5 +1,34 @@ +(load "../common") + (let ((x (with-out-string-stream (*stdout*) [format *stdout* "wo"] (format t "rld!")))) (format *stdout* "Hello, ") (put-line x)) + +(defvar *spec* :global) + +(defvar *fun* (let* ((*spec* :local) + (fun (lambda () *spec*)) + (x *spec*)) + (test (call fun) :local) + (test x :local) + (set *spec* :local2) + fun)) + +(let ((*spec* *spec*)) + (test *spec* :global) + (set *spec* :clobber) + (test (call *fun*) :clobber)) + +(test *spec* :global) + +(test (call *fun*) :global) + +(let ((x *spec*) + (*spec* :local) + (y *spec*)) + (let ((z *spec*) + (*spec* nil) + (w *spec*)) + (test (list *spec* x y z w) (nil :global :global :local :local)))) |