Restored the old psmacro for LISP evaluation, because the new special form wasn't...
authorDaniel Gackle <danielgackle@gmail.com>
Sat, 11 Apr 2009 22:55:05 +0000 (15:55 -0700)
committerDaniel Gackle <danielgackle@gmail.com>
Sat, 11 Apr 2009 22:55:05 +0000 (15:55 -0700)
src/special-forms.lisp

index 033405a..3841f6f 100644 (file)
@@ -718,7 +718,9 @@ lambda-list::=
 (define-ps-special-form regex (regex)
   `(js:regex ,(string regex)))
 
 (define-ps-special-form regex (regex)
   `(js:regex ,(string regex)))
 
-(define-ps-special-form lisp (lisp-form)
-  ;; (ps (foo (lisp bar))) is in effect equivalent to (ps* `(foo ,bar))
-  ;; when called from inside of ps*, lisp-form has access only to the dynamic environment (like for eval)
-  `(js:escape ,(ps1* lisp-form)))
+(defpsmacro lisp (&body forms)
+  "Evaluates the given forms in Common Lisp at ParenScript
+macro-expansion time. The value of the last form is treated as a
+ParenScript expression and is inserted into the generated Javascript
+\(use nil for no-op)."
+  (eval (cons 'progn forms)))