Skip to content

Commit

Permalink
NEWS: fixed markups and formatting [ci skip]
Browse files Browse the repository at this point in the history
* got rid of inadvertent label lists.
* marked up resolve_feature_path method names.
* fixed indentation of UnboundMethod#bind_call and marked up as
  RDoc.
  • Loading branch information
nobu committed Sep 26, 2019
1 parent 876c5fe commit 617fa30
Showing 1 changed file with 29 additions and 28 deletions.
57 changes: 29 additions & 28 deletions NEWS
Expand Up @@ -198,16 +198,16 @@ RubyVM::

Removed method::

* RubyVM.resolve_feature_path moved to
$LOAD_PATH.resolve_feature_path. [Feature #15903] [Feature #15230]
* +RubyVM.resolve_feature_path+ moved to
<code>$LOAD_PATH.resolve_feature_path</code>. [Feature #15903] [Feature #15230]

Symbol::

Modified method::

* Symbol#to_s now always returns a frozen String. The returned String is
always the same for a given Symbol. This change is experimental.
[Feature #16150]
* Symbol#to_s now always returns a frozen String. The returned String
is always the same for a given Symbol. This change is
experimental. [Feature #16150]

Time::

Expand All @@ -219,42 +219,43 @@ Time::

Modified method::

* Time#inspect is separated from Time#to_s and it shows its sub second.
[Feature #15958]
* Time#inspect is separated from Time#to_s and it shows its sub
second. [Feature #15958]

UnboundMethod::

New methods::

* Added UnboundMethod#bind_call method. [Feature #15955]

`umethod.bind_call(obj, ...)` is semantically equivalent to
`umethod.bind(obj).call(...)`. This idiom is used in some libraries to
call a method that is overridden. The added method does the same
without allocation of intermediate Method object.

class Foo
def add_1(x)
x + 1
end
end
class Bar < Foo
def add_1(x) # override
x + 2
end
end

obj = Bar.new
p obj.add_1(1) #=> 3
p Foo.instance_method(:add_1).bind(obj).call(1) #=> 2
p Foo.instance_method(:add_1).bind_call(obj, 1) #=> 2
<code>umethod.bind_call(obj, ...)</code> is semantically equivalent
to <code>umethod.bind(obj).call(...)</code>. This idiom is used in
some libraries to call a method that is overridden. The added
method does the same without allocation of intermediate Method
object.

class Foo
def add_1(x)
x + 1
end
end
class Bar < Foo
def add_1(x) # override
x + 2
end
end

obj = Bar.new
p obj.add_1(1) #=> 3
p Foo.instance_method(:add_1).bind(obj).call(1) #=> 2
p Foo.instance_method(:add_1).bind_call(obj, 1) #=> 2


$LOAD_PATH::

New method::

* Added $LOAD_PATH.resolve_feature_path. [Feature #15903] [Feature #15230]
* Added <code>$LOAD_PATH.resolve_feature_path</code>. [Feature #15903] [Feature #15230]

=== Stdlib updates (outstanding ones only)

Expand Down

0 comments on commit 617fa30

Please sign in to comment.