From: eregontp@... Date: 2017-04-27T12:10:17+00:00 Subject: [ruby-core:80906] [Ruby trunk Feature#13505] circular require prints the backtrace directly to stderr Issue #13505 has been updated by Eregon (Benoit Daloze). Thank you for the fix nobu. I believe it should also send everything (message + backtrace) as a single String to Warning.warn. I did that in r58493. It would be nice to backport this to 2.4 for easier exception filtering, but I guess it's not so common to backport features like this? ---------------------------------------- Feature #13505: circular require prints the backtrace directly to stderr https://bugs.ruby-lang.org/issues/13505#change-64511 * Author: Eregon (Benoit Daloze) * Status: Closed * Priority: Normal * Assignee: * Target version: 2.5 ---------------------------------------- The "loading in progress, circular require considered harmful" warning prints the caller backtrace directly to stderr: ~~~ c if (RTEST(ruby_verbose)) { rb_warning("loading in progress, circular require considered harmful - %s", ftptr); rb_backtrace_print_to(rb_stderr); } ~~~ This is suboptimal as rb_warning now eventually delegates to Warning.warn, which can handle the warning, but not the backtrace printed separetely to $stderr. I think the backtrace should be sent together to Warning.warn so the entire warning can be treated/filtered/etc correctly in Warning.warn. -- https://bugs.ruby-lang.org/ Unsubscribe: