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));


Reply via email to