aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--eval.c4
2 files changed, 7 insertions, 1 deletions
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 <nobu@ruby-lang.org>
+
+ * eval.c (backtrace): skip frames successive on node and method name.
+
Mon Jul 24 15:19:55 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* 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 {