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/matrix.rb | |
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/matrix.rb')
-rw-r--r-- | lib/matrix.rb | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/matrix.rb b/lib/matrix.rb index ca4424f4b1..923e716b35 100644 --- a/lib/matrix.rb +++ b/lib/matrix.rb @@ -1184,7 +1184,7 @@ class Matrix # deprecated; use Matrix#determinant # def determinant_e - warn "#{caller(1, 1)[0]}: warning: Matrix#determinant_e is deprecated; use #determinant" + warn "Matrix#determinant_e is deprecated; use #determinant", uplevel: 1 determinant end alias det_e determinant_e @@ -1242,7 +1242,7 @@ class Matrix # deprecated; use Matrix#rank # def rank_e - warn "#{caller(1, 1)[0]}: warning: Matrix#rank_e is deprecated; use #rank" + warn "Matrix#rank_e is deprecated; use #rank", uplevel: 1 rank end @@ -1435,17 +1435,17 @@ class Matrix end def elements_to_f - warn "#{caller(1, 1)[0]}: warning: Matrix#elements_to_f is deprecated, use map(&:to_f)" + warn "Matrix#elements_to_f is deprecated, use map(&:to_f)", uplevel: 1 map(&:to_f) end def elements_to_i - warn "#{caller(1, 1)[0]}: warning: Matrix#elements_to_i is deprecated, use map(&:to_i)" + warn "Matrix#elements_to_i is deprecated, use map(&:to_i)", uplevel: 1 map(&:to_i) end def elements_to_r - warn "#{caller(1, 1)[0]}: warning: Matrix#elements_to_r is deprecated, use map(&:to_r)" + warn "Matrix#elements_to_r is deprecated, use map(&:to_r)", uplevel: 1 map(&:to_r) end @@ -2098,17 +2098,17 @@ class Vector end def elements_to_f - warn "#{caller(1, 1)[0]}: warning: Vector#elements_to_f is deprecated" + warn "Vector#elements_to_f is deprecated", uplevel: 1 map(&:to_f) end def elements_to_i - warn "#{caller(1, 1)[0]}: warning: Vector#elements_to_i is deprecated" + warn "Vector#elements_to_i is deprecated", uplevel: 1 map(&:to_i) end def elements_to_r - warn "#{caller(1, 1)[0]}: warning: Vector#elements_to_r is deprecated" + warn "Vector#elements_to_r is deprecated", uplevel: 1 map(&:to_r) end |