summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-09 15:45:28 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-09 15:45:28 +0000
commit66ca3af2ba570fea4d02004181f4ff337cd012d3 (patch)
tree967fe556afcd146d5d3d19595cc3ec505ecd7e44
parent2e10fa962f8b7e93e1e208e22de75820732271c7 (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--ChangeLog6
-rw-r--r--mkconfig.rb2
-rw-r--r--regex.c8
3 files changed, 12 insertions, 4 deletions
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 <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
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)) {