From 1c9df5074e4a35cb401f0680dd2d5e2c0a142764 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Fri, 2 Aug 2002 16:18:15 +0000 Subject: [PATCH] Revert John's change as it breaks reading of the user preamble. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4845 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/ChangeLog | 5 +++++ src/lyxlex.C | 41 +++++++++++++++++++++-------------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index f9375e9de7..acbbb1faf2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2002-08-02 Angus Leeming + + * lyxlex.C: revert John's change as it breaks reading of the user + preamble. + 2002-08-02 Angus Leeming * importer.C (Import): diff --git a/src/lyxlex.C b/src/lyxlex.C index a6aca998a6..e9c8beb0c4 100644 --- a/src/lyxlex.C +++ b/src/lyxlex.C @@ -168,28 +168,29 @@ string const LyXLex::getLongString(string const & endtoken) // We do a case independent comparison, like search_kw // does. - if (compare_ascii_no_case(token, endtoken) == 0) - break; - - string tmpstr = getString(); - if (firstline) { - string::size_type i(tmpstr.find_first_not_of(' ')); - if (i != string::npos) - prefix = tmpstr.substr(0, i); - firstline = false; - lyxerr[Debug::PARSER] - << "Prefix = `" << prefix << "\'" << endl; + if (compare_ascii_no_case(token, endtoken) != 0) { + string tmpstr = getString(); + if (firstline) { + unsigned int i = 0; + while (i < tmpstr.length() + && tmpstr[i] == ' ') { + ++i; + prefix += ' '; + } + firstline = false; + lyxerr[Debug::PARSER] << "Prefix = `" << prefix + << '\'' << endl; + } + + if (!prefix.empty() + && prefixIs(tmpstr, prefix)) { + tmpstr.erase(0, prefix.length() - 1); + } + str += ltrim(tmpstr, "\t") + '\n'; } - - // further lines in long strings may have the same - // whitespace prefix as the first line. Remove it. - if (prefixIs(tmpstr, prefix)) { - tmpstr.erase(0, prefix.length() - 1); - } - - str += ltrim(tmpstr, "\t") + '\n'; + else // token == endtoken + break; } - if (!isOK()) { printError("Long string not ended by `" + endtoken + '\''); } -- 2.39.2