On Mon, 11 Mar 2002, Juergen Spitzmueller wrote: > Herbert Voss wrote: > > I'll send the patch tomorrow. You said that this worked > > in the past. But this is not possible, because the old > > check worked only well for > > > > Theodor W. Adorno > > No, I did not say /this/ worked (and you're right: it didn't), I meant > the things you fixed yesterday. > I just never became aware of this special problem until I gave your > patch a hard try ;-)
here it comes Herbert Index: src/frontends/controllers/ChangeLog =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/controllers/ChangeLog,v retrieving revision 1.144 diff -u -r1.144 ChangeLog --- src/frontends/controllers/ChangeLog 2002/03/07 18:59:07 1.144 +++ src/frontends/controllers/ChangeLog 2002/03/11 06:22:58 @@ -1,3 +1,7 @@ +2002-03-11 Herbert Voss <[EMAIL PROTECTED]> + + * biblio.C: fix bug in parseBibtex + 2002-03-07 Lars Gullik Bjxnnes <[EMAIL PROTECTED]> * ControlSendto.C (allFormats): fix a iterators are not pointers Index: src/frontends/controllers/biblio.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/controllers/biblio.C,v retrieving revision 1.17 diff -u -r1.17 biblio.C --- src/frontends/controllers/biblio.C 2002/03/05 17:48:21 1.17 +++ src/frontends/controllers/biblio.C 2002/03/11 06:22:59 @@ -145,8 +145,15 @@ { // Very simple parser string fname = name; - - string::size_type idx = fname.rfind("."); + // possible authorname combinations are: + // "Surname, FirstName" + // "Surname, F." + // "FirstName Surname" + // "F. Surname" + string::size_type idx = fname.find(","); + if (idx != string::npos) + return frontStrip(fname.substr(0,idx)); + idx = fname.rfind("."); if (idx != string::npos) fname = frontStrip(fname.substr(idx+1));