bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#870: Repeatable instance of bug#870


From: Jason Rumney
Subject: bug#870: Repeatable instance of bug#870
Date: Mon, 05 Jan 2009 18:59:03 +0800
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

Juanma Barranquero wrote:
   emacs -Q --eval "(desktop-save-mode 1)" ChangeLog.870

I can also reproduce the bug with C-x RET r utf-8-dos after visiting the file normally.

It appears that there is a bug in all the decode_coding_* functions when a CR lies on a CHARBUF_SIZE (0x4000) boundary with a matching LF on the other side of the boundary.

They all do something like:

     if (eol_crlf && c1 == '\r')
       ONE_MORE_BYTE (byte_after_cr);

but ONE_MORE_BYTE will abort the decode if it reaches the end of the buffer, leaving the CR in limbo between having been read and being added to the buffer. Then on decoding the subsequent block, the initial LF does not trip the normal CRLF decoding, so it is put into the buffer.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]