diff --git a/ChangeLog b/ChangeLog index 799b52d323..49362f5f5f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Dec 14 08:47:45 2004 Yukihiro Matsumoto + + * eval.c (Init_eval): should mark ruby_eval_tree. [ruby-dev:25189] + Mon Dec 13 18:13:52 2004 Tanaka Akira * gc.c (set_stack_end): new function to obtain stack end address. diff --git a/eval.c b/eval.c index 78e967ff0a..8674c8c436 100644 --- a/eval.c +++ b/eval.c @@ -5832,32 +5832,6 @@ rb_f_send(argc, argv, recv) return vid; } -static VALUE -vafuncall(recv, mid, n, ar) - VALUE recv; - ID mid; - int n; - va_list *ar; -{ - VALUE *argv; - - if (n > 0) { - long i; - - argv = ALLOCA_N(VALUE, n); - - for (i=0;i 0) { + long i; -VALUE -#ifdef HAVE_STDARG_PROTOTYPES -rb_funcall_rescue(VALUE recv, ID mid, int n, ...) -#else -rb_funcall_rescue(recv, mid, n, va_alist) - VALUE recv; - ID mid; - int n; - va_dcl -#endif -{ - VALUE result = Qnil; /* OK */ - int status; - va_list ar; + argv = ALLOCA_N(VALUE, n); - va_init_list(ar, n); - - PUSH_TAG(PROT_NONE); - if ((status = EXEC_TAG()) == 0) { - result = vafuncall(recv, mid, n, &ar); + for (i=0;i