summaryrefslogtreecommitdiffstats
path: root/intern.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-09-20 06:23:50 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-09-20 06:23:50 +0000
commit3c8690f9373ccf616cfda9b101082d3d5e21a5fb (patch)
tree060de3150b5b0360d0b2a0a0cfe9a734f9cf7e83 /intern.h
parent4f38192327badc642b66fb2e0605b9e70c398b4d (diff)
downloadruby-3c8690f9373ccf616cfda9b101082d3d5e21a5fb.tar.gz
ruby-3c8690f9373ccf616cfda9b101082d3d5e21a5fb.tar.xz
ruby-3c8690f9373ccf616cfda9b101082d3d5e21a5fb.zip
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@1752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'intern.h')
-rw-r--r--intern.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/intern.h b/intern.h
index 0fcdf5ac2..4ea537c95 100644
--- a/intern.h
+++ b/intern.h
@@ -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));