aboutsummaryrefslogtreecommitdiffstats
path: root/vm_eval.c
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2022-12-16 07:31:27 +0900
committerYusuke Endoh <mame@ruby-lang.org>2023-02-20 10:33:06 +0900
commite7b8d32e166815f2e7edebf32aa178915d191b8c (patch)
tree94f8b15c9d5644886c545404756f68dcf37d4eff /vm_eval.c
parent5c0298bf181921a8aa63cd250d67b294cfe90322 (diff)
downloadruby-e7b8d32e166815f2e7edebf32aa178915d191b8c.tar.gz
Stop using receiver#inspect for "undefined method" errors
``` 42.time #=> undefined method `time' for object Integer (NoMethodError) class Foo privatee #=> undefined local variable or method 'privatee' for class Foo (NoMethodError) end s = "" def s.foo = nil s.bar #=> undefined method `bar' for extended object String (NoMethodError) ``` [Feature #18285]
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 1caa76000b..f91d7d75cd 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -933,7 +933,7 @@ rb_make_no_method_exception(VALUE exc, VALUE format, VALUE obj,
VALUE name = argv[0];
if (!format) {
- format = rb_fstring_lit("undefined method `%s' for %s%s%s");
+ format = rb_fstring_lit("undefined method `%1$s' for %3$s%4$s");
}
if (exc == rb_eNoMethodError) {
VALUE args = rb_ary_new4(argc - 1, argv + 1);
@@ -965,17 +965,17 @@ raise_method_missing(rb_execution_context_t *ec, int argc, const VALUE *argv, VA
stack_check(ec);
if (last_call_status & MISSING_PRIVATE) {
- format = rb_fstring_lit("private method `%s' called for %s%s%s");
+ format = rb_fstring_lit("private method `%1$s' called for %3$s%4$s");
}
else if (last_call_status & MISSING_PROTECTED) {
- format = rb_fstring_lit("protected method `%s' called for %s%s%s");
+ format = rb_fstring_lit("protected method `%1$s' called for %3$s%4$s");
}
else if (last_call_status & MISSING_VCALL) {
- format = rb_fstring_lit("undefined local variable or method `%s' for %s%s%s");
+ format = rb_fstring_lit("undefined local variable or method `%1$s' for %3$s%4$s");
exc = rb_eNameError;
}
else if (last_call_status & MISSING_SUPER) {
- format = rb_fstring_lit("super: no superclass method `%s' for %s%s%s");
+ format = rb_fstring_lit("super: no superclass method `%1$s' for %3$s%4$s");
}
{