Index: idutils/libidu/scanners.c =================================================================== RCS file: /sources/idutils/idutils/libidu/scanners.c,v retrieving revision 1.15 diff -p -r1.15 scanners.c *** idutils/libidu/scanners.c 15 Feb 2006 04:19:20 -0000 1.15 --- idutils/libidu/scanners.c 2 May 2006 15:28:00 -0000 *************** top: *** 1252,1258 **** /* Text character classes */ #define ISID1ST(c) ((rct)[c] & (I1)) ! #define ISIDREST(c) ((rct)[c] & (I1|NM|SQ|Q1)) #define ISNUMBER(c) ((rct)[c] & (NM)) #define ISIDSQUEEZE(c) ((rct)[c] & (SQ)) #define ISCOMMENT(c) ((rct)[c] & (CM)) --- 1252,1258 ---- /* Text character classes */ #define ISID1ST(c) ((rct)[c] & (I1)) ! #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)) *************** top: *** 1420,1436 **** break; case '#': ! state |= CM; /* comment = 1; */ break; case '\'': ! if (!skip_doc) state ^= Q1; /* s_quote = ((s_quote) ? 0 : 1); */ break; case '\"': ! if (!skip_doc) ! state ^= Q2; /* d_quote = ((d_quote == 1) ? 0 : 1); */ break; case '=': --- 1420,1440 ---- break; case '#': ! /* Skip the #, if it is inside single quotes or double quotes */ ! if (!(state & Q1) && !(state & Q2)) ! state |= CM; /* comment = 1; */ break; case '\'': ! /* Skip the ', if it is inside perldoc or comment or double quotes */ ! if (!skip_doc && !(state & CM) && !(state & Q2)) state ^= Q1; /* s_quote = ((s_quote) ? 0 : 1); */ break; case '\"': ! /* Skip the ", if it is inside perldoc or comment or single quotes */ ! if (!skip_doc && !(state & CM) && !(state & Q1)) ! state ^= Q2; /* d_quote = ((d_quote) ? 0 : 1); */ break; case '=': *************** top: *** 1488,1493 **** --- 1492,1498 ---- *id = '\0'; if (skip_doc) { + /* Perl documentaion 'perlpod' processing is done here */ if (strequ (scanner_buffer, "cut")) { skip_doc = 0;