X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fexternal-formats%2Fenc-basic.lisp;h=0deb08a3f55cbc71ac7b6753e9762c3b85ebb284;hb=cee8ef591040db9a79cdd19297867672a9529051;hp=9ae5271ce6a8f53f91e8a1427466cd4a9f3f70f6;hpb=a18894dbea4495b885e1747babf4e2593dfb705e;p=sbcl.git diff --git a/src/code/external-formats/enc-basic.lisp b/src/code/external-formats/enc-basic.lisp index 9ae5271..0deb08a 100644 --- a/src/code/external-formats/enc-basic.lisp +++ b/src/code/external-formats/enc-basic.lisp @@ -383,6 +383,7 @@ (instantiate-octets-definition define-utf8->string) (define-external-format/variable-width (:utf-8 :utf8) t + #!+sb-unicode (code-char #xfffd) #!-sb-unicode #\? (let ((bits (char-code byte))) (cond ((< bits #x80) 1) ((< bits #x800) 2) @@ -401,11 +402,11 @@ (sap-ref-8 sap (+ 1 tail)) (logior #x80 (ldb (byte 6 12) bits)) (sap-ref-8 sap (+ 2 tail)) (logior #x80 (ldb (byte 6 6) bits)) (sap-ref-8 sap (+ 3 tail)) (logior #x80 (ldb (byte 6 0) bits))))) - (cond ((< byte #x80) 1) - ((< byte #xc2) (return-from decode-break-reason 1)) - ((< byte #xe0) 2) - ((< byte #xf0) 3) - (t 4)) + (1 (cond ((< byte #x80) 1) + ((< byte #xc2) (return-from decode-break-reason 1)) + ((< byte #xe0) 2) + ((< byte #xf0) 3) + (t 4))) (code-char (ecase size (1 byte) (2 (let ((byte2 (sap-ref-8 sap (1+ head))))