Subject: 23.0.60; DOS eol decoding bug

From: [email-masked] (Johan Bockgård)
Date: Fri, 26 Sep 2008 22:34:12 +0200

Decoding a chunk of DOS text that ends in \r results in an extra chunk
of garbage.

    (progn
      (with-temp-file "/tmp/bar"
        (insert-char ?x 10)
        (insert "\r"))
      (with-temp-buffer
        (let ((coding-system-for-read 'raw-text-dos))
          (insert-file-contents "/tmp/bar")
          (buffer-size))))

      => 21 (expected result 11)

I think the problem was introduced with this change:

2008-03-02  Kenichi Handa  <[email-masked]>

    * coding.c (decode_coding_utf_8): When eol-type of CODING is `dos',
    don't decode '\r' if that is the last in the source.
    (decode_coding_utf_16, decode_coding_emacs_mule)
    (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
    (decode_coding_raw_text, decode_coding_charset): Likewise.
    (produce_chars): Don't decode EOL here. Use EMACS_INT.

-- 
Johan Bockgård