diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-29 04:55:10 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-29 04:55:10 +0000 |
| commit | f30012166851dcfee0339796a1853fb7b0e7ce6f (patch) | |
| tree | 4ceed7d1642d46a147114fc1a303ce5257af49bb /include/ruby | |
| parent | d43f11a4bf55e9ab4d5e304f18a87ceeeebf5c49 (diff) | |
| download | ruby-f30012166851dcfee0339796a1853fb7b0e7ce6f.tar.gz ruby-f30012166851dcfee0339796a1853fb7b0e7ce6f.tar.xz ruby-f30012166851dcfee0339796a1853fb7b0e7ce6f.zip | |
* array.c (rb_ary_to_ary): do not use #respond_to? to detect
to_ary. Just call. [ruby-core:23738]
* eval.c (rb_check_funcall): new function with method existence
check. returns Qundef when the method does not exist.
* enumerator.c (enumerator_rewind): just call method, using
rb_check_funcall(). [ruby-core:23738]
* error.c (exc_equal): ditto.
* object.c (convert_type): ditto.
* error.c (rb_name_err_mesg_new): export function.
* eval.c (make_exception): ditto.
* io.c (pop_last_hash): return early when the last argument is nil.
* io.c (rb_io_puts): treat T_STRING specially for small
optimization.
* vm_eval.c (raise_method_missing): skip method call if possible
using rb_method_basic_definition_p().
* vm_eval.c (method_missing): ditto.
* test/ruby/test_rubyoptions.rb (TestRubyOptions#test_debug): test
suites changed to ignore exceptions caused by just-call policy.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include/ruby')
| -rw-r--r-- | include/ruby/intern.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/ruby/intern.h b/include/ruby/intern.h index cece6424f..fd37ecab2 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -203,6 +203,7 @@ void rb_check_frozen(VALUE); /* eval.c */ int rb_sourceline(void); const char *rb_sourcefile(void); +VALUE rb_check_funcall(VALUE, ID, int, VALUE*); #if defined(NFDBITS) && defined(HAVE_RB_FD_INIT) typedef struct { |
