Michael Schmitt wrote:

> ------------------------------------------------------------------------
> 
> @STRING{ ITU-T     = "{ITU-T, International Telecommunication Union ---
>                        Telecommunication Standardization Sector}" }
> @Misc{ASN.1:1997,
>   author =     ITU-T,
>   title =      {{R}ecommendation {X.680} (12/97) --- {A}bstract
>                   {S}yntax {N}otation {O}ne (ASN.1): {S}pecification
>                   of {B}asic {N}otation},
>   howpublished = {{ITU}, {G}eneva},
>   month =      dec,
>   year =       1997
> }
> 
> % Net unfolding; finite complex prefixes:
> % See WWW page of Esparza, Melzer, R"omer, Vogler, Wallner

the patch fixes this "bug"


Herbert



-- 
http://www.lyx.org/help/
Index: src/frontends/controllers/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/controllers/ChangeLog,v
retrieving revision 1.138
diff -u -r1.138 ChangeLog
--- src/frontends/controllers/ChangeLog 2002/02/20 22:04:46     1.138
+++ src/frontends/controllers/ChangeLog 2002/02/21 18:57:02
@@ -1,6 +1,6 @@
-2002-02-20  Lars Gullik Bjønnes  <[EMAIL PROTECTED]>
+2002-02-21  Herbert Voss  <[EMAIL PROTECTED]>
 
-       * Makefile.am: simpler obj. file compile
+       * biblio.C: fix bug with commentlines in a bibentry
 
 2002-02-18  Herbert Voss  <[EMAIL PROTECTED]>
 
Index: src/frontends/controllers/biblio.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/controllers/biblio.C,v
retrieving revision 1.14
diff -u -r1.14 biblio.C
--- src/frontends/controllers/biblio.C  2002/02/16 15:59:48     1.14
+++ src/frontends/controllers/biblio.C  2002/02/21 18:57:02
@@ -320,18 +320,29 @@
 string const parseBibTeX(string data, string const & findkey)
 {
        string keyvalue;
-       for (string::iterator it = data.begin(); it < data.end(); ++it) {
-               if ((*it) == '\n' || (*it) == '\t')
-                       (*it)= ' ';
+       // at first we delete all characters right of '%' and
+       // replace tabs through a space and remove leading spaces
+       string data_;
+       int Entries = 0;
+       string dummy = token(data,'\n', Entries);
+       while (!dummy.empty()) {
+               dummy = subst(dummy, '\t', ' ');        // no tabs
+               dummy = frontStrip(dummy);      // no leading spaces
+               if (dummy.find('%') != string::npos) {
+                   if (dummy.find('%') > 0)
+                       data_ += dummy.substr(0,data.find('%'));
+               }
+               else
+                   data_ += dummy;
+               dummy = token(data, '\n', ++Entries);
        }
-       data = frontStrip(data);
-       
+       data = data_;
        // now get only the important line of the bibtex entry.
        // all entries are devided by ',' except the last one.  
        data += ',';  // now we have same behaviour for all entries
                      // because the last one is "blah ... }"
-       int Entries = 0;                        
-       string dummy = token(data, ',', Entries);
+       Entries = 0;                    
+       dummy = token(data, ',', Entries);
        while (!contains(lowercase(dummy), findkey) && !dummy.empty())
                dummy = token(data, ',', ++Entries);
        if (dummy.empty())

Reply via email to