diff --git a/ChangeLog b/ChangeLog index 0d0f10d7a2..f4bd538409 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jul 24 22:03:40 2006 Nobuyoshi Nakada + + * eval.c (backtrace): skip frames successive on node and method name. + Mon Jul 24 15:19:55 2006 Yukihiro Matsumoto * eval.c (rb_call0): revert last change. [ruby-dev:29112] diff --git a/eval.c b/eval.c index 4bef97c7bd..d2f8d78238 100644 --- a/eval.c +++ b/eval.c @@ -6161,7 +6161,9 @@ backtrace(int lev) } for (; frame && (n = frame->node); frame = frame->prev) { if (frame->prev && frame->prev->this_func) { - if (frame->prev->node == n) continue; + if (frame->prev->node == n) { + if (frame->prev->last_func == frame->last_func) continue; + } str = error_line(frame->prev, n); } else {