mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 eb6118992b
			
		
	
	
		eb6118992b
		
	
	
	
	
		
			
			* eval.c (set_method_visibility): should have clear cache forq updated visibility. * numeric.c (flo_to_s): default format precision to be "%.16g". * util.c (ruby_strtod): use own strtod(3) implementation to avoid locale hell. Due to this change "0xff".to_f no longer returns 255.0 * eval.c (avalue_to_yvalue): new function to distinguish yvalue (no-arg == Qundef) from svalue (no-arg == Qnil). * eval.c (rb_yield_0): use avalue_to_yvalue(). * eval.c (assign): warn if val == Qundef where it means rhs is void (e.g. yield without value or call without argument). * parse.y (value_expr): need not to warn for WHILE and UNTIL, since they can have return value (via valued break). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			60 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**********************************************************************
 | |
| 
 | |
|   env.h -
 | |
| 
 | |
|   $Author$
 | |
|   $Date$
 | |
|   created at: Mon Jul 11 11:53:03 JST 1994
 | |
| 
 | |
|   Copyright (C) 1993-2002 Yukihiro Matsumoto
 | |
| 
 | |
| **********************************************************************/
 | |
| 
 | |
| #ifndef ENV_H
 | |
| #define ENV_H
 | |
| 
 | |
| extern struct FRAME {
 | |
|     VALUE self;
 | |
|     int argc;
 | |
|     VALUE *argv;
 | |
|     ID last_func;
 | |
|     VALUE last_class;
 | |
|     VALUE cbase;
 | |
|     struct FRAME *prev;
 | |
|     struct FRAME *tmp;
 | |
|     char *file;
 | |
|     int line;
 | |
|     int iter;
 | |
|     int flags;
 | |
| } *ruby_frame;
 | |
| 
 | |
| void rb_gc_mark_frame _((struct FRAME *));
 | |
| 
 | |
| #define FRAME_ALLOCA 0
 | |
| #define FRAME_MALLOC 1
 | |
| 
 | |
| extern struct SCOPE {
 | |
|     struct RBasic super;
 | |
|     ID *local_tbl;
 | |
|     VALUE *local_vars;
 | |
|     int flags;
 | |
| } *ruby_scope;
 | |
| 
 | |
| #define SCOPE_ALLOCA  0
 | |
| #define SCOPE_MALLOC  1
 | |
| #define SCOPE_NOSTACK 2
 | |
| #define SCOPE_DONT_RECYCLE 4
 | |
| 
 | |
| extern int ruby_in_eval;
 | |
| 
 | |
| extern VALUE ruby_class;
 | |
| 
 | |
| struct RVarmap {
 | |
|     struct RBasic super;
 | |
|     ID id;
 | |
|     VALUE val;
 | |
|     struct RVarmap *next;
 | |
| };
 | |
| extern struct RVarmap *ruby_dyna_vars;
 | |
| 
 | |
| #endif /* ENV_H */
 |