<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/forwardable.rb, branch v2_5_8</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Add uplevel keyword to Kernel#warn and use it</title>
<updated>2017-12-12T11:56:25+00:00</updated>
<author>
<name>shyouhei</name>
<email>shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2017-12-12T11:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f2a91397fd7f9ca5bb3d296ec6df2de6f9cfc7cb'/>
<id>f2a91397fd7f9ca5bb3d296ec6df2de6f9cfc7cb</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable.rb: fix branches</title>
<updated>2017-01-03T09:47:16+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2017-01-03T09:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0886a02707a95d5d893d0a5de98cdce634cec7d1'/>
<id>0886a02707a95d5d893d0a5de98cdce634cec7d1</id>
<content type='text'>
* lib/forwardable.rb (instance_delegate, single_delegate): fix
  inverted branches.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/forwardable.rb (instance_delegate, single_delegate): fix
  inverted branches.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable.rb: use defined?</title>
<updated>2017-01-03T09:35:26+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2017-01-03T09:35:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a50cc9ce082a9e356d0bc188785973ebbd0529ff'/>
<id>a50cc9ce082a9e356d0bc188785973ebbd0529ff</id>
<content type='text'>
* lib/forwardable.rb (_delegator_method): use defined? operator
  instead of binding and calling unbound Kernel#respond_to?.  a
  remedy for an performance bottleneck.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/forwardable.rb (_delegator_method): use defined? operator
  instead of binding and calling unbound Kernel#respond_to?.  a
  remedy for an performance bottleneck.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable.rb: use defined?</title>
<updated>2017-01-03T08:40:51+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2017-01-03T08:40:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=46c0e79bb5b96c45c166ef62f8e585f528862abb'/>
<id>46c0e79bb5b96c45c166ef62f8e585f528862abb</id>
<content type='text'>
* lib/forwardable.rb (_delegator_method): use defined? operator
  instead of binding and calling unbound Kernel#respond_to?.  a
  remedy for an performance bottleneck.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/forwardable.rb (_delegator_method): use defined? operator
  instead of binding and calling unbound Kernel#respond_to?.  a
  remedy for an performance bottleneck.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable/impl.rb</title>
<updated>2016-11-20T02:12:48+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-11-20T02:12:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2283d14cc9fefa278dfde02bdf8d84ce50cfe16f'/>
<id>2283d14cc9fefa278dfde02bdf8d84ce50cfe16f</id>
<content type='text'>
* lib/forwardable/impl.rb (_valid_method?, _compile_method):
  extract to separate implementation specific part.
  [ruby-core:78138] [Bug #12938]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/forwardable/impl.rb (_valid_method?, _compile_method):
  extract to separate implementation specific part.
  [ruby-core:78138] [Bug #12938]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable.rb: remove debug print</title>
<updated>2016-09-23T12:16:00+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-09-23T12:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4d3e3c2550ca38ed23d3fb19cd86929b019efdf5'/>
<id>4d3e3c2550ca38ed23d3fb19cd86929b019efdf5</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable.rb: private methods</title>
<updated>2016-09-23T06:47:06+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-09-23T06:47:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ef13e60fe07766549275c19f3e5112fb7773cf38'/>
<id>ef13e60fe07766549275c19f3e5112fb7773cf38</id>
<content type='text'>
* lib/forwardable.rb (_delegator_method): allow private methods to
  be delegated, with warnings.  [ruby-core:77341] [Bug #12782]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/forwardable.rb (_delegator_method): allow private methods to
  be delegated, with warnings.  [ruby-core:77341] [Bug #12782]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/forwardable.rb (_delegator_method): get rid of a warning which</title>
<updated>2016-06-11T14:08:50+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-06-11T14:08:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f627ed45146f53875f2fbb88379f2a4ba81f81b8'/>
<id>f627ed45146f53875f2fbb88379f2a4ba81f81b8</id>
<content type='text'>
  causes test failures introduced at r55376.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  causes test failures introduced at r55376.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable.rb: optimize awy __send__</title>
<updated>2016-06-11T04:52:35+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-06-11T04:52:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0f11cda48ca73fdcdbbe9f72e185d017d218d196'/>
<id>0f11cda48ca73fdcdbbe9f72e185d017d218d196</id>
<content type='text'>
* lib/forwardable.rb (_delegator_method): remove __send__ call if
  possible, so that more optimizations will be enabled.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/forwardable.rb (_delegator_method): remove __send__ call if
  possible, so that more optimizations will be enabled.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>forwardable.rb: backtrace</title>
<updated>2016-06-11T00:31:30+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-06-11T00:31:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e8700ab03d78a619fadd13cee67b0c7fd135d834'/>
<id>e8700ab03d78a619fadd13cee67b0c7fd135d834</id>
<content type='text'>
* lib/forwardable.rb (_delegator_method): leave the backtrace
  untouched during accessor.  forwardable.rb does not appear in
  the backtrace during delegated method because of tail-call
  optimization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/forwardable.rb (_delegator_method): leave the backtrace
  untouched during accessor.  forwardable.rb does not appear in
  the backtrace during delegated method because of tail-call
  optimization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
