ruby-changes:6318
From: nobu <ko1@a...>
Date: Thu, 3 Jul 2008 07:03:56 +0900 (JST)
Subject: [ruby-changes:6318] Ruby:r17833 (trunk): * eval.c (Init_eval), gc.c (Init_GC), proc.c (Init_Proc): freeze
nobu 2008-07-03 07:02:58 +0900 (Thu, 03 Jul 2008) New Revision: 17833 Modified files: trunk/ChangeLog trunk/eval.c trunk/gc.c trunk/proc.c Log: * eval.c (Init_eval), gc.c (Init_GC), proc.c (Init_Proc): freeze messages of preallocated special exceptions also. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=17833 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=17833&r2=17832&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/gc.c?r1=17833&r2=17832&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval.c?r1=17833&r2=17832&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/proc.c?r1=17833&r2=17832&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 17832) +++ ChangeLog (revision 17833) @@ -1,3 +1,8 @@ +Thu Jul 3 07:02:55 2008 Nobuyoshi Nakada <nobu@r...> + + * eval.c (Init_eval), gc.c (Init_GC), proc.c (Init_Proc): freeze + messages of preallocated special exceptions also. + Thu Jul 3 04:39:30 2008 Nobuyoshi Nakada <nobu@r...> * gc.c (rb_during_gc): VALUE cache is irrelevant. Index: proc.c =================================================================== --- proc.c (revision 17832) +++ proc.c (revision 17833) @@ -1760,7 +1760,8 @@ rb_define_method(rb_eLocalJumpError, "reason", localjump_reason, 0); rb_eSysStackError = rb_define_class("SystemStackError", rb_eException); - sysstack_error = rb_exc_new2(rb_eSysStackError, "stack level too deep"); + sysstack_error = rb_exc_new3(rb_eSysStackError, + rb_obj_freeze(rb_str_new2("stack level too deep"))); OBJ_TAINT(sysstack_error); OBJ_FREEZE(sysstack_error); Index: eval.c =================================================================== --- eval.c (revision 17832) +++ eval.c (revision 17833) @@ -1201,7 +1201,8 @@ rb_define_virtual_variable("$SAFE", safe_getter, safe_setter); - exception_error = rb_exc_new2(rb_eFatal, "exception reentered"); + exception_error = rb_exc_new2(rb_eFatal, + rb_obj_freeze(rb_str_new2("exception reentered"))); rb_ivar_set(exception_error, idThrowState, INT2FIX(TAG_FATAL)); OBJ_TAINT(exception_error); OBJ_FREEZE(exception_error); Index: gc.c =================================================================== --- gc.c (revision 17832) +++ gc.c (revision 17833) @@ -2531,7 +2531,8 @@ rb_define_module_function(rb_mObSpace, "_id2ref", id2ref, 1); - nomem_error = rb_exc_new2(rb_eNoMemError, "failed to allocate memory"); + nomem_error = rb_exc_new3(rb_eNoMemError, + rb_obj_freeze(rb_str_new2("failed to allocate memory"))); OBJ_TAINT(nomem_error); OBJ_FREEZE(nomem_error); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/