simplify readtime-wrapper, just call eval on the entire form (using the interpreter in sbcl)
Sun Sep 21 04:19:27 PDT 2008 attila.lendvai@gmail.com
* simplify readtime-wrapper, just call eval on the entire form (using the interpreter in sbcl)
Warning: CRC errors found. These are probably harmless but should be repaired.
See 'darcs gzcrcs --help' for more information.
diff -rN -u old-cl-syntax-sugar/src/readtime-wrapper.lisp new-cl-syntax-sugar/src/readtime-wrapper.lisp
--- old-cl-syntax-sugar/src/readtime-wrapper.lisp 2014-07-28 21:40:31.000000000 -0700
+++ new-cl-syntax-sugar/src/readtime-wrapper.lisp 2014-07-28 21:40:31.000000000 -0700
@@ -23,12 +23,13 @@
(declare (ignore char))
(bind ((*toplevel-readtable* (or *toplevel-readtable* *readtable*)))
(with-local-readtable
- (bind (((specifier &rest arguments) (with-local-readtable
- ;; restore the readtable case of the toplevel readtable while reading the first form
- (setf (readtable-case *readtable*) (readtable-case *toplevel-readtable*))
- (ensure-list (read stream t nil t)))))
+ (bind ((form (with-local-readtable
+ ;; restore the readtable case of the toplevel readtable while reading the first form
+ (setf (readtable-case *readtable*) (readtable-case *toplevel-readtable*))
+ (ensure-list (read stream t nil t)))))
(set-syntax-from-char end-character #\) *readtable*)
- (funcall (apply specifier (mapcar #'eval arguments))
+ (funcall (bind (#+sbcl(sb-ext:*evaluator-mode* :interpret))
+ (eval form))
(lambda ()
(read-delimited-list end-character stream t))))))))