diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2023-01-30 18:07:47 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2023-02-20 10:33:06 +0900 |
commit | 7d5794bad56c0af15646ecfc12c2dc1a8b8c45d9 (patch) | |
tree | bd75f73b5a741419ee8520566ea3fa331a538798 /error.c | |
parent | 0e830e6373b334a806dddb57c13f233674bd0054 (diff) |
error.c: Use "undefined local variable or method `...' for main"
... for the toplevel.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6950
Diffstat (limited to 'error.c')
-rw-r--r-- | error.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -2065,7 +2065,7 @@ name_err_mesg_to_str(VALUE obj) mesg = ptr[NAME_ERR_MESG__MESG]; if (NIL_P(mesg)) return Qnil; else { - struct RString s_str, d_str; + struct RString s_str, c_str, d_str; VALUE c, s, d = 0, args[4], c2; int state = 0; rb_encoding *usascii = rb_usascii_encoding(); @@ -2117,7 +2117,12 @@ object: klass = CLASS_OF(obj); if (RB_TYPE_P(klass, T_CLASS) && FL_TEST(klass, FL_SINGLETON)) { s = FAKE_CSTR(&s_str, ""); - c = rb_any_to_s(obj); + if (obj == rb_vm_top_self()) { + c = FAKE_CSTR(&c_str, "main"); + } + else { + c = rb_any_to_s(obj); + } break; } else { |