Skip to content

Commit

Permalink
merge revision(s) 17833:17837:
Browse files Browse the repository at this point in the history
	* gc.c (Init_GC): fix syntax error.
	* error.c (rb_exc_new3): keeps the given string itself.
	* eval.c (Init_Proc), gc.c (Init_GC): freeze messages of preallocated
	  special exceptions also.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_7@18327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
shyouhei committed Aug 4, 2008
1 parent 919325e commit 3443c38
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 9 deletions.
2 changes: 1 addition & 1 deletion error.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ rb_exc_new3(etype, str)
VALUE etype, str; VALUE etype, str;
{ {
StringValue(str); StringValue(str);
return rb_exc_new(etype, RSTRING(str)->ptr, RSTRING(str)->len); return rb_funcall(etype, rb_intern("new"), 1, str);
} }


/* /*
Expand Down
6 changes: 4 additions & 2 deletions eval.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -9992,13 +9992,15 @@ Init_Proc()
rb_define_method(rb_eLocalJumpError, "reason", localjump_reason, 0); rb_define_method(rb_eLocalJumpError, "reason", localjump_reason, 0);


rb_global_variable(&exception_error); rb_global_variable(&exception_error);
exception_error = rb_exc_new2(rb_eFatal, "exception reentered"); exception_error = rb_exc_new3(rb_eFatal,
rb_obj_freeze(rb_str_new2("exception reentered")));
OBJ_TAINT(exception_error); OBJ_TAINT(exception_error);
OBJ_FREEZE(exception_error); OBJ_FREEZE(exception_error);


rb_eSysStackError = rb_define_class("SystemStackError", rb_eStandardError); rb_eSysStackError = rb_define_class("SystemStackError", rb_eStandardError);
rb_global_variable(&sysstack_error); rb_global_variable(&sysstack_error);
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_TAINT(sysstack_error);
OBJ_FREEZE(sysstack_error); OBJ_FREEZE(sysstack_error);


Expand Down
3 changes: 2 additions & 1 deletion gc.c
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -2115,7 +2115,8 @@ Init_GC()
source_filenames = st_init_strtable(); source_filenames = st_init_strtable();


rb_global_variable(&nomem_error); rb_global_variable(&nomem_error);
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_TAINT(nomem_error);
OBJ_FREEZE(nomem_error); OBJ_FREEZE(nomem_error);


Expand Down
11 changes: 6 additions & 5 deletions version.h
Original file line number Original file line Diff line number Diff line change
@@ -1,15 +1,15 @@
#define RUBY_VERSION "1.8.7" #define RUBY_VERSION "1.8.7"
#define RUBY_RELEASE_DATE "2008-07-17" #define RUBY_RELEASE_DATE "2008-08-04"
#define RUBY_VERSION_CODE 187 #define RUBY_VERSION_CODE 187
#define RUBY_RELEASE_CODE 20080717 #define RUBY_RELEASE_CODE 20080804
#define RUBY_PATCHLEVEL 63 #define RUBY_PATCHLEVEL 64


#define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_MINOR 8
#define RUBY_VERSION_TEENY 7 #define RUBY_VERSION_TEENY 7
#define RUBY_RELEASE_YEAR 2008 #define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 7 #define RUBY_RELEASE_MONTH 8
#define RUBY_RELEASE_DAY 17 #define RUBY_RELEASE_DAY 4


#ifdef RUBY_EXTERN #ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[]; RUBY_EXTERN const char ruby_version[];
Expand All @@ -28,3 +28,4 @@ RUBY_EXTERN const char *ruby_copyright;
#define RUBY_RELEASE_STR "patchlevel" #define RUBY_RELEASE_STR "patchlevel"
#define RUBY_RELEASE_NUM RUBY_PATCHLEVEL #define RUBY_RELEASE_NUM RUBY_PATCHLEVEL



0 comments on commit 3443c38

Please sign in to comment.