diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-12 11:56:25 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-12 11:56:25 +0000 |
commit | f2a91397fd7f9ca5bb3d296ec6df2de6f9cfc7cb (patch) | |
tree | eac0f28e2e8c5940a6c0212c059e0dd11185499e /lib/rexml | |
parent | 0d7718896cfb629ad823b9ca5004465ef2063ab8 (diff) | |
download | ruby-f2a91397fd7f9ca5bb3d296ec6df2de6f9cfc7cb.tar.gz |
Add uplevel keyword to Kernel#warn and use it
If uplevel keyword is given, the warning message is prepended
with caller file and line information and the string "warning: ".
The use of the uplevel keyword makes Kernel#warn format output
similar to how rb_warn formats output.
This patch modifies net/ftp and net/imap to use Kernel#warn
instead of $stderr.puts or $stderr.printf, since they are used
for printing warnings.
This makes lib/cgi/core and tempfile use $stderr.puts instead of
warn for debug logging, since they are used for debug printing
and not for warning.
This does not modify bundler, rubygems, or rdoc, as those are
maintained outside of ruby and probably wish to remain backwards
compatible with older ruby versions.
rb_warn_m code is originally from nobu, but I've changed it
so that it only includes the path and lineno from uplevel
(not the method), and also prepends the string "warning: ",
to make it more similar to rb_warn.
From: Jeremy Evans code@jeremyevans.net
Signed-off-by: Urabe Shyouhei shyouhei@ruby-lang.org
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml')
-rw-r--r-- | lib/rexml/cdata.rb | 2 | ||||
-rw-r--r-- | lib/rexml/comment.rb | 2 | ||||
-rw-r--r-- | lib/rexml/element.rb | 2 | ||||
-rw-r--r-- | lib/rexml/instruction.rb | 2 | ||||
-rw-r--r-- | lib/rexml/node.rb | 2 | ||||
-rw-r--r-- | lib/rexml/text.rb | 2 |
6 files changed, 6 insertions, 6 deletions
diff --git a/lib/rexml/cdata.rb b/lib/rexml/cdata.rb index fe9b49b5f7..2238446dc4 100644 --- a/lib/rexml/cdata.rb +++ b/lib/rexml/cdata.rb @@ -58,7 +58,7 @@ module REXML # c = CData.new( " Some text " ) # c.write( $stdout ) #-> <![CDATA[ Some text ]]> def write( output=$stdout, indent=-1, transitive=false, ie_hack=false ) - Kernel.warn( "#{self.class.name}.write is deprecated" ) + Kernel.warn( "#{self.class.name}.write is deprecated", uplevel: 1) indent( output, indent ) output << START output << @string diff --git a/lib/rexml/comment.rb b/lib/rexml/comment.rb index 746af77296..822fe0d586 100644 --- a/lib/rexml/comment.rb +++ b/lib/rexml/comment.rb @@ -48,7 +48,7 @@ module REXML # ie_hack:: # Needed for conformity to the child API, but not used by this class. def write( output, indent=-1, transitive=false, ie_hack=false ) - Kernel.warn("Comment.write is deprecated. See REXML::Formatters") + Kernel.warn("Comment.write is deprecated. See REXML::Formatters", uplevel: 1) indent( output, indent ) output << START output << @string diff --git a/lib/rexml/element.rb b/lib/rexml/element.rb index a9811bcba3..ac9b10872c 100644 --- a/lib/rexml/element.rb +++ b/lib/rexml/element.rb @@ -710,7 +710,7 @@ module REXML # doc.write( out ) #-> doc is written to the string 'out' # doc.write( $stdout ) #-> doc written to the console def write(output=$stdout, indent=-1, transitive=false, ie_hack=false) - Kernel.warn("#{self.class.name}.write is deprecated. See REXML::Formatters") + Kernel.warn("#{self.class.name}.write is deprecated. See REXML::Formatters", uplevel: 1) formatter = if indent > -1 if transitive require "rexml/formatters/transitive" diff --git a/lib/rexml/instruction.rb b/lib/rexml/instruction.rb index 576939ca2b..c4f65eefc1 100644 --- a/lib/rexml/instruction.rb +++ b/lib/rexml/instruction.rb @@ -43,7 +43,7 @@ module REXML # See the rexml/formatters package # def write writer, indent=-1, transitive=false, ie_hack=false - Kernel.warn( "#{self.class.name}.write is deprecated" ) + Kernel.warn( "#{self.class.name}.write is deprecated", uplevel: 1) indent(writer, indent) writer << START.sub(/\\/u, '') writer << @target diff --git a/lib/rexml/node.rb b/lib/rexml/node.rb index c7a3936799..52337ade44 100644 --- a/lib/rexml/node.rb +++ b/lib/rexml/node.rb @@ -26,7 +26,7 @@ module REXML # REXML::Formatters package for changing the output style. def to_s indent=nil unless indent.nil? - Kernel.warn( "#{self.class.name}.to_s(indent) parameter is deprecated" ) + Kernel.warn( "#{self.class.name}.to_s(indent) parameter is deprecated", uplevel: 1) f = REXML::Formatters::Pretty.new( indent ) f.write( self, rv = "" ) else diff --git a/lib/rexml/text.rb b/lib/rexml/text.rb index 9ea8ba9df3..86269dea1e 100644 --- a/lib/rexml/text.rb +++ b/lib/rexml/text.rb @@ -293,7 +293,7 @@ module REXML # See REXML::Formatters # def write( writer, indent=-1, transitive=false, ie_hack=false ) - Kernel.warn("#{self.class.name}.write is deprecated. See REXML::Formatters") + Kernel.warn("#{self.class.name}.write is deprecated. See REXML::Formatters", uplevel: 1) formatter = if indent > -1 REXML::Formatters::Pretty.new( indent ) else |