X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=jscl.lisp;h=7abeb3edcfe98a186576caf13201500665290184;hb=495b4eb54403d32d69d575550f8718da044ca1f1;hp=9aab8e3dcf11aea957d3fa950a3773509c589b3c;hpb=ec6c894af2563066e4d6a9587c1df32fef7bde0e;p=jscl.git diff --git a/jscl.lisp b/jscl.lisp index 9aab8e3..7abeb3e 100644 --- a/jscl.lisp +++ b/jscl.lisp @@ -32,6 +32,7 @@ ("array" :target) ("string" :target) ("sequence" :target) + ("stream" :target) ("print" :target) ("package" :target) ("misc" :target) @@ -87,7 +88,8 @@ (defun dump-global-environment (stream) (flet ((late-compile (form) - (write-string (ls-compile-toplevel form) stream))) + (let ((*standard-output* stream)) + (write-string (ls-compile-toplevel form))))) ;; We assume that environments have a friendly list representation ;; for the compiler and it can be dumped. (dolist (b (lexenv-function *environment*)) @@ -98,8 +100,8 @@ ;; not collide with the compiler itself. (late-compile `(progn - ,@(mapcar (lambda (s) `(%intern-symbol (%js-vref ,(cdr s)))) - (remove-if-not #'symbolp *literal-table* :key #'car)) + (progn ,@(mapcar (lambda (s) `(%intern-symbol (%js-vref ,(cdr s)))) + (remove-if-not #'symbolp *literal-table* :key #'car))) (setq *literal-table* ',*literal-table*) (setq *variable-counter* ,*variable-counter*) (setq *gensym-counter* ,*gensym-counter*)))