From: takashikkbn@... Date: 2017-11-21T16:15:52+00:00 Subject: [ruby-core:83855] [Ruby trunk Feature#14123] Kernel#pp by default Issue #14123 has been updated by k0kubun (Takashi Kokubun). > also breaks when running ruby chrooted Regardless of proposed implementation, `require 'pp'` wouldn't work if chrooted. I couldn't understand why it's problematic. > Regarding visibility, #pp should be a module_function of Kernel like #p. It's already module_function, isn't it? https://github.com/ruby/ruby/blob/246c986eac342ae7bbf05f3be97c92fc71f9d21d/lib/pp.rb#L26 Thus following one would be sufficient. ~~~ ruby module Kernel def pp(*objs) require 'pp' Kernel.pp(*objs) end end ~~~ ---------------------------------------- Feature #14123: Kernel#pp by default https://bugs.ruby-lang.org/issues/14123#change-67884 * Author: mame (Yusuke Endoh) * Status: Open * 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: