summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-16[ruby/erb] fix regexp (https://github.com/ruby/erb/pull/6)ooooooo_q
https://github.com/ruby/erb/commit/33100a022f
2022-01-15Test enable-load-relativeNobuyoshi Nakada
Now rubygems has the tests depending on it.
2022-01-15* expand tabs. [ci skip]git
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.
2022-01-15Transfer the responsibility for MJIT options to mjit.cNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5448
2022-01-15[ruby/fcntl] adding few FreeBSD specific flags.David CARLIER
https://github.com/ruby/fcntl/commit/03d9a7937d
2022-01-15Define the default JIT feature bitNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5447
2022-01-15[rubygems/rubygems] Fix `gem update --system` for already installed version ↵loadkpi
of rubygems-update https://github.com/rubygems/rubygems/commit/c167d513a7
2022-01-15Fix spec failures on ruby 3.1Kazuhiro NISHIYAMA
Because Module#const_added is ruby 3.2 feature
2022-01-14Enhanced RDoc for io.c (#5444)Burdette Lamar
Treated: IO#open IO#sysopen #open IO#putc IO#puts #p Kernel#display Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-01-15Add Enumerable::Lazy#with_index to NEWS-2.7.0manga_osyo
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
2022-01-15[Actions] mingw - use ruby/setup-ruby@v1 againMSP-Greg
Notes: Merged: https://github.com/ruby/ruby/pull/5443
2022-01-14Fix {Method,UnboundMethod}#{public?,private?,protected?} for ZSUPER methodsJeremy Evans
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
2022-01-14Make Hash#shift return nil for empty hashJeremy Evans
Fixes [Bug #16908] Notes: Merged: https://github.com/ruby/ruby/pull/5360
2022-01-14Separately allocate class_serial on 32-bit systemsPeter Zhu
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
2022-01-14Fix constant assignment evaluation orderJeremy Evans
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
2022-01-14Drop support for OSX 10.3 and earlierPeter Zhu
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
2022-01-15to prevent collection, keep the last result.Masatoshi SEKI
2022-01-14variable.c: Fix incorrect identation in `const_added`Jean Boussier
2022-01-15Try previous ruby-setup-rubyNobuyoshi Nakada
The commits between db14f2dde9ceeaa8acbcd31884475a7ce97ae9d3 and 11cc84264a91d42bc873f39d70678e44042322d2 seems breaking OpenSSL::TestConfig#test_s_parse_include.
2022-01-15Show tool versionsNobuyoshi Nakada
2022-01-15* 2022-01-15 [ci skip]git
2022-01-15[rubygems/rubygems] Support binstubs with `--enable-load-relative` prologDavid Rodríguez
https://github.com/rubygems/rubygems/commit/32a5e9057a
2022-01-15[rubygems/rubygems] Extract a bit of common logic to methodsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9a1b891435
2022-01-15[rubygems/rubygems] Privatize some test utilsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/386b3b85ca
2022-01-15[rubygems/rubygems] Fix method documentation to be more correct EnglishDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bcffd92c48
2022-01-14[rubygems/rubygems] Remove redundant conditionBenoit Daloze
See https://github.com/rubygems/rubygems/pull/5210#discussion_r784807168 https://github.com/rubygems/rubygems/commit/cd0e961e81
2022-01-14Add a Module#const_added callbackJean Boussier
[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
2022-01-14clear `@result` after `setup_message`Koichi Sasada
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
2022-01-14Update RBS test for Gem::Version#<=> updateNobuyoshi Nakada
2022-01-14Fetch the unmerged revision to test of bundled gemsNobuyoshi Nakada
2022-01-14Get rid of building main again when test-bundled-gemsNobuyoshi Nakada
2022-01-14Suppress unary minus operator to unsigned type warningsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5435
2022-01-14Suppress possible loss of data warningsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5435
2022-01-13File rdoc (#5438)Burdette Lamar
Treats: File introduction File.open File.new Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-01-14[ruby/net-http] Fix unescaped `.` in RegexpKazuhiro NISHIYAMA
Use `include?` instead. https://github.com/ruby/net-http/commit/05022744a9
2022-01-14[ruby/psych] Don't require `strscan` unnecessarilyDavid Rodríguez
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
2022-01-14* 2022-01-14 [ci skip]git
2022-01-13[rubygems/rubygems] Lock standard.yml to the required ruby versionJustin Searls
https://github.com/rubygems/rubygems/commit/1791b5b9e5
2022-01-13[rubygems/rubygems] Use `Fiddle` in `bundle doctor` to check for dynamic ↵Vyacheslav Alexeev
library presence https://github.com/rubygems/rubygems/commit/ecd495ce1b
2022-01-13[rubygems/rubygems] Let Version#spaceship accept a StringAkira Matsuda
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
2022-01-13add a NEWS entry of `Proc#dup`.Koichi Sasada
2022-01-13T#dup (T < Proc) should return T's objectKoichi Sasada
T#dup (T < Proc) returns Proc object (not T) from Ruby 1.9. [Bug #17545] Notes: Merged: https://github.com/ruby/ruby/pull/4197
2022-01-13[DOC] Mark up the code for Kernel#rand as the same as Random#randNobuyoshi Nakada
2022-01-13[DOC] Fix a typo in a docNobuyoshi Nakada
2022-01-12Enhanced RDoc for IO.popen (#5430)Burdette Lamar
* Enhanced RDoc for IO.popen Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-01-12Speed up and avoid kwarg hash alloc in Time.nowJohn Hawthorn
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
2022-01-13thread.c: Convert TAG_BREAK to a normal exception at thread top-levelYusuke Endoh
[Bug #18475] Notes: Merged: https://github.com/ruby/ruby/pull/5431
2022-01-13* 2022-01-13 [ci skip]git
2022-01-12Enable Variable Width Allocation by defaultPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/5432
2022-01-12Make embedded string length a long for VWAPeter Zhu
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