path: root/intern.h
diff options
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-15 11:49:40 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-15 11:49:40 +0000
commit92ca6c7773101a425bdc721cf56b281f08d64222 (patch)
tree9408c24c5129fa6075d02c69ce6c05ec04e3bf90 /intern.h
parentb604386fad8d7b26df87efd19134b3a6ac171fb3 (diff)
* eval.c (ruby_current_node) : added to set sourceline on demand.
* eval.c (error_pos, error_print, rb_longjmp, assign): set source file/line. * eval.c (rb_eval): store current node instead of file/line, and preserve it at return. * eval.c (module_setup): ditto. * eval.c (struct thread): store node instead of file/line. * eval.c (rb_thread_raise): ditto. * intern.h (ruby_current_node): added. * intern.h (ruby_set_current_source): added. * parse.y (stmt, arg): not fix position of assignment. * parse.y (node_assign): ditto. * parse.y (yycompile): clear current node. git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'intern.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/intern.h b/intern.h
index 7c9308e..2f9e2cd 100644
--- a/intern.h
+++ b/intern.h
@@ -132,6 +132,8 @@ void rb_compile_error_append __((const char*, ...));
NORETURN(void rb_load_fail _((char*)));
NORETURN(void rb_error_frozen _((char*)));
/* eval.c */
+EXTERN struct RNode *ruby_current_node;
+void ruby_set_current_source _((void));
NORETURN(void rb_exc_raise _((VALUE)));
NORETURN(void rb_exc_fatal _((VALUE)));
void rb_remove_method _((VALUE, const char*));