From 7e35911e105409fabe48dc2a6214479b6a6ffa24 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 19 May 2003 15:45:46 +0000 Subject: * ext/pty/pty.c (pty_finalize_syswait): join (using Thread#value) before detach pid. [ruby-talk:71519] * eval.c (PUSH_FRAME): save outer ruby_block. [ruby-list:37677], [ruby-dev:20202] * eval.c (BEGIN_CALLARGS): restore outer block by using ruby_block->outer. * eval.c (block_pass): do not alter block->prev, but block->outer. * array.c (get_inspect_tbl): warning on wrong condition. * eval.c (localjump_xvalue): renamed exitstatus to exit_value since it's not exit "status" after all. * eval.c (localjump_error): add reason to LocalJumpError. * compar.c (rb_cmpint): raise error via rb_cmperr(), if cmp value is nil. now take new 2 arguments. * time.c (time_cmp): 2003-05-16 fix was incomplete. (ruby-bugs-ja:PR#458) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- array.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'array.c') diff --git a/array.c b/array.c index c557ab2d15..d53bf496d2 100644 --- a/array.c +++ b/array.c @@ -935,10 +935,12 @@ get_inspect_tbl(create) { VALUE inspect_tbl = rb_thread_local_aref(rb_thread_current(), inspect_key); - if (create && NIL_P(inspect_tbl)) { - tbl_init: - inspect_tbl = rb_ary_new(); - rb_thread_local_aset(rb_thread_current(), inspect_key, inspect_tbl); + if (NIL_P(inspect_tbl)) { + if (create) { + tbl_init: + inspect_tbl = rb_ary_new(); + rb_thread_local_aset(rb_thread_current(), inspect_key, inspect_tbl); + } } else if (TYPE(inspect_tbl) != T_ARRAY) { rb_warn("invalid inspect_tbl value"); @@ -1084,7 +1086,7 @@ sort_1(a, b) VALUE *a, *b; { VALUE retval = rb_yield(rb_assoc_new(*a, *b)); - return rb_cmpint(retval); + return rb_cmpint(retval, *a, *b); } static int @@ -1104,7 +1106,7 @@ sort_2(ap, bp) } retval = rb_funcall(a, id_cmp, 1, b); - return rb_cmpint(retval); + return rb_cmpint(retval, a, b); } static VALUE -- cgit v1.2.3