X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fmacros.lisp;h=10911149d8397271b3870600cb35f48385f8ad32;hb=c960f8bc221ef4db0058013b8aa992d9b5a73fb7;hp=7e7783aedaf1c6f4f9f4d11d4bd76ff500e7e86a;hpb=22b819c0cd0ca0ea5be52ba280b9e9e0b8e86210;p=sbcl.git diff --git a/src/code/macros.lisp b/src/code/macros.lisp index 7e7783a..1091114 100644 --- a/src/code/macros.lisp +++ b/src/code/macros.lisp @@ -133,8 +133,7 @@ :environment environment) (let ((def `(lambda (,whole ,environment) ,@local-decs - (block ,(fun-name-block-name name) - ,body))) + ,body)) (debug-name (debug-namify "DEFINE-COMPILER-MACRO ~S" name))) `(eval-when (:compile-toplevel :load-toplevel :execute) (sb!c::%define-compiler-macro ',name @@ -364,8 +363,9 @@ ,@(when index `((setf ,index (string-input-stream-current ,var))))))))) -(defmacro-mundanely with-output-to-string ((var &optional string) - &body forms-decls) +(defmacro-mundanely with-output-to-string + ((var &optional string &key (element-type ''character)) + &body forms-decls) (multiple-value-bind (forms decls) (parse-body forms-decls nil) (if string `(let ((,var (make-fill-pointer-output-stream ,string))) @@ -373,7 +373,7 @@ (unwind-protect (progn ,@forms) (close ,var))) - `(let ((,var (make-string-output-stream))) + `(let ((,var (make-string-output-stream :element-type ,element-type))) ,@decls (unwind-protect (progn ,@forms)