diff --git a/ChangeLog b/ChangeLog index 3d55b79cbe..7e30a81c2b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Apr 10 00:39:32 2003 Tanaka Akira + + * regex.c (re_compile_pattern): /[\--\-]/ was warned. warn /]/. + + * mkconfig.rb: escape `]' in regexp. + Thu Apr 10 00:27:07 2003 Nobuyoshi Nakada * time.c (time_strftime): RSTRING(format)->ptr might become NULL. diff --git a/mkconfig.rb b/mkconfig.rb index f90363b94a..4244580147 100644 --- a/mkconfig.rb +++ b/mkconfig.rb @@ -84,7 +84,7 @@ end dest = drive ? /= \"(?!\$[\(\{])(?:[a-z]:)?/i : /= \"(?!\$[\(\{])/ v_others.collect! do |x| - if /^\s*CONFIG\["(?!abs_|old)[a-z]+(?:_prefix|dir)"]/ === x + if /^\s*CONFIG\["(?!abs_|old)[a-z]+(?:_prefix|dir)"\]/ === x x.sub(dest, '= "$(DESTDIR)') else x diff --git a/regex.c b/regex.c index b7245d4494..2e51365ec4 100644 --- a/regex.c +++ b/regex.c @@ -1487,7 +1487,9 @@ re_compile_pattern(pattern, size, bufp) } had_char_class = 0; - if (c == '-' && p != p0 + 1 && *p != ']') + if (c == '-' && ((p != p0 + 1 && *p != ']') || + (p[0] == '-' && p[1] != ']') || + range)) re_warning("character class has `-' without escape"); if (c == '[' && *p != ':') re_warning("character class has `[' without escape"); @@ -1675,8 +1677,6 @@ re_compile_pattern(pattern, size, bufp) if (last > c) goto invalid_pattern; - if (last == '-' || c == '-') - re_warning("character class has `-' without escape"); range = 0; if (had_mbchar == 0) { for (;last<=c;last++) @@ -2350,6 +2350,8 @@ re_compile_pattern(pattern, size, bufp) break; default: + if (c == ']') + re_warning("regexp has `]' without escape"); normal_char: /* Expects the character in `c'. */ had_mbchar = 0; if (ismbchar(c)) {