@ 2992 sv.c (5.8.0) if (PMf_EXTENDED & re->reganch) { char *endptr = re->precomp + re->prelen; while (endptr >= re->precomp) { char c = *(endptr--); if (c == '\n') break; /* don't need another */ if (c == '#') { + int n =0; + while( endptr >= re->precomp && + c = *(endptr--) && + c == '\' ) n++; + /* if we've an odd number of backslashes the # + is escaped, so don't need the newline */ + if ( n & 1) break; /* we end while in a comment, so we need a newline */ mg->mg_len++; /* save space for it */ need_newline = 1; /* note to add it */ } } }