Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/erb/commit/33100a022f
|
|
Now rubygems has the tests depending on it.
|
|
Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5448
|
|
https://github.com/ruby/fcntl/commit/03d9a7937d
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5447
|
|
of rubygems-update
https://github.com/rubygems/rubygems/commit/c167d513a7
|
|
Because Module#const_added is ruby 3.2 feature
|
|
Treated:
IO#open
IO#sysopen
#open
IO#putc
IO#puts
#p
Kernel#display
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
The behavior of `Enumerable::Lazy#with_index` has changed in Ruby 2.7.
This change was not listed in the Ruby 2.7 news, so I added it.
Notes:
Merged: https://github.com/ruby/ruby/pull/4225
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5443
|
|
Add a visibility member to struct METHOD storing the original
method visibility, and use that, instead of taking the visibility
from the stored method entry (which may have different visibility
for ZSUPER methods).
Consider Method/UnboundMethod objects different if they have
different visibilities.
Fixes [Bug #18435]
Notes:
Merged: https://github.com/ruby/ruby/pull/5356
|
|
Fixes [Bug #16908]
Notes:
Merged: https://github.com/ruby/ruby/pull/5360
|
|
On 32-bit systems, VWA causes class_serial to not be aligned (it only
guarantees 4 byte alignment but class_serial is 8 bytes and requires 8
byte alignment). This commit uses a hack to allocate class_serial
through malloc. Once VWA allocates with 8 byte alignment in the future,
we will revert this commit.
Notes:
Merged: https://github.com/ruby/ruby/pull/5442
|
|
Previously, the right hand side was always evaluated before the
left hand side for constant assignments. For the following:
```ruby
lhs::C = rhs
```
rhs was evaluated before lhs, which is inconsistant with attribute
assignment (lhs.m = rhs), and apparently also does not conform to
JIS 3017:2013 11.4.2.2.3.
Fix this by changing evaluation order. Previously, the above
compiled to:
```
0000 putself ( 1)[Li]
0001 opt_send_without_block <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0003 dup
0004 putself
0005 opt_send_without_block <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0007 setconstant :C
0009 leave
```
After this change:
```
0000 putself ( 1)[Li]
0001 opt_send_without_block <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0003 putself
0004 opt_send_without_block <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0006 swap
0007 topn 1
0009 swap
0010 setconstant :C
0012 leave
```
Note that if expr is not a module/class, then a TypeError is not
raised until after the evaluation of rhs. This is because that
error is raised by setconstant. If we wanted to raise TypeError
before evaluation of rhs, we would have to add a VM instruction
for calling vm_check_if_namespace.
Changing assignment order for single assignments caused problems
in the multiple assignment code, revealing that the issue also
affected multiple assignment. Fix the multiple assignment code
so left-to-right evaluation also works for constant assignments.
Do some refactoring of the multiple assignment code to reduce
duplication after adding support for constants. Rename struct
masgn_attrasgn to masgn_lhs_node, since it now handles both
constants and attributes. Add add_masgn_lhs_node static function
for adding data for lhs attribute and constant setting.
Fixes [Bug #15928]
Notes:
Merged: https://github.com/ruby/ruby/pull/4450
|
|
dlopen was introduced in OSX 10.4, which was released in 2005. OSX 10.3
was EOL in 2007.
Notes:
Merged: https://github.com/ruby/ruby/pull/5440
|
|
|
|
|
|
The commits between db14f2dde9ceeaa8acbcd31884475a7ce97ae9d3 and
11cc84264a91d42bc873f39d70678e44042322d2 seems breaking
OpenSSL::TestConfig#test_s_parse_include.
|
|
|
|
|
|
https://github.com/rubygems/rubygems/commit/32a5e9057a
|
|
https://github.com/rubygems/rubygems/commit/9a1b891435
|
|
https://github.com/rubygems/rubygems/commit/386b3b85ca
|
|
https://github.com/rubygems/rubygems/commit/bcffd92c48
|
|
See https://github.com/rubygems/rubygems/pull/5210#discussion_r784807168
https://github.com/rubygems/rubygems/commit/cd0e961e81
|
|
[Feature #17881]
Works similarly to `method_added` but for constants.
```ruby
Foo::BAR = 42 # call Foo.const_added(:FOO)
class Foo::Baz; end # call Foo.const_added(:Baz)
Foo.autoload(:Something, "path") # call Foo.const_added(:Something)
```
Notes:
Merged: https://github.com/ruby/ruby/pull/4521
|
|
For the remote object `ro`, method chain like `ro.foo.bar` the
result of `ro.foo` is stored in `@result`, but cleared just
before `setup_message` and it seems GCed on specific machine.
```
1) Error:
DRbTests::TestDRbCore#test_05_eq:
RangeError: "140" is recycled object
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:366:in `_id2ref'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:366:in `to_obj'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1528:in `to_obj'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1847:in `to_obj'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:620:in `recv_request'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:931:in `recv_request'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1656:in `init_with_client'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1668:in `setup_message'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1632:in `perform'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1725:in `block (2 levels) in main_loop'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1721:in `loop'
(druby://localhost:36141) /tmp/ruby/v3/src/trunk-repeat20-asserts/lib/drb/drb.rb:1721:in `block in main_loop'
/tmp/ruby/v3/src/trunk-repeat20-asserts/test/drb/drbtest.rb:206:in `test_05_eq'
```
To prevent collecting, clear `@result` just after `setup_message`
and `setup_message` can get the last result object.
Notes:
Merged: https://github.com/ruby/ruby/pull/5439
|
|
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5435
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5435
|
|
Treats:
File introduction
File.open
File.new
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
Use `include?` instead.
https://github.com/ruby/net-http/commit/05022744a9
|
|
It does not seem needed, and it's causing issues on Windows when
uninstalling `strscan`, because strscan's shared library being used when
RubyGems tries to remove it (because its loaded through Psych, which
RubyGems uses for loading configuration).
https://github.com/ruby/psych/commit/3911356ec1
|
|
|
|
https://github.com/rubygems/rubygems/commit/1791b5b9e5
|
|
library presence
https://github.com/rubygems/rubygems/commit/ecd495ce1b
|
|
With this patch, handwriting version comparisons become a little bit easier.
before:
SomeGem.version <=> Gem::Version.new('1.3')
after:
SomeGem.version <=> '1.3'
https://github.com/rubygems/rubygems/commit/7e0dbb79f2
|
|
|
|
T#dup (T < Proc) returns Proc object (not T) from Ruby 1.9.
[Bug #17545]
Notes:
Merged: https://github.com/ruby/ruby/pull/4197
|
|
|
|
|
|
* Enhanced RDoc for IO.popen
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
Previously Time.now was switched to use Time.new as it added support for
the in: argument. Unfortunately because Class#new is a cfunc this
requires always allocating a Hash.
This commit switches Time.now back to using a builtin time_s_now. This
avoids the extra Hash allocation and is about 3x faster.
$ benchmark-driver -e './ruby;3.1::~/.rubies/ruby-3.1.0/bin/ruby;3.0::~/.rubies/ruby-3.0.2/bin/ruby' benchmark/time_now.yml
Warming up --------------------------------------
Time.now 6.704M i/s - 6.710M times in 1.000814s (149.16ns/i, 328clocks/i)
Time.now(in: "+09:00") 2.003M i/s - 2.112M times in 1.054330s (499.31ns/i)
Calculating -------------------------------------
./ruby 3.1 3.0
Time.now 7.693M 2.763M 6.394M i/s - 20.113M times in 2.614428s 7.278710s 3.145572s
Time.now(in: "+09:00") 2.030M 1.260M 1.617M i/s - 6.008M times in 2.960132s 4.769378s 3.716537s
Comparison:
Time.now
./ruby: 7693129.7 i/s
3.0: 6394109.2 i/s - 1.20x slower
3.1: 2763282.5 i/s - 2.78x slower
Time.now(in: "+09:00")
./ruby: 2029757.4 i/s
3.0: 1616652.3 i/s - 1.26x slower
3.1: 1259776.2 i/s - 1.61x slower
Notes:
Merged: https://github.com/ruby/ruby/pull/5429
|
|
[Bug #18475]
Notes:
Merged: https://github.com/ruby/ruby/pull/5431
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5432
|
|
A short (2 bytes) will cause unaligned struct accesses when strings are
used as a buffer to directly store binary data.
Notes:
Merged: https://github.com/ruby/ruby/pull/5432
|