diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-04-09 15:45:28 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-04-09 15:45:28 +0000 |
commit | 66ca3af2ba570fea4d02004181f4ff337cd012d3 (patch) | |
tree | 967fe556afcd146d5d3d19595cc3ec505ecd7e44 | |
parent | 2e10fa962f8b7e93e1e208e22de75820732271c7 (diff) |
* regex.c (re_compile_pattern): /[\--\-]/ was warned. warn /]/.
* mkconfig.rb: escape `]' in regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | mkconfig.rb | 2 | ||||
-rw-r--r-- | regex.c | 8 |
3 files changed, 12 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Thu Apr 10 00:39:32 2003 Tanaka Akira <akr@m17n.org> + + * regex.c (re_compile_pattern): /[\--\-]/ was warned. warn /]/. + + * mkconfig.rb: escape `]' in regexp. + Thu Apr 10 00:27:07 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net> * 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 @@ -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)) { |