? idutils/d ? idutils/stamp-h1 ? idutils/doc/idutils.info ? idutils/lib/alloca.h ? idutils/lib/fnmatch.h ? idutils/lib/getopt.h ? idutils/lisp/elc-stamp ? idutils/po/remove-potcdate.sed Index: idutils/libidu/scanners.c =================================================================== RCS file: /sources/idutils/idutils/libidu/scanners.c,v retrieving revision 1.15 diff -u -p -r1.15 scanners.c --- idutils/libidu/scanners.c 15 Feb 2006 04:19:20 -0000 1.15 +++ idutils/libidu/scanners.c 18 Apr 2006 16:04:22 -0000 @@ -1252,7 +1252,7 @@ top: /* Text character classes */ #define ISID1ST(c) ((rct)[c] & (I1)) -#define ISIDREST(c) ((rct)[c] & (I1|NM|SQ|Q1)) +#define ISIDREST(c) ((rct)[c] & (I1|NM|SQ)) #define ISNUMBER(c) ((rct)[c] & (NM)) #define ISIDSQUEEZE(c) ((rct)[c] & (SQ)) #define ISCOMMENT(c) ((rct)[c] & (CM)) @@ -1420,11 +1420,14 @@ top: break; case '#': - state |= CM; /* comment = 1; */ + /* Skip the '#", if it is inside "'" or '"' */ + if (!(state&Q1) && !(state&Q2)) + state |= CM; /* comment = 1; */ break; case '\'': - if (!skip_doc) + /* Skip the "'", if it is inside comment or string */ + if (!skip_doc && !(state&CM) && !(state&Q2)) state ^= Q1; /* s_quote = ((s_quote) ? 0 : 1); */ break;