diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-16 04:49:25 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-06-16 04:49:25 +0000 |
commit | 69c1ea14ff9bb551b8c17c0e6de8ef656da45e53 (patch) | |
tree | 7f260c61f74ab99f7c1eff6c87fd9d41915c91b0 /regex.c | |
parent | ff1000f66febc57ed1a3806d0900bc0c7e8f3c53 (diff) | |
download | ruby-69c1ea14ff9bb551b8c17c0e6de8ef656da45e53.tar.gz ruby-69c1ea14ff9bb551b8c17c0e6de8ef656da45e53.tar.xz ruby-69c1ea14ff9bb551b8c17c0e6de8ef656da45e53.zip |
* 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]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'regex.c')
-rw-r--r-- | regex.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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: |