ruby-changes:11962
From: shyouhei <ko1@a...>
Date: Wed, 3 Jun 2009 21:00:12 +0900 (JST)
Subject: [ruby-changes:11962] Ruby:r23626 (ruby_1_8_7): merge revision(s) 22674:
shyouhei 2009-06-03 20:59:59 +0900 (Wed, 03 Jun 2009) New Revision: 23626 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23626 Log: merge revision(s) 22674: * eval.c (rb_eval): needs to guard intermediate string objects. based on a patch from Brent Roman <brent AT mbari.org> a [ruby-core:22584]. Modified files: branches/ruby_1_8_7/ChangeLog branches/ruby_1_8_7/eval.c branches/ruby_1_8_7/version.h Index: ruby_1_8_7/ChangeLog =================================================================== --- ruby_1_8_7/ChangeLog (revision 23625) +++ ruby_1_8_7/ChangeLog (revision 23626) @@ -1,3 +1,9 @@ +Wed Jun 3 20:54:23 2009 Nobuyoshi Nakada <nobu@r...> + + * eval.c (rb_eval): needs to guard intermediate string objects. + based on a patch from Brent Roman <brent AT mbari.org> a + [ruby-core:22584]. + Tue May 26 21:24:01 2009 URABE Shyouhei <shyouhei@r...> * Makefile.in (update-rubyspec, test-rubyspec): Catch up to Index: ruby_1_8_7/version.h =================================================================== --- ruby_1_8_7/version.h (revision 23625) +++ ruby_1_8_7/version.h (revision 23626) @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2009-05-26" +#define RUBY_RELEASE_DATE "2009-06-03" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20090526 -#define RUBY_PATCHLEVEL 167 +#define RUBY_RELEASE_CODE 20090603 +#define RUBY_PATCHLEVEL 168 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 7 #define RUBY_RELEASE_YEAR 2009 -#define RUBY_RELEASE_MONTH 5 -#define RUBY_RELEASE_DAY 26 +#define RUBY_RELEASE_MONTH 6 +#define RUBY_RELEASE_DAY 3 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; @@ -28,3 +28,4 @@ #define RUBY_RELEASE_STR "patchlevel" #define RUBY_RELEASE_NUM RUBY_PATCHLEVEL + Index: ruby_1_8_7/eval.c =================================================================== --- ruby_1_8_7/eval.c (revision 23625) +++ ruby_1_8_7/eval.c (revision 23626) @@ -3898,11 +3898,13 @@ case NODE_DREGX: result = rb_reg_new(RSTRING(str)->ptr, RSTRING(str)->len, node->nd_cflag); + RB_GC_GUARD(str); /* ensure str is not GC'd in rb_reg_new */ break; case NODE_DREGX_ONCE: /* regexp expand once */ result = rb_reg_new(RSTRING(str)->ptr, RSTRING(str)->len, node->nd_cflag); nd_set_type(node, NODE_LIT); + RB_GC_GUARD(str); /* ensure str is not GC'd in rb_reg_new */ node->nd_lit = result; break; case NODE_LIT: -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/