From 7bb210b3035d2a28bcbdaec1570b019fac951ebb Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 14 Mar 2002 06:21:38 +0000 Subject: * re.c (rb_reg_match): should clear $~ if operand is nil. * re.c (rb_reg_match2): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ re.c | 9 +++++++-- version.h | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index fe7fdf7fff..baf2abc790 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Mar 14 00:29:12 2002 Yukihiro Matsumoto + + * re.c (rb_reg_match): should clear $~ if operand is nil. + + * re.c (rb_reg_match2): ditto. + Wed Mar 13 18:50:29 2002 Akinori MUSHA * lib/getopts.rb: Merge from 1.7. Rewrite to fix some bugs and diff --git a/re.c b/re.c index 42ae86f401..9dc323e933 100644 --- a/re.c +++ b/re.c @@ -943,7 +943,10 @@ rb_reg_match(re, str) { int start; - if (NIL_P(str)) return Qnil; + if (NIL_P(str)) { + rb_backref_set(Qnil); + return Qnil; + } str = rb_str_to_str(str); start = rb_reg_search(re, str, 0, 0); if (start < 0) { @@ -959,8 +962,10 @@ rb_reg_match2(re) int start; VALUE line = rb_lastline_get(); - if (TYPE(line) != T_STRING) + if (TYPE(line) != T_STRING) { + rb_backref_set(Qnil); return Qnil; + } start = rb_reg_search(re, line, 0, 0); if (start < 0) { diff --git a/version.h b/version.h index 13cf77b7a8..4f99e95b4e 100644 --- a/version.h +++ b/version.h @@ -1,4 +1,4 @@ #define RUBY_VERSION "1.6.7" -#define RUBY_RELEASE_DATE "2002-03-13" +#define RUBY_RELEASE_DATE "2002-03-14" #define RUBY_VERSION_CODE 167 -#define RUBY_RELEASE_CODE 20020313 +#define RUBY_RELEASE_CODE 20020314 -- cgit v1.2.3