Issue #14123 has been updated by Eregon (Benoit Daloze). jeremyevans0 (Jeremy Evans) wrote: > Unless the thread switch is completely blocked during the execution of required code, it seems like this is still not thread safe. Nice catch! @mame I think the new code is worth a comment that this is done for thread-safety in lib/pp.rb I think suppressing warnings around the definition of pp would be nicer here. A seemingly useless alias feels like a workaround. Unfortunately the save/restore dance for changing $VERBOSE is not very nice. Maybe we should have: ``` Warning.ignore do def pp ... end end ``` If you think that's a good idea I'm happy to do those changes and open an issue for Warning.ignore. ---------------------------------------- Feature #14123: Kernel#pp by default https://bugs.ruby-lang.org/issues/14123#change-68107 * Author: mame (Yusuke Endoh) * Status: Closed * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) * Target version: 2.5 ---------------------------------------- Matz, may I commit this? I really want this. ``` diff --git a/prelude.rb b/prelude.rb index 7b98e28285..87f49ac9fb 100644 --- a/prelude.rb +++ b/prelude.rb @@ -141,3 +141,11 @@ def irb irb end end + +module Kernel + def pp(*objs) + undef :pp + require 'pp' + pp(*objs) + end +end ``` -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>