diff --git a/ChangeLog b/ChangeLog index 4d8f1bc4e2..98ddd10553 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 3 23:13:34 2009 Nobuyoshi Nakada + + * vm.c (vm_backtrace): always returns non-nil array if lev is + negative. [ruby-core:21795] + Tue Feb 3 21:19:06 2009 TAKAO Kouji * ext/readline/extconf.rb: checked rl_set_screen_size and diff --git a/vm.c b/vm.c index e73ba39d6a..a49926bef1 100644 --- a/vm.c +++ b/vm.c @@ -737,6 +737,9 @@ vm_backtrace(rb_thread_t *th, int lev) { VALUE ary = 0; + if (lev < 0) { + ary = rb_ary_new(); + } vm_backtrace_each(th, lev, vm_backtrace_push, &ary); if (!ary) return Qnil; return rb_ary_reverse(ary);