summaryrefslogtreecommitdiff
path: root/node.h
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-27 07:27:19 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-27 07:27:19 +0000
commit759a63b6a3355b85e1e52b78810d66fd9ee7b838 (patch)
treeec585ba5c983af89ff164ef8204bde6ae9b0add5 /node.h
parent2ea2d95e8196b61a43915870fb2e1eefc3fc2554 (diff)
downloadruby-759a63b6a3355b85e1e52b78810d66fd9ee7b838.tar.gz
* parse.y (lambda): Perl6 style -> lambda expression. [NEW]
[VERY EXPERIMENTAL] * gc.c (id2ref): must not assign pointers to long int. use LONG_LONG instead if SIZEOF_LONG < SIZEOF_VOIDP. [ruby-talk:149645] * ruby.h: use LONG_LONG to simplify the change. [ruby-talk:149645] * dir.c (dir_each): rewinddir(3) before iteration. [ruby-talk:149628] * eval.c (rb_f_throw): replace all '0x%lx' by '%p'. [ruby-talk:149553] * missing/vsnprintf.c (BSD_vfprintf): '%p' need to handle 64bit size pointer. [ruby-talk:149553] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'node.h')
-rw-r--r--node.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/node.h b/node.h
index 43efba3ea9..4b133893c4 100644
--- a/node.h
+++ b/node.h
@@ -208,8 +208,8 @@ typedef struct RNode {
#define nd_lit u1.value
-#define nd_frml u1.node
-#define nd_rest u2.argc
+#define nd_frml u3.value
+#define nd_rest u2.node
#define nd_opt u1.node
#define nd_recv u1.node
@@ -258,6 +258,7 @@ typedef struct RNode {
#define NEW_UNTIL(c,b,n) NEW_NODE(NODE_UNTIL,c,b,n)
#define NEW_FOR(v,i,b) NEW_NODE(NODE_FOR,v,b,i)
#define NEW_ITER(v,i,b) NEW_NODE(NODE_ITER,v,b,i)
+#define NEW_LAMBDA(a,b) NEW_NODE(NODE_LAMBDA,a,b,0)
#define NEW_BREAK(s) NEW_NODE(NODE_BREAK,s,0,0)
#define NEW_NEXT(s) NEW_NODE(NODE_NEXT,s,0,0)
#define NEW_REDO() NEW_NODE(NODE_REDO,0,0,0)