summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--eval.c10
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index eb4aa06c5f..465d97fb56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Jun 10 23:55:17 2005 Tanaka Akira <akr@m17n.org>
+
+ * eval.c (unknown_node): show more information. [ruby-dev:26196]
+
Fri Jun 10 22:54:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* missing.h: fd_set stuffs need sys/types.h. fixed: [ruby-core:05179]
diff --git a/eval.c b/eval.c
index ad0229deeb..c6b756eb52 100644
--- a/eval.c
+++ b/eval.c
@@ -2796,7 +2796,15 @@ unknown_node(node)
NODE *volatile node;
{
ruby_current_node = 0;
- rb_bug("unknown node type %d", nd_type(node));
+ if (node->flags == 0) {
+ rb_bug("terminated node (0x%lx)", (long)node);
+ }
+ else if (BUILTIN_TYPE(node) != T_NODE) {
+ rb_bug("not a node 0x%02lx (0x%lx)", BUILTIN_TYPE(node), (long)node);
+ }
+ else {
+ rb_bug("unknown node type %d (0x%lx)", nd_type(node), (long)node);
+ }
}
static VALUE