X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flate-format.lisp;h=65ffe678c0aaf5754ebfe5433b3aacd239c83957;hb=89eb73c035f05ae53b1148ef8a83e1d4030b2dd8;hp=b9b3c85f82f678728ba8bb5db945b0106e76834f;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/code/late-format.lisp b/src/code/late-format.lisp index b9b3c85..65ffe67 100644 --- a/src/code/late-format.lisp +++ b/src/code/late-format.lisp @@ -286,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)) @@ -1120,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))) @@ -1135,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