mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@7145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									ad2c05f1c0
								
							
						
					
					
						commit
						3e9e2bd4ed
					
				
					 17 changed files with 120 additions and 93 deletions
				
			
		| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue