зеркало из https://github.com/github/ruby.git
* eval.c (rb_frame_callee, rb_frame_caller): rb_frame_callee()
should return method id on current frame. add rb_frame_caller() to get method id on parent frame. Bug #884 [ruby-dev:37446] * eval.c (rb_f_method_name): use rb_frame_caller() instead of rb_frame_callee(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
415d59e3e4
Коммит
aebfdbeea5
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
Sat Dec 27 16:18:02 2008 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* eval.c (rb_frame_callee, rb_frame_caller): rb_frame_callee()
|
||||
should return method id on current frame.
|
||||
add rb_frame_caller() to get method id on parent frame.
|
||||
Bug #884 [ruby-dev:37446]
|
||||
|
||||
* eval.c (rb_f_method_name): use rb_frame_caller()
|
||||
instead of rb_frame_callee().
|
||||
|
||||
Sat Dec 27 15:28:12 2008 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* transcode.c (make_econv_exception): show source and destination
|
||||
|
|
8
eval.c
8
eval.c
|
@ -749,6 +749,12 @@ rb_frame_this_func(void)
|
|||
|
||||
ID
|
||||
rb_frame_callee(void)
|
||||
{
|
||||
return frame_func_id(GET_THREAD()->cfp);
|
||||
}
|
||||
|
||||
static ID
|
||||
rb_frame_caller(void)
|
||||
{
|
||||
rb_thread_t *th = GET_THREAD();
|
||||
rb_control_frame_t *prev_cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
|
||||
|
@ -1106,7 +1112,7 @@ rb_f_local_variables(void)
|
|||
static VALUE
|
||||
rb_f_method_name(void)
|
||||
{
|
||||
ID fname = rb_frame_callee();
|
||||
ID fname = rb_frame_caller(); /* need *caller* ID */
|
||||
|
||||
if (fname) {
|
||||
return ID2SYM(fname);
|
||||
|
|
Загрузка…
Ссылка в новой задаче