summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-05-19 15:45:46 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-05-19 15:45:46 +0000
commit7e35911e105409fabe48dc2a6214479b6a6ffa24 (patch)
tree5b28440687c1701389b14598454e99aee9a925ba /array.c
parente08bc0a22ae6c2d2ac0664d82675ca81a30df607 (diff)
* 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
Diffstat (limited to 'array.c')
-rw-r--r--array.c14
1 files changed, 8 insertions, 6 deletions
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