From d31e1d4a52fc17c0cd8848eedd6e0934f5ea5291 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 19 Jan 2009 04:41:19 +0000 Subject: [PATCH] * ruby.c (require_libraries): reset th->parse_in_eval while loading libraries. fixes [ruby-dev:37780] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ruby.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2716683d76..64884caa41 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jan 19 13:34:25 2009 Koichi Sasada + + * ruby.c (require_libraries): reset th->parse_in_eval while + loading libraries. fixes [ruby-dev:37780] + Mon Jan 19 11:46:39 2009 Koichi Sasada * vm_eval.c, eval.c (rb_f_block_given_p): move definition of diff --git a/ruby.c b/ruby.c index 7ffdc5a277..a0d362b41f 100644 --- a/ruby.c +++ b/ruby.c @@ -458,7 +458,9 @@ require_libraries(struct cmdline_options *opt) ID require; rb_thread_t *th = GET_THREAD(); rb_block_t *prev_base_block = th->base_block; + int prev_parse_in_eval = th->parse_in_eval; th->base_block = 0; + th->parse_in_eval = 0; Init_ext(); /* should be called here for some reason :-( */ CONST_ID(require, "require"); @@ -467,6 +469,8 @@ require_libraries(struct cmdline_options *opt) rb_funcall2(rb_vm_top_self(), require, 1, &feature); } opt->req_list = 0; + + th->parse_in_eval = prev_parse_in_eval; th->base_block = prev_base_block; }