From: Georg Baum Date: Thu, 29 May 2014 11:15:07 +0000 (+0200) Subject: Do not corrupt documents without newline at EOF X-Git-Tag: 2.2.0alpha1~1884 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=c75c6e446a8bc0dbaabaf156c0abfd622c050129;p=features.git Do not corrupt documents without newline at EOF trim_eol() assumes that a line always ends either with \n, \r, or \r\n. This assumption is always valid except for the last line of a document, since it may miss the trailing newline. LyX does not create such documents, bu they may result from automatic creation tools, and LyX can read them, so lyx2lyx should be able to read them as well. --- diff --git a/lib/lyx2lyx/LyX.py b/lib/lyx2lyx/LyX.py index e37691f273..93006c34e1 100644 --- a/lib/lyx2lyx/LyX.py +++ b/lib/lyx2lyx/LyX.py @@ -147,6 +147,9 @@ def get_backend(textclass): def trim_eol(line): " Remove end of line char(s)." + if line[-1] != '\n': + # May happen for the last line of a document + return line if line[-2:-1] == '\r': return line[:-2] else: