X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flate-format.lisp;h=9063fa4b2f32f5bcc21705cbe578a8ceddbac7d0;hb=8097f555eb90f15c51b96e20bd88db15757247b9;hp=d84c503e547b53a5484f322d476b9b2bc6a5701c;hpb=816248ab4fe04775879a7e5a5ce1b4c613afe9d5;p=sbcl.git diff --git a/src/code/late-format.lisp b/src/code/late-format.lisp index d84c503..9063fa4 100644 --- a/src/code/late-format.lisp +++ b/src/code/late-format.lisp @@ -1158,8 +1158,8 @@ ;; subseq expansion. (subseq foo (1+ slash) (1- end))))) (first-colon (position #\: name)) - (last-colon (if first-colon (position #\: name :from-end t))) - (package-name (if last-colon + (second-colon (if first-colon (position #\: name :start (1+ first-colon)))) + (package-name (if first-colon (subseq name 0 first-colon) "COMMON-LISP-USER")) (package (find-package package-name))) @@ -1169,7 +1169,10 @@ (error 'format-error :complaint "no package named ~S" :args (list package-name))) - (intern (if first-colon - (subseq name (1+ first-colon)) - name) + (intern (cond + ((and second-colon (= second-colon (1+ first-colon))) + (subseq name (1+ second-colon))) + (first-colon + (subseq name (1+ first-colon))) + (t name)) package))))