From: Alexey D. <ade...@us...> - 2003-09-19 20:21:46
|
Update of /cvsroot/sbcl/sbcl/src/code In directory sc8-pr-cvs1:/tmp/cvs-serv6903/src/code Modified Files: defboot.lisp sysmacs.lisp Log Message: 0.8.3.81: * DOLIST: take CDR before execution of the body as suggested by Paul F. Dietz; * DELETE-COMPONENT: do not try to delete deleted lambda (bug reported by Paul Dietz); * fix building with #+HIGH-SECURITY: ... {IN,OUT}-SYNONYM-OF: fix comma placing; ... src/pcl/gray-streams.lisp: make redefinition of {INPUT,OUTPUT}-STREAM-P be atomic. Index: defboot.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/defboot.lisp,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- defboot.lisp 19 Sep 2003 03:49:29 -0000 1.38 +++ defboot.lisp 19 Sep 2003 12:57:38 -0000 1.39 @@ -304,18 +304,23 @@ ;; since we don't want to use IGNORABLE on what might be a special ;; var. (multiple-value-bind (forms decls) (parse-body body :doc-string-allowed nil) - (let ((n-list (gensym))) - `(do* ((,n-list ,list (cdr ,n-list))) - ((endp ,n-list) - ,@(if result - `((let ((,var nil)) - ,var - ,result)) - '(nil))) - (let ((,var (car ,n-list))) - ,@decls - (tagbody - ,@forms)))))) + (let ((n-list (gensym "N-LIST")) + (start (gensym "START"))) + `(block nil + (let ((,n-list ,list)) + (tagbody + ,start + (unless (endp ,n-list) + (let ((,var (car ,n-list))) + ,@decls + (setq ,n-list (cdr ,n-list)) + (tagbody ,@forms)) + (go ,start)))) + ,(if result + `(let ((,var nil)) + ,var + ,result) + nil))))) ;;;; conditions, handlers, restarts Index: sysmacs.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/sysmacs.lisp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- sysmacs.lisp 21 Apr 2003 21:06:26 -0000 1.15 +++ sysmacs.lisp 19 Sep 2003 12:57:38 -0000 1.16 @@ -59,7 +59,7 @@ :datum ,svar :expected-type '(satisfies input-stream-p) :format-control "~S isn't an input stream" - :format-arguments ,(list svar))) + :format-arguments (list ,svar))) ,svar))))) (defmacro out-synonym-of (stream &optional check-type) (let ((svar (gensym))) @@ -73,7 +73,7 @@ :datum ,svar :expected-type '(satisfies output-stream-p) :format-control "~S isn't an output stream." - :format-arguments ,(list svar))) + :format-arguments (list ,svar))) ,svar))))) ;;; WITH-mumble-STREAM calls the function in the given SLOT of the |