X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flate-format.lisp;h=65ffe678c0aaf5754ebfe5433b3aacd239c83957;hb=89eb73c035f05ae53b1148ef8a83e1d4030b2dd8;hp=d359fa30fcef2bde4782e345ecd024a96faa238f;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/late-format.lisp b/src/code/late-format.lisp index d359fa3..65ffe67 100644 --- a/src/code/late-format.lisp +++ b/src/code/late-format.lisp @@ -8,9 +8,6 @@ ;;;; files for more information. (in-package "SB!FORMAT") - -(file-comment - "$Header$") (define-condition format-error (error) ((complaint :reader format-error-complaint :initarg :complaint) @@ -289,14 +286,10 @@ `(progn (defun ,defun-name (,directive ,directives) ,@(if lambda-list - `((let ,(mapcar #'(lambda (var) - `(,var - (,(intern (concatenate - 'string - "FORMAT-DIRECTIVE-" - (symbol-name var)) - (symbol-package 'foo)) - ,directive))) + `((let ,(mapcar (lambda (var) + `(,var + (,(symbolicate "FORMAT-DIRECTIVE-" var) + ,directive))) (butlast lambda-list)) ,@body)) `((declare (ignore ,directive ,directives)) @@ -1123,7 +1116,7 @@ ;;;; format directive and support function for user-defined method (def-format-directive #\/ (string start end colonp atsignp params) - (let ((symbol (extract-user-function-name string start end))) + (let ((symbol (extract-user-fun-name string start end))) (collect ((param-names) (bindings)) (dolist (param-and-offset params) (let ((param (cdr param-and-offset))) @@ -1138,7 +1131,7 @@ (,symbol stream ,(expand-next-arg) ,colonp ,atsignp ,@(param-names)))))) -(defun extract-user-function-name (string start end) +(defun extract-user-fun-name (string start end) (let ((slash (position #\/ string :start start :end (1- end) :from-end t))) (unless slash