diff --git a/src/general-info/release-20d.txt b/src/general-info/release-20d.txt index df11c0183652e3ad0ee7898da5cea23ea41b4e54..2368f894ccde66f82109cb44b243e73b3d54394d 100644 --- a/src/general-info/release-20d.txt +++ b/src/general-info/release-20d.txt @@ -64,6 +64,9 @@ New in this release: * The UTF-16-BE and UTF-16-LE external formats were returning the incorrect number of octets when surrogates pairs were decoded. This confuses the stream buffering code. + * Fix typo in ISO8859-2 external format that caused it not to work + correctly. This type potentially also caused failures for all other + external formats that were based on ISO8859-2. * Trac Tickets: * #50: Print/read error with make-pathname. diff --git a/src/pcl/simple-streams/external-formats/iso8859-2.lisp b/src/pcl/simple-streams/external-formats/iso8859-2.lisp index c74d9691ef437eec4c54f9973f750799f180e7e5..3557415c9b6270983c598355f82954a3fcfb1c1c 100644 --- a/src/pcl/simple-streams/external-formats/iso8859-2.lisp +++ b/src/pcl/simple-streams/external-formats/iso8859-2.lisp @@ -39,7 +39,7 @@ character and illegal outputs are replaced by a question mark.") `(,output (if (< ,code 160) ,code (let ((,present (get-inverse ,itable ,code))) - (if ,code + (if ,present (+ (the (unsigned-byte 7) ,present) 160) (if ,error (locally