diff --git a/ChangeLog b/ChangeLog index dc2df7ae1f..5bef9ff669 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu May 20 22:08:28 2010 Yusuke Endoh + + * vm_eval.c (rb_f_caller): update rdoc. a patch from Nobuhiro IMAI + in [ruby-dev:41348]. + Thu May 20 22:04:05 2010 Yusuke Endoh * vm.c (vm_backtrace_each): now takes an init function to distinguish diff --git a/vm_eval.c b/vm_eval.c index b854efc965..eb58959e84 100644 --- a/vm_eval.c +++ b/vm_eval.c @@ -1536,7 +1536,7 @@ rb_catch_obj(VALUE tag, VALUE (*func)(), VALUE data) /* * call-seq: - * caller(start=1) -> array + * caller(start=1) -> Array or nil * * Returns the current execution stack---an array containing strings in * the form ``file:line'' or ``file:line: in @@ -1544,6 +1544,9 @@ rb_catch_obj(VALUE tag, VALUE (*func)(), VALUE data) * determines the number of initial stack entries to omit from the * result. * + * Returns +nil+ if _start_ is greater than or equal to the size of + * current execution stack. + * * def a(skip) * caller(skip) * end @@ -1557,6 +1560,7 @@ rb_catch_obj(VALUE tag, VALUE (*func)(), VALUE data) * c(1) #=> ["prog:5:in `b'", "prog:8:in `c'", "prog:11"] * c(2) #=> ["prog:8:in `c'", "prog:12"] * c(3) #=> ["prog:13"] + * c(4) #=> nil */ static VALUE