diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-30 06:56:18 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-30 06:56:18 +0000 |
commit | 95cbad84ec6608fd88d3b6128bb7e812f01af75c (patch) | |
tree | 873570181bc80e61f01eca31effb94af645c188c /regparse.h | |
parent | 196d35944013d732d213658c17d41617aaa86aa4 (diff) | |
download | ruby-95cbad84ec6608fd88d3b6128bb7e812f01af75c.tar.gz ruby-95cbad84ec6608fd88d3b6128bb7e812f01af75c.tar.xz ruby-95cbad84ec6608fd88d3b6128bb7e812f01af75c.zip |
* eval.c (rb_eval): NODE_XSTR should pass copy of literal string.
* array.c (rb_ary_update): a[n,m]=nil no longer works as element
deletion.
* enum.c (enum_sort_by): protect continuation jump in.
[ruby-dev:24642]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'regparse.h')
-rw-r--r-- | regparse.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/regparse.h b/regparse.h index b2726becb..a4acd9220 100644 --- a/regparse.h +++ b/regparse.h @@ -96,6 +96,7 @@ typedef struct { } CClassNode; typedef struct { + int state; struct _Node* target; int lower; int upper; @@ -121,6 +122,7 @@ typedef struct { #define NST_ADDR_FIXED (1<<9) #define NST_NAMED_GROUP (1<<10) #define NST_NAME_REF (1<<11) +#define NST_IN_REPEAT (1<<12) /* STK_REPEAT is nested in match stack. */ #define SET_EFFECT_STATUS(node,f) (node)->u.effect.state |= (f) #define CLEAR_EFFECT_STATUS(node,f) (node)->u.effect.state &= ~(f) @@ -140,6 +142,7 @@ typedef struct { #define IS_CALL_RECURSION(cn) (((cn)->state & NST_RECURSION) != 0) #define IS_CALL_NAME_REF(cn) (((cn)->state & NST_NAME_REF) != 0) #define IS_BACKREF_NAME_REF(bn) (((bn)->state & NST_NAME_REF) != 0) +#define IS_QUALIFIER_IN_REPEAT(qn) (((qn)->state & NST_IN_REPEAT) != 0) typedef struct { int state; |