summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--regex.c7
2 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 06019849f5a..63074332269 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sat Jun 14 16:58:41 2003 Guy Decoux <ts@moulon.inra.fr>
+
+ * regex.c (calculate_must_string): should handle option_set
+ properly. [ruby-talk:73481]
+
+ * regex.c (re_compile_fastmap): a bug in flag manipulation.
+ [ruby-talk:73549]
+
Sat Jun 14 17:59:59 2003 Guy Decoux <ts@moulon.inra.fr>
* eval.c (method_arity): should handle NODE_BMETHOD and
diff --git a/regex.c b/regex.c
index 57ce31fe332..4ac18cb3a07 100644
--- a/regex.c
+++ b/regex.c
@@ -1037,6 +1037,7 @@ calculate_must_string(start, end)
break;
case duplicate:
+ case option_set:
p++;
break;
@@ -1062,7 +1063,6 @@ calculate_must_string(start, end)
case push_dummy_failure:
case start_paren:
case stop_paren:
- case option_set:
break;
case charset:
@@ -2815,8 +2815,11 @@ re_compile_fastmap(bufp)
case casefold_on:
bufp->options |= RE_MAY_IGNORECASE;
+ options |= RE_OPTION_IGNORECASE;
+ continue;
+
case casefold_off:
- options ^= RE_OPTION_IGNORECASE;
+ options &= ~RE_OPTION_IGNORECASE;
continue;
case option_set: