Shift-JIS追加
sbcl(1.0.28)は、文字コード(external-format)に:shift-jisを指定することができない。
> (string-to-octets "あいうえお" :external-format :shift-jis) debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread" RUNNING {AB6E569}>: Unknown external-format :SHIFT-JIS ;; :shift_jisなら大丈夫 > (string-to-octets "あいうえお" :external-format :shift_jis) --> #(130 160 130 162 130 164 130 166 130 168)
なので、:shift-jisを指定可能にするための設定を追加。
;; :shift-jis と :|Shift-JIS| を新たに追加 (dolist (sjis '(:shift-jis :|Shift-JIS|)) (pushnew sjis (car (assoc :sjis sb-impl::*external-formats* :test #'member))) (setf (gethash sjis sb-impl::*external-format-functions*) (gethash :sjis sb-impl::*external-format-functions*)))
これで:shift-jisでもエラーはでなくなる。
> (string-to-octets "あいうえお" :external-format :shift-jis) --> #(130 160 130 162 130 164 130 166 130 168)
まあ、手動で文字コードを指定している限りは、必要になることはまずないだろうけど...。