diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-30 06:20:09 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-30 06:20:09 +0000 |
commit | 7d7dbcb9660b88b581625844b619703c782e2b33 (patch) | |
tree | d33ef363870dccb8536cbcc1ab3a8780df92ff7f /eval.c | |
parent | a89a18d40744935921a9ccb093f7d061372af18d (diff) | |
download | ruby-7d7dbcb9660b88b581625844b619703c782e2b33.tar.gz ruby-7d7dbcb9660b88b581625844b619703c782e2b33.tar.xz ruby-7d7dbcb9660b88b581625844b619703c782e2b33.zip |
* eval.c (rb_eval): pre-evaluate argument for unambiguous
evaluation order. [ruby-dev:26383]
* lib/delegate.rb (Delegator::method_missing): forward unknown
method to the destination. suggested by
<christophe.poucet@gmail.com>. [ruby-talk:146776]
* process.c (detach_process_watcher): terminate process watcher
thread right after rb_waitpid() succeed. [ruby-talk:146430]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -3287,9 +3287,11 @@ rb_eval(self, n) case NODE_DOT2: case NODE_DOT3: - result = rb_range_new(rb_eval(self, node->nd_beg), - rb_eval(self, node->nd_end), - nd_type(node) == NODE_DOT3); + { + VALUE beg = rb_eval(self, node->nd_beg); + VALUE end = rb_eval(self, node->nd_end); + result = rb_range_new(beg, end, nd_type(node) == NODE_DOT3); + } break; case NODE_FLIP2: /* like AWK */ |