[movitz-cvs] CVS movitz
ffjeld
ffjeld at common-lisp.net
Mon Apr 10 11:45:37 UTC 2006
Update of /project/movitz/cvsroot/movitz
In directory clnet:/tmp/cvs-serv4553
Modified Files:
movitz.lisp
Log Message:
Added support for #. reader syntax (i.e. translate muerte.cl to cl package).
--- /project/movitz/cvsroot/movitz/movitz.lisp 2004/11/15 14:42:15 1.10
+++ /project/movitz/cvsroot/movitz/movitz.lisp 2006/04/10 11:45:36 1.11
@@ -9,7 +9,7 @@
;;;; Created at: Mon Oct 9 20:52:58 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: movitz.lisp,v 1.10 2004/11/15 14:42:15 ffjeld Exp $
+;;;; $Id: movitz.lisp,v 1.11 2006/04/10 11:45:36 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -56,6 +56,12 @@
, at body
(write-char #\> ,stream-var)))))
+(defun movitz-syntax-sharp-dot (stream subchar arg)
+ (declare (ignore arg subchar))
+ (let ((form (read stream t nil t)))
+ (values (unless *read-suppress*
+ (eval (muerte::translate-program form :muerte.cl :cl))))))
+
(defmacro with-movitz-syntax (options &body body)
(declare (ignore options))
`(let ((*readtable* (copy-readtable)))
@@ -71,6 +77,11 @@
(make-movitz-vector (length data)
:element-type 'movitz-unboxed-integer-u8
:initial-contents data))))
+ (set-dispatch-macro-character #\# #\. (lambda (stream subchar arg)
+ (declare (ignore arg subchar))
+ (let ((form (read stream t nil t)))
+ (values (unless *read-suppress*
+ (eval (muerte::translate-program form :muerte.cl :cl)))))))
(set-macro-character #\` (lambda (stream char)
(declare (ignore char))
(let ((*bq-level* (1+ *bq-level*)))
More information about the Movitz-cvs
mailing list