Doesn't fix getVectorFromString, but does reduce cpu usage thereafter. Ok to apply? Angus
Index: src/frontends/controllers/biblio.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/controllers/biblio.C,v retrieving revision 1.36 diff -u -p -r1.36 biblio.C --- src/frontends/controllers/biblio.C 4 Nov 2002 02:12:32 -0000 1.36 +++ src/frontends/controllers/biblio.C 5 Nov 2002 11:51:44 -0000 @@ -163,7 +163,7 @@ string const familyName(string const & n if (fname[0] == '\\') return fname.substr(2); - return fname; + return rtrim(fname); } @@ -201,19 +201,11 @@ string const getAbbreviatedAuthor(InfoMa return author; } - vector<string> authors = getVectorFromString(author, " and"); - + vector<string> const authors = getVectorFromString(author, " and "); if (!authors.empty()) { - author.erase(); - - for (vector<string>::iterator it = authors.begin(); - it != authors.end(); ++it) { - *it = familyName(rtrim(*it)); - } - - author = authors[0]; + author = familyName(authors[0]); if (authors.size() == 2) - author += _(" and ") + authors[1]; + author += _(" and ") + familyName(authors[1]); else if (authors.size() > 2) author += _(" et al."); }