X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxlex_pimpl.C;h=80b757359aba6fd8828880adec12a68fc4f02494;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=eb8765db5fceed0651df36526a3cea0e03409262;hpb=6c300f72a217722652dc27db9108e1050028979c;p=lyx.git diff --git a/src/lyxlex_pimpl.C b/src/lyxlex_pimpl.C index eb8765db5f..80b757359a 100644 --- a/src/lyxlex_pimpl.C +++ b/src/lyxlex_pimpl.C @@ -70,15 +70,13 @@ LyXLex::Pimpl::Pimpl(keyword_item * tab, int num) string const LyXLex::Pimpl::getString() const { - return string(buff.begin(), buff.end()); + return buff; } docstring const LyXLex::Pimpl::getDocString() const { - std::vector res = utf8_to_ucs4(buff); - docstring dstr(res.begin(), res.end()); - return dstr; + return from_utf8(buff); } @@ -206,13 +204,12 @@ bool LyXLex::Pimpl::next(bool esc /* = false */) // we extract the first word and leaves the rest // in pushTok. (Lgb) if (pushTok.find(' ') != string::npos && pushTok[0] == '\\') { - string tmp; - pushTok = split(pushTok, tmp, ' '); - buff.assign(tmp.begin(), tmp.end()); + buff.clear(); + pushTok = split(pushTok, buff, ' '); return true; } else { - buff.assign(pushTok.begin(), pushTok.end()); - pushTok.erase(); + buff = pushTok; + pushTok.clear(); return true; } } @@ -256,7 +253,7 @@ bool LyXLex::Pimpl::next(bool esc /* = false */) ++lineno; } - buff.pop_back(); + buff.resize(buff.size()-1); status = LEX_DATA; break; } @@ -377,7 +374,7 @@ bool LyXLex::Pimpl::next(bool esc /* = false */) ++lineno; } - buff.pop_back(); + buff.resize(buff.size() -1); status = LEX_DATA; break; } @@ -456,7 +453,7 @@ bool LyXLex::Pimpl::eatLine() if (c == '\n') { ++lineno; - buff.pop_back(); + buff.resize(buff.size() - 1); status = LEX_DATA; return true; } else { @@ -472,13 +469,12 @@ bool LyXLex::Pimpl::nextToken() // we extract the first word and leaves the rest // in pushTok. (Lgb) if (pushTok.find(' ') != string::npos && pushTok[0] == '\\') { - string tmp; - pushTok = split(pushTok, tmp, ' '); - buff.assign(tmp.begin(), tmp.end()); + buff.clear(); + pushTok = split(pushTok, buff, ' '); return true; } else { - buff.assign(pushTok.begin(), pushTok.end()); - pushTok.erase(); + buff = pushTok; + pushTok.clear(); return true; } }