1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

vm_eval.c: refine messages

* vm_eval.c (raise_method_missing): refine error messages when a
  symbol is not given.  [Fix GH-1013]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-09-03 01:07:52 +00:00
parent 4a14d94418
commit e26ba49bd1
2 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,8 @@
Thu Sep 3 10:07:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_eval.c (raise_method_missing): refine error messages when a
symbol is not given. [Fix GH-1013]
Wed Sep 2 18:49:55 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* ext/psych/*: merge psych master(8737e5b). It contains following fixes.

View file

@ -693,8 +693,13 @@ raise_method_missing(rb_thread_t *th, int argc, const VALUE *argv, VALUE obj,
VALUE exc = rb_eNoMethodError;
const char *format = 0;
if (argc == 0 || !SYMBOL_P(argv[0])) {
rb_raise(rb_eArgError, "no id given");
if (UNLIKELY(argc == 0)) {
rb_raise(rb_eArgError, "no method names given");
}
else if (UNLIKELY(!SYMBOL_P(argv[0]))) {
const VALUE e = rb_eArgError; /* TODO: TypeError? */
rb_raise(e, "method name must be a Symbol but %"PRIsVALUE" is given",
rb_obj_class(argv[0]));
}
stack_check();