diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-09-20 06:23:50 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-09-20 06:23:50 +0000 |
commit | 9d61bdff146535718eb94f434c525074a031e470 (patch) | |
tree | 060de3150b5b0360d0b2a0a0cfe9a734f9cf7e83 /intern.h | |
parent | 6767cd760a8f5274e238fca4567071a78ac43968 (diff) |
* eval.c, intern.h (rb_svar): return reference to special variable
from local variable index. [new]
* eval.c (rb_eval): use rb_svar() for NODE_FLIP{2,3}.
* parse.y (rb_(backref|lastline)_(get|set)): access via rb_svar().
* eval.c (proc_invoke): push dynamic variables.
* eval.c (rb_thread_yield): push special variables as dynamic
variables($_, $~ and FLIP states).
* intern.h, parse.y (rb_is_local_id): return true if the ID is
local symbol. [new]
* parse.y (internal_id): make new ID for internal use. [new]
* parse.y (cond0): allocate internal ID for NODE_FLIP{2,3}.
* eval.c (rb_f_local_variables): use rb_is_local_id() to select
visible local variables.
* eval.c (rb_thread_start_0): SCOPE_SHARED is removed.
* eval.c, intern.h (rb_thread_scope_shared_p): removed. special
variables are no longer shared by threads.
* re.c (rb_reg_search): MATCHDATA is no longer shared by threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'intern.h')
-rw-r--r-- | intern.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -133,6 +133,7 @@ VALUE rb_dvar_curr _((ID)); VALUE rb_dvar_ref _((ID)); void rb_dvar_asgn _((ID, VALUE)); void rb_dvar_push _((ID, VALUE)); +VALUE *rb_svar _((int)); VALUE rb_eval_cmd _((VALUE, VALUE)); int rb_respond_to _((VALUE, ID)); void rb_interrupt _((void)); @@ -170,7 +171,6 @@ VALUE rb_thread_stop _((void)); VALUE rb_thread_wakeup _((VALUE)); VALUE rb_thread_run _((VALUE)); VALUE rb_thread_create _((VALUE (*)(ANYARGS), void*)); -int rb_thread_scope_shared_p _((void)); void rb_thread_interrupt _((void)); void rb_thread_trap_eval _((VALUE, int)); void rb_thread_signal_raise _((char*)); @@ -269,6 +269,7 @@ void rb_parser_while_loop _((int, int)); int rb_is_const_id _((ID)); int rb_is_instance_id _((ID)); int rb_is_class_id _((ID)); +int rb_is_local_id _((ID)); VALUE rb_backref_get _((void)); void rb_backref_set _((VALUE)); VALUE rb_lastline_get _((void)); |