What changed in Ruby 3.1.0?

commit fb4df44d1670e9d25aef6b235a7281199a177edb
Author: NARUSE, Yui 
Date:   Sat Dec 25 21:22:02 2021 +0900

    Revert "Do not include external library sources into packages"
    
    This reverts commit a042043487eb4c7d39307b8e784ede1856455c3e.
    
    (cherry picked from commit 8325094177de60d365b2b5507488f0b53d11c736)

M	common.mk
M	tool/make-snapshot

commit 1636612cc1c1f624dfcd9d4251b83d460abba1e9
Author: NARUSE, Yui 
Date:   Sat Dec 25 20:59:55 2021 +0900

    Prevent installing zlib library
    
    (cherry picked from commit 82c8acbcfd3197e19620dc6024d08c85ea99a05b)

D	ext/zlib/extlibs

commit 4bb3d4f6761d14e804a908481b7327821065c3c0
Author: NARUSE, Yui 
Date:   Sat Dec 25 20:59:20 2021 +0900

    Revert "make-snapshot: add -extlibs option"
    
    This reverts commit afa9d65d61857792508b1405835b07b78e24449c.
    It prevents installing libffi.
    
    (cherry picked from commit 1cc02078e503a18f6d1fcbd3e4d29c574895957d)

M	tool/make-snapshot

commit 0381df9a8f54afb52c7cb253b35524b0341b2a33
Author: NARUSE, Yui 
Date:   Sat Dec 25 20:57:11 2021 +0900

    fix tool/format-release
    
    Pass ruby directory path
    
    (cherry picked from commit 05faa36028a0a00788e2416a91e0bba21bd6f6ad)

M	tool/format-release

commit ecba970f62809c88315b22eb9bfefdab367a10cd
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 18:43:37 2021 +0900

    Update default gems list at 8247b193c0dd06db9ea56812954dda [ci skip]
    
    (cherry picked from commit 1ad42f8a761b1f22464d5b15aac7ce994ecffc4b)

M	NEWS.md

commit e748dfb9a08935a13defb4646259ea4ca1480c53
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 00:18:25 2021 +0900

    [ruby/io-console] bump up to 0.5.10
    
    https://github.com/ruby/io-console/commit/806c65e22b
    (cherry picked from commit 8247b193c0dd06db9ea56812954dda8fed89458d)

M	ext/io/console/io-console.gemspec

commit f5ddb96c49f6d542b96486e4ad332246ee62d01c
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 00:18:04 2021 +0900

    [ruby/io-console] No longer support dead versions
    
    https://github.com/ruby/io-console/commit/e9478509e9
    (cherry picked from commit 9368fa6c3073d5fe4380a5e84eb59f7cec2ce62c)

M	ext/io/console/io-console.gemspec

commit 80917ccbf88a938a1240848a0e1dba31d1ad1c91
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 18:24:39 2021 +0900

    NEWS: mention Time.new argument error more
    
    Show an example of Time.new with perhaps unexpected results in
    earlier versions.
    
    (cherry picked from commit 14e550052be73ed35bfcbb0b6be696519ad7e092)

M	NEWS.md

commit 12bbae2d4e8dc9cadeb69bf9a2459c510fa2bba5
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 17:09:19 2021 +0900

    Suppress undef warnings for USE_RUBY_DEBUG_LOG
    
    (cherry picked from commit 975a6efd7ea144275d4774d18ff0f568c1a1dc97)

M	ractor.c
M	transient_heap.c
M	vm_debug.h
M	vm_sync.h

commit 17b48db00f6248fcd42ced7b398f1dcc36ec4dca
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 16:50:14 2021 +0900

    Define fallback RUBY_DEVEL to suppress undef warnings
    
    (cherry picked from commit 566bdaef318674c416494786da551021afb1b5d7)

M	vm_debug.h

commit cd50457455a7a1af5e0bcf896ce019b891038708
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 16:19:33 2021 +0900

    Raise proper exception when month argument is not a name
    
    https://bugs.ruby-lang.org/issues/17485#change-89871
    (cherry picked from commit 0867b638aff9ec192ca420a44ffa5a77c892e8f2)

M	test/ruby/test_time.rb
M	time.c

commit e6e24ee502714b80723d81b3bc555a707747fda3
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 17:44:23 2021 +0900

    Fix the names of Thread::Queue and method for the cross-reference
    
    (cherry picked from commit 42eb9bf37ac42cc792d619e28d153c164a5e6604)

M	NEWS.md

commit fe064b130f1d146159ad43ab4df8ff9c9d2ebf32
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 17:42:27 2021 +0900

    NEWS: Put spaces to make Method and UnboundMethod links
    
    (cherry picked from commit 30374b4fb77a1407e5ba8e98be03a92c4a317495)

M	NEWS.md

commit 3079bffb8db6e637b7025cedf19d44a00727543c
Author: aycabta 
Date:   Sat Dec 25 17:05:39 2021 +0900

    Add IRB Improvements section to NEWS.md
    
    (cherry picked from commit dba24e6a1ae0d7dba313bb5f65a4be927bd6f236)

M	NEWS.md

commit 0699f310972e843232889ca8c5f12463dfaaaa48
Author: NARUSE, Yui 
Date:   Sat Dec 25 15:25:41 2021 +0900

    v3.1.0p0

M	version.h

commit 0abf781ab431f44c054523a3ab8f2b1c3768c898
Author: Nobuyoshi Nakada 
Date:   Sat Dec 25 13:14:54 2021 +0900

    NEWS: Mention about more strict conversions for [Feature #17485]

M	NEWS.md

commit 70aa7734e9c9c01b9ce3e4070a551d0334593907
Author: git 
Date:   Sat Dec 25 04:13:21 2021 +0000

    Update default gems list at 0f1fbc6421641d80a03f0b72e3d775 [ci skip]

M	NEWS.md

commit 0f1fbc6421641d80a03f0b72e3d775a5f35360d0
Author: aycabta 
Date:   Sat Dec 25 12:57:51 2021 +0900

    [ruby/irb] Version 1.4.1
    
    https://github.com/ruby/irb/commit/b1d9c34441

M	lib/irb/version.rb

commit ddf0cdee4f449c2b71910357183d1ff9ed19e1ea
Author: aycabta 
Date:   Sat Dec 25 12:56:08 2021 +0900

    [ruby/irb] Support showing doc by dialog in iTerm2
    
    https://github.com/ruby/irb/commit/a4b95d6634

M	lib/irb/input-method.rb

commit 63d75d38cb3205eb1e005204beb18002beb37643
Author: git 
Date:   Sat Dec 25 02:04:23 2021 +0000

    Update default gems list at 40c20110d5791e26e5edaddb6a77cf [ci skip]

M	NEWS.md

commit 40c20110d5791e26e5edaddb6a77cf51c1efdede
Author: aycabta 
Date:   Sat Dec 25 00:39:43 2021 +0900

    [ruby/reline] Version 0.3.0
    
    https://github.com/ruby/reline/commit/3f6ea92268

M	lib/reline/version.rb

commit 04f07713d19cbde1f2d23d7f3b2318a0a84bab5b
Author: Kazuhiro NISHIYAMA 
Date:   Sat Dec 25 10:33:49 2021 +0900

    Fix typos [ci skip]

M	include/ruby/fiber/scheduler.h
M	io_buffer.c
M	marshal.c
M	struct.c
M	variable.c
M	yjit_asm.c
M	yjit_codegen.c

commit d100c91445529395d208bb8ff46914670935afa9
Author: git 
Date:   Fri Dec 24 22:45:36 2021 +0000

    Update default gems list at da6a5e3ed16ab0cdda7546dd9caf55 [ci skip]

M	NEWS.md

commit da6a5e3ed16ab0cdda7546dd9caf55c59be7b86f
Author: Hiroshi SHIBATA 
Date:   Sat Dec 25 06:27:56 2021 +0900

    Merge RubyGems-3.3.3 and Bundler-2.3.3

M	lib/bundler/cli/install.rb
M	lib/bundler/settings.rb
M	lib/bundler/version.rb
M	lib/rubygems.rb
M	spec/bundler/runtime/self_management_spec.rb
M	tool/bundler/rubocop_gems.rb.lock
M	tool/bundler/standard_gems.rb.lock
M	tool/bundler/test_gems.rb.lock

commit 2b2115318b4ee236ef61a3450bf85b16e591006d
Author: git 
Date:   Fri Dec 24 18:38:28 2021 +0000

    Update default gems list at efce9ecf72842fd2109a34a89b4293 [ci skip]

M	NEWS.md

commit efce9ecf72842fd2109a34a89b42933f8c841d93
Author: Kazuki Yamaguchi 
Date:   Sat Dec 25 03:01:01 2021 +0900

    [ruby/openssl] Ruby/OpenSSL 3.0.0
    
    https://github.com/ruby/openssl/commit/bff4080091

M	ext/openssl/History.md
M	ext/openssl/lib/openssl/version.rb
M	ext/openssl/openssl.gemspec

commit 44bfe72892a5a07040d806c2aee89ee52955d86d
Author: Yusuke Nakamura 
Date:   Tue Dec 21 17:14:30 2021 +0900

    [ruby/openssl] Add tast cases to OpenSSL::BN using ractor
    
    OpenSSL::BN has been make ractor-safed in 9e7cf9e ,
    but there was no test.
    And to use 'ractor' annotation, update test-unit to v3.4.6 or higher.
    
    https://github.com/ruby/openssl/commit/7541a66911

M	test/openssl/test_bn.rb

commit cab8b88a16c4fbc9c95ebebbe2774feee8f7a408
Author: Alan Wu 
Date:   Fri Dec 24 12:35:24 2021 -0500

    NEWS: Adapt YJIT support status to include OpenBSD
    
    We don't run YJIT CI checks on OpenBSD so can't claim that we provide
    first-class maintenance support. However, as of
    3b2b28d035c9635b9473c7a03ede04fa6ac57a34, YJIT can at least boot on OpenBSD.

M	NEWS.md

commit b81faf4b1fc0e3373596e667084e5c5d54779375
Author: Alan Wu 
Date:   Fri Dec 24 11:59:57 2021 -0500

    Less bravado in YJIT performance claims
    
    YJIT can't improve performance of non Ruby software of course.

M	NEWS.md

commit 628e84584399f1ddaaf7bee8cba73132e421f703
Author: git 
Date:   Fri Dec 24 15:47:38 2021 +0000

    Update default gems list at 90239c4163e0a9aec7add714eb5ad6 [ci skip]

M	NEWS.md

commit 90239c4163e0a9aec7add714eb5ad6e6fb246660
Author: aycabta 
Date:   Sat Dec 25 00:41:36 2021 +0900

    [ruby/irb] Version 1.4.0
    
    https://github.com/ruby/irb/commit/b80ec5821e

M	lib/irb/version.rb

commit 214b6128aebba384f62ab8d90cb63654ea5dfe28
Author: aycabta 
Date:   Sat Dec 25 00:41:15 2021 +0900

    [ruby/irb] Update dependency, reline >= 0.3.0
    
    https://github.com/ruby/irb/commit/f36ad549c4

M	lib/irb/irb.gemspec

commit c815c0be46b83c1c5c50a88cd1452635208fbee4
Author: aycabta 
Date:   Fri Dec 24 20:07:55 2021 +0900

    [ruby/reline] Escape newline(s) in dynamic prompt
    
    https://github.com/ruby/reline/commit/9b209ee1ea

M	lib/reline/line_editor.rb
M	test/reline/yamatanooroti/multiline_repl
M	test/reline/yamatanooroti/test_rendering.rb

commit b0db420b0e70753986d42579439acdd7ff0d9e95
Author: aycabta 
Date:   Fri Dec 24 20:06:48 2021 +0900

    [ruby/reline] Escape newline(s) in prompt
    
    https://github.com/ruby/reline/commit/b545459fca

M	lib/reline/line_editor.rb
M	test/reline/yamatanooroti/test_rendering.rb

commit 22cc2243f92ef09c10534412511a02ca8ccd45cb
Author: aycabta 
Date:   Fri Dec 24 19:57:41 2021 +0900

    [ruby/reline] Remove unnecessary parameter
    
    https://github.com/ruby/reline/commit/20fcd22564

M	lib/reline/line_editor.rb

commit 20dae14ba92c0adf1e47ab4df1a92416d27f35db
Author: aycabta 
Date:   Sat Dec 25 00:20:29 2021 +0900

    Increase wait time

M	test/readline/test_readline.rb

commit a88169bbe94f3ee767ae59a3af3038987204b21e
Author: aycabta 
Date:   Sat Dec 25 00:20:11 2021 +0900

    Wait for output results to test correctly

M	test/readline/test_readline.rb

commit 969bdc6f0701bb7e6149877378ddf906d60dc72f
Author: git 
Date:   Sat Dec 25 00:01:59 2021 +0900

    * 2021-12-25 [ci skip]

M	version.h

commit 38b3adc4cb8c40bdbcd0ac8989e4ecb6c03080e9
Author: Koichi Sasada 
Date:   Sat Dec 25 00:01:21 2021 +0900

    add a NEWS entry about cvar inline cache

M	NEWS.md

commit 03c54a09ecaacb37ddc85d8ca74dc5f57b49aef1
Author: Yuki Nishijima 
Date:   Fri Dec 24 23:21:41 2021 +0900

    Revert "Revert "Replace an deprecated constant with a new one in did_you_mean""
    
    This reverts commit 1527f7569b0412f3bc7ac98a3461e59a4891ed96.

M	test/optparse/test_did_you_mean.rb

commit 4767cf0cb542e0ac9aea5b97ae1dc6af9d46e603
Author: git 
Date:   Fri Dec 24 14:21:17 2021 +0000

    Update default gems list at f9712b029bb6c34a2cf4131f8a5432 [ci skip]

M	NEWS.md

commit f9712b029bb6c34a2cf4131f8a54328740fd149f
Author: Yuki Nishijima 
Date:   Fri Dec 24 21:04:49 2021 +0900

    Sync did_you_mean

M	lib/did_you_mean.rb
M	lib/did_you_mean/core_ext/name_error.rb
M	lib/did_you_mean/formatter.rb
M	lib/did_you_mean/spell_checkers/method_name_checker.rb
M	lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
M	lib/did_you_mean/spell_checkers/require_path_checker.rb
M	lib/did_you_mean/version.rb
M	test/did_you_mean/core_ext/test_name_error_extension.rb
M	test/did_you_mean/helper.rb

commit 8d940e3032055faa7271fc517c8f66ea34084542
Author: Soutaro Matsumoto 
Date:   Fri Dec 24 22:54:45 2021 +0900

    Bundle RBS 2.0.0 (#5330)
    
    * Bundle RBS 2.0.0
    
    * Update NEWS.md

M	NEWS.md
M	gems/bundled_gems

commit 0aca70e559566a9e834ae7bfcd7f8a06bfd9376b
Author: aycabta 
Date:   Fri Dec 24 22:28:57 2021 +0900

    Output log after loading class to test

M	test/readline/test_readline.rb

commit 548c8f5f7aa743ae05610ed372f857a6b488e89c
Author: Samuel Williams 
Date:   Sat Dec 25 02:26:06 2021 +1300

    Prefer to use RTEST when checking result of `rb_io_wait`. (#5341)
    
    * Prefer to use RTEST when checking result of `rb_io_wait`.
    
    * Consistently use false for signifying no events ready.

M	ext/io/console/console.c
M	io.c

commit 4f74153846d951dd8ec66017f4e8e286df8ea925
Author: Nobuyoshi Nakada 
Date:   Fri Dec 24 19:52:44 2021 +0900

    Adjust styles [ci skip]

M	eval_intern.h
M	file.c
M	io.c

commit 0fbf1f193a863a2aa2d69621b530668a268e539a
Author: aycabta 
Date:   Fri Dec 24 20:55:59 2021 +0900

    Add logging about timeout

M	test/readline/test_readline.rb

commit 5138ef3875ca3ee7fc94cea536cb4f9cb50ea3fd
Author: aycabta 
Date:   Fri Dec 24 20:42:09 2021 +0900

    Kill process before assertion fails

M	test/readline/test_readline.rb

commit f279d41847e07949ca7ad3f2d3d5cbe9fa3aabf5
Author: manga_osyo 
Date:   Mon Dec 6 10:04:12 2021 +0900

    Fix warning in `Lexer::Elem#[]`
    
    Changed to use `#pos` `#event` `#tok` `#state` since using Lexer::Elem#[0~4] now gives a warning.
    see: https://github.com/ruby/ruby/commit/8944009be7418614ce7d4077807ac2b60d4d5d85
    
    https://github.com/ruby/reline/commit/9adbb9af32

M	lib/irb/ruby-lex.rb

commit babc200ee89e9f7329d167b2f725a51486a7f6aa
Author: git 
Date:   Fri Dec 24 11:10:13 2021 +0000

    Update default gems list at 67aab88a22bad23cb43058caee6fc0 [ci skip]

M	NEWS.md

commit 67aab88a22bad23cb43058caee6fc012265aee3b
Author: Akinori MUSHA 
Date:   Fri Dec 24 20:06:23 2021 +0900

    Import digest v3.1.0 from ruby/digest

M	ext/digest/digest.gemspec
D	ext/digest/install_headers.rb
M	ext/digest/lib/digest/version.rb

commit c87c027f18c005460746a74c07cd80ee355b16e4
Author: Nobuyoshi Nakada 
Date:   Tue Dec 21 16:31:43 2021 +0900

    configure.in: unexpand exec_prefix in includedir
    
    Replace `exec_prefix` in includedir as well as bindir, libdir, and
    so on. [Bug #18373]

M	configure.ac

commit acfe2f2655ab25d52c4347783c4de99fa2daaf62
Author: Samuel Williams 
Date:   Fri Dec 24 23:11:02 2021 +1300

    Improvements to `rb_io_wait` return value handling and internal implementation. (#5340)

M	include/ruby/fiber/scheduler.h
M	io.c

commit 4fccefef052fb042659fe4237d3c2d5d0446dcea
Author: aycabta 
Date:   Sun Oct 3 18:31:36 2021 +0900

    [ruby/reline] Revert "Change aliased methods to be parivete"
    
    Ruby 2.5 doesn't support "private alias_method" idiom  but Ruby on Rails
    6.x still support 2.5. 😢
    
    This reverts commit https://github.com/ruby/reline/commit/0f075f562b9b.
    
    https://github.com/ruby/reline/commit/4ecaa63b26

M	lib/reline/line_editor.rb

commit fc5bc378e54bebc4ef254fa36c3736fbe2e17c43
Author: aycabta 
Date:   Sun Oct 3 15:25:25 2021 +0900

    [ruby/reline] Change aliased methods to be parivete
    
    https://github.com/ruby/reline/commit/0f075f562b

M	lib/reline/line_editor.rb

commit a9c59b13da161eec3b7a1b028f83af142509d802
Author: aycabta 
Date:   Mon Sep 27 04:24:26 2021 +0900

    [ruby/reline] Add doc about em-kill-line macro
    
    https://github.com/ruby/reline/commit/2e46493aff

M	lib/reline/line_editor.rb

commit bad1e153d485cf7b68981a78e78e23c3f118c5a8
Author: aycabta 
Date:   Mon Sep 27 04:24:06 2021 +0900

    [ruby/reline] Implement em_kill_line
    
    https://github.com/ruby/reline/commit/9fca6ceb45

M	lib/reline/line_editor.rb
M	test/reline/test_key_actor_emacs.rb

commit 6c3cc9c58ab95e963d6255d719e2248cafef7b49
Author: aycabta 
Date:   Mon Sep 27 03:58:19 2021 +0900

    [ruby/reline] Rename the wrong name "em-kill-line" with the correct name "unix-line-discard"
    
    https://github.com/ruby/reline/commit/da7af35d1f

M	lib/reline/line_editor.rb
M	test/reline/test_key_actor_vi.rb

commit fd60a235f5feeb2fa63d8e9ebb54e2236c16ce90
Author: aycabta 
Date:   Mon Sep 27 02:32:12 2021 +0900

    [ruby/reline] Add doc about ed-kill-line, kill-line, em-kill-line, and unix-line-discard
    
    https://github.com/ruby/reline/commit/586a48ffe0

M	lib/reline/line_editor.rb

commit 9de42d3b347a2576eba81676cab6027b3c03dda7
Author: aycabta 
Date:   Mon Sep 27 02:49:30 2021 +0900

    [ruby/reline] Bind ed-kill-line to C-u on emacs mode
    
    https://github.com/ruby/reline/commit/9ab99574f5

M	lib/reline/key_actor/emacs.rb
M	test/reline/test_key_actor_emacs.rb

commit 15fab6fb17f011dcd2661d961ac3ece1f6a88c88
Author: aycabta 
Date:   Sun Sep 19 22:24:43 2021 +0900

    [ruby/reline] Support S-Tab to move up completion cursor in vi-mode on Unix
    
    https://github.com/ruby/reline/commit/ff278cdc88

M	lib/reline/ansi.rb

commit f2592f281286cbe50587333ab7d94f9137763e64
Author: git 
Date:   Fri Dec 24 09:04:07 2021 +0000

    Update default gems list at 35d779c57b266953a93c2f89487e91 [ci skip]

M	NEWS.md

commit 1706d1a7f3abd3ed1259607a05f0de1ee85e23c2
Author: Victor Shepelev 
Date:   Fri Dec 24 10:55:09 2021 +0200

    [DOC] Document Marshal#load parameter freeze: (#5332)

M	marshal.rb

commit 35d779c57b266953a93c2f89487e913d00a40458
Author: Hiroshi SHIBATA 
Date:   Fri Dec 24 17:53:06 2021 +0900

    [ruby/readline] Bump version to 0.0.3
    
    https://github.com/ruby/readline/commit/996af225ad

M	lib/readline.gemspec

commit 106a0e519568ba821b55adc8cf4439507cdaeaac
Author: Hiroshi SHIBATA 
Date:   Fri Dec 24 17:51:33 2021 +0900

    [ruby/readline-ext] Bump version to 0.1.4
    
    https://github.com/ruby/readline-ext/commit/6f86713b19

M	ext/readline/readline-ext.gemspec

commit 517964d57b9340fc1e0525da56dcd567050e8537
Author: Nobuyoshi Nakada 
Date:   Sat Oct 9 23:11:38 2021 +0900

    Move embedded lines outside the here document
    
    So that the actually run test code corresponds to the source file
    line-by-line.

M	test/readline/test_readline.rb

commit d81046b2d607d7a87ce3f05ce9239c0ca1104448
Author: git 
Date:   Fri Dec 24 08:12:56 2021 +0000

    Update default gems list at 03f16d37bfaae86efe9633843bd26c [ci skip]

M	NEWS.md

commit f8a0ef30b20207aa57cce9537babcc283d8f6a4d
Author: aycabta 
Date:   Fri Dec 24 16:26:17 2021 +0900

    Set time limit for waiting for terminating process within a test

M	test/readline/test_readline.rb

commit 03f16d37bfaae86efe9633843bd26c3bfb9731fb
Author: aycabta 
Date:   Fri Dec 24 17:01:24 2021 +0900

    [ruby/rdoc] Version 6.4.0
    
    https://github.com/ruby/rdoc/commit/4797f28df8

M	lib/rdoc/version.rb

commit 61ca29be1bff5409188ce28a8ca339b96e314f91
Author: aycabta 
Date:   Fri Dec 24 15:54:18 2021 +0900

    Use UTF-8 for lib/reline on AppVeyor

M	.appveyor.yml

commit 71e85ec9b5944238e14ac4e651247ecd0a98d27b
Author: Yusuke Endoh 
Date:   Fri Dec 24 14:24:09 2021 +0900

    [rubygems/rubygems] Do not use IO#flock on Solaris
    
    `io.flock(File::LOCK_EX)` fails on Solaris when the io is opened as
    read-only. Due to this issue, `make install` of the ruby package failed
    on Solaris.
    
    https://github.com/rubygems/rubygems/commit/5905d17ab2

M	lib/rubygems.rb

commit 424800f70711433534d9669cb891dc828e7c7001
Author: Yusuke Endoh 
Date:   Fri Dec 24 14:46:58 2021 +0900

    [ruby/reline] Fix test input_keys to handle "hankaku" characters correctly on Windows
    
    The method "input_keys" in test/reline/helper.rb handles a single-byte
    and 8-bit charater as an input with the meta key.
    However, "test_halfwidth_kana_width_dakuten" in test/reline/test_key_actor_emacs.rb
    uses a string that contains "hankaku" characters.
    A "hankaku" character is not with the meta key, but it is a single-byte
    and 8-bit character on Windows-31J encoding, which confused "input_keys"
    method. This caused the following error.
    
    https://ci.appveyor.com/project/ruby/ruby/builds/41997092/job/ejm77qxgvnlpdwvg
    ```
      1) Failure:
    Reline::KeyActor::Emacs::Test#test_halfwidth_kana_width_dakuten [C:/projects/ruby/test/reline/test_key_actor_emacs.rb:2311]:
    <"\xB6\xDE\xB7\xDE\xB9\xDE\xBA\xDE" (#)> expected but was
    <"\e^\e^\e^\e:\e^" (#)> in >
    .
    <8> expected but was
    <10>.
    Finished tests in 1045.472722s, 19.3922 tests/s, 2609.4320 assertions/s.
    ```
    
    This change introduces "input_raw_keys" that does not convert a
    single-byte and 8-bit character to "with the meta key", and use it in
    the test in question.
    
    https://github.com/ruby/reline/commit/f6ae0e5d19

M	test/reline/helper.rb
M	test/reline/test_key_actor_emacs.rb

commit 167dd73c6c90a79af6e6e14c33e4b2743de866e5
Author: git 
Date:   Fri Dec 24 05:41:11 2021 +0000

    Update default gems list at 1a1550ba5d6f2f7631cb69a76e78f9 [ci skip]

M	NEWS.md

commit 1a1550ba5d6f2f7631cb69a76e78f9ed31ac30fb
Author: Sutou Kouhei 
Date:   Fri Dec 24 10:55:10 2021 +0900

    [ruby/csv] test: reduce size for stability on GitHub Actions
    
    https://github.com/ruby/csv/commit/68461aead5

M	test/csv/parse/test_general.rb

commit 22ef4f6445376b992b2725124594dad1c77a185e
Author: Sutou Kouhei 
Date:   Fri Dec 24 10:44:11 2021 +0900

    [ruby/csv] Revert "parser: fix a keep bug that some texts may be dropped unexpectedly"
    
    This reverts commit https://github.com/ruby/csv/commit/5c6523da0a61.
    
    This introduces another pbolem. We should try again later.
    
    https://github.com/ruby/csv/commit/43a1d6fff1

M	lib/csv/parser.rb
D	test/csv/parse/test_inputs_scanner.rb

commit 002ce9f515d984aa0fe43c51448b36ea3651a395
Author: Sutou Kouhei 
Date:   Fri Dec 24 10:18:35 2021 +0900

    [ruby/csv] parser: use row separator explicitly
    
    It will improve performance a bit. (But I haven't confirmed it yet...)
    
    https://github.com/ruby/csv/commit/06a65b0302

M	lib/csv/parser.rb

commit 4a5d372ca8902a649928eb0689aca7edcfaa07b6
Author: Sutou Kouhei 
Date:   Fri Dec 24 10:18:18 2021 +0900

    [ruby/csv] parser: fix a keep bug that some texts may be dropped unexpectedly
    
    Ruby: [Bug #18245] [ruby-core:105587]
    
    Reported by Hassan Abdul Rehman.
    
    https://github.com/ruby/csv/commit/5c6523da0a

M	lib/csv/parser.rb
A	test/csv/parse/test_inputs_scanner.rb

commit 56a5ae9f52920982a2f1571a57090772c94c8243
Author: Sutou Kouhei 
Date:   Fri Dec 3 06:30:01 2021 +0900

    [ruby/csv] Fix a bug that all of ARGF contents may not be consumed
    
    GitHub: fix GH-228
    
    Reported by Rafael Navaza. Thanks!!!
    
    https://github.com/ruby/csv/commit/81f595b6a1

M	lib/csv/parser.rb

commit d137ce50a1fb438b1fa078f5c54a72b7be30c52a
Author: Sutou Kouhei 
Date:   Fri Dec 3 06:29:57 2021 +0900

    [ruby/csv] Bump version
    
    https://github.com/ruby/csv/commit/e32b666731

M	lib/csv/version.rb

commit c70dc3cafb29d89d0377677ead346495183db47e
Author: adamroyjones <10088591+adamroyjones@users.noreply.github.com>
Date:   Thu Nov 18 21:20:09 2021 +0000

    [ruby/csv] Add handling for ambiguous parsing options (https://github.com/ruby/csv/pull/226)
    
    GitHub: fix GH-225
    
    With Ruby 3.0.2 and csv 3.2.1, the file
    
    ```ruby
    require "csv"
    File.open("example.tsv", "w") { |f| f.puts("foo\t\tbar") }
    CSV.read("example.tsv", col_sep: "\t", strip: true)
    ```
    
    produces the error
    
    ```
    lib/csv/parser.rb:935:in `parse_quotable_robust': TODO: Meaningful
    message in line 1. (CSV::MalformedCSVError)
    ```
    
    However, the CSV in this example is not malformed; instead, ambiguous
    options were provided to the parser. It is not obvious (to me) whether
    the string should be parsed as
    
    - `["foo\t\tbar"]`,
    - `["foo", "bar"]`,
    - `["foo", "", "bar"]`, or
    - `["foo", nil, "bar"]`.
    
    This commit adds code that raises an exception when this situation is
    encountered. Specifically, it checks if the column separator either ends
    with or starts with the characters that would be stripped away.
    
    This commit also adds unit tests and updates the documentation.
    
    https://github.com/ruby/csv/commit/cc317dd42d

M	lib/csv.rb
M	lib/csv/parser.rb
M	test/csv/parse/test_strip.rb

commit 47c53af16872d61576184b0d6935fcf531564cc4
Author: Nobuyoshi Nakada 
Date:   Thu Nov 4 09:02:47 2021 +0900

    [ruby/csv] Fix typos [ci skip] (https://github.com/ruby/csv/pull/224)
    
    https://github.com/ruby/csv/commit/27c0b66c8f

M	test/csv/parse/test_convert.rb
M	test/csv/test_table.rb

commit 083cf6a577f12ddf5c850303a08583599400d92d
Author: Nobuyoshi Nakada 
Date:   Fri Dec 24 14:24:45 2021 +0900

    sync_default_gems.rb: Expand GH-xxxx style GitHub links [ci skip]

M	tool/sync_default_gems.rb

commit 097c4a2adf6ed640bd5c89653e591a674acd4c6e
Author: Nobuyoshi Nakada 
Date:   Fri Dec 24 14:12:53 2021 +0900

    sync_default_gems.rb: GitHub links at word boundary only [ci skip]

M	tool/sync_default_gems.rb

commit 3a59abab0875ef734311a6f74de10dc480445e4a
Author: aycabta 
Date:   Fri Dec 24 13:58:19 2021 +0900

    [ruby/reline] Determine 1st char or 2nd char of surrogate pair correctly
    
    https://github.com/ruby/reline/commit/182606c847

M	lib/reline/windows.rb

commit 6050e3e2a6ce2269c56fa74bc5b75a94d064b61f
Author: Koichi Sasada 
Date:   Fri Dec 24 12:26:21 2021 +0900

    @@cv is not accessible from non-main ractors
    
    Class variables (@@cv) is not accessible from non-main ractors.
    But without this patch cached @@cv can be read.
    
    fix [Bug #18128]

M	bootstraptest/test_ractor.rb
M	vm_insnhelper.c

commit e029560b22fef5dd665495a2af01c11ffcd33e12
Author: git 
Date:   Fri Dec 24 02:20:07 2021 +0000

    Update default gems list at b0ad6cb371747a04eb12580e74c731 [ci skip]

M	NEWS.md

commit ae770cc372cd475f66c8eedea583e8437f7ab92c
Author: aycabta 
Date:   Fri Dec 24 11:04:07 2021 +0900

    [ruby/reline] Add encoding info to an assertion of editing line
    
    https://github.com/ruby/reline/commit/22d9262d79

M	test/reline/helper.rb

commit cf83ba1da777a9bfc26949afdeabf38e2789060d
Author: zverok 
Date:   Mon Dec 20 09:20:55 2021 +0200

    [DOC] Make sure new GC methods are documented

M	gc.rb

commit b0ad6cb371747a04eb12580e74c73179173cc89d
Author: Hiroshi SHIBATA 
Date:   Fri Dec 24 09:32:59 2021 +0900

    Merge RubyGems-3.3.2 and Bundler-2.3.2

M	lib/bundler/definition.rb
M	lib/bundler/version.rb
M	lib/rubygems.rb
M	lib/rubygems/exceptions.rb
M	lib/rubygems/specification.rb
M	lib/rubygems/stub_specification.rb
M	spec/bundler/lock/lockfile_spec.rb
M	test/rubygems/test_gem_commands_install_command.rb
M	test/rubygems/test_gem_installer.rb
M	tool/bundler/rubocop_gems.rb.lock
M	tool/bundler/standard_gems.rb.lock
M	tool/bundler/test_gems.rb.lock

commit de0523feddf740d28fe772f3a22ff9907f88bf69
Author: YO4 
Date:   Fri Dec 24 01:54:09 2021 +0900

    [ruby/irb] irb_info codepage mismatch
    
    `chcp` returns different encoding
    
    https://github.com/ruby/irb/commit/f80971994a

M	lib/irb/cmd/info.rb

commit 34deea3b42189cd46e88f4a459bd4fc58940aa60
Author: zverok 
Date:   Wed Dec 15 00:08:36 2021 +0200

    Add docs for Refinement class

M	class.c
M	eval.c

commit fed1629adab07f99b00316cb3ce3ae1ab17f99b5
Author: zverok 
Date:   Wed Dec 15 23:59:33 2021 +0200

    Fix StructClass:: class method docs

M	struct.c

commit 9ccfc78346436ee1ea79c9ce8b2815320e4fe867
Author: Kenta Murata 
Date:   Fri Dec 24 09:43:22 2021 +0900

    [ruby/bigdecimal] Remove unused variable
    
    https://github.com/ruby/bigdecimal/commit/ac7daa5f15

M	ext/bigdecimal/bigdecimal.c

commit 69380c60ce2ddc3c7b6d9987f82f499d63c4b18f
Author: Kazuhiro NISHIYAMA 
Date:   Fri Dec 24 09:05:12 2021 +0900

    Update badges from README.md [ci skip]

M	README.ja.md

commit 0b999bef29ead1faeefd7a034dac435795c9fe1a
Author: Victor Shepelev 
Date:   Thu Dec 23 22:58:13 2021 +0200

    [DOC] Fix String#unpack and #unpack1 docs (#5331)

M	pack.rb

commit eba05029b0069ee63ac7e93139d5d4de38c25efb
Author: git 
Date:   Thu Dec 23 17:30:04 2021 +0000

    Update default gems list at 65d35502bdaa2834934c8952a9eac8 [ci skip]

M	NEWS.md

commit 65d35502bdaa2834934c8952a9eac86816a10d14
Author: Kenta Murata 
Date:   Fri Dec 24 01:20:15 2021 +0900

    [ruby/bigdecimal] Version 3.1.1
    
    https://github.com/ruby/bigdecimal/commit/2ef67c2cc7

M	ext/bigdecimal/bigdecimal.gemspec

commit a1d9fbef05fbf507b4c68cf3fbc50c6e27a3293e
Author: Kenta Murata 
Date:   Fri Dec 24 00:26:34 2021 +0900

    [ruby/bigdecimal] Fix the result precision of BigDecimal#divmod
    
    https://github.com/ruby/bigdecimal/commit/a32f6cb9e2

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit 680a4ebb3ce7a3028b897204c2f0d3a546194eb8
Author: Kenta Murata 
Date:   Tue Dec 21 18:40:45 2021 +0900

    [ruby/bigdecimal] Version 3.1.0
    
    https://github.com/ruby/bigdecimal/commit/c3453d2b97

M	ext/bigdecimal/bigdecimal.gemspec

commit 0262f34905848c2d5ca4ff680094b8a669775b80
Author: Burdette Lamar 
Date:   Tue Dec 21 02:17:16 2021 -0600

    [ruby/bigdecimal] Enhanced RDoc for BigDecimal (https://github.com/ruby/bigdecimal/pull/209)
    
    * Enhanced RDoc for BigDecimal
    
    * Update ext/bigdecimal/bigdecimal.c
    
    Remove the instance number of `Float::DIG`.
    
    * Update ext/bigdecimal/bigdecimal.c
    
    Add BigDecimal call-seq without ndigits.
    
    * Update ext/bigdecimal/bigdecimal.c
    
    Replace the word sum with value or result in the description of BigDecimal().
    
    * Update ext/bigdecimal/bigdecimal.c
    
    Remove the instance value of Float::DIG.
    
    * Update ext/bigdecimal/bigdecimal.c
    
    Fix mis-description of precision
    
    * Update ext/bigdecimal/bigdecimal.c
    
    Fix the description of precision determination
    
    * Update ext/bigdecimal/bigdecimal.c
    
    Add the description of the precision in the Rational case.
    
    https://github.com/ruby/bigdecimal/commit/acabb132a4
    
    Co-authored-by: Kenta Murata <3959+mrkn@users.noreply.github.com>

M	ext/bigdecimal/bigdecimal.c

commit 79712fc083f483b3ef174f6ab457f8b63b87c43e
Author: Kenta Murata 
Date:   Thu Dec 9 22:24:12 2021 +0900

    [ruby/bigdecimal] Let BigDecimal#quo accept precision
    
    Fix GH-214.
    
    https://github.com/ruby/bigdecimal/commit/13e0e93f37

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit 0b8638cd7439570bc553ed1684a9f59da7d9c103
Author: Kenta Murata 
Date:   Thu Dec 9 21:50:46 2021 +0900

    [ruby/bigdecimal] Add TODO comment
    
    https://github.com/ruby/bigdecimal/commit/ef9cf4e69e

M	ext/bigdecimal/bigdecimal.c

commit 98918209b7260b4ecb7ea503728ae3f0853866e0
Author: Kenta Murata 
Date:   Thu Dec 9 21:35:33 2021 +0900

    [ruby/bigdecimal] Allow passing both float and precision in BigDecimal#div
    
    Fix GH-212.
    
    https://github.com/ruby/bigdecimal/commit/900bb7fcf5

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit d0897e3f3afdc6d1fdb0fa60bdf4b0cb80c7de03
Author: Jean Boussier 
Date:   Thu Dec 2 12:02:21 2021 +0100

    [ruby/bigdecimal] Improve extconf to allow using bigdecimal as a git gem
    
    e.g.
    ```
    gem "bigdecimal", github: "ruby/bigdecimal"
    ```
    
    It would fail because bundler regenerates the `gemspec`,
    so `bigdecimal_version` is gone.
    
    https://github.com/ruby/bigdecimal/commit/bccaa66f2c

M	ext/bigdecimal/bigdecimal.gemspec
M	ext/bigdecimal/extconf.rb

commit 84ae7a5df9aac2dce406e88ece04e839073b461b
Author: Kenta Murata 
Date:   Thu Dec 2 17:06:52 2021 +0900

    [ruby/bigdecimal] Add BigDecimal#precision_scale
    
    https://github.com/ruby/bigdecimal/commit/c019caeaba

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit ea713009ba72a2bfd6929145df40386cf59de2d7
Author: Kenta Murata 
Date:   Thu Dec 2 17:03:33 2021 +0900

    [ruby/bigdecimal] [Doc] Add documentation of BigDecimal#n_significant_digits
    
    https://github.com/ruby/bigdecimal/commit/ceaf16b03e

M	ext/bigdecimal/bigdecimal.c

commit aca96f7ec7899da98df7ece5831730bcf013a76f
Author: Kenta Murata 
Date:   Thu Nov 25 14:51:13 2021 +0900

    [ruby/bigdecimal] Add BigDecimal#scale
    
    Fixes GH-198.
    
    https://github.com/ruby/bigdecimal/commit/4fbec55680

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit 0c63aa11bcbe1d865f9a6ca5e89dfc742bb42f27
Author: BurdetteLamar 
Date:   Thu Nov 25 10:42:34 2021 -0600

    [ruby/bigdecimal] Set rounding mode in example
    
    https://github.com/ruby/bigdecimal/commit/8fc83dd2fe

M	ext/bigdecimal/bigdecimal.c

commit a8243d07e16cea77dfc9cd323e7cbf8ba478f127
Author: BurdetteLamar 
Date:   Tue Nov 23 13:26:14 2021 -0600

    [ruby/bigdecimal] Set rounding mode in example
    
    https://github.com/ruby/bigdecimal/commit/42c999f728

M	ext/bigdecimal/bigdecimal.c

commit de5c14d4d8e5587efceb15f8df416c9d7f3ee216
Author: BurdetteLamar 
Date:   Fri Nov 19 12:07:34 2021 -0600

    [ruby/bigdecimal] Enhanced RDoc for selected methods
    
    https://github.com/ruby/bigdecimal/commit/0de9298d15

M	ext/bigdecimal/bigdecimal.c

commit e043829a7f059fe71d389b3aa58326dfe1a69c8e
Author: BurdetteLamar 
Date:   Fri Nov 19 11:53:55 2021 -0600

    [ruby/bigdecimal] Enhanced RDoc for selected methods
    
    https://github.com/ruby/bigdecimal/commit/6139ea1092

M	ext/bigdecimal/bigdecimal.c

commit d905abb457d7319400f96d83a65de5eb304ab30d
Author: Kenta Murata 
Date:   Thu Nov 25 14:55:29 2021 +0900

    [ruby/bigdecimal] Fix BigDecimal#precision for single DECDIG case
    
    Fix GH-205
    
    https://github.com/ruby/bigdecimal/commit/7d198394a2

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit 38e98cbdb7c429d0042fd24efd9fec6516fb45f5
Author: Kenta Murata 
Date:   Wed Nov 24 00:20:42 2021 +0900

    [ruby/bigdecimal] Keep obj-to-Real link when VpReallocReal returns different pointer
    
    https://github.com/ruby/bigdecimal/commit/252748de17

M	ext/bigdecimal/bigdecimal.c

commit 75f552e973ba565ef8615a0c5fd375d3a052b82e
Author: Kenta Murata 
Date:   Fri Jan 22 13:50:26 2021 +0900

    [ruby/bigdecimal] Fix the precision of the adjusted quotient
    
    https://github.com/ruby/bigdecimal/commit/8dc8cd339d

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit 7b2cfce543b876744544c8b43abdee3c72cab910
Author: Kenta Murata 
Date:   Fri Jan 22 13:49:46 2021 +0900

    [ruby/bigdecimal] Let BigDecimal_DoDivmod use the same precision calculation as BigDecimal_divide
    
    https://github.com/ruby/bigdecimal/commit/11cb2c8840

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit e1265c819870c6a4d6763529e9fbd2d70c722fe0
Author: Kenta Murata 
Date:   Fri Jan 22 12:03:37 2021 +0900

    [ruby/bigdecimal] Use larger precision in divide for irrational or recurring results
    
    Just in case for irrational or recurring results, the precision of the
    quotient is set to at least more than 2*Float::DIG plus alpha.
    
    [Bug #13754] [Fix GH-94]
    
    https://github.com/ruby/bigdecimal/commit/99442c75d3

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit 8ee8ac64239626a9adea4e02ba3f0c4be4895e36
Author: Kenta Murata 
Date:   Thu Nov 18 10:59:12 2021 +0900

    [ruby/bigdecimal] Fix trailing zeros handling in rb_uint64_convert_to_BigDecimal
    
    Fix GH-192
    
    https://github.com/ruby/bigdecimal/commit/eebc98b85a

M	ext/bigdecimal/bigdecimal.c

commit b2a74948b6fe60727235b80ab56b4c701c315aa3
Author: Kenta Murata 
Date:   Wed Oct 27 17:31:45 2021 +0900

    [ruby/bigdecimal] Add tests for the issue GH-192
    
    https://github.com/ruby/bigdecimal/commit/e864828b47

M	test/bigdecimal/helper.rb
M	test/bigdecimal/test_bigdecimal.rb
M	test/bigdecimal/test_bigdecimal_util.rb

commit ed7f4c24d73333a716ce7944a465f430a7f7f910
Author: BurdetteLamar 
Date:   Fri Nov 12 09:52:10 2021 -0600

    [ruby/bigdecimal] Respond to review
    
    https://github.com/ruby/bigdecimal/commit/f528a0006e

M	ext/bigdecimal/bigdecimal.c

commit ed8ec5dcb3f7fec60cb7fa38a3f1135d50d3bcde
Author: BurdetteLamar 
Date:   Fri Nov 12 09:27:52 2021 -0600

    [ruby/bigdecimal] Respond to review
    
    https://github.com/ruby/bigdecimal/commit/4eadcdf0a6

M	ext/bigdecimal/bigdecimal.c

commit 44acab76afc46c9276670a47aa0d2813f6d115e4
Author: BurdetteLamar 
Date:   Fri Nov 12 09:14:09 2021 -0600

    [ruby/bigdecimal] Respond to review
    
    https://github.com/ruby/bigdecimal/commit/6d69422e37

M	ext/bigdecimal/bigdecimal.c

commit 973e50847248816dea856b48a197320a60f3de2b
Author: BurdetteLamar 
Date:   Fri Nov 12 08:46:30 2021 -0600

    [ruby/bigdecimal] Respond to review for #precision
    
    https://github.com/ruby/bigdecimal/commit/681cd2d81d

M	ext/bigdecimal/bigdecimal.c

commit 5888d3030d822f8554bb2788fc2e8dd24d3afc65
Author: BurdetteLamar 
Date:   Fri Oct 15 12:27:26 2021 -0500

    [ruby/bigdecimal] Enhanced RDoc for bigdecimal.c
    
    https://github.com/ruby/bigdecimal/commit/3a35f92f8b

M	ext/bigdecimal/bigdecimal.c

commit 01b2ccaa958b7a4a3d38706277045882a509379d
Author: BurdetteLamar 
Date:   Thu Oct 14 13:57:36 2021 -0500

    [ruby/bigdecimal] Enhanced RDoc for bigdecimal.c
    
    https://github.com/ruby/bigdecimal/commit/31a7a37426

M	ext/bigdecimal/bigdecimal.c

commit 70f2b62dfe91cb7735abd0b6a4b919b6f0ace675
Author: Kenta Murata <3959+mrkn@users.noreply.github.com>
Date:   Fri Nov 12 23:18:27 2021 +0900

    [ruby/bigdecimal] Use values in RbConfig::LIMITS in test
    
    https://github.com/ruby/bigdecimal/commit/14e35f5a70

M	test/bigdecimal/test_bigdecimal.rb

commit 247d8d2815155467c032dce568d14199028f32ca
Author: Kenta Murata <3959+mrkn@users.noreply.github.com>
Date:   Fri Nov 12 23:08:53 2021 +0900

    [ruby/bigdecimal] Fix the style in test/bigdecimal/test_bigdecimal.rb
    
    https://github.com/ruby/bigdecimal/commit/aa31ef2f33

M	test/bigdecimal/test_bigdecimal.rb

commit ec478d947f218e1b94856941135701fe37e88fbc
Author: Jean Boussier 
Date:   Tue Nov 9 12:56:45 2021 +0100

    [ruby/bigdecimal] Fix negative Bignum conversion
    
    Introduced in https://github.com/ruby/bigdecimal/commit/4792a917d806
    
    `rb_absint_size` return the number of bytes needed to fit
    the absolute integer, but negative integers need the sign, so one more
    bit, and potentially one more byte.
    
    https://github.com/ruby/bigdecimal/commit/0f3d5d0eb7

M	ext/bigdecimal/bigdecimal.c
M	test/bigdecimal/test_bigdecimal.rb

commit c539cfd235b46dfb831fe94b55b547c7ac4a58f6
Author: Kenta Murata 
Date:   Wed Oct 27 17:29:40 2021 +0900

    [ruby/bigdecimal] Fix test against #196
    
    https://github.com/ruby/bigdecimal/commit/a834eb92a2

M	test/bigdecimal/test_bigdecimal.rb

commit 03507498b6be06bea89343fba52f2736de76bd35
Author: Olle Jonsson 
Date:   Fri Oct 15 14:42:49 2021 +0200

    [ruby/bigdecimal] VpCheckException: improve grammar
    
    I added a space before the parenthesis, too.
    
    https://github.com/ruby/bigdecimal/commit/159af10b17

M	ext/bigdecimal/bigdecimal.c

commit a8f4cc2bfaea2fe37ac6bf99fa1b6c84d7458e1f
Author: Burdette Lamar 
Date:   Thu Dec 23 10:27:10 2021 -0600

    [DOC] Enhanced RDoc for IO (#5324)
    
    Treats #gets.

M	io.c

commit 2f2aa21238677db2c4facc85728598e9af4e02e3
Author: git 
Date:   Fri Dec 24 00:52:06 2021 +0900

    * 2021-12-24 [ci skip]

M	version.h

commit 547c27e9e7a37496f1c9cec5de463a3e5d288f4f
Author: aycabta 
Date:   Fri Dec 24 00:41:46 2021 +0900

    [ruby/reline] Add a test for halfwidth kana width dakuten
    
    https://github.com/ruby/reline/commit/0895a0d4a1

M	test/reline/test_key_actor_emacs.rb

commit 4bb65ee4fec933b87a269edc10e86720f8f24bbe
Author: aycabta 
Date:   Fri Dec 24 00:16:31 2021 +0900

    [ruby/reline] Character merging may increase the character width
    
    Even if the number of graphemes doesn't change owing to character
    merging, the character width may increase.
    
    https://github.com/ruby/reline/commit/fbcd5f56a7

M	lib/reline/line_editor.rb

commit 726cc8122e5abb17a2af156e83ac88c1e4e9a42e
Author: aycabta 
Date:   Thu Dec 23 23:08:37 2021 +0900

    [ruby/reline] "Halfwidth char + halfwidth (han)dakuten" is a single grapheme.
    
    When a halfwidth character is followed by a halfwidth dakuten or a
    halfwidth handakuten character, it should be treated as a single
    grapheme.
    
    https://github.com/ruby/reline/commit/9f20b9ec28

M	lib/reline/unicode.rb

commit daf4a8884b36f44127fca9d0502080b32eda7f03
Author: aycabta 
Date:   Wed Dec 22 00:01:58 2021 +0900

    [ruby/reline] Add comment for a following char of combined char
    
    https://github.com/ruby/reline/commit/d465667f57

M	lib/reline/line_editor.rb

commit 40a1af615197346d423afa38c2854f9faf8ed3f3
Author: Nobuyoshi Nakada 
Date:   Thu Dec 23 20:12:45 2021 +0900

    Install ruby/digest.h when from ext/digest

M	ext/digest/extconf.rb

commit bf1444e5006f18e776a408c01b480884ba01d599
Author: Nobuyoshi Nakada 
Date:   Thu Dec 23 18:31:17 2021 +0900

    [DOC] Do not push NEWS update to pull-request

M	.github/workflows/bundled_gems.yml
M	.github/workflows/check_misc.yml

commit 1eafa8520669db5796d7a5e89aa490f8c3d5c122
Author: git 
Date:   Thu Dec 23 08:48:32 2021 +0000

    Update bundled gems list at a6b2757d0572db1dc3f079a9cdd42c [ci skip]

M	NEWS.md

commit 8f3b5a28d6693277dcdc83f0afb1a1a49eef0dd8
Author: Yusuke Endoh 
Date:   Thu Dec 23 17:47:38 2021 +0900

    Update TypeProf to 0.21.1

M	gems/bundled_gems

commit c6cf19340a116f21d71ecc218a2e8c31fe2f1d85
Author: Nobuyoshi Nakada 
Date:   Thu Dec 23 16:09:02 2021 +0900

    [ruby/pp] [DOC] Update for PP.width_for [Feature #12913]
    
    https://github.com/ruby/pp/commit/cad3cc762c

M	lib/pp.rb

commit 2da53b14686d07369486bf435c5de932bf26a9fd
Author: Koichi Sasada 
Date:   Thu Dec 23 15:45:09 2021 +0900

    `finalize_deferred` doesn't need VM lock
    
    `finalize_list()` acquires VM lock to manipulate objspace state.

M	gc.c

commit ca032d5eeaf81692f89f35c55450dcb97df59e16
Author: Koichi Sasada 
Date:   Thu Dec 23 15:51:13 2021 +0900

    undef `rb_vm_lookup_overloaded_cme()`
    
    Some callable method entries (cme) can be a key of `overloaded_cme_table`
    and the keys should be pinned because the table is numtable (VALUE is a key).
    Before the patch GC checks the cme is in `overloaded_cme_table` by looking up
    the table, but it needs VM locking.
    
    It works well in normal GC marking because it is protected by the VM lock,
    but it doesn't work on `rb_objspace_reachable_objects_from` because it doesn't
    use VM lock.
    
    Now, the number of target cmes are small enough, I decide to pin down
    all possible cmes instead of using looking up the table.

M	gc.c
M	vm_method.c

commit 25e417b773b6f4b78c27a79e06c1277e7a5cf342
Author: Nobuyoshi Nakada 
Date:   Thu Dec 23 14:49:10 2021 +0900

    Separate cache key from primary key [ci skip]

M	.github/workflows/bundled_gems.yml
M	.github/workflows/check_misc.yml

commit 95da41ee0acfb789ebdd0192eaa8e02f26fe3cc1
Author: Nobuyoshi Nakada 
Date:   Thu Dec 23 14:29:56 2021 +0900

    Get stdgems JSON files only if modified [ci skip]

M	.github/workflows/bundled_gems.yml
M	.github/workflows/check_misc.yml

commit ddfbf531de82916c9f9f684d34f1595aed4a3045
Author: git 
Date:   Thu Dec 23 04:01:26 2021 +0000

    Update default gems list at d5019949b5c9404d65a1d283375cf9 [ci skip]

M	NEWS.md

commit d5019949b5c9404d65a1d283375cf94c0b1b91d4
Author: Yusuke Endoh 
Date:   Thu Dec 23 12:55:44 2021 +0900

    [ruby/error_highlight] Bump version
    
    https://github.com/ruby/error_highlight/commit/ae3053686f

M	lib/error_highlight/version.rb

commit 1527f7569b0412f3bc7ac98a3461e59a4891ed96
Author: Yuki Nishijima 
Date:   Thu Dec 23 10:48:21 2021 +0900

    Revert "Replace an deprecated constant with a new one in did_you_mean"
    
    This reverts commit 573d9d3a4a0f112379874cedf4e494515e4b3f15.

M	test/optparse/test_did_you_mean.rb

commit 1f94ae019fa16aefe56f9a8fde9d1a2af08f351e
Author: git 
Date:   Thu Dec 23 01:10:18 2021 +0000

    Update default gems list at de841e2e28a8f721895acb1a76c784 [ci skip]

M	NEWS.md

commit de841e2e28a8f721895acb1a76c7847b40cc487a
Author: Yuki Nishijima 
Date:   Thu Dec 23 10:08:07 2021 +0900

    Revert the commits for did_you_mean
    
    This reverts commit feaf4fbc3fa16382fbd07158c448c7b5bdae78b5.
    This reverts commit 0d4bfbdbe1f880c712b3e60de5fce423e6096f8d.
    This reverts commit ac4e0978ee4358430396403065eabe1aca05784f.

M	lib/did_you_mean.rb
M	lib/did_you_mean/core_ext/name_error.rb
M	lib/did_you_mean/formatter.rb
M	lib/did_you_mean/spell_checkers/method_name_checker.rb
M	lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
M	lib/did_you_mean/spell_checkers/require_path_checker.rb
M	lib/did_you_mean/version.rb
M	test/did_you_mean/core_ext/test_name_error_extension.rb
M	test/did_you_mean/helper.rb

commit c529014b9dc107c2b938f87e13941b6709fc7a76
Author: git 
Date:   Thu Dec 23 00:23:19 2021 +0000

    Update default gems list at 231f2c26b8efd14ce3fd8961292db8 [ci skip]

M	NEWS.md

commit fb1ab27f535833f1ba1648d7cdce4cc893e36d07
Author: Hiroshi SHIBATA 
Date:   Thu Dec 23 09:21:36 2021 +0900

    Merge RubyGems-3.3.1 and Bundler-2.3.1

M	lib/bundler/rubygems_gem_installer.rb
M	lib/bundler/self_manager.rb
M	lib/bundler/vendor/thor/lib/thor/actions.rb
M	lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb
M	lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb
M	lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb
M	lib/bundler/vendor/thor/lib/thor/error.rb
M	lib/bundler/vendor/thor/lib/thor/parser/options.rb
M	lib/bundler/vendor/thor/lib/thor/shell.rb
M	lib/bundler/vendor/thor/lib/thor/shell/basic.rb
M	lib/bundler/vendor/thor/lib/thor/util.rb
M	lib/bundler/version.rb
M	lib/rubygems.rb
M	lib/rubygems/bundler_version_finder.rb
M	lib/rubygems/dependency.rb
M	lib/rubygems/errors.rb
M	lib/rubygems/security.rb
M	lib/rubygems/security/policy.rb
M	lib/rubygems/specification.rb
M	spec/bundler/install/gems/standalone_spec.rb
M	spec/bundler/realworld/mirror_probe_spec.rb
M	spec/bundler/runtime/gem_tasks_spec.rb
M	spec/bundler/support/artifice/compact_index.rb
M	spec/bundler/support/artifice/endpoint.rb
M	spec/bundler/support/artifice/endpoint_500.rb
M	spec/bundler/support/artifice/windows.rb
M	spec/bundler/support/builders.rb
M	spec/bundler/support/helpers.rb
M	spec/bundler/support/path.rb
M	spec/bundler/support/rubygems_ext.rb
M	test/rubygems/test_gem.rb
M	test/rubygems/test_gem_bundler_version_finder.rb
M	test/rubygems/test_gem_dependency.rb
M	test/rubygems/test_kernel.rb
M	test/rubygems/test_require.rb
M	tool/bundler/rubocop_gems.rb.lock
M	tool/bundler/standard_gems.rb.lock
M	tool/bundler/test_gems.rb.lock

commit feaf4fbc3fa16382fbd07158c448c7b5bdae78b5
Author: Yuki Nishijima 
Date:   Thu Dec 23 09:43:39 2021 +0900

    Remove test that activates Ractor unexpectedly

D	test/did_you_mean/test_ractor_compatibility.rb

commit bed920f0731a1a89a0e5fc7a7428d21be3ffb8a0
Author: Samuel Williams 
Date:   Thu Dec 23 12:20:09 2021 +1300

    Add fiber scheduler hooks for `pread`/`pwrite`, and add support to `IO::Buffer`.

M	common.mk
M	include/ruby/fiber/scheduler.h
M	include/ruby/io/buffer.h
M	io_buffer.c
M	scheduler.c
M	test/ruby/test_io_buffer.rb

commit 91c5c1c132994c9ca4540125d462988d83e37a6b
Author: git 
Date:   Thu Dec 23 05:41:57 2021 +0900

    * 2021-12-23 [ci skip]

M	version.h

commit 243ecd176d7e9a0a147936d1e02a0452af602ad8
Author: Burdette Lamar 
Date:   Wed Dec 22 14:41:39 2021 -0600

    [DOC] Enhanced RDoc for IO (#5321)
    
    Treats:
    
        #readpartial
        #read

M	io.c

commit 573d9d3a4a0f112379874cedf4e494515e4b3f15
Author: Yuki Nishijima 
Date:   Wed Dec 22 21:21:25 2021 +0900

    Replace an deprecated constant with a new one in did_you_mean

M	test/optparse/test_did_you_mean.rb

commit 0d4bfbdbe1f880c712b3e60de5fce423e6096f8d
Author: Yuki Nishijima 
Date:   Wed Dec 22 21:02:00 2021 +0900

    * gems/default_gems: Fix typos

M	lib/did_you_mean.rb

commit 2c31f325f59770e8099fcf606a85f26e6fe70f5b
Author: git 
Date:   Wed Dec 22 11:30:17 2021 +0000

    Update default gems list at ac4e0978ee4358430396403065eabe [ci skip]

M	NEWS.md

commit ac4e0978ee4358430396403065eabe1aca05784f
Author: Yuki Nishijima 
Date:   Wed Dec 22 20:29:18 2021 +0900

    * gems/default_gems: Sync did_you_mean

M	lib/did_you_mean.rb
M	lib/did_you_mean/core_ext/name_error.rb
M	lib/did_you_mean/formatter.rb
M	lib/did_you_mean/spell_checkers/method_name_checker.rb
M	lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
M	lib/did_you_mean/spell_checkers/require_path_checker.rb
M	lib/did_you_mean/version.rb
M	test/did_you_mean/core_ext/test_name_error_extension.rb
M	test/did_you_mean/helper.rb
A	test/did_you_mean/test_ractor_compatibility.rb

commit fdf39963490cf2cf95b30d91bb9b35964c2c2350
Author: Nobuyoshi Nakada 
Date:   Wed Dec 22 15:33:12 2021 +0900

    Empty and return the buffer if zero size is given [Bug #18421]
    
    In `IO#readpartial` and `IO#read_nonblock`, as well as `IO#read`.

M	io.c
M	test/ruby/test_io.rb

commit 9902398d8613ac4eaf9b90c3d2c1a103a32d61e2
Author: Nobuyoshi Nakada 
Date:   Wed Dec 22 13:13:20 2021 +0900

    Split too long line
    
    I don't have a display enough for 170 columns, and it is hard to
    use small fonts for my eyes. :(

M	class.c

commit c9396a35203fb99e8e6115b36042b2bec116b088
Author: Sutou Kouhei 
Date:   Wed Dec 22 08:59:04 2021 +0900

    Show the target Proc on Ractor::IsolationError
    
    It's useful for debug.

M	vm.c

commit fff9b45fa949f72b5cc6971b54eb3aa384d1d022
Author: Hiroshi SHIBATA 
Date:   Wed Dec 22 07:52:59 2021 +0900

    Reverts the accidental commits for rubygems/bundler.
    
      We stay to the stable version for releasing Ruby 3.1.0.
    
      Revert commits:
        b86a7ba49252e00e19c22bbcdc821b5acc31ff92
        ef973aa7aa65143a4f05d623c016d459426770d0

M	lib/bundler/definition.rb
M	spec/bundler/commands/install_spec.rb

commit d9570437e296c35c6bce691027530f4d67dd7ef3
Author: Samuel Williams 
Date:   Wed Dec 22 11:03:55 2021 +1300

    Remove incorrectly added `update.rb` file.

D	update.rb

commit e30920354f8c4513150c61385220a8e75448d833
Author: Samuel Williams 
Date:   Wed Dec 22 10:57:34 2021 +1300

    Extended interface for IO::Buffer & documentation.

M	common.mk
M	include/ruby/io/buffer.h
M	io_buffer.c
M	test/ruby/test_io_buffer.rb
A	update.rb

commit b86a7ba49252e00e19c22bbcdc821b5acc31ff92
Author: David Rodríguez 
Date:   Mon Dec 20 19:54:08 2021 +0100

    [rubygems/rubygems] Fix error when gem specified twice in gemfile under different platforms
    
    https://github.com/rubygems/rubygems/commit/83bc87ca98

M	lib/bundler/definition.rb
M	spec/bundler/commands/install_spec.rb

commit ef973aa7aa65143a4f05d623c016d459426770d0
Author: David Rodríguez 
Date:   Mon Dec 20 19:52:17 2021 +0100

    [rubygems/rubygems] These commands shouldn't be failing, just warning
    
    https://github.com/rubygems/rubygems/commit/04b1ac72b9

M	spec/bundler/commands/install_spec.rb

commit ad3537738c71ccd62191a7ff79eb720ddef4ea8b
Author: git 
Date:   Wed Dec 22 02:49:49 2021 +0900

    * 2021-12-22 [ci skip]

M	version.h

commit 779039a4e00f6d1bd2ccae405fe165ca9026fdc1
Author: Koichi Sasada 
Date:   Wed Dec 22 02:49:19 2021 +0900

    add ref to the ticket

M	NEWS.md

commit cdb7d699d0641e8f081d590d06d07887ac09961f
Author: Yuki Nishijima 
Date:   Tue Dec 21 22:09:33 2021 +0900

    Revert commits for did_you_mean
    
    This reverts commit 4560091b1c99ab33db0d653b9dd2d977fe4676d5.
    This reverts commit a6f76122a2395bd914daa0aa04fb5a6ce4e0c045.
    This reverts commit e59b18a6379c55f15ccda85c27d6997d44ef5293.
    This reverts commit 505dfae05d56d844ea150676edb87850a406d071.

M	NEWS.md
M	lib/did_you_mean.rb
M	lib/did_you_mean/core_ext/name_error.rb
M	lib/did_you_mean/formatter.rb
M	lib/did_you_mean/spell_checkers/method_name_checker.rb
M	lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
M	lib/did_you_mean/spell_checkers/require_path_checker.rb
M	lib/did_you_mean/version.rb
M	test/did_you_mean/core_ext/test_name_error_extension.rb
M	test/did_you_mean/helper.rb
D	test/did_you_mean/test_ractor_compatibility.rb

commit 4560091b1c99ab33db0d653b9dd2d977fe4676d5
Author: Yuki Nishijima 
Date:   Tue Dec 21 22:00:23 2021 +0900

    * gems/default_gems: Make the SPELL_CHECKERS constant as compatible as possible

M	lib/did_you_mean.rb

commit a6f76122a2395bd914daa0aa04fb5a6ce4e0c045
Author: Yuki Nishijima 
Date:   Tue Dec 21 20:03:42 2021 +0900

    * gems/default_gems: Fix CI builds

M	test/did_you_mean/test_ractor_compatibility.rb

commit e59b18a6379c55f15ccda85c27d6997d44ef5293
Author: git 
Date:   Tue Dec 21 10:08:36 2021 +0000

    Update default gems list at 505dfae05d56d844ea150676edb878 [ci skip]

M	NEWS.md

commit 505dfae05d56d844ea150676edb87850a406d071
Author: Yuki Nishijima 
Date:   Tue Dec 21 19:03:10 2021 +0900

    * gems/default_gems: Sync did_you_mean

M	lib/did_you_mean.rb
M	lib/did_you_mean/core_ext/name_error.rb
M	lib/did_you_mean/formatter.rb
M	lib/did_you_mean/spell_checkers/method_name_checker.rb
M	lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
M	lib/did_you_mean/spell_checkers/require_path_checker.rb
M	lib/did_you_mean/version.rb
M	test/did_you_mean/core_ext/test_name_error_extension.rb
M	test/did_you_mean/helper.rb
A	test/did_you_mean/test_ractor_compatibility.rb

commit 12fa4f2aceff06aeff028a3c72ec8791f78bfdb0
Author: Hiroshi SHIBATA 
Date:   Tue Dec 21 19:02:41 2021 +0900

    Added Psych 4 incompatibility to NEWS
    
      [Bug #17866][ruby-core:103866]

M	NEWS.md

commit 48a0905d25654d2f949ce870a144d8248ccdcf0d
Author: Kazuhiro NISHIYAMA 
Date:   Tue Dec 21 18:20:21 2021 +0900

    Add missing '%' in format string

M	hash.c

commit 69470cc5e93781d637726d0ab20a2f46418d3cb6
Author: Kazuhiro NISHIYAMA 
Date:   Tue Dec 21 17:44:48 2021 +0900

    Fix a typo [ci skip]

M	NEWS.md

commit b9aefdfc9f57edbfd286209eca2ab360848f2478
Author: Kazuhiro NISHIYAMA 
Date:   Tue Dec 21 17:39:43 2021 +0900

    Fix typos

M	proc.c

commit 1855f901c801a4c21e0d2834da8ef914bf47f3d9
Author: aycabta 
Date:   Tue Dec 21 15:50:59 2021 +0900

    [ruby/irb] Check colorize option correctly to clear char attr and don't use it for tests
    
    https://github.com/ruby/irb/commit/de561cafeb

M	lib/irb.rb
M	test/irb/test_context.rb

commit 093aaeffbc71cd652393b66f2f6f9b865ab31efd
Author: aycabta 
Date:   Tue Dec 21 15:36:39 2021 +0900

    [ruby/irb] Add resetting char attr that I forgot
    
    https://github.com/ruby/irb/commit/b5f953dc33

M	lib/irb.rb

commit 10a2273e9951553845212f364172d90c2545c52a
Author: git 
Date:   Tue Dec 21 05:57:28 2021 +0000

    Update default gems list at f51811ca75894f5227fb2dd9f2f61f [ci skip]

M	NEWS.md

commit 69dc2ea46538f47ff5edda3bb16863034bd19069
Author: Hiroshi SHIBATA 
Date:   Tue Dec 21 14:50:44 2021 +0900

    Merge RubyGems-3.3.0 and Bundler-2.3.0

M	lib/bundler.rb
M	lib/bundler/cli.rb
M	lib/bundler/cli/install.rb
M	lib/bundler/definition.rb
M	lib/bundler/fetcher.rb
M	lib/bundler/installer.rb
M	lib/bundler/lockfile_parser.rb
M	lib/bundler/plugin/installer.rb
M	lib/bundler/rubygems_integration.rb
A	lib/bundler/self_manager.rb
M	lib/bundler/source/metadata.rb
M	lib/bundler/templates/Executable.bundler
M	lib/bundler/version.rb
M	lib/rubygems.rb
M	spec/bundler/bundler/plugin/installer_spec.rb
M	spec/bundler/commands/binstubs_spec.rb
M	spec/bundler/commands/check_spec.rb
M	spec/bundler/lock/lockfile_spec.rb
M	spec/bundler/runtime/platform_spec.rb
A	spec/bundler/runtime/self_management_spec.rb
M	spec/bundler/support/filters.rb
M	spec/bundler/support/hax.rb
M	spec/bundler/support/helpers.rb
M	tool/bundler/rubocop_gems.rb.lock
M	tool/bundler/standard_gems.rb.lock
M	tool/bundler/test_gems.rb.lock

commit ad450c9fe51c51626dd07f6e766f47d839cae3ba
Author: Koichi Sasada 
Date:   Tue Dec 21 14:06:02 2021 +0900

    make `overloaded_cme_table` truly weak key map
    
    `overloaded_cme_table` keeps cme -> monly_cme pairs to manage
    corresponding `monly_cme` for `cme`. The lifetime of the `monly_cme`
    should be longer than `monly_cme`, but the previous patch losts the
    reference to the living `monly_cme`.
    
    Now `overloaded_cme_table` values are always root (keys are only weak
    reference), it means `monly_cme` does not freed until corresponding
    `cme` is invalidated.
    
    To make managing easy, move `overloaded_cme_table` to `rb_vm_t`.

M	gc.c
M	vm.c
M	vm_core.h
M	vm_method.c

commit 3c7e95966d6b9efd201170eb59b0e4a3c4eb6134
Author: Yuta Saito 
Date:   Sat Dec 18 14:59:39 2021 +0000

    rbinstall.rb: install ext only when it's configured [Bug #18414]

M	common.mk
M	tool/rbinstall.rb

commit 9b917315f4a5418344df54865cc10bdc7e1f60b7
Author: Nobuyoshi Nakada 
Date:   Tue Dec 21 14:26:18 2021 +0900

    Make the cache directory [ci skip]

M	.github/workflows/check_misc.yml

commit d58406ffcaa12a4f0b9506293789cc03cd4a6a4f
Author: Nobuyoshi Nakada 
Date:   Tue Dec 21 13:40:28 2021 +0900

    Ignore hung-ups after success on s390x-linux tentatively [ci skip]

M	.travis.yml

commit c29c2afafe5bc550090959af24e7fbedd8e002e9
Author: Nobuyoshi Nakada 
Date:   Sat Oct 23 12:21:50 2021 +0900

    Refactor setup_narg and extract finish_narg

M	io.c

commit 02a9a72f436c17ce22b990af6379356b331a3039
Author: Samuel Williams 
Date:   Tue Dec 21 16:15:40 2021 +1300

    Tidy up fiber scheduler interface documentation for `address_resolve` and `timeout_after`.

M	cont.c

commit df48db987da2bd623d29d06419f2fbc8b7ecb38a
Author: Koichi Sasada 
Date:   Tue Dec 21 06:03:51 2021 +0900

    `mandatory_only_cme` should not be in `def`
    
    `def` (`rb_method_definition_t`) is shared by multiple callable
    method entries (cme, `rb_callable_method_entry_t`).
    
    There are two issues:
    
    * old -> young reference: `cme1->def->mandatory_only_cme = monly_cme`
      if `cme1` is young and `monly_cme` is young, there is no problem.
      Howevr, another old `cme2` can refer `def`, in this case, old `cme2`
      points young `monly_cme` and it violates gengc assumption.
    * cme can have different `defined_class` but `monly_cme` only has
      one `defined_class`. It does not make sense and `monly_cme`
      should be created for a cme (not `def`).
    
    To solve these issues, this patch allocates `monly_cme` per `cme`.
    `cme` does not have another room to store a pointer to the `monly_cme`,
    so this patch introduces `overloaded_cme_table`, which is weak key map
    `[cme] -> [monly_cme]`.
    
    `def::body::iseqptr::monly_cme` is deleted.
    
    The first issue is reported by Alan Wu.

M	gc.c
M	method.h
M	test/ruby/test_iseq.rb
M	vm_callinfo.h
M	vm_insnhelper.c
M	vm_method.c

commit 711342d93565092a8348ac5538bc4b4288d384ba
Author: Samuel Williams 
Date:   Tue Dec 21 12:30:17 2021 +1300

    Update cont.c

M	cont.c

commit eae5a34be3113120ec17ca87604befaad5ee3fab
Author: zverok 
Date:   Sat Dec 18 01:01:46 2021 +0200

    Add SchedulerInterface#timeout_after and #address_resolve docs

M	cont.c

commit 224dfb2d6e95878b70ef76162e51657a5cd3939c
Author: zverok 
Date:   Thu Dec 16 00:33:25 2021 +0200

    Document Fiber::SchedulerInterface#io_read and #io_write

M	cont.c

commit 617687df097b8e9646be312c9fdf062090994a37
Author: Samuel Williams 
Date:   Mon Dec 20 23:06:21 2021 +1300

    Rename IMMUTABLE to READONLY.

M	include/ruby/io/buffer.h
M	io_buffer.c
M	scheduler.c
M	test/ruby/test_io_buffer.rb

commit 9fbf94ff042f91ecde094ff579784fa52efbc7a1
Author: Samuel Williams 
Date:   Mon Dec 20 21:22:46 2021 +1300

    Improve interface for get/set/copy.

M	include/ruby/io/buffer.h
M	io_buffer.c
M	test/fiber/scheduler.rb
M	test/ruby/test_io_buffer.rb

commit 2de5dc539b299ae27ea3157ec898a6dba33b6eda
Author: Samuel Williams 
Date:   Mon Dec 20 21:22:28 2021 +1300

    Fix handling of clear with offset and without length.

M	io_buffer.c

commit c86bcd434da573982ab52522a301ba5499dc13ed
Author: Samuel Williams 
Date:   Mon Dec 20 12:37:05 2021 +1300

    Mark non-private mapped files as external.

M	include/ruby/io/buffer.h
M	io_buffer.c
M	test/ruby/test_io_buffer.rb

commit da46b8d8e5d09f896fb1af5dabea12820f02b3d6
Author: Samuel Williams 
Date:   Mon Dec 20 12:17:38 2021 +1300

    Default `IO::Buffer#get_string` to use BINARY encoding.

M	io_buffer.c
M	test/ruby/test_io_buffer.rb

commit c3d8d26ad744d2a2dada135196e7d694d2966008
Author: Samuel Williams 
Date:   Mon Dec 20 12:11:58 2021 +1300

    Add tests for `IO::Buffer` `get`/`set`.

M	test/ruby/test_io_buffer.rb

commit 71bbc40ffa4bb16ef0fc31f8015f61709fac36ce
Author: Samuel Williams 
Date:   Mon Dec 20 12:11:21 2021 +1300

    Rename `to_str` -> `get_string` and add support for encodings.

M	io_buffer.c
M	test/ruby/test_io_buffer.rb

commit 49166fc74a9cd0bf48baa08d32e020183ad46723
Author: Samuel Williams 
Date:   Mon Dec 20 09:59:45 2021 +1300

    Improved exception usage/classes.

M	file.c
M	include/ruby/internal/intern/file.h
M	io_buffer.c
M	test/ruby/test_io_buffer.rb

commit 71bf5cef75b9d244a06261c9fc0b84fbe5a1592f
Author: Samuel Williams 
Date:   Mon Dec 20 09:43:22 2021 +1300

    Fix handling of frozens strings.

M	io_buffer.c
M	test/ruby/test_io_buffer.rb

commit 9de5c4ec761aad3edc50b38d9824b40665d18911
Author: Samuel Williams 
Date:   Mon Dec 20 09:03:52 2021 +1300

    Fix mapping invalid non-file object.

M	io_buffer.c
M	test/ruby/test_io_buffer.rb

commit 6ad8cf70713e6ae91a8218d4e0034ebbc1983c69
Author: Burdette Lamar 
Date:   Mon Dec 20 16:28:58 2021 -0600

    [DOC] Enhanced RDoc for IO (#5307)
    
    Treated:
    
        #sync
        #sync=
        #fsync
        #fdatasync
        #fileno
        #pid
        #inspect
        #to_io

M	io.c

commit 7bd25b9753284cf0ea22d9511b55bb2b0da0a3a2
Author: David Rodríguez 
Date:   Sun Dec 19 20:55:48 2021 +0100

    [rubygems/rubygems] Print warning when running potentially problematic rubygems + ruby combinations
    
    https://github.com/rubygems/rubygems/commit/d6df0b7de0
    
    Co-authored-by: André Arko 

M	libexec/bundle
M	spec/bundler/spec_helper.rb

commit 01f95ede0e37cd6a1b7e3db3ed34131c24531210
Author: David Rodríguez 
Date:   Sun Dec 19 22:36:15 2021 +0100

    [rubygems/rubygems] Rename `BUNDLE_SPEC_RUN` environment variable
    
    The `BUNDLE_` prefix should be reserved to first class settings that
    should be listed when running `bundle config`. This one is just a hacky
    environment variable that has not corresponding documented setting.
    
    https://github.com/rubygems/rubygems/commit/7e255c5058

M	lib/bundler/shared_helpers.rb
M	spec/bundler/commands/config_spec.rb
M	spec/bundler/spec_helper.rb

commit a350ed4123f138866940f7d9be950a2127c7f921
Author: David Rodríguez 
Date:   Sun Dec 19 20:11:16 2021 +0100

    [rubygems/rubygems] Remove ancient check
    
    https://github.com/rubygems/rubygems/commit/d647ab5607

M	libexec/bundle

commit 39cf0b5314c206fee5a331dcccd2d80bda11c417
Author: Alan Wu 
Date:   Mon Dec 20 16:13:34 2021 -0500

    Show whether object is garbage in rb_raw_obj_info()
    
    When using `rp(obj)` for debugging during development, it may be
    useful to know that an object is soon to be swept. Add a new letter to
    the object dump for whether the object is garbage. It's easy to forget
    about lazy sweep.

M	gc.c

commit 8b1b4e384f05360b2ca1978b6e5bac54193d7928
Author: Brandon Fish 
Date:   Mon Dec 20 12:19:23 2021 -0600

    [rubygems/rubygems] Skip find_in_unresolved_tree test for TruffleRuby due to longer runtime
    
    https://github.com/rubygems/rubygems/commit/36b8fbc508

M	test/rubygems/test_gem_specification.rb

commit 3bd5f27f737c7d365b7d01c43d77a958c224ab16
Author: Jeremy Evans 
Date:   Mon Dec 20 08:26:14 2021 -0800

    Remove Class#descendants

M	NEWS.md
M	class.c
M	object.c
D	spec/ruby/core/class/descendants_spec.rb
M	test/ruby/test_class.rb

commit c57ac4c6e0acf9b4c1fbb3092eefc89873c5d249
Author: Nobuyoshi Nakada 
Date:   Tue Dec 21 01:05:51 2021 +0900

    Fix location of extensions in bundled gems when static-linked-ext
    
    Install bundled gem extension files to the gem extension directory
    under DESTDIR, when static-linked-ext as well as non-static case.

M	tool/rbinstall.rb

commit 81f08edbd6f1d7c9ebd39dbe6766cde59173e75a
Author: zverok 
Date:   Mon Dec 20 09:07:25 2021 +0200

    [DOC] Document Thread::Backtrace.limit

M	vm_backtrace.c

commit 37aea9d7984d9bf884df121ab0b44168ae1ac0c5
Author: aycabta 
Date:   Tue Dec 21 00:16:32 2021 +0900

    [ruby/reline] Finalize when exception occurred
    
    https://github.com/ruby/reline/commit/1f8a3aee43
    
    Co-authored-by: Alex Gittemeier 

M	lib/reline.rb
M	lib/reline/line_editor.rb

commit c3a3f65b4575898ae2ae457bc4f56d1e6bdb169f
Author: aycabta 
Date:   Mon Dec 20 18:46:57 2021 +0900

    [ruby/reline] Split off set_signal_handler method
    
    In some tests, the LineEditor#reset method is always called, but doesn't
    need to set the signal handlers there, so cuts it out to a separate
    method.
    
    https://github.com/ruby/reline/commit/b143c4f5f9

M	lib/reline.rb
M	lib/reline/line_editor.rb

commit 95c61c8d827959b30c12b1a5fe32df95cab81cbd
Author: aycabta 
Date:   Mon Dec 20 18:46:08 2021 +0900

    [ruby/reline] Remove unnecessary clearing signal handler
    
    https://github.com/ruby/reline/commit/7a758e73dc

M	lib/reline/ansi.rb

commit e54e99bd163e7cffec227067d5749d0d30c52710
Author: git 
Date:   Tue Dec 21 00:11:19 2021 +0900

    * 2021-12-21 [ci skip]

M	version.h

commit 6b67f0631284b1be8e56e20ec133a1b3386fc090
Author: Kazuki Yamaguchi 
Date:   Mon Dec 20 23:59:34 2021 +0900

    test/fiber/test_io_buffer.rb: fix file descriptor leaks
    
    I got the warning while running "make test-all":
    
            Leaked file descriptor: TestFiberIOBuffer#test_write_nonblock: 9 : #
            Closed file descriptor: TestFiberIOBuffer#test_read_write_blocking: 9
            Leaked file descriptor: TestFiberIOBuffer#test_timeout_after: 10 : #
            Closed file descriptor: TestFiberIOBuffer#test_read_nonblock: 10

M	test/fiber/test_io_buffer.rb

commit ac757b218c66569be6789144b149d6d798c72d98
Author: Kazuki Yamaguchi 
Date:   Mon Apr 12 10:43:46 2021 +0900

    [ruby/openssl] pkey: use EVP_PKEY_CTX_new_from_name() on OpenSSL 3.0
    
    Replace EVP_PKEY_CTX_new_id() with the new EVP_PKEY_CTX_new_from_name()
    which takes the algorithm name in a string instead of in an NID.
    
    https://github.com/ruby/openssl/commit/d6535d13d1

M	ext/openssl/ossl_pkey.c

commit 61e426ae059945088b2bf84cdf1c8bdef273f314
Author: Kazuki Yamaguchi 
Date:   Sat Mar 20 23:16:41 2021 +0900

    [ruby/openssl] pkey: assume a pkey always has public key components on OpenSSL 3.0
    
    OpenSSL 3.0's EVP_PKEY_get0() returns NULL for provider-backed pkeys.
    This causes segfault because it was supposed to never return NULL
    before.
    
    We can't check the existence of public key components in this way on
    OpenSSL 3.0. Let's just skip it for now.
    
    https://github.com/ruby/openssl/commit/ccdb6f7bfa

M	ext/openssl/ossl_pkey.c

commit 2df917ed4facc67eae50266d711ec50335201bc3
Author: Kazuki Yamaguchi 
Date:   Sun Dec 12 00:47:35 2021 +0900

    [ruby/openssl] ssl: update test_options_disable_versions
    
    Use the combination of TLS 1.2 and TLS 1.3 instead of TLS 1.1 and TLS
    1.2 so that will the test case will be run on latest platforms.
    
    https://github.com/ruby/openssl/commit/e168df0f35

M	test/openssl/test_ssl.rb

commit 15eefd30add49c9c2c95551791e7bfc189adc46b
Author: Kazuki Yamaguchi 
Date:   Sun Dec 12 00:28:35 2021 +0900

    [ruby/openssl] ssl: update test_accept_errors_include_peeraddr test case
    
    Use a different invalid data example to prevent SSLSocket#accept from
    reaching EOF.
    
    https://github.com/ruby/openssl/commit/2e089c1916

M	test/openssl/test_ssl.rb

commit 0b3482c0e75c26a8388521ad21f3eb013f4a9938
Author: Kazuki Yamaguchi 
Date:   Wed Nov 17 11:39:06 2021 +0900

    [ruby/openssl] ssl: add constants for new SSL_OP_* flags
    
    Add all SSL_OP_* constants defined in OpenSSL 3.0.0 which are not
    specific to DTLS.
    
    https://github.com/ruby/openssl/commit/b1ee2f23b2

M	ext/openssl/ossl_ssl.c

commit b2fb503dabaf421997f20fa96cbf4e11e5d5206d
Author: Kazuki Yamaguchi 
Date:   Thu Apr 15 00:51:58 2021 +0900

    [ruby/openssl] engine: disable OpenSSL::Engine on OpenSSL 3.0
    
    The entire ENGINE API is deprecated in OpenSSL 3.0 in favor of the new
    "Provider" concept.
    
    OpenSSL::Engine will not be defined when compiled with OpenSSL 3.0.
    We would need a way to interact with providers from Ruby programs, but
    since the concept is completely different from the ENGINE API, it will
    not be through the current OpenSSL::Engine interface.
    
    https://github.com/ruby/openssl/commit/69a27d8de4

M	ext/openssl/openssl_missing.c
M	ext/openssl/ossl.h
M	ext/openssl/ossl_engine.c
M	ext/openssl/ossl_pkey.c

commit 79a6f4349d0aebc7ee2141df43d35f17642fc096
Author: Kazuki Yamaguchi 
Date:   Sat Dec 11 16:30:30 2021 +0900

    [ruby/openssl] hmac: skip test_dup on OpenSSL 3.0 for now
    
    EVP_MD_CTX_copy() doesn't seem to work as intended on HMAC EVP_MD_CTX
    on OpenSSL 3.0.0 and causes a double free. I haven't found the root
    problem yet, but let's skip the test case for now.
    
    https://github.com/ruby/openssl/commit/4699581639

M	test/openssl/test_hmac.rb

commit c1a7c6df18f6d6eb0c701443b1231ea2c0baf6ea
Author: Kazuki Yamaguchi 
Date:   Sat Dec 11 16:27:42 2021 +0900

    [ruby/openssl] hmac: fix wrong usage of EVP_DigestSignFinal()
    
    According to the manpage, the "siglen" parameter must be initialized
    beforehand.
    
    https://github.com/ruby/openssl/commit/6a60c7b2e7

M	ext/openssl/ossl_hmac.c

commit cfcdd2b4bd6c2420ecc93a8f77e553b53595b7ef
Author: Kazuki Yamaguchi 
Date:   Sun Oct 24 17:50:18 2021 +0900

    [ruby/openssl] cipher: update test_ciphers
    
    Do not attempt to actually use all algorithms. Not all algorithms listed
    in OpenSSL::Cipher.ciphers are always available.
    
    https://github.com/ruby/openssl/commit/91d04f991f

M	test/openssl/test_cipher.rb

commit 8ebf5978852e22358cbcdf74c0eb506f22e2c73f
Author: Kazuki Yamaguchi 
Date:   Tue Sep 21 18:29:59 2021 +0900

    [ruby/openssl] pkey: deprecate PKey#set_* methods
    
    OpenSSL 3.0 made EVP_PKEY immutable. This means we can only have a const
    pointer of the low level struct and the following methods can no longer
    be provided when linked against OpenSSL 3.0:
    
     - OpenSSL::PKey::RSA#set_key
     - OpenSSL::PKey::RSA#set_factors
     - OpenSSL::PKey::RSA#set_crt_params
     - OpenSSL::PKey::DSA#set_pqg
     - OpenSSL::PKey::DSA#set_key
     - OpenSSL::PKey::DH#set_pqg
     - OpenSSL::PKey::DH#set_key
     - OpenSSL::PKey::EC#group=
     - OpenSSL::PKey::EC#private_key=
     - OpenSSL::PKey::EC#public_key=
    
    There is no direct replacement for this functionality at the moment.
    I plan to introduce a wrapper around EVP_PKEY_fromdata(), which takes
    all key components at once to construct an EVP_PKEY.
    
    https://github.com/ruby/openssl/commit/6848d2d969

M	ext/openssl/ossl_pkey.h
M	ext/openssl/ossl_pkey_ec.c
M	test/openssl/test_pkey_dh.rb
M	test/openssl/test_pkey_dsa.rb
M	test/openssl/test_pkey_ec.rb
M	test/openssl/test_pkey_rsa.rb

commit b93ae54258684d0c3d1501400af949c013f44fba
Author: Kazuki Yamaguchi 
Date:   Fri Dec 17 02:21:42 2021 +0900

    [ruby/openssl] pkey/ec: deprecate OpenSSL::PKey::EC#generate_key!
    
    OpenSSL::PKey::EC#generate_key! will not work on OpenSSL 3.0 because
    keys are made immutable. Users should use OpenSSL::PKey.generate_key
    instead.
    
    https://github.com/ruby/openssl/commit/5e2e66cce8

M	ext/openssl/ossl_pkey_ec.c
M	test/openssl/test_pkey_ec.rb

commit 0d698be04f6c76250706e8d56f542c3c7fca0fa7
Author: Kazuki Yamaguchi 
Date:   Fri Oct 22 16:24:07 2021 +0900

    [ruby/openssl] pkey/dh: deprecate OpenSSL::PKey::DH#generate_key!
    
    OpenSSL::PKey::DH#generate_key! will not work on OpenSSL 3.0 because
    keys are made immutable. Users should use OpenSSL::PKey.generate_key
    instead.
    
    https://github.com/ruby/openssl/commit/8ee6a582c7

M	ext/openssl/lib/openssl/pkey.rb
M	ext/openssl/ossl_pkey_dh.c
M	test/openssl/test_pkey_dh.rb

commit 50b90c5fc3480d3193c9cf161c2a6e71cc688189
Author: Kazuki Yamaguchi 
Date:   Fri Dec 17 02:22:25 2021 +0900

    [ruby/openssl] pkey/ec: avoid using EC#public_key= in EC#dh_compute_key
    
    Similarly to DH#compute_key, work around it by constructing a
    SubjectPublicKeyInfo. This should be considered as a temporary
    implementation.
    
    https://github.com/ruby/openssl/commit/fc9aabc18d

M	ext/openssl/lib/openssl/pkey.rb

commit dc3f37c6cc64139848c074571707399a225f2efe
Author: Kazuki Yamaguchi 
Date:   Sun Dec 12 01:25:20 2021 +0900

    [ruby/openssl] pkey/dh: avoid using DH#set_key in DH#compute_key
    
    DH#set_key will not work on OpenSSL 3.0 because keys are immutable.
    For now, let's reimplement DH#compute_key by manually constructing a
    DER-encoded SubjectPublicKeyInfo structure and feeding it to
    OpenSSL::PKey.read.
    
    Eventually, we should implement a new method around EVP_PKEY_fromdata()
    and use it instead.
    
    https://github.com/ruby/openssl/commit/46ca47060c

M	ext/openssl/lib/openssl/pkey.rb

commit df6589e418adb2a4018e40d53dab2fd5556ed41e
Author: Kazuki Yamaguchi 
Date:   Thu Apr 22 16:33:59 2021 +0900

    [ruby/openssl] pkey: use EVP_PKEY_dup() if available
    
    We can use it to implement OpenSSL::PKey::PKey#initialize_copy. This
    should work on all key types, not just DH/DSA/EC/RSA types.
    
    https://github.com/ruby/openssl/commit/66cd8cbaaf

M	ext/openssl/extconf.rb
M	ext/openssl/ossl_pkey.c
M	ext/openssl/ossl_pkey_dh.c
M	ext/openssl/ossl_pkey_dsa.c
M	ext/openssl/ossl_pkey_ec.c
M	ext/openssl/ossl_pkey_rsa.c

commit c1a36ebfda8ba570173e2844bc584786852e6190
Author: Kazuki Yamaguchi 
Date:   Mon Apr 12 18:32:40 2021 +0900

    [ruby/openssl] pkey: allocate EVP_PKEY on #initialize
    
    Allocate an EVP_PKEY when the content is ready: when #initialize
    or #initialize_copy is called, rather than when a T_DATA is allocated.
    This is more natural because the lower level API has been deprecated
    and an EVP_PKEY is becoming the minimum unit of handling keys.
    
    https://github.com/ruby/openssl/commit/74f6c61756

M	ext/openssl/ossl_pkey.c
M	ext/openssl/ossl_pkey.h
M	ext/openssl/ossl_pkey_dh.c
M	ext/openssl/ossl_pkey_dsa.c
M	ext/openssl/ossl_pkey_ec.c
M	ext/openssl/ossl_pkey_rsa.c

commit 02a58fbfd1406acde30bb7ca4d019f2bd09bfacd
Author: Kazuki Yamaguchi 
Date:   Mon Apr 12 13:55:10 2021 +0900

    [ruby/openssl] pkey: do not check NULL argument in ossl_pkey_new()
    
    Passing NULL to ossl_pkey_new() makes no sense in the first place, and
    in fact it is ensured not to be NULL in all cases.
    
    https://github.com/ruby/openssl/commit/316cb2a41f

M	ext/openssl/ossl_pkey.c
M	ext/openssl/ossl_pkey.h

commit 6ef0f272ebb2a4bd95471afcfe5224e72d2dad62
Author: Kazuki Yamaguchi 
Date:   Sat Mar 20 23:16:16 2021 +0900

    [ruby/openssl] pkey: use OSSL_DECODER to load encrypted PEM on OpenSSL 3.0
    
    OpenSSL 3.0 has rewritten routines to load pkeys (PEM_read_bio_* and
    d2i_* functions) around the newly introduced OSSL_DECODER API.
    
    This comes with a slight behavior change. They now decrypt and parse
    each encountered PEM block, then check the kind of the block. This used
    to be the reverse: they checked the PEM header to see the kind, and then
    decrypted the content. This means that the password callback may now be
    called repeatedly.
    
    Let's use the OSSL_DECODER API directly on OpenSSL 3.0 so that the
    return value from the password callback will be reused automatically.
    
    https://github.com/ruby/openssl/commit/a84ea531bb

M	ext/openssl/ossl_pkey.c

commit 582606dc58d51d333e30860c1f2cea7a6774c7f8
Author: Kazuki Yamaguchi 
Date:   Wed Nov 3 23:31:29 2021 +0900

    [ruby/openssl] pkey: test parsing concatenated PEM string
    
    PEM-encoded private keys are sometimes stored together with irrelevant
    PEM blocks, such as the corresponding X.509 certificate.
    
    PEM_read_bio_*() family automatically skips unknown PEM blocks, but on
    OpenSSL 3.0 we will be using the new OSSL_DECODER API instead due to
    some breaking changes around the password callback.
    
    Let's add a test case so that we won't break the current behavior.
    
    https://github.com/ruby/openssl/commit/8c185e0ae5

M	test/openssl/test_pkey_rsa.rb

commit 1c72c95d999040dbe9399d3687d8e52f654aa5bf
Author: Yusuke Endoh 
Date:   Mon Dec 20 19:44:56 2021 +0900

    test/ruby/test_ast.rb: Avoid a "method redefined" warning

M	test/ruby/test_ast.rb

commit 26c9ef6a890f0d4e51caefd303fd93356bb4d596
Author: Nobuyoshi Nakada 
Date:   Mon Dec 20 19:25:33 2021 +0900

    [DOC] Skip tests if only NEWS.md changed

M	.github/workflows/bundled_gems.yml

commit 7700e9a5cc617db9c283a8b409faffab98e2d602
Author: git 
Date:   Mon Dec 20 09:50:16 2021 +0000

    Update bundled gems list at 2021-12-20

M	NEWS.md

commit d2e63af474e437fdaa32ca86d7968619cc334184
Author: Yusuke Endoh 
Date:   Mon Dec 20 18:36:31 2021 +0900

    Update TypeProf to 0.21.0

M	gems/bundled_gems

commit 87b968c9037be507267dbd2e94a74c3074bca826
Author: Hiroshi SHIBATA 
Date:   Thu Dec 16 14:29:10 2021 +0900

    [ruby/psych] psych depends stringio only CRuby
    
    https://github.com/ruby/psych/commit/e7bbf26cb2

M	ext/psych/psych.gemspec

commit 4db88173d88225b26fdb793be4acae9d2d7e1a24
Author: git 
Date:   Mon Dec 20 09:26:42 2021 +0000

    Update default gems list at 706c7a27fa00f72ec4f5d2f3af8151 [ci skip]

M	NEWS.md

commit 706c7a27fa00f72ec4f5d2f3af8151ebbc2743f2
Author: Hiroshi SHIBATA 
Date:   Mon Dec 20 18:22:41 2021 +0900

    [ruby/psych] Bump version to 4.0.3
    
    https://github.com/ruby/psych/commit/75ab76e788

M	ext/psych/lib/psych/versions.rb

commit 24f7a41aed3e9b753142e4d460039e05828f408c
Author: Hiroshi SHIBATA 
Date:   Mon Dec 20 18:02:19 2021 +0900

    Update logger version on NEWS

M	NEWS.md

commit e22c8e63e1b841355edb0782f76eaeefb815598c
Author: Hiroshi SHIBATA 
Date:   Mon Dec 20 18:01:19 2021 +0900

    [ruby/logger] Bump version to 1.5.0
    
    https://github.com/ruby/logger/commit/cdeddb2f67

M	lib/logger/version.rb

commit 7b0f2d618e322ed75a3c242307b3690e2f8b837c
Author: aycabta 
Date:   Mon Dec 20 16:08:03 2021 +0900

    [ruby/irb] Remove unnecessary space in regexp
    
    https://github.com/ruby/irb/commit/c24a8e2483

M	test/irb/test_cmd.rb

commit b96ef7684c45ea1959c6f2bdad125b4a073419a4
Author: aycabta 
Date:   Mon Dec 20 16:06:12 2021 +0900

    [ruby/irb] Add East Asian Ambiguous Width to irb_info command
    
    https://github.com/ruby/irb/commit/4cade4b7e5

M	lib/irb/cmd/info.rb
M	test/irb/test_cmd.rb

commit 145f7c094f4eb25d7fe39b60276222109afad1d1
Author: git 
Date:   Mon Dec 20 07:05:44 2021 +0000

    Update bundled gems list at 2021-12-20

M	NEWS.md
M	gems/bundled_gems

commit 6ccc15c2abbc0e96fb2e4d02a584819116743b44
Author: aycabta 
Date:   Mon Dec 20 15:53:24 2021 +0900

    [ruby/reline] Rename an unused variable name for CI
    
    https://github.com/ruby/reline/commit/ba97f3bd87

M	lib/reline/windows.rb

commit 7572e0c6eca8930c875073ff944d5729f3b7a160
Author: aycabta 
Date:   Mon Dec 20 14:44:50 2021 +0900

    [ruby/reline] Add a test for dialog proc with context
    
    https://github.com/ruby/reline/commit/2ce2696d6e

M	test/reline/test_reline.rb

commit bb122811640db5ab307805f81cf6b5ccdd6a2f4d
Author: aycabta 
Date:   Mon Dec 20 14:44:26 2021 +0900

    [ruby/reline] Add an assertion for overwriting dialog proc with the same name
    
    https://github.com/ruby/reline/commit/96067bc13c

M	test/reline/test_reline.rb

commit cc072899a116198d4045a031c21110b61b5f6844
Author: aycabta 
Date:   Mon Dec 20 14:39:27 2021 +0900

    [ruby/reline] Rename the variable "p" because it overlaps with the "p" method
    
    https://github.com/ruby/reline/commit/9bf2ca692e

M	test/reline/test_reline.rb

commit 145c1e0691d4a6ca8eda40a42e584a1f6899fae2
Author: aycabta 
Date:   Mon Dec 20 14:36:37 2021 +0900

    [ruby/reline] Add support for overwriting dialog proc with the same name
    
    https://github.com/ruby/reline/commit/16aa20c380

M	lib/reline.rb
M	lib/reline/line_editor.rb
M	test/reline/test_reline.rb

commit c462e07a5c9cf80227926de40c00917445f5b53e
Author: aycabta 
Date:   Mon Dec 20 14:34:15 2021 +0900

    [ruby/reline] Add Reline.dialog_proc(name_sym)
    
    https://github.com/ruby/reline/commit/7e5dbe4750

M	lib/reline.rb
M	test/reline/test_reline.rb

commit ec517d60b06069b7de6ac63cb284745a5c827bbd
Author: aycabta 
Date:   Fri Dec 17 14:16:59 2021 +0900

    [ruby/reline] Add a test for Reline.add_dialog_proc
    
    https://github.com/ruby/reline/commit/c4bb1bfd79

M	test/reline/test_reline.rb

commit cf508d4db9cfcec27d1e01e051aff1f3101766b4
Author: aycabta 
Date:   Mon Dec 20 14:54:18 2021 +0900

    [ruby/reline] Add space
    
    https://github.com/ruby/reline/commit/4b7fa6b213

M	lib/reline/windows.rb

commit 2a8ff602e0a6302faef92d554fc809aef3b71212
Author: YO4 
Date:   Fri Dec 17 18:22:59 2021 +0900

    [ruby/reline] windows jruby issue
    
    jruby needs terminal control with Windows API  on classic console
    
    https://github.com/ruby/reline/commit/b61bc43374

M	lib/reline/windows.rb

commit 65cb250cb15f8b93cee8a1a7c1e8adb1b2e6e95e
Author: YO4 
Date:   Sat Dec 11 23:40:01 2021 +0900

    [ruby/reline] windows clear screen with \e 2 J
    
    Windows Terminal does smart screen clearing when \e 2 J (not clear entire screen but scrolls down just needed)
    
    On consoles not support sequences, ruby still converts it to API call.
    
    https://github.com/ruby/reline/commit/c00930dab9

M	lib/reline/windows.rb

commit 2c415cda854ab02f8341428b5346a115d3648a48
Author: YO4 
Date:   Sat Dec 11 23:04:38 2021 +0900

    [ruby/reline] windows improve scrolling
    
    ScrollConsoleScreenBuffer can't scroll window of Windows Terminal.
    Use LF to sctoll.
    
    Microsoft says
    ```In the virtual terminal sequences world, the size of the window and the size of the screen buffer are fixed to the same value.
    ```
    https://docs.microsoft.com/en-us/windows/console/window-and-screen-buffer-size
    
    https://github.com/ruby/reline/commit/9ff3c70732

M	lib/reline/windows.rb

commit a856489be63f78b137cb2517c9d812a911d58fbe
Author: aycabta 
Date:   Mon Dec 20 14:51:05 2021 +0900

    [ruby/reline] Revert "Add a space after a comma"
    
    This reverts commit https://github.com/ruby/reline/commit/6009b3ef7ab7.
    
    To merge a Pull Request...
    
    https://github.com/ruby/reline/commit/83021f4267

M	lib/reline/windows.rb

commit 7dd0e91cac44a2bee298892c4f647675d6a22d5d
Author: aycabta 
Date:   Mon Dec 20 14:46:15 2021 +0900

    [ruby/reline] Revert "Add space"
    
    This reverts commit https://github.com/ruby/reline/commit/1bb071bcf5a9.
    
    To merge a Pull Request...
    
    https://github.com/ruby/reline/commit/e9fe1b1305

M	lib/reline/windows.rb

commit 3bb6e4f641223c8573d2735e179f6822bc79cc33
Author: Burdette Lamar 
Date:   Sun Dec 19 22:04:47 2021 -0600

    [DOC] Enhanced RDoc for IO (#5304)
    
    Treated:
    
        ::try_convert
        #write
        #<<
        #flush
        #tell
        #seek
        #pos=
        #rewind
        #eof

M	io.c

commit 7867a76e69b2343691cfcd7522dd17bc39b67c56
Author: Hiroshi SHIBATA 
Date:   Mon Dec 20 12:46:11 2021 +0900

    Update pp version on NEWS

M	NEWS.md

commit 0a198e42386ba6797dcc734548924726ffe6c7fd
Author: Hiroshi SHIBATA 
Date:   Mon Dec 20 12:43:49 2021 +0900

    [ruby/pp] Bump version to 0.3.0
    
    https://github.com/ruby/pp/commit/c66d1b9cdc

M	lib/pp.gemspec

commit 1976b38f7a4e1884852653508ec1160c8b581363
Author: David Rodríguez 
Date:   Sun Dec 12 20:43:09 2021 +0100

    [rubygems/rubygems] Add support in binstubs for trampolining bundler
    
    If `bundler __` is given, I guess the most reasonable approach
    is to completely skip version switching, because the user is technically
    opting out of it. But since binstubs completely remove this argument
    from `ARGV` after processing it, we have no way of detecting that it was
    actually passed in the first place in order to skip the feature. So we
    set `BUNDLER_VERSION` explicitly in this case.
    
    https://github.com/rubygems/rubygems/commit/e0f360d6d7

M	lib/rubygems/installer.rb

commit 72db2e00d4edb7a0e316a5979316595a67069d97
Author: David Rodríguez 
Date:   Sun Dec 19 15:31:53 2021 +0100

    [rubygems/rubygems] Error tracing should be printed to stderr
    
    https://github.com/rubygems/rubygems/commit/23178f7d7b

M	lib/bundler/ui/shell.rb
M	spec/bundler/install/gems/compact_index_spec.rb
M	spec/bundler/realworld/mirror_probe_spec.rb

commit a0f10a973fb94a0ee73da7cab792128cdf601783
Author: Victor Shepelev 
Date:   Sun Dec 19 18:09:52 2021 +0200

    [DOC] Add documentation for hash value omission syntax

M	doc/syntax/calling_methods.rdoc
M	doc/syntax/literals.rdoc
M	hash.c

commit 1dd10e189274546689c0b59f6a76849b2808f255
Author: Chris AtLee 
Date:   Tue Nov 9 09:57:23 2021 -0500

    [DOC] Add documentation for Random.rand and Random.seed

M	random.c

commit 12ad53f41ff7956d12bd96ee2145355d11232a70
Author: git 
Date:   Mon Dec 20 00:37:20 2021 +0900

    * 2021-12-20 [ci skip]

M	version.h

commit f44367effe07e7e7c7b4117624e04b9f62329ea0
Author: Burdette Lamar 
Date:   Sun Dec 19 09:37:06 2021 -0600

    [DOC] Addition to IO introduction (#5299)
    
    Co-authored-by: Nobuyoshi Nakada 

M	io.c

commit ae58b71eebf774d826bf3cde2b1844358eafde34
Author: Kazuhiro NISHIYAMA 
Date:   Sun Dec 19 23:43:39 2021 +0900

    Sort URLs by issue numbers [ci skip]

M	NEWS.md

commit 3f2b58184060b9f0c93327ccb422686368930d33
Author: Kazuki Tsujimoto 
Date:   Sun Dec 19 21:37:08 2021 +0900

    Add news about allowing omission of parentheses in one-line pattern matching

M	NEWS.md

commit e2ec97c4b823a0b2e0c31e7a6d77b1dcdc0dfada
Author: Nobuyoshi Nakada 
Date:   Sun Dec 19 20:12:26 2021 +0900

    [DOC] How to get the longest last match [Bug #18415]

M	string.c

commit 0eb1c4ea3afa92c9e538551eb344ce1770cac092
Author: Kaíque Kandy Koga 
Date:   Wed Dec 15 19:13:40 2021 -0300

    [ruby/irb] Add information about --extra-doc-dir option in the comments
    
    https://github.com/ruby/irb/commit/ac3d4b9e79

M	lib/irb.rb

commit 56811617ab4b7007aad10c794366115a671e4f29
Author: Samuel Williams 
Date:   Sun Dec 19 17:05:57 2021 +1300

    Improve IO::Buffer resize and introduce ownership transfer.

M	include/ruby/io/buffer.h
M	io_buffer.c
M	scheduler.c
M	test/ruby/test_io_buffer.rb

commit a81e0600a7fa97bc1782de91110c6704a47af419
Author: Nobuyoshi Nakada 
Date:   Wed Dec 15 22:43:45 2021 +0900

    [ruby/reline] Load correct version.rb from gemspec
    
    When merged to ruby/ruby, reline.gemspec file is located under
    lib/reline, as the same as reline/version.rb.  That is the latter
    path relative from the former differs from the ruby/reline case,
    and the reline/version.rb in the default load path will be loaded.
    Try `require_relative` not to load unexpected files.
    
    https://github.com/ruby/reline/commit/54905d0e1b

M	lib/reline/reline.gemspec

commit 7159af3491763aeeaf7accec426ff228d7dbfa3b
Author: aycabta 
Date:   Thu Dec 16 10:19:52 2021 +0900

    [ruby/reline] Clear dialog in pasting
    
    https://github.com/ruby/reline/commit/dabf5313e0

M	lib/reline/line_editor.rb
M	test/reline/yamatanooroti/test_rendering.rb

commit f3e30b26c509c6dd707bc07c4a73fbac2576e9e2
Author: Samuel Williams 
Date:   Sun Dec 19 09:56:52 2021 +1300

    Default size for IO::Buffer.

M	include/ruby/io/buffer.h
M	io_buffer.c
M	test/ruby/test_io_buffer.rb

commit 6bef1ac62850be6d83a069ac3d3be0b8e2f3afcf
Author: Koichi Sasada 
Date:   Sun Dec 19 06:15:22 2021 +0900

    `rb_iseq_update_references()` cares `script_lines`
    
    and it fixes compaction issue:
    http://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20211218T203001Z.fail.html.gz

M	iseq.c

commit 45f2182438a632b1217ca26f3e89860e2ee58357
Author: Daniel Colson 
Date:   Thu Dec 16 19:52:44 2021 -0500

    YJIT: Implement intern
    
    `intern` showed up in the top 20 most frequent exit ops (granted with a
    fairly small percentage) in a benchmark run by @jhawthorn on
    github/github.
    
    This implementation is similar to gen_anytostring, but with 1
    stack pop instead of 2.
    
    Co-authored-by: John Hawthorn 

M	test/ruby/test_yjit.rb
M	yjit_codegen.c

commit dd29ba076439375c6e235218ce5a0a3f01d41b29
Author: Koichi Sasada 
Date:   Sun Dec 19 05:35:16 2021 +0900

    `iseq_type_sym()` -> `iseq_type_id()`
    
    `iseq_type_sym()` returns `ID` (surprisingly!) so rename it
    to `iseq_type_id()`.

M	iseq.c

commit 89a02d8932774f740013fe2a829faa9c40a1cfd1
Author: Koichi Sasada 
Date:   Sun Dec 19 03:20:00 2021 +0900

    add `rb_iseq_type()` to return iseq type in Symbol
    
    It is shorthand `ISeq#to_a[9]`.

M	iseq.c
M	iseq.h

commit 52b1c76534eb5610527be97e8c9e98e46513e48c
Author: Yusuke Endoh 
Date:   Sun Dec 19 04:13:14 2021 +0900

    Manually sync https://github.com/ruby/error_highlight/commit/d2140d795ad0a06398db81739201877d431755db

M	lib/error_highlight/core_ext.rb

commit 6a51c3e80c0901851c252ed4d1387e43939a452f
Author: Yusuke Endoh 
Date:   Sun Dec 19 04:00:51 2021 +0900

    Make AST.of possible even under eval when keep_script_lines is enabled
    
    Now the following code works without an exception.
    
    ```
    RubyVM.keep_script_lines = true
    
    eval(<acac2b8128980b97c64b4d057acdf2ceffb0b981
Author: Yusuke Endoh 
Date:   Sun Dec 19 03:40:44 2021 +0900

    Make RubyVM::AbstractSyntaxTree.of raise for backtrace location in eval
    
    This check is needed to fix a bug of error_highlight when NameError
    occurred in eval'ed code.
    https://github.com/ruby/error_highlight/pull/16
    
    The same check for proc/method has been already introduced since
    64ac984129a7a4645efe5ac57c168ef880b479b2.

M	ast.c
M	internal/vm.h
M	lib/error_highlight/core_ext.rb
M	test/ruby/test_ast.rb
M	vm_backtrace.c

commit 7e0e6f90744ec89a87554d209fb797ddf7919319
Author: Burdette Lamar 
Date:   Sat Dec 18 12:32:11 2021 -0600

    What's Here for ENV (#5292)
    
    [DOC] What's Here for ENV

M	hash.c

commit 1ed520a9ef0ceb5fa9f9480505d10a72c7014430
Author: git 
Date:   Sun Dec 19 01:07:23 2021 +0900

    * 2021-12-19 [ci skip]

M	version.h

commit 45de4025f522f5148f0fc730aa0a1695a87daca2
Author: Koichi Sasada 
Date:   Sun Dec 19 01:05:17 2021 +0900

    skip -v spec on MJIT
    
    fix this failure:
    
    ```
    configure ... cppflags=-DMJIT_FORCE_ENABLE
    ...
    make test-spec
    
    1)
    The -v command line option when used alone prints version and ends FAILED
    Expected
    "ruby 3.1.0dev (2021-12-18T10:10:42Z master 78c175280b) +MJIT [x86_64-linux]
    "
    to include "ruby 3.1.0dev (2021-12-18T10:10:42Z master 78c175280b) [x86_64-linux]"
    /tmp/ruby/v3/src/trunk-mjit-wait/spec/ruby/command_line/dash_v_spec.rb:9:in `block (3 levels) in '
    /tmp/ruby/v3/src/trunk-mjit-wait/spec/ruby/command_line/dash_v_spec.rb:4:in `'
    ```
    
    http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3759943

M	spec/ruby/command_line/dash_v_spec.rb

commit 235f523a88f0c3733adcb982b8c41fceaac4f9f6
Author: Samuel Williams 
Date:   Sat Dec 18 23:47:10 2021 +1300

    Fix spelling of DECLAIR_TYPE.

M	io_buffer.c

commit 78c175280befc8f0078ee037233ce1bb0af80ed6
Author: Samuel Williams 
Date:   Sat Dec 18 21:42:17 2021 +1300

    Fix code formatting.

M	doc/hacking.md

commit 1560cc16889e1afede66f675c89f9e3962a1e35e
Author: Samuel Williams 
Date:   Sat Dec 18 20:39:57 2021 +1300

    Introduce setup instructions for better parallelism.

M	doc/hacking.md

commit 75b5a4808fce6e6a11ef43a12c399e4e2eb63e86
Author: Samuel Williams 
Date:   Sat Dec 18 18:17:33 2021 +1300

    Initial hacking guide.

A	doc/hacking.md

commit 42d32311541e58503b885b09b469948922650c66
Author: Samuel Williams 
Date:   Sat Dec 18 18:19:30 2021 +1300

    Introduce io_result wrapper for passing `[-errno, size]` in VALUE.

M	include/ruby/fiber/scheduler.h
M	io.c
M	test/fiber/scheduler.rb
M	test/fiber/test_io.rb
A	test/fiber/test_io_buffer.rb

commit 922a81a99418c992f4039b27a8341f2ee96d2d0c
Author: Nobuyoshi Nakada 
Date:   Sat Dec 18 12:31:43 2021 +0900

    Skip tests on pull requests labeled as Documentation

M	.github/workflows/baseruby.yml
M	.github/workflows/check_dependencies.yml
M	.github/workflows/codeql-analysis.yml
M	.github/workflows/compilers.yml
M	.github/workflows/mingw.yml
M	.github/workflows/mjit.yml
M	.github/workflows/spec_guards.yml
M	.github/workflows/ubuntu.yml
M	.github/workflows/windows.yml
M	.github/workflows/yjit-ubuntu.yml
M	.github/workflows/yjit_asm_tests.yml

commit 629c8f12aec87cc938ae1383b3c8fb449c185b39
Author: Nobuyoshi Nakada 
Date:   Sat Dec 18 13:05:48 2021 +0900

    Fix pull_request condition [ci skip]

M	.github/workflows/bundled_gems.yml

commit 424605da7c0c24a04bfbe21d8e30dabe17bdcad8
Author: Nobuyoshi Nakada 
Date:   Sat Dec 18 01:27:08 2021 +0900

    [DOC] Cache stdgems list

M	.github/workflows/check_misc.yml

commit 1c49d809f470de74d5697ce2e23a830b12f2c686
Author: aycabta 
Date:   Wed Dec 15 10:18:37 2021 +0900

    [ruby/reline] Remove unnecessary "*"
    
    https://github.com/ruby/reline/commit/7b50638e24

M	lib/reline/windows.rb

commit 7f2123bc080ef2d439e231c23e3f083edc0cb552
Author: aycabta 
Date:   Sun Dec 12 10:17:06 2021 +0900

    [ruby/reline] Add a space after a comma
    
    https://github.com/ruby/reline/commit/6009b3ef7a

M	lib/reline/windows.rb

commit adf6c0928df521aeb19cd999939d5ce422ff1743
Author: aycabta 
Date:   Tue Dec 14 10:09:10 2021 +0900

    [ruby/reline] Change a test method name to more appropriate
    
    https://github.com/ruby/reline/commit/d014cc85b7

M	test/reline/yamatanooroti/test_rendering.rb

commit 8cc01b668aa1eb0a19e7880dd697d78b93246704
Author: aycabta 
Date:   Tue Oct 12 12:48:31 2021 +0900

    [ruby/reline] Add space
    
    https://github.com/ruby/reline/commit/1bb071bcf5

M	lib/reline/windows.rb

commit 66ec3217dfe92267791071acb50ac60791a7861e
Author: Charles Oliver Nutter 
Date:   Tue Dec 7 15:10:16 2021 -0600

    [ruby/pp] Add context to bind_call and skip 2.7+ test
    
    The bind_call definition here is added primarily to support
    running the tests on JRuby 9.3, which only supports Ruby 2.6
    features. The excluded test appears to depend on inspect behavior
    that changed after Ruby 2.6.
    
    With these two changes the test suite runs green on Ruby 2.6 and
    JRuby 9.3.
    
    https://github.com/ruby/pp/commit/892c612958

M	test/test_pp.rb

commit cc73dfb92a4bd15d48217d4697a78a5814213e07
Author: Charles Oliver Nutter 
Date:   Tue Sep 28 09:53:03 2021 -0500

    [ruby/pp] Incorporate 2.6 versions of 2.7 methods needed
    
    * UnboundMethod#bind_call
    * ruby2_keywords gem for testing
    
    https://github.com/ruby/pp/commit/721d8cbd10

M	test/test_pp.rb

commit 73da1c5ea3fcc5abb1f72f70f7a3e61683368177
Author: Charles Oliver Nutter 
Date:   Tue Sep 28 09:37:07 2021 -0500

    [ruby/pp] Use etc instead of .so for broader compatibility
    
    The use of `etc.so` here requires that etc is always implemented
    as a C extension on-disk. However at least one impl – JRuby –
    currently implements it as an internal extension, loaded via a
    Ruby script. This require should simply use the base name of the
    library, `etc`, to allow Ruby-based implementations to load as
    well.
    
    https://github.com/ruby/pp/commit/2061f994e0

M	lib/pp.rb

commit 5a6baaba3881c04534c9ad959e427ade3d5e410b
Author: Charles Oliver Nutter 
Date:   Thu Sep 23 23:57:26 2021 -0500

    [ruby/pp] Only do RubyVM patches if class exists
    
    This class does not exist in any implementation except CRuby.
    
    I would recommend moving this code somewhere else, like a separate
    file loaded only on CRuby or into CRuby itself. For now this
    change is sufficient to load the library on other implementations.
    
    https://github.com/ruby/pp/commit/7d5a220f64

M	lib/pp.rb

commit de6ef2ca71453cd7a9a10943dc082718ea2f8f17
Author: rm155 
Date:   Fri Jul 16 18:05:52 2021 -0400

    [ruby/benchmark] Freeze VERSION
    
    https://github.com/ruby/benchmark/commit/89b889b109

M	lib/benchmark/version.rb

commit e442ec4ea0bf28409afbf236efc05a919ce66b2c
Author: Hiroshi SHIBATA 
Date:   Thu Dec 16 13:49:35 2021 +0900

    [ruby/logger] Removed loading old helper file and load Logger class by itself
    
    https://github.com/ruby/logger/commit/5ee0fd6e51

M	test/logger/test_formatter.rb

commit 43755468102e3d62830d076d1fae0d6beba2b25b
Author: Baron Bloomer 
Date:   Tue Aug 17 11:57:45 2021 +0100

    [ruby/logger] Test cases
    
    https://github.com/ruby/logger/commit/40adb645e2

A	test/logger/test_formatter.rb
M	test/logger/test_logger.rb

commit a8b11b5cdd5fedd30a65e60bdae4c00d259d4191
Author: Baron Bloomer 
Date:   Thu Jul 29 09:31:33 2021 +0100

    [ruby/logger] Changes to datetime formatting
    
    Formatting a datetime should only pertain to itself and valid datetimes do not contain a space. Should there be a desire to show show a space between the datetime and the process pid in the formatted log, this formatting logic should take place there.
    Furthermore, the default datetime format is moved to a class variable to allowing this variable to be overwritten by subclasses.
    
    https://github.com/ruby/logger/commit/7cbd434349

M	lib/logger/formatter.rb

commit cc5fcae1705f8c4f6dc02d76bbd7940ba9666d59
Author: Alan Wu 
Date:   Fri Dec 17 11:44:55 2021 -0500

    YJIT: Remove double check for block arg handling
    
    Inline and remove iseq_supported_args_p(iseq) to remove a potentially
    dangerous double check on `iseq->body->param.flags.has_block` and
    `iseq->body->local_iseq == iseq`. Double checking should be fine at the
    moment as there should be no case where we perform a call to an iseq
    that takes a block but `local_iseq != iseq`, but such situation might
    be possible when we add support for calling into BMETHODs, for example.
    Inlining also has the benefit of mirroring the interpreter's code for
    blockarg setup in `setup_parameters_complex()`, making checking for
    parity easier.
    
    Extract `vm_ci_flag(ci) & VM_CALL_KWARG` into a const local for brevity.
    Constify `doing_kw_call` because we can.

M	yjit_codegen.c

commit c2197bf82171ca2dad6f7ef67521fdd30a245d9c
Author: John Hawthorn 
Date:   Thu Dec 16 15:08:07 2021 -0800

    YJIT: Fix check for required kwargs
    
    Previously, YJIT would not check that all the required keywords were
    specified in the case that there were optional arguments specified. In
    this case YJIT would incorrectly call the method with invalid arguments.

M	bootstraptest/test_yjit.rb
M	yjit_codegen.c

commit 83aa68447c87169b3610b6e04abebdcc592f0c16
Author: John Hawthorn 
Date:   Thu Dec 16 10:19:24 2021 -0800

    YJIT: Allow iseq with both opt and kwargs
    
    Previously we mirrored the fast paths the interpreter had for having
    only one of kwargs or optional args. This commit aims to combine the
    cases and reduce complexity.
    
    Though this allows calling iseqs which have have both optional and
    keyword arguments, it requires that all optional arguments are specified
    when there are keyword arguments, since unspecified optional arguments
    appear before the kwargs. Support for this can be added a in a future
    PR.

M	bootstraptest/test_yjit.rb
M	test/ruby/test_yjit.rb
M	yjit_codegen.c

commit 5588aa79d4587956ac1ae1734407f21717ad379a
Author: Burdette Lamar 
Date:   Fri Dec 17 17:02:12 2021 -0600

    What's Here for Symbol (#5289)
    
    * What's Here for Symbol

M	string.c

commit 6a1365d725c72107dd45e1b06ce4acc5549ebaf5
Author: git 
Date:   Fri Dec 17 19:21:56 2021 +0000

    Update bundled gems list at 2021-12-17

M	NEWS.md

commit dbb5abc45b54e8f0ba2edd509fe2ae4be57451a5
Author: Koichi Sasada 
Date:   Sat Dec 18 03:24:57 2021 +0900

    debug.gem 1.4.0

M	gems/bundled_gems

commit 74b58dd6906b83990d268e758ffab43f1cd62811
Author: git 
Date:   Fri Dec 17 16:18:25 2021 +0000

    Update bundled gems list at 2021-12-17

M	NEWS.md

commit 55a93533e88ed056ea5398191b5304caca4daf00
Author: git 
Date:   Sat Dec 18 01:18:08 2021 +0900

    * 2021-12-18 [ci skip]

M	version.h

commit 73d44512e84f86a22f2d0a86544c32e89c5b7ccf
Author: Nobuyoshi Nakada 
Date:   Sat Dec 18 01:04:17 2021 +0900

    [DOC] Update bundled gems list

M	.github/workflows/bundled_gems.yml

commit 9ac52e8ed3e1a5ebdbe74811892b4baf6804ee89
Author: Kazuhiro NISHIYAMA 
Date:   Fri Dec 17 22:30:23 2021 +0900

    Fix a typo [ci skip]

M	NEWS.md

commit f7e266e6d2ccad63e4245a106a80c82ef2b38cbf
Author: Burdette Lamar 
Date:   Fri Dec 17 06:05:31 2021 -0600

    Enhanced RDoc for case mapping (#5245)
    
    Adds file doc/case_mapping.rdoc, which describes case mapping and provides a link target that methods doc can link to.
    
    Revises:
    
        String#capitalize
        String#capitalize!
        String#casecmp
        String#casecmp?
        String#downcase
        String#downcase!
        String#swapcase
        String#swapcase!
        String#upcase
        String#upcase!
        Symbol#capitalize
        Symbol#casecmp
        Symbol#casecmp?
        Symbol#downcase
        Symbol#swapcase
        Symbol#upcase

A	doc/case_mapping.rdoc
M	string.c

commit 4639336b0559d7d4158830be84f8b7789f1ed084
Author: Yusuke Endoh 
Date:   Fri Dec 17 20:34:14 2021 +0900

    NEWS.md: Fix a typo

M	NEWS.md

commit 8d29d1292b35ad524ce15f82177a2975da43432d
Author: David Rodríguez 
Date:   Wed Dec 15 13:28:50 2021 +0100

    [rubygems/rubygems] Improve errors a bit more
    
    https://github.com/rubygems/rubygems/commit/f481e8f41a

M	lib/bundler/resolver.rb
M	spec/bundler/commands/exec_spec.rb
M	spec/bundler/install/gemfile/git_spec.rb
M	spec/bundler/install/gemfile/specific_platform_spec.rb

commit 1537471871f9a06624689b55be222f0ea601d140
Author: David Rodríguez 
Date:   Wed Dec 15 12:41:28 2021 +0100

    [rubygems/rubygems] Share gem not found logic with transitive dependencies too
    
    https://github.com/rubygems/rubygems/commit/e4a1a9663d

M	lib/bundler/resolver.rb
M	spec/bundler/install/gemfile/specific_platform_spec.rb

commit f3b50507c777522ec5d3e7662c8818df29e29f62
Author: David Rodríguez 
Date:   Wed Dec 15 12:11:52 2021 +0100

    [rubygems/rubygems] Remove unnecessary line break
    
    https://github.com/rubygems/rubygems/commit/84e2d6a955

M	lib/bundler/resolver.rb

commit 79f72a4540212fd7d6af47f57d1a426ac99335bd
Author: David Rodríguez 
Date:   Tue Dec 14 14:29:04 2021 +0100

    [rubygems/rubygems] Fix crash when no matching variants are found for the current platform
    
    If we are resolving a dependency against a particular platform, and
    there are no platform specific variants of the candidates that match
    that platform, we should not consider those candidates.
    
    https://github.com/rubygems/rubygems/commit/f6077fe27d

M	lib/bundler/resolver.rb
M	spec/bundler/install/gemfile/specific_platform_spec.rb

commit c710cdb905a58b4ef0c7b5a9a8e867b382ccfd66
Author: David Rodríguez 
Date:   Tue Dec 14 15:56:03 2021 +0100

    [rubygems/rubygems] Improve error message if only platform doesn't match
    
    https://github.com/rubygems/rubygems/commit/077e3c2e4d

M	lib/bundler/resolver.rb

commit af4b4fd19b7972adc165e70e9d41ad7e14c9a235
Author: David Rodríguez 
Date:   Tue Dec 14 14:49:43 2021 +0100

    [rubygems/rubygems] Improve resolver error messages
    
    Use a more standard naming for gems.
    
    https://github.com/rubygems/rubygems/commit/75121e83f1

M	lib/bundler/resolver.rb
M	spec/bundler/commands/exec_spec.rb
M	spec/bundler/install/gemfile/git_spec.rb

commit ce6fc20f973e307071533bfd9699da88986c67a3
Author: Koichi Sasada 
Date:   Fri Dec 17 14:33:26 2021 +0900

    data type should be `static`

M	hash.c

commit c8f2766ae2312eedbcf947b189a8629696bb8bb3
Author: Koichi Sasada 
Date:   Fri Dec 17 14:27:30 2021 +0900

    `RUBY_DEFAULT_FREE` is not needed.
    
    pointed by @nobu.

M	hash.c

commit 37bd795cf8bc9681fccaf9b2d42292b14610a310
Author: Koichi Sasada 
Date:   Fri Dec 17 14:22:14 2021 +0900

    `ENV` ivars should not be accessible from ractors
    
    The `ENV` object can have instance variables like other objects,
    but they should be accessed only on the main ractor.
    
    fix https://github.com/ruby/ruby/pull/5263#issuecomment-995585766

M	hash.c
M	test/ruby/test_env.rb

commit d524b9dec9859ce307f6f913be46144557e8edbd
Author: Masataka Pocke Kuwabara 
Date:   Fri Dec 17 13:54:23 2021 +0900

    NEWS.md: Add link to `rbs collection` documentation

M	NEWS.md

commit 58333c94d527526c1d485a7fbed57e1b6f28f994
Author: Yusuke Endoh 
Date:   Fri Dec 17 13:46:09 2021 +0900

    NEWS.md: Describe changes of RBS

M	NEWS.md

commit 2585ff30d72463c2d13b87d759fe5ea272f85967
Author: Nobuyoshi Nakada 
Date:   Fri Dec 17 11:03:27 2021 +0900

    Send the message for s390x to stderr [ci skip]
    
    Parallel worker's stdout is captured as the control protocol.

M	test/ruby/test_gc_compact.rb

commit c4c78343e05d5584d2617192d7238c315ec68ef0
Author: git 
Date:   Thu Dec 16 17:58:00 2021 +0000

    Update stdlib version at 693a561cfa19dc35ff0d199a1934c9 [ci skip]

M	NEWS.md

commit 693a561cfa19dc35ff0d199a1934c9927dd388d5
Author: Nobuyoshi Nakada 
Date:   Fri Dec 17 02:36:09 2021 +0900

    [DOC] Exclude non-updated stdlibs since the previous release

M	.github/workflows/check_misc.yml

commit b746b713e5573a3a161dca1d11652f7b35265ead
Author: git 
Date:   Fri Dec 17 01:56:16 2021 +0900

    * 2021-12-17 [ci skip]

M	version.h

commit 06bdb41c4587a9cffacd09df473b66c285ed9813
Author: Nobuyoshi Nakada 
Date:   Fri Dec 17 00:44:54 2021 +0900

    dln.c: refine preprocessor conditions by USE_DLN_DLOPEN and _WIN32

M	dln.c

commit fff058a8d6c2e5d7c3529484a1c9a636dbf66dc2
Author: Lars Kanis 
Date:   Thu Sep 23 17:06:57 2021 +0200

    Add description of ruby header files to extension.rdoc

M	doc/extension.rdoc

commit 9b187fec58daafc80164bc29c57dd306d053bcfe
Author: S.H 
Date:   Thu Dec 16 20:03:44 2021 +0900

    Add `rb_parser_set_pos` function
    
    Co-authored-by: Nobuyoshi Nakada 
    Co-authored-by: Marivaldo Cavalheiro 

M	parse.y

commit 41d4902c2790983ba560db4eb0debcfc86e89b40
Author: Matheus Richard 
Date:   Wed Dec 15 13:24:31 2021 -0300

    Improve wording on NEWS.md

M	NEWS.md

commit cf54de637ce3747f9a761ca14edce7cf77f0e813
Author: Nobuyoshi Nakada 
Date:   Thu Dec 16 18:00:23 2021 +0900

    [DOC] random number by range

M	random.c

commit 5bf0060e0a506d8b7a85e0f63898cb1cc8d4dcba
Author: Nobuyoshi Nakada 
Date:   Thu Nov 25 00:38:37 2021 +0900

    [DOC] Skip tests if only documents change [ci skip]
    
    Run only checks for source code.  Currently, our CIs do almost
    nothing about the documents.

M	.appveyor.yml
M	.github/workflows/baseruby.yml
M	.github/workflows/check_dependencies.yml
M	.github/workflows/codeql-analysis.yml
M	.github/workflows/compilers.yml
M	.github/workflows/mingw.yml
M	.github/workflows/mjit.yml
M	.github/workflows/spec_guards.yml
M	.github/workflows/ubuntu.yml
M	.github/workflows/windows.yml
M	.github/workflows/yjit-ubuntu.yml
M	.github/workflows/yjit_asm_tests.yml
M	.travis.yml

commit 32ee6f80ee1737699ead57bf577f0b1b90c2523e
Author: Nobuyoshi Nakada 
Date:   Thu Dec 16 16:01:06 2021 +0900

    Restore the global random seed

M	spec/ruby/core/kernel/srand_spec.rb

commit 6c87f8fc2935ac91e8e3d1067d629510a8acbe43
Author: Nobuyoshi Nakada 
Date:   Thu Dec 16 15:55:37 2021 +0900

    Fix Kernel#srand and Kernel#rand descriptions [ci skip]
    
    Actually used methods are all instance method, not the singleton
    method.

M	spec/ruby/core/kernel/rand_spec.rb
M	spec/ruby/core/kernel/srand_spec.rb

commit 18fef09a02d1d64b6ee892bf9d4c69c9235a97e2
Author: Nobuyoshi Nakada 
Date:   Thu Dec 16 15:53:42 2021 +0900

    Refine wording about the default random seed [ci skip]

M	spec/ruby/core/kernel/srand_spec.rb

commit f1a02ebfb9362c6d925b700ad4d24ddb3f81abd3
Author: Yuta Saito 
Date:   Fri Dec 3 22:45:04 2021 +0900

    Install gemspec even though no .rb and no .so
    
    When building with --with-static-linked-ext, some exts without rb file
    doesn't produce neither .so or .rb under .ext/common. Therefore, change
    rbinstall.rb to install gemspec even if there is no .so or .rb for that
    case.

M	tool/rbinstall.rb

commit 332d1e52e62735ff16e5fb9207ce86695369555d
Author: Yuta Saito 
Date:   Mon Dec 13 16:48:57 2021 +0900

    btest: assign $stderr = STDOUT instead of IO#reopen to be more portable
    
    `IO#reopen` internally uses dup syscall but some platforms don't support
    the syscall. re-assigning `$stderr` is enough to capture the interpreter's
    errors and warnings.

M	bootstraptest/test_eval.rb
M	bootstraptest/test_jump.rb
M	bootstraptest/test_syntax.rb

commit 69a7eaae389b49eb2a99c1c44c11b3d5004d186f
Author: Nobuyoshi Nakada 
Date:   Thu Dec 16 15:07:23 2021 +0900

    Use `to_s` and `puts` in tests
    
    `to_s` has the explict specification while `inspect` is often
    vague.

M	spec/ruby/core/kernel/srand_spec.rb
M	test/ruby/test_literal.rb
M	test/ruby/test_process.rb

commit 05c9dfe23a7d1b970f5b62feeba3199413567fa5
Author: Nobuyoshi Nakada 
Date:   Thu Dec 16 13:53:15 2021 +0900

    Suppress empty-body warning

M	hash.c

commit 02ba0bda7e548fcc7245d246324e253e5e2fc96a
Author: Takashi Kokubun 
Date:   Wed Dec 15 20:02:30 2021 -0800

    Remove RubyVM::JIT (#5275)
    
    [Feature #18349] reverts [Feature #17490]

M	vm.c

commit 40cc8e9231d9c0ed4cdc1cefb810686bff12dc3e
Author: git 
Date:   Thu Dec 16 06:13:40 2021 +0900

    * 2021-12-16 [ci skip]

M	version.h

commit 7e27de2f1e949b3494c3dc56e12d265fa9d12be8
Author: Alan Wu 
Date:   Wed Dec 15 16:13:23 2021 -0500

    YJIT: Remove unused branch_t::src_ctx field
    
    No one reads it at the moment and it's heap allocated.

M	yjit_core.c
M	yjit_core.h

commit fbd21a81f3f422b39949ce2910e74b9df9c9bdd8
Author: git 
Date:   Wed Dec 15 12:52:15 2021 +0000

    Update stdlib version at 333865e56f594f365f2b3b4ef0f86f [ci skip]

M	NEWS.md

commit 333865e56f594f365f2b3b4ef0f86fa4beb977c5
Author: Nobuyoshi Nakada 
Date:   Wed Dec 15 21:41:49 2021 +0900

    Workaround for reline.gemspec
    
    This file searches "lib/reline/version.rb" in the same directory,
    "lib/reline".  As no such path, the file in the default load path
    is loaded unexpectedly.

M	.github/workflows/check_misc.yml

commit 16941908332c0b82d7f42bd3f28707a42f7c5d43
Author: Hiroshi SHIBATA 
Date:   Wed Dec 15 21:32:32 2021 +0900

    Skip test_operating_system_customizing_default_dir for failing with rubyci

M	test/rubygems/test_rubygems.rb

commit 1fc80754ddc56aa470c2a024f50c70ecf580f5fa
Author: git 
Date:   Wed Dec 15 10:47:15 2021 +0000

    Update stdlib version at 9f87c0cc6dff70e8a1c4d204d1d459 [ci skip]

M	NEWS.md

commit 9f87c0cc6dff70e8a1c4d204d1d45920d26f2e3a
Author: David Rodríguez 
Date:   Mon Dec 13 16:53:50 2021 +0100

    [rubygems/rubygems] Pass `:bimode` explicitly to `File.open`
    
    The `File::BINARY` flag is apparently ignored due to a ruby bug, and
    thus writing can cause encoding issues.
    
    https://github.com/rubygems/rubygems/commit/db4efbebf2

M	lib/rubygems.rb
M	test/rubygems/test_gem_remote_fetcher.rb

commit c2dbdf3067c334e22946fbda74181d3a94afbf97
Author: David Rodríguez 
Date:   Mon Dec 13 16:52:37 2021 +0100

    [rubygems/rubygems] Extract a helper to temporarily modify internal encoding
    
    https://github.com/rubygems/rubygems/commit/93051fd2aa

M	test/rubygems/helper.rb
M	test/rubygems/test_gem_specification.rb

commit 890a6b432c7f9b7e3160af31cedb440e53e2d79b
Author: David Rodríguez 
Date:   Mon Dec 13 16:50:04 2021 +0100

    [rubygems/rubygems] Unify duplicated helper
    
    https://github.com/rubygems/rubygems/commit/c6ef75424d

M	test/rubygems/helper.rb
M	test/rubygems/test_gem_specification.rb
M	test/rubygems/test_require.rb

commit de01011da3b20379b1f45e5a51eaeafc6f7369c4
Author: Kazuhiro NISHIYAMA 
Date:   Wed Dec 15 18:53:16 2021 +0900

    Update stdlib version [ci skip]

M	NEWS.md

commit 5044371621b071c1d846693b0e3251f67ecccaeb
Author: Hiroshi SHIBATA 
Date:   Wed Dec 15 15:44:06 2021 +0900

    Skip s390x because Travis CI was failing with unknown reason

M	test/rubygems/test_rubygems.rb

commit 7e084ed707310139b351f6d30af435676422af62
Author: Hiroshi SHIBATA 
Date:   Tue Dec 14 21:14:58 2021 +0900

    Merge RubyGems and Bundler master
    
      Merge from https://github.com/rubygems/rubygems/commit/793ad95ecb40e84a1dcb4cb60f2686843ed90de5

M	lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb
M	lib/rubygems.rb
M	lib/rubygems/commands/setup_command.rb
M	lib/rubygems/requirement.rb
M	lib/rubygems/specification.rb
M	lib/rubygems/version.rb
M	spec/bundler/commands/clean_spec.rb
M	spec/bundler/commands/exec_spec.rb
M	spec/bundler/install/gems/standalone_spec.rb
M	test/rubygems/test_gem_specification.rb
M	test/rubygems/test_project_sanity.rb
M	test/rubygems/test_rubygems.rb
M	tool/bundler/rubocop_gems.rb.lock
M	tool/bundler/standard_gems.rb.lock

commit 583e06e28f5ed4078393000f929f4380777ba972
Author: git 
Date:   Wed Dec 15 09:00:47 2021 +0000

    Update stdlib version at ded33ed5b8d923b0bb707b4e617ba0 [ci skip]

M	NEWS.md

commit ded33ed5b8d923b0bb707b4e617ba02dde404188
Author: Nobuyoshi Nakada 
Date:   Wed Dec 15 17:42:48 2021 +0900

    Update stdlib in NEWS

M	.github/workflows/check_misc.yml

commit 7d50142a9b49213035f36e80f5b3f14678832644
Author: Kazuhiro NISHIYAMA 
Date:   Wed Dec 15 16:59:10 2021 +0900

    Remove unused footnote [ci skip]

M	NEWS.md

commit b2395539aad9a3dca048bb20621d9fe0189c0fea
Author: git 
Date:   Wed Dec 15 07:01:23 2021 +0000

    Update bundled_gems at 2021-12-15

M	gems/bundled_gems

commit 0f99f3fe5e2458b6a922febf857584ede96eabc9
Author: Nobuyoshi Nakada 
Date:   Wed Dec 15 15:31:46 2021 +0900

    Adjust indents [ci skip]

M	hash.c

commit 13c37835d5dbda3493f54baf13f75ed5b59fc507
Author: Koichi Sasada 
Date:   Wed Dec 15 01:24:36 2021 +0900

    ucrt can raise `Errno::EINVAL`
    
    `ENV[key] = long_str` can raise `Errno::EINVAL` also on ucrt env.

M	test/ruby/test_env.rb

commit 04aab3c2592a2234921fb715c1ff9f36a58828ca
Author: Koichi Sasada 
Date:   Wed Dec 15 00:13:15 2021 +0900

    fix test

M	test/ruby/test_env.rb

commit 0eafba36103f5526c489fc5dd3d958d97e11a2c2
Author: Koichi Sasada 
Date:   Tue Dec 14 17:28:25 2021 +0900

    use `RB_VM_LOCK_ENTER()`
    
    We found that we need to make Ruby objects while locking the environ
    to ENV operation atomically, so we decided to use `RB_VM_LOCK_ENTER()`
    instead of `env_lock`.

M	common.mk
M	hash.c

commit a4a3528eb7cf8d085a53bd34dafe2e59059b4d1b
Author: Nobuyoshi Nakada 
Date:   Wed Jul 21 12:58:14 2021 +0900

    Removed no longer used variables

M	hash.c

commit a6ebc10532db1470372fd89a0ce48b822d25bd01
Author: Nobuyoshi Nakada 
Date:   Wed Jul 21 12:57:32 2021 +0900

    Fixed env_pairs array types

M	hash.c

commit db3ab440db2444b0b3ad388f68c592ec68cfcca7
Author: Nobuyoshi Nakada 
Date:   Wed Jul 21 12:40:26 2021 +0900

    Use prototype definition instead of old K&R style

M	hash.c

commit b43338ccc47d6e64ae6f52298a1f222cd5fd0887
Author: Nobuyoshi Nakada 
Date:   Wed Jul 21 12:39:34 2021 +0900

    Update dependencies

M	common.mk

commit 88e36d8f3c75a9b57d68e930385a23ff54b05cf3
Author: Nobuyoshi Nakada 
Date:   Wed Jul 21 12:24:22 2021 +0900

    Adjust styles [ci skip]
    
    * --braces-after-func-def-line
    * --space-after-for

M	hash.c

commit 9bb83a82aba3cf844fd96782f747eefb1876439b
Author: Nobuyoshi Nakada 
Date:   Wed Jul 21 12:19:54 2021 +0900

    Removed traling spaces [ci skip]

M	test/ruby/test_env.rb

commit f471cf295bf093d51b6258338d5e7add0ce962b4
Author: Nobuyoshi Nakada 
Date:   Wed Jul 21 12:06:16 2021 +0900

    Symbols closed to env should be static

M	hash.c

commit 3aab870761ff0138ffd29e0a08b6cdf151e2acb4
Author: Rohit Menon 
Date:   Wed Jul 7 23:13:49 2021 -0400

    Make ENV shareable

M	hash.c

commit e071ac8b3db80901566882ae82a9ba75106995da
Author: Rohit Menon 
Date:   Wed Jul 7 11:17:26 2021 -0400

    Add Ractor tests for ENV

M	test/ruby/test_env.rb

commit 2a3e4b69409c8f0f3c63698009f70eefe84a6202
Author: Rohit Menon 
Date:   Sat Jul 3 14:27:45 2021 -0400

    Move exception-raising functions out of mutex; Refactor env-copying

M	hash.c

commit d3d156c21ecf0a602d366209b3e2da665c3ec389
Author: Rohit Menon 
Date:   Thu Jul 1 20:04:52 2021 -0400

    Add locks for ENV

M	hash.c

commit 0fcc58a18c7c8896df1736fc644c1c9f84a6df0f
Author: Victor Shepelev 
Date:   Wed Dec 15 04:25:33 2021 +0200

    [DOC] Improve Thread::Queue.new docs [ci skip]

M	thread_sync.c

commit ac5d6faea8e8d142df798572b0522f8a185c8fb6
Author: Alan Wu 
Date:   Tue Dec 14 19:47:42 2021 -0500

    YJIT: Fix unexpected truncation when outputing VALUE
    
    Previously, YJIT incorrectly discarded the upper 32 bits of the object
    pointer when writing out VALUEs to setup default keyword arguments.
    
    In addition to incorrectly truncating, the output pointers were not
    properly tracked for handling GC compaction moving the referenced
    objects.
    
    YJIT previously attempted to encode a mov instruction with a memory
    destination and a 64 bit immediate when there is no such encoding
    possible in the ISA. Add an assert to mitigate not being able to
    catch this at build time.

M	bootstraptest/test_yjit.rb
M	yjit_asm.c
M	yjit_codegen.c

commit 6eb500e2df17475a557de536ce24a4d878bf1607
Author: Nobuyoshi Nakada 
Date:   Sat Nov 27 18:55:42 2021 +0900

    [ruby/cgi] Extract CGI::Session#new_store_file
    
    https://github.com/ruby/cgi/commit/b3e2ff9164

M	lib/cgi/session.rb
M	lib/cgi/session/pstore.rb

commit e307627b6cdafd830680ccf52bf8832c80326935
Author: John Hawthorn 
Date:   Tue Dec 14 13:20:45 2021 -0800

    Don't invalidate BOPs when aliases redefined
    
    Previously when redefining an alias of a BOP, we would unnecessarily
    invalidate the bop. For example:
    
        class String
          alias len length
          private :len
        end
    
    This commit avoids this by checking that the called_id on the method
    entry matches the original_id on the definition.

M	vm.c

commit b7ae08992f7e4c663b61a3895d29d066fa22e452
Author: John Hawthorn 
Date:   Fri Dec 10 17:08:05 2021 -0800

    YJIT: Avoid unnecessary BOP invalidation
    
    Previously we would invalidate BOPs in YJIT when the method registered
    as a BOP was redefined on a subclass.

M	vm.c

commit b563f122972c98a9b988173f0e882249ca243624
Author: Matheus Richard 
Date:   Tue Dec 14 19:15:02 2021 -0300

    [DOC] Fix docs rendering for Process._fork [ci skip]
    
    Co-authored-by: Nobuyoshi Nakada 

M	process.c

commit aa7c4c37d7752af4897567dec1b0745873b0457a
Author: Nobuyoshi Nakada 
Date:   Thu Nov 18 21:41:46 2021 +0900

    Fix arg_forward without parentheses [Bug #18267]

M	parse.y
M	test/ruby/test_syntax.rb

commit 3a6b79d0c059923d6e186ffda2669199f2a0dd20
Author: Nobuyoshi Nakada 
Date:   Mon Nov 29 15:29:36 2021 +0900

    Revert "Rename `in_kwarg` as `in_argdef` as unrelated to keywords"
    
    This reverts commit b7f7117bdc78a4a342a57dad1a340b158492ccf3, to
    separate `in_argdef` from `in_kwarg`.

M	parse.y

commit 397a509b6d0d1470df8c290d7c4adef78f1532ee
Author: Koichi Sasada 
Date:   Wed Dec 15 01:11:45 2021 +0900

    prohibit load by `autoload` on non-main Ractor
    
    fix [Bug #18120]

M	bootstraptest/test_ractor.rb
M	variable.c

commit 2e6e2fd9da18b74aa9555d09a871b24895e42773
Author: Koichi Sasada 
Date:   Mon Dec 13 02:15:05 2021 +0900

    fix local TP memory leak
    
    It free `rb_hook_list_t` itself if needed. To recognize the
    need, this patch introduced `rb_hook_list_t::is_local` flag.
    
    This patch is succession of https://github.com/ruby/ruby/pull/4652

M	iseq.c
M	vm_core.h
M	vm_trace.c

commit b8f7fc361d2cf2266e39e97c57bba6edd6c6edaf
Author: Matheus Richard 
Date:   Tue Dec 14 14:12:37 2021 -0300

    Add examples for Integer.try_convert [ci skip]

M	numeric.rb

commit b32b755ea2446d67fd53b89b68080ad9b66ac68d
Author: Matheus Richard 
Date:   Tue Dec 14 13:46:08 2021 -0300

    Fix typo on Integer.try_convert [ci skip]

M	numeric.rb

commit 637c3cfc5dc2c044c6eeb2793bf399b6745daa8b
Author: Nobuyoshi Nakada 
Date:   Wed Dec 15 00:37:45 2021 +0900

    Turn SET_LEX_STATE macro into an inline function call

M	parse.y

commit a3934cd1e57f9d49d24cdaf29ed2bde2fd70cae6
Author: Nobuyoshi Nakada 
Date:   Wed Dec 15 00:35:54 2021 +0900

    Fix indent [ci skip]

M	parse.y

commit 67b6a222634800969292e7aa527e8437bfd37020
Author: git 
Date:   Wed Dec 15 00:43:38 2021 +0900

    * 2021-12-15 [ci skip]

M	version.h

commit 9e00f8267dbc10d3e0a51a51c7f56d055949ce87
Author: Jean Boussier 
Date:   Mon Dec 13 09:45:29 2021 +0100

    NEWS.md document String#unpack offset and Marshal.load freeze arguments

M	NEWS.md

commit 0e7d07391433a4407edc14391352dcda5672c05c
Author: Peter Zhu 
Date:   Mon Dec 13 14:43:52 2021 -0500

    Remove compaction support detection using sysconf
    
    Except on Windows and MinGW, we can only use compaction on systems that
    use mmap (only systems that use mmap can use the read barrier that
    compaction requires). We don't need to separately detect whether we can
    support compaction or not.

M	gc.c

commit 6daec46014f12c7e6698fd0ce80970072d0bc0fa
Author: Nobuyoshi Nakada 
Date:   Tue Dec 14 18:10:07 2021 +0900

    ripper: refine test to show expected states

M	test/ripper/test_scanner_events.rb

commit 1a63468831524f68e73cbb068071652c6486cfc6
Author: Takashi Kokubun 
Date:   Mon Dec 13 23:07:46 2021 -0800

    Prepare for removing RubyVM::JIT (#5262)

M	NEWS.md
M	benchmark/lib/benchmark_driver/runner/mjit.rb
M	benchmark/lib/benchmark_driver/runner/mjit_exec.rb
M	bootstraptest/runner.rb
M	spec/ruby/core/io/flush_spec.rb
M	spec/ruby/core/io/shared/write.rb
M	template/fake.rb.in
M	test/-ext-/bug_reporter/test_bug_reporter.rb
M	test/csv/parse/test_general.rb
M	test/drb/drbtest.rb
M	test/lib/jit_support.rb
M	test/net/http/test_httpresponse.rb
M	test/reline/test_within_pipe.rb
M	test/rinda/test_rinda.rb
M	test/ruby/test_fiber.rb
M	test/ruby/test_io.rb
M	test/ruby/test_jit.rb
M	test/ruby/test_optimization.rb
M	test/ruby/test_process.rb
M	test/ruby/test_rubyoptions.rb
M	test/ruby/test_rubyvm_jit.rb
M	test/ruby/test_settracefunc.rb
M	test/ruby/test_thread.rb
M	test/rubygems/test_gem_stream_ui.rb
M	test/socket/test_socket.rb
M	tool/lib/core_assertions.rb
M	tool/lib/test/unit.rb
M	tool/test/testunit/test_hideskip.rb
M	tool/test/testunit/test_parallel.rb
M	tool/test/webrick/test_httpserver.rb
M	tool/test/webrick/test_server.rb
M	vm.c

commit a2839d717874a277da1d553336a409164fa833ad
Author: Kazuhiro NISHIYAMA 
Date:   Tue Dec 14 16:06:50 2021 +0900

    Update stdlib version [ci skip]

M	NEWS.md

commit 14c8dca6d1f3a46ba5934dadc10a79b10385b54d
Author: git 
Date:   Tue Dec 14 06:59:58 2021 +0000

    Update bundled_gems at 2021-12-14

M	gems/bundled_gems

commit 1578421962024f7fafc94418da9e1ecab31c49b2
Author: Koichi Sasada 
Date:   Tue Dec 14 10:24:27 2021 +0900

    reduce `rb_clear_attr_ccs()` call
    
    `rb_clear_attr_ccs()` should be called only when c_call or c_return
    is activated.

M	vm_trace.c

commit 10eda60e8b69be23755f606472e6816e5e9da8d0
Author: Kazuhiro NISHIYAMA 
Date:   Tue Dec 14 12:19:44 2021 +0900

    Merge to one regexp

M	tool/mkrunnable.rb

commit 900e0c8c39fe3df72d7ce451e01c1add7b6f1647
Author: Nobuyoshi Nakada 
Date:   Tue Dec 14 00:55:02 2021 +0900

    [ruby/securerandom] Use String#unpack1
    
    https://github.com/ruby/securerandom/commit/5460a18c35

M	lib/random/formatter.rb
M	test/ruby/test_random_formatter.rb

commit 0ebbab23bab7f039a9c28c519392b78d69a0e901
Author: Nobuyoshi Nakada 
Date:   Tue Dec 14 00:50:48 2021 +0900

    [ruby/securerandom] Drop support for old ruby versions
    
    https://github.com/ruby/securerandom/commit/46943a991c

M	lib/securerandom.gemspec

commit 40b0d69dadfccd7271ec47f128b51184723a3e7a
Author: Nobuyoshi Nakada 
Date:   Tue Dec 14 11:52:18 2021 +0900

    [DOC] Fix a type [ci skip]

M	lib/random/formatter.rb

commit 877160121a35722ef24c129f128a8382b3844344
Author: Kazuhiro NISHIYAMA 
Date:   Tue Dec 14 09:28:09 2021 +0900

    NEWS.md: Mention colorize command of un.rb
    
    https://github.com/ruby/un/pull/1

M	NEWS.md

commit 11b8aaa26a22bb67b144484af6890844771b5f46
Author: Takashi Kokubun 
Date:   Mon Dec 13 16:08:01 2021 -0800

    Rename --jit to --mjit (#5248)
    
    * Rename --jit to --mjit
    
    [Feature #18349]
    
    * Fix a few more --jit references
    
    * Fix MJIT Actions
    
    * More s/jit/mjit/ and re-introduce --disable-jit
    
    * Update NEWS.md
    
    * Fix test_bug_reporter_add

M	.github/workflows/mjit.yml
M	NEWS.md
M	mjit_worker.c
M	ruby.c
M	template/fake.rb.in
M	test/-ext-/bug_reporter/test_bug_reporter.rb
M	test/lib/jit_support.rb
M	test/ruby/test_jit.rb
M	test/ruby/test_jit_debug.rb
M	test/ruby/test_rubyoptions.rb
M	test/ruby/test_yjit.rb
M	version.c
M	win32/Makefile.sub
M	yjit.c
M	yjit.h
M	yjit_iface.c

commit 94494a565d7d3e1277e594db44478edc0233c3e8
Author: Peter Zhu 
Date:   Mon Dec 13 10:18:39 2021 -0500

    [ci skip] NEWS.md: Update Variable Width Allocation

M	NEWS.md

commit 845edc067cdda49485b056273aa725ea5d35657f
Author: git 
Date:   Tue Dec 14 00:03:55 2021 +0900

    * 2021-12-14 [ci skip]

M	version.h

commit 4926647bf2be7181fbd3ab353e03b04e7d451bea
Author: Nobuyoshi Nakada 
Date:   Tue Dec 14 00:03:37 2021 +0900

    NEWS.md: sort [ci skip]

M	NEWS.md

commit 774b04408f062ea4f037133d14db091cf34b759e
Author: Peter Zhu 
Date:   Mon Dec 13 09:46:34 2021 -0500

    [ci skip] NEWS.md: Add Variable Width Allocation

M	NEWS.md

commit a08d8180e2498f15315fa7b2302099c068a3576f
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 21:20:12 2021 +0900

    NEWS.md: One more surrounding brackets for the ticket

M	NEWS.md

commit 8411e8449b17357221b69617214674fb101c766d
Author: aycabta 
Date:   Wed Dec 8 01:44:18 2021 +0900

    [ruby/reline] Remove unnecessary variables, lower_space
    
    The number of lines below the cursor position was known by
    "@rest_height" alone, but the problem was caused by adding
    "lower_space". Remove "lower_space" as it is unnecessary.
    
    https://github.com/ruby/reline/commit/a575cef6a3

M	lib/reline/line_editor.rb
M	test/reline/yamatanooroti/test_rendering.rb

commit 446a11f2c1a1af007ef6079eada2d8992a13467f
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 19:56:11 2021 +0900

    [DOC] Add call sequences of Random using a range

M	random.c

commit dc490aced3fc62d7eaa10d2bfc2211da826ea538
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 19:54:38 2021 +0900

    [DOC] Improve Random::Formatter description and example

M	lib/random/formatter.rb
M	random.c

commit 6859d175ba5c77f0aab0af20e2b483c8d5ea9126
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 19:47:52 2021 +0900

    [DOC] Exclude Bundler only [ci skip]

D	lib/.document
A	lib/bundler/.document

commit 7ececae4539da84ef9863de83d4b075653002009
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 19:13:21 2021 +0900

    NEWS.md: move of Random::Formatter [Feature #18190]

M	NEWS.md

commit 93f0beca5ee8d1979fce9e1e890738690aa824fe
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 19:10:09 2021 +0900

    Appveyor: Skip tests on if only document files changed [ci skip]

M	.appveyor.yml

commit 914563ae87c34da3329707469d881502f2ff6662
Author: Kentaro Goto 
Date:   Mon Dec 13 14:57:28 2021 +0900

    NEWS.md: `ruby -run -e httpd` displays URLs to access [Feature #17847]

M	NEWS.md

commit c81d7d7c60477c04e7cc4f9eccb256443085512c
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 14:28:59 2021 +0900

    NEWS.md: RFC 3339 UTC for unknown offset local time [Feature #17544]

M	NEWS.md

commit 47a12c8888531ac17a18b7d13c0ff07b737550e8
Author: Yusuke Endoh 
Date:   Mon Dec 13 14:21:16 2021 +0900

    LEGAL: mention error_highlight

M	LEGAL

commit 4ffb0bd6414cf320ec8d71132bc487514768c8f7
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 14:19:31 2021 +0900

    NEWS.md: Mention `in:` option of Time.new [Feature #17485]

M	NEWS.md

commit 2c0de392870232b56b28e14e8cbc6d993d8648ac
Author: Yusuke Endoh 
Date:   Mon Dec 13 14:19:21 2021 +0900

    NEWS.md: `--disable-gems` is now just for debugging. [Feature #17684]

M	NEWS.md

commit ff029f25ca6dc788da178a1129e299c06ca3e712
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 14:13:46 2021 +0900

    [DOC] Get rid of headings in list items
    
    The current RDoc Markdown parser parses the list item starting
    with `#` as a heading line.

M	NEWS.md

commit 0ee127e5bb1a5c8f7ac74b9912bc758446afbd8a
Author: Koichi Sasada 
Date:   Mon Dec 13 14:02:07 2021 +0900

    add a NEWS entry for `TracePoint.allow_reenter`

M	NEWS.md

commit 1da1d7473076aa1865d1fb31a1b03e72c7127d01
Author: Yusuke Endoh 
Date:   Mon Dec 13 14:01:40 2021 +0900

    NEWS.md: `def foo = puts "Hello"` is now allowed [Feature #17398]

M	NEWS.md

commit d463b407e6ca059316ed33c39970aa32903667fb
Author: Yusuke Endoh 
Date:   Mon Dec 13 13:53:34 2021 +0900

    NEWS.md: Mention suspendatble coverage [Feature #18176]

M	NEWS.md

commit a6fb63d2a05c0b26268781a10f8ed1b41d9db433
Author: Yusuke Endoh 
Date:   Mon Dec 13 13:49:39 2021 +0900

    NEWS.md: Use more descriptive example for error_highlight

M	NEWS.md

commit 9ad34da47ff7d71446e667897559047ed5635b60
Author: Nobuyoshi Nakada 
Date:   Mon Dec 13 13:05:40 2021 +0900

    [DOC] Mention RBOOL in extension.rdoc [Feature #13125]

M	doc/extension.ja.rdoc
M	doc/extension.rdoc

commit 54f0e63a8c53753af7db8653972ac450415eae13
Author: Nobuyoshi Nakada 
Date:   Sun Dec 12 23:33:47 2021 +0900

    Remove `NODE_DASGN_CURR` [Feature #18406]
    
    This `NODE` type was used in pre-YARV implementation, to improve
    the performance of assignment to dynamic local variable defined at
    the innermost scope.  It has no longer any actual difference with
    `NODE_DASGN`, except for the node dump.

M	ast.c
M	compile.c
M	ext/objspace/objspace.c
M	node.c
M	node.h
M	parse.y

commit d3c8f7b1cd2fdba95436889869e94f4c3cf419e8
Author: Kazuhiro NISHIYAMA 
Date:   Sat Dec 11 15:55:31 2021 +0900

    Fix a typo [ci skip]

M	NEWS.md

commit a692a1597fb1fdd1ed1394c582ab73ef75817fb7
Author: Yusuke Endoh 
Date:   Fri Dec 10 17:21:37 2021 +0900

    ruby.c: Fix typo

M	ruby.c

commit 8613c0c6758b8d560b2461bd540c815d28fcf844
Author: Yusuke Endoh 
Date:   Fri Aug 27 16:19:56 2021 +0900

    Introduce an option "--dump=insns_without_opt" for debugging purposes

M	iseq.c
M	ruby.c
M	vm_core.h

commit 84cd3964d9a5c6768610a2685ba04237dd79b57a
Author: git 
Date:   Mon Dec 13 10:24:10 2021 +0900

    * 2021-12-13 [ci skip]

M	version.h

commit 5164c2b36f66e7b1d2e0f908663ee3f3a3830605
Author: Koichi Sasada 
Date:   Mon Dec 13 02:11:05 2021 +0900

    Pass UnboundMethod to 2nd arg of define_method

M	test/ruby/test_struct.rb

commit fdfb43b2b129afb78c352c95776118eeceb245a2
Author: Koichi Sasada 
Date:   Mon Dec 13 02:02:41 2021 +0900

    fix Struct's setter arity
    
    https://github.com/ruby/ruby/pull/5131/files#diff-b2553d23e6b1fe76e20608d06c25f6acca06279100f1a9c24febcd79a82fac3cR2689

M	proc.c
M	test/ruby/test_struct.rb

commit 6659253cc6c807641e23d469b425ddcf18de7af4
Author: Koichi Sasada 
Date:   Mon Dec 13 01:58:21 2021 +0900

    Struct setter's parameters == `[:req, :_]`
    
    fix [Bug #18405]
    
    Note that the parameter name `_` is not a spec, so we shouldn't
    rely on this behavior.

M	proc.c
M	test/ruby/test_struct.rb

commit 4d0cb1a54ba5e8e053e6acc860fd1cb9ca5e1b19
Author: Koichi Sasada 
Date:   Mon Dec 13 01:16:04 2021 +0900

    add `method_def_aritry()`

M	proc.c

commit 2f79d6d3f268adf2bde6abed33acf936d8d08157
Author: git 
Date:   Sun Dec 12 07:12:13 2021 +0000

    Update bundled_gems at 2021-12-12

M	gems/bundled_gems

commit e4b35b158a16c42d2b91a3e88309875240d0ce27
Author: Nobuyoshi Nakada 
Date:   Fri Sep 3 19:40:22 2021 +0900

    [ruby/cgi] Check integer overflow in long range
    
    https://hackerone.com/reports/1328463
    
    https://github.com/ruby/cgi/commit/ccaf6027e0

M	ext/cgi/escape/escape.c
M	test/cgi/test_cgi_util.rb

commit fbd733701659eed2d5a652b5890cfa80ccbce864
Author: git 
Date:   Sun Dec 12 08:45:23 2021 +0900

    * 2021-12-12 [ci skip]

M	version.h

commit 3518b00d75c3efc23df1f976a8570f777fbd6ce7
Author: Alan Wu 
Date:   Sat Dec 11 18:45:07 2021 -0500

    YJIT: Edit module documentation for clarity
    
    Add an empty line before the module doc string so RDoc can find it.
    While we are at it, edit for clarity. The file should already be
    using frozen string literals since c10d5085a247266c6399dc6fb68706d87cbdab05.
    
    [ci skip]

M	yjit.rb

commit d7ef372c9512b600a50d524e6b0b1cffc82933c1
Author: Nobuyoshi Nakada 
Date:   Sat Dec 11 23:01:14 2021 +0900

    Remove the macOS badge [ci skip]
    
    It is disabled for the throughput of CI for now.

M	README.md

commit b5c4570af4c6ae7341ee03e7fc2e140192ec32d8
Author: Samuel Williams 
Date:   Sat Dec 11 18:18:15 2021 +1300

    [ruby/reline] Prefer wait_readable for fiber scheduler.
    
    https://github.com/ruby/reline/commit/06b4aa31fd

M	lib/reline/ansi.rb
M	lib/reline/general_io.rb

commit c91fb5db597f4ccdfe5c30bc0f63d7dbeacd4166
Author: Kazuhiro NISHIYAMA 
Date:   Sat Dec 11 14:01:19 2021 +0900

    Update stdlib versions [ci skip]

M	NEWS.md

commit ecb2ff60507a41c624f59cb9da6a008ab3ec36e1
Author: Yuta Saito 
Date:   Sat Dec 11 00:51:41 2021 +0900

    intern/select/posix.h: remove unused parameter from rb_fd_dup
    
    This unused parameter seems to be accidently introduced by https://github.com/ruby/ruby/commit/9e6e39c

M	include/ruby/internal/intern/select/posix.h

commit e5ff030f60af24e256e5671af9133b6d274ee6f0
Author: Burdette Lamar 
Date:   Fri Dec 10 10:50:13 2021 -0600

    Enhanced RDoc for String (#5234)
    
    Treated:
    
        #to_i
        #to_f
        #to_s
        #inspect
        #dump
        #undump

M	string.c

commit d6817d05380afb18bd2af0ca43fdd4b62f0a8a0c
Author: git 
Date:   Sat Dec 11 00:13:41 2021 +0900

    * 2021-12-11 [ci skip]

M	version.h

commit 1a62a50c4f9c835dee5d6bc17ca45914daea1bbd
Author: Vyacheslav Alexeev 
Date:   Fri Dec 10 15:40:58 2021 +0800

    [rubygems/rubygems] Add `github` and `ref` options to `bundle add`
    
    https://github.com/rubygems/rubygems/commit/c3e54acab0

M	lib/bundler/cli.rb
M	lib/bundler/dependency.rb
M	lib/bundler/injector.rb
M	lib/bundler/man/bundle-add.1
M	lib/bundler/man/bundle-add.1.ronn
M	spec/bundler/commands/add_spec.rb

commit 5f1975a454dd9a6743bfa196111a4fde62366798
Author: ima1zumi 
Date:   Mon Dec 6 23:26:38 2021 +0900

    [ruby/reline] @convert_meta is true unless 8-bit characters
    
    If Reline::IOGate.encoding contains 7-bit characters, convert-meta will set it On.
    
    Because in readline(3):
    
    >  The default is On, but readline will set it to Off if the locale contains eight-bit characters.
    
    As far as I know, 7-bit encoding used in terminals is only US-ASCII.
    
    https://github.com/ruby/reline/commit/b71d1fa496

M	lib/reline/config.rb
M	test/reline/test_config.rb

commit 519a945efcb0205bdf4085e32cc76e56610a45c0
Author: ima1zumi 
Date:   Mon Nov 22 21:16:20 2021 +0900

    [ruby/reline] Execute compress_meta_key if convert_meta is on
    
    fix `#357`
    
    When using 8-bit characters, it is better not to use `compress_meta_key`.
    I believe not to use `compress_meta_key` unless `set convert-meta on` is written in the `.inputrc`.
    
    The following is a quote from tmtm's comments.
    
    > The behavior of this compress_meta_key method is similar to the behavior of convert-meta=on in readline, but readline turns off convert-meta if the locale contains 8bit characters.
    
    > In readline(3):
    
    > convert-meta (On)
    > If set to On, readline will convert characters with the eighth
    > bit set to an ASCII key sequence by stripping the eighth bit and
    > prefixing it with an escape character (in effect, using escape
    > as the meta prefix). The default is On, but readline will set
    > it to Off if the locale contains eight-bit characters.
    
    https://github.com/ruby/reline/commit/9491cc8542
    
    Co-authored-by: TOMITA Masahiro 

M	lib/reline/key_stroke.rb
M	test/reline/yamatanooroti/test_rendering.rb

commit 3a2ae5bb19a653ac131136c6bf9a7550f64804f6
Author: YO4 
Date:   Thu Dec 9 22:36:18 2021 +0900

    [ruby/reline] unleash real pasting speed
    
    2700msec -> 410msec
    
    read 80 console inputs at once
    
    https://github.com/ruby/reline/commit/eb3ef7af98

M	lib/reline/windows.rb

commit 74765a5a36da70b0cc5c66ec71283819ef1160aa
Author: YO4 
Date:   Thu Dec 9 22:23:25 2021 +0900

    [ruby/reline] unleash pasting speed
    
    https://github.com/ruby/reline/commit/074e407c62

M	lib/reline/windows.rb

commit aed21d6574e1c18d64d446cf3709545aa7a608c2
Author: YO4 
Date:   Mon Dec 6 23:01:50 2021 +0900

    [ruby/reline] support input surrogate paird codepoint
    
    support surrogate pair input
    
    https://github.com/ruby/reline/commit/0b4acedc6a

M	lib/reline/windows.rb

commit 66e14e2076ce08c5425b3000a164a5c62a10b106
Author: YO4 
Date:   Tue Dec 7 20:45:58 2021 +0900

    [ruby/reline] follow consolemode change
    
    fix 'https://github.com/ruby/reline/issues/300'
    
    https://github.com/ruby/reline/commit/b2cc6805a8

M	lib/reline/windows.rb

commit eb2d3c19fe70812f1f826eef225613baba3cc087
Author: Kevin Logan 
Date:   Tue May 14 00:02:48 2019 -0500

    [rubygems/rubygems] Properly fetch Gem#latest_spec_for with multiple sources
    
    https://github.com/rubygems/rubygems/commit/a93ec63df3

M	lib/rubygems.rb
M	lib/rubygems/spec_fetcher.rb
M	test/rubygems/test_gem.rb

commit 0e60bc118b66d626d7e1f985dbd15cfba5e62715
Author: David Rodríguez 
Date:   Wed Dec 8 18:36:13 2021 +0100

    [rubygems/rubygems] Ignore dependencies not actually locked from frozen check
    
    Only needed if there can be no explicit global source (bundler < 3).
    
    https://github.com/rubygems/rubygems/commit/73923f4af5

M	lib/bundler/definition.rb
M	spec/bundler/install/deploy_spec.rb

commit 30268d1de697de4b87ab6c655c4dc244be036900
Author: Nobuyoshi Nakada 
Date:   Fri Dec 10 18:39:41 2021 +0900

    Prefer flat_map

M	lib/mkmf.rb

commit a5baf8d6bc4c21259705f9b4f9aa2d9b9d7ab936
Author: Nobuyoshi Nakada 
Date:   Fri Dec 10 18:33:17 2021 +0900

    Revert zero-check for alloca
    
    Something weird results in int-in-bool-context and
    stringop-overflow warnings.

M	include/ruby/internal/memory.h

commit 787daea6d2199c34d951aa3de0f3048829a8ea13
Author: Yuta Saito 
Date:   Mon Dec 6 11:26:05 2021 +0900

    Allow configuring TRANSIENT_HEAP_TOTAL_SIZE
    
    Some platforms have memory resource limits, but theap's memory area is
    too large for such situations. So allow configuring the size at
    build-time.

M	transient_heap.c

commit 0cefc2fbdf43778c76dbfce809dce46b3da95e27
Author: git 
Date:   Fri Dec 10 07:01:36 2021 +0000

    Update bundled_gems at 2021-12-10

M	gems/bundled_gems

commit 21749f7be3a0bfe287988b48cd28b5976d0c66f4
Author: Kazuhiro NISHIYAMA 
Date:   Fri Dec 10 14:55:03 2021 +0900

    Update stdlib versions [ci skip]

M	NEWS.md

commit 27278150685e738f84105d09843d3ba371146c7a
Author: Jeremy Evans 
Date:   Wed Oct 27 15:36:00 2021 -0700

    Add {Method,UnboundMethod}#{public?,private?,protected?}
    
    These methods allow for checking whether the method has that
    visibility.
    
    Implements [Feature #11689]

M	NEWS.md
M	proc.c
M	test/ruby/test_method.rb

commit 74159f7f3e58d8e5ef2e6ee430b7ffa2ade5d952
Author: Alan Wu 
Date:   Thu Dec 9 13:38:20 2021 -0500

    [DOC] Stop mentioning Qfalse==0 for C extensions
    
    See [Feature #18397] for detail. Follow up for
    b859397e1b25a3f7847a380e7dd7db62f94fbe66.
    
    [ci skip]
    
    Co-authored-by: Koichi Sasada 

M	doc/extension.ja.rdoc

commit b859397e1b25a3f7847a380e7dd7db62f94fbe66
Author: Jemma Issroff 
Date:   Thu Dec 9 11:23:51 2021 -0500

    [DOC] Stop recommending Qfalse==0 assumption to C extensions
    
    Encourage use of RTEST(), direct Qfalse comparison, and remove references to
    Qfalse == 0 in extension documentation.
    
    See [Bug #18397] for detail.
    [ci skip]

M	doc/extension.rdoc

commit bcc2bb28b04054106f4a36e8fd69b2af6ecb033a
Author: Nobuyoshi Nakada 
Date:   Tue Aug 17 22:01:57 2021 +0900

    Fix stack buffer overflow
    
    https://hackerone.com/reports/1306859

M	include/ruby/internal/memory.h
M	random.c

commit 9873af0b1a343dff6d1a8af4c813aa2c9ecc47d5
Author: Koichi Sasada 
Date:   Thu Dec 9 03:50:17 2021 +0900

    `TracePoint.allow_reentry`
    
    In general, while TracePoint callback is running,
    other registerred callbacks are not called to avoid
    confusion by reentrace.
    This method allow the reentrace. This method should be
    used carefully, otherwize the callback can be easily called
    infinitely.
    
    [Feature #15912]
    
    Co-authored-by: Jean Boussier 

M	test/ruby/test_settracefunc.rb
M	trace_point.rb
M	vm_trace.c

commit 88c804a6e720d85afbd6714113a85e6beb48c296
Author: git 
Date:   Fri Dec 10 00:33:46 2021 +0900

    * 2021-12-10 [ci skip]

M	version.h

commit da652e1827a47c8ee37fab72832ba8324c94911f
Author: Nobuyoshi Nakada 
Date:   Sat Jun 26 01:48:01 2021 +0900

    Check month overflow when marshal
    
    https://hackerone.com/reports/1244185

M	test/ruby/test_time.rb
M	time.c

commit 12a0a89e22fbc312e4a95a7749bc153532daa855
Author: Nobuyoshi Nakada 
Date:   Sun Dec 5 21:53:35 2021 +0900

    [ruby/securerandom] Split Random::Formatter from SecureRandom [Feature #18190]
    
    https://github.com/ruby/securerandom/commit/1e57277b9e

A	lib/random/formatter.rb
M	lib/securerandom.rb
A	test/ruby/test_random_formatter.rb
M	test/test_securerandom.rb

commit 4258c8df867b497369a815e92f741aebf1469b0d
Author: Hiroshi SHIBATA 
Date:   Thu Dec 9 19:48:22 2021 +0900

    Fixed filename for Open3::VERSION

M	lib/open3/open3.gemspec

commit b06e37e242f39ef22f69c157945307f978e20597
Author: Hiroshi SHIBATA 
Date:   Thu Dec 9 19:33:47 2021 +0900

    Followed up f5d80c26d493c14241d4e3320437e62d7f54eabb for sync_default_gems.rb

M	tool/sync_default_gems.rb

commit d74fe2061de88ebae2f406e6042d15a57344c0ff
Author: Hiroshi SHIBATA 
Date:   Thu Dec 9 19:28:50 2021 +0900

    Adjust gemspec location of default gems

R082	lib/open3.gemspec	lib/open3/open3.gemspec

commit f5d80c26d493c14241d4e3320437e62d7f54eabb
Author: Hiroshi SHIBATA 
Date:   Thu Dec 9 17:53:46 2021 +0900

    Removed JRuby specific helper for open3

D	lib/open3/jruby_windows.rb

commit 080169147e0607ea5a19ca9291e6642fe87c5321
Author: Charles Oliver Nutter 
Date:   Thu Sep 30 10:42:01 2021 -0500

    [ruby/open3] Use RbConfig's 'host_os'
    
    RUBY_PLATFORM on JRuby is always 'java' so it does not indicate
    the host OS.
    
    https://github.com/ruby/open3/commit/d2308040e6

M	test/test_open3.rb

commit eb06b37c460a8237fd0f02a075307e1229b0359b
Author: Charles Oliver Nutter 
Date:   Thu Sep 30 10:38:25 2021 -0500

    [ruby/open3] Update to match JRuby 9.4
    
    This allows the wrapper functions in the main open3 to be defined
    while using our ProcessBuilder logic for the internal popen
    implementation.
    
    Note this adds logic to reject redirects from a numeric fd to a
    live IO object (or not a String or to_path object) since we cannot
    support direct IO redirects with ProcesBuilder.
    
    This patch allows tests to complete with the ProcessBuilder impl.
    Only three tests fail:
    
    * test_numeric_file_descriptor2 and test_numeric_file_descriptor2
      fail due to redirecting streams to a pipe IO.
    * test_pid fails expecting a real PID which we cannot provide via
      ProcessBuilder.
    
    https://github.com/ruby/open3/commit/73f986c233

M	lib/open3.rb
M	lib/open3/jruby_windows.rb

commit 01febcab3e6258051e2fc083b906d9ac2bdc3927
Author: Charles Oliver Nutter 
Date:   Wed Sep 29 13:21:31 2021 -0500

    [ruby/open3] Add JRuby's Windows (JDK non-native) Open3 support
    
    This adds JRuby's logic used on platforms where we do not have
    native access to posix_spawn and related posix functions needed
    to do fully-native subprocess launching and management. The code
    here instead uses the JDK ProcessBuilder logic to simulate most
    of the Open3 functionality.
    
    This code does not pass all tests, currently, but provides most of
    the key functionality on pure-Java (i.e. no native FFI) platforms.
    
    https://github.com/ruby/open3/commit/689da19c42

M	lib/open3.gemspec
M	lib/open3.rb
A	lib/open3/jruby_windows.rb
A	lib/open3/version.rb

commit 34ebd1392318b45f120f4d598f710bfcf5069c51
Author: Charles Oliver Nutter 
Date:   Wed Sep 29 12:40:14 2021 -0500

    [ruby/open3] Only use JITSupport on CRuby
    
    Fixes #2
    
    https://github.com/ruby/open3/commit/6b7ede69e8

M	test/test_open3.rb

commit d150b8d06fbe5dc7dadafa2c6215491deaade26d
Author: Olle Jonsson 
Date:   Fri Jul 30 08:49:01 2021 +0200

    [ruby/open-uri] gemspec: This gem exposes 0 executables
    
    This just makes that fact more explicit.
    
    https://github.com/ruby/open-uri/commit/ffbfba5d69

M	lib/open-uri.gemspec

commit c41751f10e361c0fccf7ec5c2ca80638877eb1ad
Author: Hiroshi SHIBATA 
Date:   Fri Nov 19 13:11:23 2021 +0900

    [ruby/io-wait] Bump up 0.2.1
    
    https://github.com/ruby/io-wait/commit/c97ab9a212

M	ext/io/wait/io-wait.gemspec

commit dd8b9c1d03316e6b1aa8ad4de413df787b6534f7
Author: Olle Jonsson 
Date:   Fri Oct 1 10:51:20 2021 +0200

    [ruby/English] gemspec: Remove unused "executables" configuration
    
    This gem exposes no executables.
    
    https://github.com/ruby/English/commit/bb1ce0af20

M	lib/English.gemspec

commit 6ff9fcdfa8c6d55474e6de70ad241625b9265a5b
Author: aycabta 
Date:   Sun Dec 5 18:06:03 2021 +0900

    [ruby/rdoc] Support addition Object class when adding methods to top level
    
    https://github.com/ruby/rdoc/commit/23747b4950

M	test/rdoc/test_rdoc_class_module.rb
M	test/rdoc/test_rdoc_context.rb
M	test/rdoc/test_rdoc_extend.rb
M	test/rdoc/test_rdoc_include.rb
M	test/rdoc/test_rdoc_normal_class.rb
M	test/rdoc/test_rdoc_store.rb
M	test/rdoc/test_rdoc_top_level.rb

commit 2e50989ad39a1085e04a901d072e7a2a77d1dc8f
Author: aycabta 
Date:   Sat Dec 4 18:05:37 2021 +0900

    [ruby/rdoc] Resolve class and method of the same name correctly
    
    https://github.com/ruby/rdoc/commit/1e16284fe5

M	lib/rdoc/cross_reference.rb
M	test/rdoc/test_rdoc_cross_reference.rb
M	test/rdoc/xref_data.rb
M	test/rdoc/xref_test_case.rb

commit fa806cf233938af64ce928a37d2641dd762da87a
Author: aycabta 
Date:   Mon Dec 6 18:15:44 2021 +0900

    Fix typo of namespace

M	doc/NEWS-2.0.0

commit cce331272b07636d536c8227288ab3fbcf24e2aa
Author: Koichi Sasada 
Date:   Thu Dec 9 03:58:44 2021 +0900

    `Ractor.make_shareable` checks proc's sefl
    
    `Ractor.make_shareable(proc_obj)` raises an `IsolationError`
    if the self of `proc_obj` is not a shareable object.
    
    [Bug #18243]

M	bootstraptest/test_ractor.rb
M	test/ruby/test_iseq.rb
M	vm.c

commit c5f68a9a24c4e25f551108bda4738b1000d7b197
Author: Akihiro Sada 
Date:   Thu Dec 9 12:28:42 2021 +0900

    Fix typo in NEWS-2.5.0 [ci skip]

M	doc/NEWS-2.5.0

commit 45c5794d325106b212deddeea08477d30bc6df21
Author: David Rodríguez 
Date:   Wed Dec 8 22:33:55 2021 +0100

    [rubygems/rubygems] Don't load system rubygems during tests
    
    Since tests are about testing our development copy of rubygems, not
    whatever is installed in the system.
    
    https://github.com/rubygems/rubygems/commit/f5e0b68cdd

M	test/rubygems/test_gem_commands_open_command.rb

commit 82bb9cedd3fb41fd78d612153c35fdb8c5344d5a
Author: Alan Wu 
Date:   Wed Dec 8 12:24:37 2021 -0500

    YJIT: Fix leak in compilation loop
    
    Previously, when there are too many blocks in a batch, the last block in
    the batch is not tracked in the array of batches and not freed.

M	bootstraptest/test_yjit.rb
M	yjit_core.c

commit c47e821b8928b1a8755dc8693ffce57342c10868
Author: Marc-André Lafortune 
Date:   Wed Dec 8 14:46:37 2021 -0500

    [ruby/ostruct] Bump version to 0.5.2

M	lib/ostruct.rb

commit 9c269316357a1a5b6ef27794f3c9412b2e33a6cd
Author: Koichi Sasada 
Date:   Thu Dec 9 04:06:53 2021 +0900

    [ruby/ostruct] `Proc`'s self should be shareable.
    
    To fix the issue https://bugs.ruby-lang.org/issues/18243
    we need to make sure the Proc's self is shareable.
    These procs are used by `define_method` and it doesn't use
    Proc's self, so `nil` is enough.

M	lib/ostruct.rb

commit 9a2ecddf32528286c81ca87db1d17c85aca4e754
Author: Burdette Lamar 
Date:   Wed Dec 8 12:29:56 2021 -0600

    Enhanced RDoc for String (#5227)
    
    Treats:
    
        #replace
        #clear
        #chr
        #getbyte
        #setbyte
        #byteslice
        #reverse
        #reverse!
        #include?

M	string.c

commit 1966dc7a5d3b31d37404b081c0833194de83f0b2
Author: git 
Date:   Thu Dec 9 00:30:36 2021 +0900

    * 2021-12-09 [ci skip]

M	version.h

commit 17e7219679fc66cfc7a687c7fbae1bf2329beed5
Author: Yusuke Endoh 
Date:   Mon Dec 6 11:35:54 2021 +0900

    ext/ripper/lib/ripper/lexer.rb: Do not deprecate Ripper::Lexer::State#[]
    
    The old code of IRB still uses this method. The warning is noisy on
    rails console.
    In principle, Ruby 3.1 deprecates nothing, so let's avoid the
    deprecation for the while.
    I think It is not so hard to continue to maintain it as it is a trivial
    shim.
    
    https://github.com/ruby/ruby/pull/5093

M	ext/ripper/lib/ripper/lexer.rb

commit 3021c3cedcbad8f2293c87b3077dcdcb748823f2
Author: Nobuyoshi Nakada 
Date:   Wed Dec 8 18:02:02 2021 +0900

    Add `to_f` to predefined conversion method name to ID table

M	object.c

commit 454b4da7635b6322e85fd38735d9a04963644c4b
Author: Nobuyoshi Nakada 
Date:   Wed Dec 8 17:59:16 2021 +0900

    [DOC] Integer.try_convert [ci skip]

M	numeric.c
M	numeric.rb

commit af6e0883570e8c61cef6234040d8689d88db7300
Author: Kazuhiro NISHIYAMA 
Date:   Wed Dec 8 13:26:53 2021 +0900

    Skip bind port 1 when ip_unprivileged_port_start<=1
    
    Linux can allow to bind port 1 to user.
    And `ip_unprivileged_port_start` is 0 on [lima](https://github.com/lima-vm/lima) default vm.
    
    ```
    1)
    Socket#bind on SOCK_DGRAM socket raises Errno::EACCES when the current user does not have permission to bind FAILED
    Expected Errno::EACCES but no exception was raised (0 was returned)
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:38:in `block (4 levels) in '
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:4:in `'
    
    2)
    Socket#bind on SOCK_STREAM socket raises Errno::EACCES when the current user does not have permission to bind FAILED
    Expected Errno::EACCES but no exception was raised (0 was returned)
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:79:in `block (4 levels) in '
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:44:in `'
    
    3)
    Socket#bind using IPv4 using a packed socket address raises Errno::EACCES when the user is not allowed to bind to the port FAILED
    Expected Errno::EACCES but no exception was raised (0 was returned)
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:119:in `block (6 levels) in '
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:85:in `'
    
    4)
    Socket#bind using IPv6 using a packed socket address raises Errno::EACCES when the user is not allowed to bind to the port FAILED
    Expected Errno::EACCES but no exception was raised (0 was returned)
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:119:in `block (6 levels) in '
    .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:85:in `'
    ```

M	spec/ruby/library/socket/socket/bind_spec.rb

commit 4a3e7984bfbaab45cbd6e73373ee1bba5ce21dc1
Author: John Hawthorn 
Date:   Tue Dec 7 15:18:11 2021 -0800

    Avoid Array allocation when appending to args array (#5211)
    
    * Use duparray when possible for argspush
    
    ARGSPUSH is the node we see with a single value pushed to the end of a
    splatted array. ARGSCAT is similar, but is used when multiple values are
    being concatenated to the list.
    
    Previously only ARGSCAT had an optimization where when all the values
    were static it would use duparray instead of newarray to create the
    intermediate array.
    
    This commit adds similar behaviour for ARGSPUSH, using duparray instead
    of putobject/newarray.
    
    * Replace duparray with putobject before concatarray
    
    When performing duparray/concatarray we know we'll never use the
    intermediate array being created by duparray, so we should be able to
    use it as a temporary object.
    
    This avoids an extra array allocation for NODE_ARGSPUSH (ex. [*foo, 1])
    and NODE_ARGSCAT (ex. [*foo, 1, 2]).

M	compile.c

commit 852ea1e893e68952fbeaab1b2e29cd7e0bf61f0a
Author: David Rodríguez 
Date:   Tue Dec 7 19:25:18 2021 +0100

    [rubygems/rubygems] Remove unnecessary comment
    
    https://github.com/rubygems/rubygems/commit/5e50f12e7a

M	lib/bundler/templates/gems.rb

commit 76cad13759143ab35559b30d3e8eed71ce3e8553
Author: David Rodríguez 
Date:   Tue Dec 7 19:23:22 2021 +0100

    [rubygems/rubygems] Don't add custom github source to `bundle init` Gemfile
    
    It's provided by bundler.
    
    https://github.com/rubygems/rubygems/commit/25ccaab46b

M	lib/bundler/templates/Gemfile
M	lib/bundler/templates/gems.rb

commit f0ef9ffed1afe6a4add8959ed54b986d952c0a31
Author: David Rodríguez 
Date:   Tue Dec 7 19:10:46 2021 +0100

    [rubygems/rubygems] Cancel deprecation of custom git sources
    
    https://github.com/rubygems/rubygems/commit/99cd6e0627

M	lib/bundler/dsl.rb
M	spec/bundler/other/major_deprecation_spec.rb

commit 6beb05c2ad924eed761e6a31fcc397a5faa57553
Author: Alan Wu 
Date:   Tue Dec 7 14:27:49 2021 -0500

    YJIT: Undo add_block_version() in OOM code path
    
    Preivously, [1] failed to undo the effect of applying
    add_block_version() to a block, leaving dangling pointers in the iseq
    when compilation fails.
    
    [1]: d0772632bf2ff15f73c0d3601d958670a5c77855

M	yjit_core.c

commit 286c07f0dcd7999bfb9cb4889125ebce59dca4cc
Author: Alan Wu 
Date:   Tue Dec 7 15:37:32 2021 -0500

    YJIT: Remove guard_self_is_heap()
    
    It's superseded by functionality added to jit_guard_known_klass().
    In weird situations such as the ones in the included test,
    guard_self_is_heap() triggered assertions.
    
    Co-authored-by: Jemma Issroff 

M	bootstraptest/test_yjit.rb
M	yjit_codegen.c

commit e51d0d2853126322e8463508aabadc661f45fbe5
Author: git 
Date:   Wed Dec 8 01:49:36 2021 +0900

    * 2021-12-08 [ci skip]

M	version.h

commit 1b12ebb94e50e16ca9f226e583ee2a3d418402d6
Author: Simon Fish 
Date:   Tue Oct 26 17:50:55 2021 +0100

    [rubygems/rubygems] Add require parameter to `bundle add``
    
    Test and ensure "false" is handled
    
    Don't use yield_self to operate on autorequire
    
    Remove duplicate autorequire
    
    Add banner to require option
    
    Don't use json to break down require params
    
    Pass linter
    
    https://github.com/rubygems/rubygems/commit/a4f2f8ac17

M	lib/bundler/cli.rb
M	lib/bundler/injector.rb
M	spec/bundler/commands/add_spec.rb

commit 26303c31f0939d093f88f609c846590ad538114f
Author: David Rodríguez 
Date:   Sat Nov 13 11:18:54 2021 +0100

    [rubygems/rubygems] Pass "--" to git commands to separate positional and optional args
    
    To make sure git uri's specified in Gemfile are never misinterpreted as
    optional arguments, potentially allowing for local code execution.
    
    https://github.com/rubygems/rubygems/commit/90b1ed8b9f

M	lib/bundler/source/git/git_proxy.rb
M	spec/bundler/bundler/source/git/git_proxy_spec.rb

commit bb3f17bd98a652f28b7cccadf08213840e267ad1
Author: Nobuyoshi Nakada 
Date:   Tue Dec 7 22:00:23 2021 +0900

    More indentation in NEWS.md [ci skip]
    
    The current Markdown implementation of RDoc requires list contents
    to be indented 4 columns except for the first paragraph.
    Maybe fixed as other implementations in the future.

M	NEWS.md

commit a2d4e1cda68a49980a4f9f353f400efbde7e7884
Author: Nobuyoshi Nakada 
Date:   Tue Dec 7 19:44:02 2021 +0900

    Fixed the check order in wmap_live_p [Bug #18392]
    
    Check if the object is a pointer to heap before check the flag in
    that object.

M	gc.c

commit d6c5a30cfdf658280338dbb8c8b17fab3190b928
Author: Nobuyoshi Nakada 
Date:   Tue Dec 7 19:33:03 2021 +0900

    ObjectSpace::WeakMap#inspect: check if living object [Bug #18392]

M	gc.c
M	test/ruby/test_weakmap.rb

commit ec878dac90df0ca5f39e72261b8d4e2898486a93
Author: Nobuyoshi Nakada 
Date:   Tue Dec 7 12:32:02 2021 +0900

    Move -ljemalloc to DLDLIBS [Bug #18391]
    
    Set the alternative memory management library only as a platform
    specific library, without other libraries.

M	configure.ac

commit 91e9d27629dbea71248868ed98f4b4e8796b81b1
Author: Kazuhiro NISHIYAMA 
Date:   Tue Dec 7 15:02:08 2021 +0900

    Fix a link [ci skip]

M	NEWS.md

commit ad4ac68c7b9fca277c1ae5b1e48ed659df6fd122
Author: Marc-André Lafortune 
Date:   Mon Dec 6 23:19:41 2021 -0500

    [ruby/ostruct] ostruct v0.5.1

M	lib/ostruct.rb

commit 95d9bcf2b2921baee5dfacdf9dfd606a4c5167a8
Author: Marc-André Lafortune 
Date:   Mon Dec 6 23:05:53 2021 -0500

    [ruby/ostruct] Alias less methods
    
    Skips methods that do not end with letter (in particular `!~` and `=~`)
    For JRuby, also skip `instance_exec`, `instance_eval` and `eval`

M	lib/ostruct.rb
M	test/ostruct/test_ostruct.rb

commit dfd9728c87640d9699b1e7c63a6fefb6b2797fbc
Author: Yusuke Endoh 
Date:   Tue Dec 7 12:07:28 2021 +0900

    NEWS.md: Describe the change of the default width of `pp`
    
    [Feature #12913]

M	NEWS.md

commit 794b9a28b562121426b3b1a19d2e465616af3ac0
Author: Alan Wu 
Date:   Mon Dec 6 19:14:34 2021 -0500

    YJIT: Add integrity checks for blockid
    
    Verify that the iseq idx pair for the block is valid in
    invalidate_block_version(). While we are at it, bound loop
    iterating over instructions to `iseq_body->iseq_size`.

M	yjit_codegen.c
M	yjit_core.c

commit b7ea66bc3228635a87125bea69f01779f75c39de
Author: Alan Wu 
Date:   Mon Dec 6 17:09:52 2021 -0500

    YJIT: Fix incomplete invalidation from opt_setinlinecache
    
    As part of YJIT's strategy for promoting Ruby constant expressions into
    constants in the output native code, the interpreter calls
    rb_yjit_constant_ic_update() from opt_setinlinecache.
    
    The block invalidation loop indirectly calls rb_darray_remove_unordered(),
    which does a shuffle remove. Because of this, looping with an
    incrementing counter like done previously can miss some elements in the
    array. Repeatedly invalidate the first element instead.
    
    The bug this commit resolves does not seem to cause crashes or divergent
    behaviors.
    
    Co-authored-by: Jemma Issroff 

M	bootstraptest/test_yjit.rb
M	yjit.c
M	yjit.h
M	yjit_iface.c

commit 0209beaca6880eba18eaf15591ff7f8d02b0d208
Author: Burdette Lamar 
Date:   Mon Dec 6 16:26:28 2021 -0600

    Enhanced RDoc for literals.rdoc (#5213)
    
    
        Makes link targets among percent literals.
        Adds links to those targets.
        Adds examples to percent literals.
        Links from opening summary list to corresponding sections.

M	doc/syntax/literals.rdoc

commit 4c39fae4de375107f24095f4b4412efcefcf2a08
Author: Koichi Sasada 
Date:   Tue Dec 7 02:03:06 2021 +0900

    add a NEWS entry for `mandatory_only?`

M	NEWS.md

commit 87664b5cc8f945ed0c5611b27179913585ec2326
Author: Koichi Sasada 
Date:   Mon Dec 6 17:36:01 2021 +0900

    add a NEWS entry about GC.total_time

M	NEWS.md

commit 660687e6fa60ff4d84805b0ef89fb19ad1b0b8f6
Author: Koichi Sasada 
Date:   Mon Dec 6 17:19:42 2021 +0900

    add NEWS about the improvement of `Struct`

M	NEWS.md

commit fb356c6f5709307806695d3a79c33d7dd7fd139b
Author: git 
Date:   Tue Dec 7 01:53:55 2021 +0900

    * 2021-12-07 [ci skip]

M	version.h

commit 526c9359cae8226608a566f414f04b2c6a204d81
Author: David Rodríguez 
Date:   Mon Nov 29 18:18:24 2021 +0100

    [rubygems/rubygems] Don't cleanup paths from gems already activated from `$LOAD_PATH`
    
    This way, if some default gem has been required before bundler, and
    rubygems has enhanced the `$LOAD_PATH` to use the latest version in the
    system, further requires of that default gem after bundler has been
    activated will use the same version and don't cause redefinition
    warnings or worse problems derived from the fact of mixing up two
    different versions. That, unless the gem is a `Gemfile` dependency. In
    that case, we'll get a mismatch error anyways as we do now.
    
    This fix doesn't mean that all default gems internally used by
    bundler/rubygems are now supported inside `Gemfile`'s. That should be
    handled case by case, but it will now bite people only when they try to
    add the gem to their `Gemfile`, not before.
    
    https://github.com/rubygems/rubygems/commit/7325530547

M	lib/bundler/shared_helpers.rb
M	spec/bundler/runtime/setup_spec.rb

commit 715a51a0d6963f9d727191d4e1ad0690fd28c4dd
Author: Jean Boussier 
Date:   Thu Dec 2 12:59:45 2021 +0100

    [rubygems/rubygems] Feature: accept pull request URLs as github source
    
    Very often github source is used to temporarily use a modified gem
    while a PR upstream is being reviewed.
    
    So for instance https://github.com/ruby/bigdecimal/pull/211 will look like:
    
    ```ruby
    gem "bigdecimal", github: "casperisfine/bigdecimal", branch: "git-gem" # https://github.com/ruby/bigdecimal/pull/200
    ```
    
    It's annoying because you have to fiddle with the branch name, which is copied as `casperisfine:git-gem`, etc etc.
    
    If I could simply use the PR URL like this:
    
    ```
    gem "bigdecimal", github: "https://github.com/ruby/bigdecimal/pull/211"
    ```
    
    It would make a very common task for me so much simpler.
    
    https://github.com/rubygems/rubygems/commit/517c527751

M	lib/bundler/dsl.rb
M	lib/bundler/man/bundle-add.1
M	lib/bundler/man/bundle-binstubs.1
M	lib/bundler/man/bundle-cache.1
M	lib/bundler/man/bundle-check.1
M	lib/bundler/man/bundle-clean.1
M	lib/bundler/man/bundle-config.1
M	lib/bundler/man/bundle-doctor.1
M	lib/bundler/man/bundle-exec.1
M	lib/bundler/man/bundle-gem.1
M	lib/bundler/man/bundle-info.1
M	lib/bundler/man/bundle-init.1
M	lib/bundler/man/bundle-inject.1
M	lib/bundler/man/bundle-install.1
M	lib/bundler/man/bundle-list.1
M	lib/bundler/man/bundle-lock.1
M	lib/bundler/man/bundle-open.1
M	lib/bundler/man/bundle-outdated.1
M	lib/bundler/man/bundle-platform.1
M	lib/bundler/man/bundle-pristine.1
M	lib/bundler/man/bundle-remove.1
M	lib/bundler/man/bundle-show.1
M	lib/bundler/man/bundle-update.1
M	lib/bundler/man/bundle-viz.1
M	lib/bundler/man/bundle.1
M	lib/bundler/man/gemfile.5
M	lib/bundler/man/gemfile.5.ronn
M	spec/bundler/bundler/dsl_spec.rb

commit d044ffd77fb3a486bbaca350980beee3f222bdb1
Author: David Rodríguez 
Date:   Sun Dec 5 09:23:28 2021 +0100

    [rubygems/rubygems] Allow using `Gem::Version` without loading the rest of rubygems
    
    https://github.com/rubygems/rubygems/commit/1b862537a5

M	lib/rubygems/version.rb
M	test/rubygems/test_project_sanity.rb

commit e41c195cc52b2ce1ba00126917be606d52d75a30
Author: David Rodríguez 
Date:   Sun Dec 5 09:22:29 2021 +0100

    [rubygems/rubygems] Fix incorrect quoting
    
    Test was just returning a string instead of actually exercising the
    require.
    
    https://github.com/rubygems/rubygems/commit/62c827d7e1

M	test/rubygems/test_project_sanity.rb

commit 25423f0918eb31477a9ef72a4c14b0c5c5b78bc6
Author: Josef Šimánek 
Date:   Mon Dec 6 01:42:43 2021 +0100

    [rubygems/rubygems] Add --version parameter to bundle info command.
    
    https://github.com/rubygems/rubygems/commit/7d9fdd908d

M	lib/bundler/cli.rb
M	lib/bundler/cli/info.rb
M	spec/bundler/commands/info_spec.rb

commit 5ce3272e513e0dafedcc40f121e2d71bef3a3688
Author: Nobuyoshi Nakada 
Date:   Mon Dec 6 17:53:37 2021 +0900

    autogen.sh: Copy auxiliary files instead of symlinks with `-i`
    
    When accessing from containers, symbolic links may not be able to
    reach outer file systems.

M	autogen.sh

commit 9c0c66f721d707bec88b1690fa12d5b231ae2314
Author: Colby Swandale 
Date:   Sat Dec 4 18:25:43 2021 +1100

    [rubygems/rubygems] add login & logout for the signin & signout commands respectively
    
    https://github.com/rubygems/rubygems/commit/49b491970b

M	lib/rubygems/command_manager.rb
M	test/rubygems/test_gem_command_manager.rb

commit e563c6068eed526e7eb9bc4d3606501c827da674
Author: Nobuyoshi Nakada 
Date:   Mon Dec 6 14:18:01 2021 +0900

    sync_default_gems.rb: convert commit hashes to github URLs [ci skip]

M	tool/sync_default_gems.rb

commit c2192cb985c10c90ba5e4d64652f79f89afff983
Author: Shugo Maeda 
Date:   Mon Dec 6 09:40:54 2021 +0900

    Clarify the error message when trying to import C methods [Bug #18385]

M	eval.c

commit e713552868c05fe77a2e3acb825460e5c2bdb53f
Author: David Rodríguez 
Date:   Mon Feb 17 14:02:17 2020 +0100

    [rubygems/rubygems] LOAD_PATH is already reset globally
    
    https://github.com/rubygems/rubygems/commit/b0bbb27115

M	test/rubygems/test_require.rb

commit 2fc47bad78a26e5f53e0281f328afcc0518c4d41
Author: David Rodríguez 
Date:   Thu Feb 13 18:17:55 2020 +0100

    [rubygems/rubygems] Remove unneded setup
    
    https://github.com/rubygems/rubygems/commit/9815a04e31

M	test/rubygems/test_require.rb

commit a785e6c356850ce097c8403df4c59c6a77df9bcc
Author: Alan Wu 
Date:   Sun Dec 5 11:02:55 2021 -0500

    Make `leaf` const in VM generator
    
    Assigning to `leaf` in insns.def would give undesirable results.

M	tool/ruby_vm/views/_insn_entry.erb

commit 26e4887eed99e11710c9ed2f7c544c7b3d99341e
Author: git 
Date:   Mon Dec 6 00:26:51 2021 +0900

    * 2021-12-06 [ci skip]

M	version.h

commit 26063d39546ccd6d0b9d42defc2ad1bb8d35cc27
Author: Alan Wu 
Date:   Sun Dec 5 10:08:19 2021 -0500

    YJIT: Initialize code buffer with PUSH DS
    
    PUSH DS triggers the #UD processor exception in 64-bit mode, which the
    OS translates to a SIGILL. Unlike INT3, this triggers the usual crash
    reporter, which makes failures easier to notice. When there is a
    debugger attached, the PUSH DS pauses execution just like INT3.

M	yjit_asm.c

commit bbfefd45c6c99c4371cc0789bdd1da9ea3ade701
Author: Nobuyoshi Nakada 
Date:   Sun Dec 5 22:50:55 2021 +0900

    [ruby/securerandom] Remove no longer used helper methods
    
    Unused since r59801, 782b2050b837206d06767d42d0ea5117921247c8,
    or https://github.com/ruby/securerandom/commit/52c8e7a85e017f.
    
    https://github.com/ruby/securerandom/commit/38fc2c4427

M	test/test_securerandom.rb

commit 00a941ac4bb5520a412bcd70ecc8a65fd1e21a5b
Author: Kazuhiro NISHIYAMA 
Date:   Sun Dec 5 20:34:25 2021 +0900

    Update stdlib versions [ci skip]

M	NEWS.md

commit 20dfc7621ce33034afcc109fabc0e46acc43a1ae
Author: Kazuhiro NISHIYAMA 
Date:   Sun Dec 5 20:31:58 2021 +0900

    Sort URLs by issue numbers [ci skip]

M	NEWS.md

commit 19f037e452555354a6eddf78ca2ddbcb3bacb2e7
Author: Nobuyoshi Nakada 
Date:   Sun Dec 5 19:08:25 2021 +0900

    More indentation in NEWS.md [ci skip]
    
    The current Markdown implementation of RDoc requires list contents
    to be indented 4 columns except for the first paragraph.
    Maybe fixed as other implementations in the future.

M	NEWS.md

commit e818193784f31b405a7f087b56fe79bb8dbce395
Author: Junichi Ito 
Date:   Sun Dec 5 17:15:45 2021 +0900

    Fix wrong indentation in NEWS.md [ci skip]

M	NEWS.md

commit b555e659c4974acc423083b71b1bd5ec6a926046
Author: Nobuyoshi Nakada 
Date:   Sun Dec 5 18:08:55 2021 +0900

    Do not use `fcopyfile` if appending to non-empty file [Bug #18388]
    
    `fcopyfile` appends `src` to `to` and then truncates `to` to it's
    original size.

M	io.c
M	test/ruby/test_io.rb

commit a72aecac3ae81e955997e4d789504e60196e2697
Author: David Rodríguez 
Date:   Fri Nov 5 20:57:41 2021 +0100

    [rubygems/rubygems] Don't write outside of destdir when regenerating plugins
    
    https://github.com/rubygems/rubygems/commit/141ef4cb9a

M	lib/rubygems/commands/pristine_command.rb
M	lib/rubygems/commands/setup_command.rb
M	test/rubygems/test_gem_commands_setup_command.rb

commit 9dc76e102ec00bb93b7aafaaa1309ca426d02595
Author: David Rodríguez 
Date:   Fri Nov 5 13:55:09 2021 +0100

    [rubygems/rubygems] Don't write outside of destdir when installing default bundler
    
    https://github.com/rubygems/rubygems/commit/a62d00c5e8

M	lib/rubygems/commands/setup_command.rb
M	test/rubygems/test_gem_commands_setup_command.rb

commit ec28771fde883f7d2fe04b46f06556112454f4d6
Author: David Rodríguez 
Date:   Thu Nov 4 18:20:17 2021 +0100

    [rubygems/rubygems] Fold a line that got out of hand
    
    https://github.com/rubygems/rubygems/commit/49317d8beb

M	lib/rubygems/commands/setup_command.rb

commit ed7a50015adf823b105d032c8a5480ad9e6972ee
Author: David Rodríguez 
Date:   Fri Nov 5 12:44:29 2021 +0100

    [rubygems/rubygems] Fix binstubs and plugins regeneration with `--destdir` is used
    
    https://github.com/rubygems/rubygems/commit/7079de16fa

M	lib/rubygems/commands/setup_command.rb

commit 62957debd5f9f3c43d79068b8302779f45bb1512
Author: Alan Wu 
Date:   Sat Dec 4 13:03:17 2021 -0500

    README.md: Fix link to platform maintainers list
    
    Follow up for 6bca410ae8b16238d02c868ce8fa1af13a5c4460
    [ci skip]

M	README.md

commit 9733b7e38f7f711e8e5929fabd77870f2773d09c
Author: git 
Date:   Sun Dec 5 01:35:56 2021 +0900

    * 2021-12-05 [ci skip]

M	version.h

commit 34b5e2566da88c392ada07437c3e8b44c295c9b2
Author: Alan Wu 
Date:   Tue Nov 30 18:11:42 2021 -0500

    YJIT: Enable out of memory tests
    
    As of [1] and [2], YJIT has enough support for out of memory conditions
    to pass these two basic tests.
    
    OOM code paths are prone to bugs since they are rarely exercised in
    common workloads. We might want to add CI runs that stress test these
    code paths. Maybe outside of GitHub Actions for capacity reasons.
    
    [1]: f41b4d44f95978dfa97af04af00055dc3fbf7978
    [2]: b5b6ab4194f16e96ee5004288cc469ac1bca41a3

M	bootstraptest/test_yjit.rb

commit 4a6ca12904c8160d68ac4b552636159926afff41
Author: Nobuyoshi Nakada 
Date:   Sat Dec 4 16:20:30 2021 +0900

    Remove unversioned phony target for pkgconfig file [Bug #18374]
    
    It results in a circular dependency when `--with-ruby-pc=ruby.pc`
    is given.  [ci skip]

M	defs/gmake.mk
M	template/Makefile.in

commit a4964174e26303524cee8c2d8523048b87137993
Author: Nobuyoshi Nakada 
Date:   Sat Dec 4 10:40:15 2021 +0900

    Fix circular dependencies specific to in-place build [Bug #18374]
    
    * Move the rubyspec running recipe after the rule for rubyspec
      C-API extension library, so that separate dummy recipe is not
      needed.
    
    * Add a dummy recipe for rubyspec.h before the rubyspec running
      recipe, so that the dependency of extensions do not fire the
      latter.

M	defs/gmake.mk

commit d118e7c025adf0221fe16ad3a0d57ba9605fd2a7
Author: Nobuyoshi Nakada 
Date:   Sat Dec 4 10:35:44 2021 +0900

    Turn nd_type_p into an inline function

M	node.h

commit f41b4d44f95978dfa97af04af00055dc3fbf7978
Author: Alan Wu 
Date:   Wed Dec 1 14:15:23 2021 -0500

    YJIT: Bounds check every byte in the assembler
    
    Previously, YJIT assumed that basic blocks never consume more than
    1 KiB of memory. This assumption does not hold for long Ruby methods
    such as the one in the following:
    
    ```ruby
    eval(<

M	misc/test_yjit_asm.sh
M	misc/yjit_asm_tests.c
M	yjit_asm.c
M	yjit_asm.h
M	yjit_codegen.c
M	yjit_iface.c

commit 3be067234f156d75e6143cca5037df7eef1bd112
Author: John Hawthorn 
Date:   Fri Dec 3 12:58:09 2021 -0800

    NEWS for [GH-#5146] [ci skip] (#5210)

M	NEWS.md

commit c38c1d82b14237cd9d4268b88fef28e9379280f9
Author: David Rodríguez 
Date:   Mon Nov 29 13:43:09 2021 +0100

    [rubygems/rubygems] Let original EACCES error be raised
    
    This block of code already wraps file operations with
    `SharedHelpers.filesystem_access`, which rescues and re-raises more
    friendly errors. Also, I'm not fully sure creating a temporary directory
    can end up raising an `Errno::EACCES` error from reading `tmpdir`
    sources. Finally, this rescue block apparently leads to some false
    positives when firewall is blocking the ruby executable on Windows, or
    at least that's what we've got reported.
    
    In any case, I think it's best to let the original error be raised.
    
    https://github.com/rubygems/rubygems/commit/f7dbe54404

M	lib/bundler/compact_index_client/updater.rb
M	spec/bundler/bundler/compact_index_client/updater_spec.rb

commit 54ca530dbe39f389da2b5972a574460a3665eeff
Author: eileencodes 
Date:   Wed Dec 1 14:01:34 2021 -0500

    YJIT: Add ivar counter exits
    
    On Rails we're seeing a lot of exits for ivars in the Active Record
    tests. In trying to track them down it was hard to find what code is
    exiting.
    
    This change adds a counted exit for when an object is "megamorphic". In
    these cases there are too many specializations in the Ruby code so YJIT
    exits.
    
    Co-authored-by: Aaron Patterson tenderlove@ruby-lang.org

M	yjit.c
M	yjit_codegen.c

commit 7fc9d83bd1c1b8c44790b6af0f81f3b7364270ca
Author: Burdette Lamar 
Date:   Fri Dec 3 10:46:35 2021 -0600

    Fix link (#5208)

M	string.c

commit 081539023adc2a5ed4466ef54767c5e0c4d72ace
Author: Peter Zhu 
Date:   Thu Dec 2 16:27:43 2021 -0500

    Refactor GC functions to have consistent naming
    
    Refactor function names for consistency. Function with name xyz_page
    should have a corresponding function named xyz_plane.

M	gc.c

commit 81eadd976fc332a4c489b4eaf8ab45fd24c877c2
Author: git 
Date:   Sat Dec 4 00:01:42 2021 +0900

    * 2021-12-04 [ci skip]

M	version.h

commit ec7f14d9fab82b097fb8b58501461cd0e19d6bdf
Author: S.H 
Date:   Sat Dec 4 00:01:24 2021 +0900

    Add `nd_type_p` macro

M	ast.c
M	compile.c
M	node.c
M	node.h
M	parse.y

commit 28fb6d6b9e06a632f96244a635a045622a6be276
Author: Burdette Lamar 
Date:   Fri Dec 3 07:12:28 2021 -0600

    Adding links to literals and Kernel (#5192)
    
    * Adding links to literals and Kernel

M	array.c
M	complex.c
M	doc/syntax/literals.rdoc
M	hash.c
M	numeric.c
M	proc.c
M	range.c
M	rational.c
M	re.c
M	string.c

commit 324d57df0b28982590609d7ae080f82074a82a5c
Author: Jean Boussier 
Date:   Fri Dec 3 10:17:21 2021 +0100

    TestClass#test_subclass_gc reduce the number of iteration by 10x
    
    The test was taking 10 seconds on my machine and did timeout
    on CI once.

M	test/ruby/test_class.rb

commit 0073f624f0a89f454f935940a5140f6ff73280f9
Author: David Rodríguez 
Date:   Wed Nov 17 15:26:06 2021 +0100

    [rubygems/rubygems] Don't unnecessarily loop twice through dependencies
    
    https://github.com/rubygems/rubygems/commit/06b4a7994d

M	lib/bundler/definition.rb

commit 4c5e862434157c4ef258f432431262b3685c4036
Author: David Rodríguez 
Date:   Wed Nov 17 15:14:30 2021 +0100

    [rubygems/rubygems] Improve source gemfile/lockfile equivalence checks
    
    Since we no longer have multiple global sources, each top level dependency is
    always pinned to a single source, so it makes little sense to talk about
    adding or removing a source. Instead, source changes always mean to
    change the source one or more dependencies are pinned to. This logic can
    now be much simpler.
    
    https://github.com/rubygems/rubygems/commit/f1d33fa0df

M	lib/bundler/definition.rb
M	spec/bundler/install/deploy_spec.rb

commit 248fae0ec43c2df6d9b545acc7f56bdfd5f89dec
Author: David Rodríguez 
Date:   Thu Nov 11 23:58:40 2021 +0100

    [rubygems/rubygems] Improve sources representation
    
    We have two representations of a source. Once used for sorting, which
    should not depend on the source's state, but solely on its static
    information, like remotes. Another one used for error and informational
    messages, which should properly inform about the exact state of the
    source when the message is printed.
    
    This commit makes the latter be the default implementation of `to_s`, so
    that error and informational messages are more accurate by default.
    
    https://github.com/rubygems/rubygems/commit/b5f2b88957

M	lib/bundler/cli/update.rb
M	lib/bundler/plugin/api/source.rb
M	lib/bundler/resolver.rb
M	lib/bundler/source.rb
M	lib/bundler/source/rubygems.rb
M	lib/bundler/source/rubygems_aggregate.rb
M	lib/bundler/source_list.rb
M	spec/bundler/install/gemfile/sources_spec.rb
M	spec/bundler/support/indexes.rb

commit 7d974cc56fa0555beed0bf4f6fe34322cd24cd26
Author: David Rodríguez 
Date:   Wed Nov 17 14:09:50 2021 +0100

    [rubygems/rubygems] Don't overwrite locked dependency sources too early
    
    Otherwise we hide some useful message about dependency source changes.
    
    https://github.com/rubygems/rubygems/commit/c926673c5b

M	lib/bundler/definition.rb
M	spec/bundler/install/deploy_spec.rb

commit aa87780f8f27253e216d4883dd4cae84d545ec1b
Author: David Rodríguez 
Date:   Wed Nov 17 14:21:48 2021 +0100

    [rubygems/rubygems] Fix incorrect order in changed sources message
    
    https://github.com/rubygems/rubygems/commit/6f1b5f68de

M	lib/bundler/definition.rb
M	spec/bundler/install/deploy_spec.rb

commit ca65f7bb8afe747628d3d48caf63e5fcba303e29
Author: David Rodríguez 
Date:   Wed Nov 17 12:58:07 2021 +0100

    [rubygems/rubygems] Remove unnecessary code
    
    Somehow this is trying to relax frozen mode constraints for path
    sources. It doesn't make sense to me and it's not covered by any spec so
    I'm killing it.
    
    https://github.com/rubygems/rubygems/commit/17c978e161

M	lib/bundler/definition.rb

commit d19c266b49022e6788a4e14be86fef22a73d5871
Author: David Rodríguez 
Date:   Wed Nov 17 12:02:24 2021 +0100

    [rubygems/rubygems] Reuse `locked_dependencies` helper
    
    It makes the code more consistent with the above line.
    
    https://github.com/rubygems/rubygems/commit/f28d05a548

M	lib/bundler/definition.rb

commit 901a257533d3bc2139770817def14e1f6017be2f
Author: David Rodríguez 
Date:   Wed Nov 17 12:01:55 2021 +0100

    [rubygems/rubygems] Reformat for consistency with the above line
    
    https://github.com/rubygems/rubygems/commit/11193be3f1

M	lib/bundler/definition.rb

commit 906b95780fa7f9ff23a2d724d25fd4f69d494543
Author: David Rodríguez 
Date:   Wed Nov 17 09:19:03 2021 +0100

    [rubygems/rubygems] Remove unnecessary nil checks
    
    https://github.com/rubygems/rubygems/commit/d047b8935d

M	lib/bundler/definition.rb

commit e4c7c5468e01125cf10b06e7db1006b64bf1cd7e
Author: Nobuyoshi Nakada 
Date:   Fri Dec 3 18:35:35 2021 +0900

    Add tests of string argument to Time.at

M	test/ruby/test_time.rb

commit dd6c59cdaf532e6c7cc5d62c7662e75697bc61a4
Author: git 
Date:   Fri Dec 3 07:00:45 2021 +0000

    Update bundled_gems at 2021-12-03

M	gems/bundled_gems

commit 433a5a0eb03d5315f9b71988038352ced56f311a
Author: Nobuyoshi Nakada 
Date:   Fri Dec 3 13:17:38 2021 +0900

    [DOC] Fix Time.new description [ci skip]

M	timev.rb

commit 733500e9d02b11ff60fbbdb8daa43c2e9cfbd750
Author: John Hawthorn 
Date:   Thu Dec 2 15:53:39 2021 -0800

    Lazily create singletons on instance_{exec,eval} (#5146)
    
    * Lazily create singletons on instance_{exec,eval}
    
    Previously when instance_exec or instance_eval was called on an object,
    that object would be given a singleton class so that method
    definitions inside the block would be added to the object rather than
    its class.
    
    This commit aims to improve performance by delaying the creation of the
    singleton class unless/until one is needed for method definition. Most
    of the time instance_eval is used without any method definition.
    
    This was implemented by adding a flag to the cref indicating that it
    represents a singleton of the object rather than a class itself. In this
    case CREF_CLASS returns the object's existing class, but in cases that
    we are defining a method (either via definemethod or
    VM_SPECIAL_OBJECT_CBASE which is used for undef and alias).
    
    This also happens to fix what I believe is a bug. Previously
    instance_eval behaved differently with regards to constant access for
    true/false/nil than for all other objects. I don't think this was
    intentional.
    
        String::Foo = "foo"
        "".instance_eval("Foo")   # => "foo"
        Integer::Foo = "foo"
        123.instance_eval("Foo")  # => "foo"
        TrueClass::Foo = "foo"
        true.instance_eval("Foo") # NameError: uninitialized constant Foo
    
    This also slightly changes the error message when trying to define a method
    through instance_eval on an object which can't have a singleton class.
    
    Before:
    
        $ ruby -e '123.instance_eval { def foo; end }'
        -e:1:in `block in 
': no class/module to add method (TypeError) After: $ ./ruby -e '123.instance_eval { def foo; end }' -e:1:in `block in
': can't define singleton (TypeError) IMO this error is a small improvement on the original and better matches the (both old and new) message when definging a method using `def self.` $ ruby -e '123.instance_eval{ def self.foo; end }' -e:1:in `block in
': can't define singleton (TypeError) Co-authored-by: Matthew Draper * Remove "under" argument from yield_under * Move CREF_SINGLETON_SET into vm_cref_new * Simplify vm_get_const_base * Fix leaf VM_SPECIAL_OBJECT_CONST_BASE Co-authored-by: Matthew Draper M bootstraptest/test_eval.rb M eval_intern.h M gc.c M insns.def M method.h M test/ruby/test_eval.rb M test/ruby/test_undef.rb M vm.c M vm_eval.c M vm_insnhelper.c commit 1f4af993835219efa8feaf76a0b36252028691f1 Author: Josef Šimánek Date: Thu Dec 2 20:44:30 2021 +0100 [rubygems/rubygems] Move required_ruby_version gemspec attribute to recommended section. https://github.com/rubygems/rubygems/commit/de6552ac30 M lib/rubygems/specification.rb commit 9f0c6f20c58067923864575b60af730d191b8f6c Author: Peter Zhu Date: Thu Dec 2 11:16:53 2021 -0500 [Bug #18382] Fix crash in compaction for ObjectSpace.trace_object_allocations ObjectSpace.trace_object_allocations can crash when auto-compaction is enabled. M ext/objspace/object_tracing.c commit fbc16157615570ca5abc66a3ecfc30a0de7e9d49 Author: Adam Hess Date: Thu Dec 2 09:01:42 2021 -0800 YJIT: Fix side-exit typo in comments [ci skip] M yjit_codegen.c commit 6b64e788234c19560070192927ae7b35b19b4587 Author: Kaíque Kandy Koga Date: Mon Oct 25 18:32:40 2021 -0300 [ruby/irb] Examine indentation of in keyword when trying to type include Use in_keyword_case_scope? Return fast https://github.com/ruby/irb/commit/8acc7f8dc7 M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit d486286f1d8fa01356498792b368c46fe9619d09 Author: ima1zumi Date: Mon Nov 29 21:59:12 2021 +0900 [ruby/irb] Add Alt+d keycode when convert-meta isn't used I pushed reline#389 for when convert-meta is not turned on in .inputrc. Alt+D in irb also needs to be set to the keycode for not using convert-meta. https://github.com/ruby/irb/commit/328eddf851 M lib/irb/input-method.rb commit dcbe29d2aefa5304af443e13a156c80850f47ea5 Author: manga_osyo Date: Tue Nov 23 23:07:02 2021 +0900 [ruby/irb] Fix bug infinite loop when pasting multilines fo code in Ruby 2.6 Fix bug infinite loop when pasting multilines fo code in Ruby 2.6. This is not reproduced in Ruby 2.7. Changes added in https://github.com/ruby/irb/pull/242/files#diff-612b926e42ed78aed1a889ac1944f7d22229b3a489cc08f837a7f75eca3d3399R155 are also reflected in Ruby 2.6. https://github.com/ruby/irb/commit/0a77f75bf0 M lib/irb/ruby-lex.rb commit 4d4716d939ad8cb288a503e97c73ed8cfbc12348 Author: ima1zumi Date: Wed Nov 17 23:10:45 2021 +0900 [ruby/reline] No need to check `x > 0` Checked in the previous line. https://github.com/ruby/reline/commit/bf774c0f2c M lib/reline/ansi.rb commit 0b22e3e1dfb4f03cae4c5fc79d5f9e86cf7f835d Author: git Date: Fri Dec 3 00:14:38 2021 +0900 * 2021-12-03 [ci skip] M version.h commit f7bdfb39ef6dd5ac72492364bcd23743e0ce36a6 Author: Matt Valentine-House Date: Wed Dec 1 21:29:22 2021 +0000 Don't clear the constant cache when finishing compaction References are being updated correctly, so this is no longer necessary M gc.c commit ca33b590996481eb8c8081cdbe9c58cbdcaa3c9d Author: ima1zumi Date: Wed Nov 24 19:24:51 2021 +0900 [ruby/reline] fix `TerminfoError` -> `Reline::Terminfo::TerminfoError` https://github.com/ruby/reline/commit/c07b0ace6a M lib/reline/ansi.rb commit 697d7b8d629ae20c42611ac697bb7e763a7e7213 Author: ima1zumi Date: Tue Nov 9 23:22:12 2021 +0900 [ruby/reline] Rescue if tigetstr(capname) cannot be obtained fix https://github.com/ruby/reline/issues/384 If `$TERM` is `vt102`, there are no `kend`, `khome`, `civis`, or `cnorm` in capabilities. `TerminfoError` is raised in `Reline::Terminfo.tigetstr(capname)`, so it is rescued if it does not exist. https://github.com/ruby/reline/commit/c9f5112702 M lib/reline/ansi.rb commit 3f1dcd7fffbe94538c233d4f916523b00dbc2889 Author: Nobuyoshi Nakada Date: Thu Dec 2 22:21:20 2021 +0900 Cache downloaded files Cache downloaded external libraries/gems, which are expected not changed so frequently. Also sometimes downloading from zlib returns the current time as the date header in unexpected format, and checksums mismatch at that time. M .github/workflows/baseruby.yml M .github/workflows/bundled_gems.yml M .github/workflows/check_dependencies.yml M .github/workflows/codeql-analysis.yml M .github/workflows/compilers.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml M .github/workflows/yjit-ubuntu.yml commit 60fc8dda647cbfe272c7b1bdbbb8e54c1fa7816e Author: Nobuyoshi Nakada Date: Thu Dec 2 21:13:02 2021 +0900 update-bundled_gems.rb: Fix typo and version comparison M tool/update-bundled_gems.rb commit 524a808d23f1ed3eca946236e98e049b55458e71 Author: Nobuyoshi Nakada Date: Thu Dec 2 18:29:45 2021 +0900 Define Ripper::Lexer::Elem#to_s Alias `#inspect` as `#to_s` also in the new `Ripper::Lexer::Elem` class, so that `puts Ripper::Lexer.new(code).scan` shows the attributes. M ext/ripper/lib/ripper/lexer.rb commit 39f2b4f1a4a0075c08ce9575a51ccea48c85f024 Author: David Rodríguez Date: Tue Nov 30 18:12:54 2021 +0100 [rubygems/rubygems] This warrants a comment https://github.com/rubygems/rubygems/commit/8fa29e5e55 M lib/bundler/lazy_specification.rb commit cf882713312576a827abff8ddf7eb620e1f3f6d8 Author: David Rodríguez Date: Tue Nov 30 18:07:32 2021 +0100 [rubygems/rubygems] Fix gemspec source unlocking also for prereleases like 0.0.0.SNAPSHOT The default prerelease requirement in rubygems doesn't actually match things like "0.0.0.SNAPSHOT". https://github.com/rubygems/rubygems/commit/711498b342 M lib/bundler/lazy_specification.rb M spec/bundler/install/gemfile/path_spec.rb commit 2a15b28a9ec59d41fc3f9a5e17cf3efe6d0817b6 Author: David Rodríguez Date: Tue Nov 30 18:03:14 2021 +0100 [rubygems/rubygems] Fix materialization of locked 0 prereleases Since the default requirement in rubygems is ">= 0", it was failing to match 0 prereleases. Changing the default globally to be ">= 0.a" instead is a major refactoring that's quite tricky to make backwards compatible, so I'm special casing this where needed for now to fix the regression. https://github.com/rubygems/rubygems/commit/68fe37937c M lib/bundler/lazy_specification.rb M spec/bundler/install/gemfile/path_spec.rb commit fe506d7945788f4c3243e9ec25c20c5dbd315073 Author: Nobuyoshi Nakada Date: Thu Dec 2 16:07:17 2021 +0900 [MSWin] Stop passing non-numeric string to `exit` command M win32/Makefile.sub commit 8944009be7418614ce7d4077807ac2b60d4d5d85 Author: schneems Date: Thu Nov 11 08:59:29 2021 -0600 Deprecate `Lexer::Elem#[]` and `Lexer::State#[]` Discussed in https://github.com/ruby/ruby/pull/5093#issuecomment-964426481. > it would be enough to mimic only [] for almost all cases This adds back the `Lexer::Elem#[]` and `Lexer::State#[]` and adds deprecation warnings for them. M ext/ripper/lib/ripper/lexer.rb commit 2b22c93533a3d94e5fc907682d862f89b62e5bf7 Author: schneems Date: Sun Nov 7 19:33:04 2021 -0600 Compatibility with IRB Instead of accessing the struct as an array, access it via methods. There are other places inside of this file already using this API (for example https://github.com/ruby/ruby/blob/e0a5c3d2b71dfad038d7562fdd33f02ffd79232d/lib/irb/ruby-lex.rb#L829-L830). This commit moves all struct array-ish calls to use their method calls instead. It is also ~1.23 faster accessing values via a method instead of as an array according to this microbenchmark: ```ruby Elem = Struct.new(:pos, :event, :tok, :state, :message) do def initialize(pos, event, tok, state, message = nil) super(pos, event, tok, State.new(state), message) end # ... def to_a a = super a.pop unless a.empty? a end end class ElemClass attr_accessor :pos, :event, :tok, :state, :message def initialize(pos, event, tok, state, message = nil) @pos = pos @event = event @tok = tok @state = State.new(state) @message = message end def to_a if @message [@pos, @event, @tok, @state, @message] else [@pos, @event, @tok, @state] end end end # stub state class creation for now class State; def initialize(val); end; end ``` ```ruby Benchmark.ips do |x| x.report("struct") { struct[1] } x.report("class ") { from_class.event } x.compare! end; nil ``` ``` Warming up -------------------------------------- struct 1.624M i/100ms class 1.958M i/100ms Calculating ------------------------------------- struct 17.139M (± 2.6%) i/s - 86.077M in 5.025801s class 21.104M (± 3.4%) i/s - 105.709M in 5.015193s Comparison: class : 21103826.3 i/s struct: 17139201.5 i/s - 1.23x (± 0.00) slower ``` M lib/irb/cmd/show_source.rb M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit 3685b5af95fc31b99b34a5a4f75bdc7c0ba622f4 Author: schneems Date: Sun Nov 7 20:30:50 2021 -0600 Only iterate Lexer heredoc arrays The last element in the `@buf` may be either an array or an `Elem`. In the case it is an `Elem` we iterate over every element, when we do not need to. This check guards that case by ensuring that we only iterate over an array of elements. M ext/ripper/lib/ripper/lexer.rb commit 3f74eaa7a83e42b31c219a534ec5330e511d2921 Author: schneems Date: Sun Nov 7 13:57:24 2021 -0600 ~1.10x faster Change Ripper.lex structs to classes ## Concept I am proposing we replace the Struct implementation of data structures inside of ripper with real classes. This will improve performance and the implementation is not meaningfully more complicated. ## Example Struct versus class comparison: ```ruby Elem = Struct.new(:pos, :event, :tok, :state, :message) do def initialize(pos, event, tok, state, message = nil) super(pos, event, tok, State.new(state), message) end # ... def to_a a = super a.pop unless a.empty? a end end class ElemClass attr_accessor :pos, :event, :tok, :state, :message def initialize(pos, event, tok, state, message = nil) @pos = pos @event = event @tok = tok @state = State.new(state) @message = message end def to_a if @message [@pos, @event, @tok, @state, @message] else [@pos, @event, @tok, @state] end end end # stub state class creation for now class State; def initialize(val); end; end ``` ## MicroBenchmark creation ```ruby require 'benchmark/ips' require 'ripper' pos = [1, 2] event = :on_nl tok = "\n".freeze state = Ripper::EXPR_BEG Benchmark.ips do |x| x.report("struct") { Elem.new(pos, event, tok, state) } x.report("class ") { ElemClass.new(pos, event, tok, state) } x.compare! end; nil ``` Gives ~1.2x faster creation: ``` Warming up -------------------------------------- struct 263.983k i/100ms class 303.367k i/100ms Calculating ------------------------------------- struct 2.638M (± 5.9%) i/s - 13.199M in 5.023460s class 3.171M (± 4.6%) i/s - 16.078M in 5.082369s Comparison: class : 3170690.2 i/s struct: 2638493.5 i/s - 1.20x (± 0.00) slower ``` ## MicroBenchmark `to_a` (Called by Ripper.lex for every element) ```ruby require 'benchmark/ips' require 'ripper' pos = [1, 2] event = :on_nl tok = "\n".freeze state = Ripper::EXPR_BEG struct = Elem.new(pos, event, tok, state) from_class = ElemClass.new(pos, event, tok, state) Benchmark.ips do |x| x.report("struct") { struct.to_a } x.report("class ") { from_class.to_a } x.compare! end; nil ``` Gives 1.46x faster `to_a`: ``` Warming up -------------------------------------- struct 612.094k i/100ms class 893.233k i/100ms Calculating ------------------------------------- struct 6.121M (± 5.4%) i/s - 30.605M in 5.015851s class 8.931M (± 7.9%) i/s - 44.662M in 5.039733s Comparison: class : 8930619.0 i/s struct: 6121358.9 i/s - 1.46x (± 0.00) slower ``` ## MicroBenchmark data access ```ruby require 'benchmark/ips' require 'ripper' pos = [1, 2] event = :on_nl tok = "\n".freeze state = Ripper::EXPR_BEG struct = Elem.new(pos, event, tok, state) from_class = ElemClass.new(pos, event, tok, state) Benchmark.ips do |x| x.report("struct") { struct.pos[1] } x.report("class ") { from_class.pos[1] } x.compare! end; nil ``` Gives ~1.17x faster data access: ``` Warming up -------------------------------------- struct 1.694M i/100ms class 1.868M i/100ms Calculating ------------------------------------- struct 16.149M (± 6.8%) i/s - 81.318M in 5.060633s class 18.886M (± 2.9%) i/s - 95.262M in 5.048359s Comparison: class : 18885669.6 i/s struct: 16149255.8 i/s - 1.17x (± 0.00) slower ``` ## Full benchmark integration of this inside of Ripper.lex Inside of this repo with this commit ``` $ cd ext/ripper $ make $ cat test.rb file = File.join(__dir__, "../../array.rb") source = File.read(file) bench = Benchmark.measure do 10_000.times.each do Ripper.lex(source) end end puts bench ``` Then execute with and without this change 50 times: ``` rm new.txt rm old.txt for i in {0..50} do `ruby -Ilib -rripper -rbenchmark ./test.rb >> new.txt` `ruby -rripper -rbenchmark ./test.rb >> old.txt` done ``` I used derailed benchmarks internals to compare the results: ``` dir = Pathname(".") branch_info = {} branch_info["old"] = { desc: "Struct lex", time: Time.now, file: dir.join("old.txt"), name: "old" } branch_info["new"] = { desc: "Class lex", time: Time.now, file: dir.join("new.txt"), name: "new" } stats = DerailedBenchmarks::StatsFromDir.new(branch_info) stats.call.banner ``` Which gave us: ``` ❤️ ❤️ ❤️ (Statistically Significant) ❤️ ❤️ ❤️ [new] (3.3139 seconds) "Class lex" ref: "new" FASTER 🚀🚀🚀 by: 1.1046x [older/newer] 9.4700% [(older - newer) / older * 100] [old] (3.6606 seconds) "Struct lex" ref: "old" Iterations per sample: Samples: 51 Test type: Kolmogorov Smirnov Confidence level: 99.0 % Is significant? (max > critical): true D critical: 0.30049534876137013 D max: 0.9607843137254902 Histograms (time ranges are in seconds): [new] description: [old] description: "Class lex" "Struct lex" ┌ ┐ ┌ ┐ [3.0, 3.3) ┤▇ 1 [3.0, 3.3) ┤ 0 [3.3, 3.6) ┤▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 47 [3.3, 3.6) ┤ 0 [3.5, 3.8) ┤▇▇ 2 [3.5, 3.8) ┤▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 46 [3.8, 4.1) ┤▇ 1 [3.8, 4.1) ┤▇▇▇ 4 [4.0, 4.3) ┤ 0 [4.0, 4.3) ┤ 0 [4.3, 4.6) ┤ 0 [4.3, 4.6) ┤▇ 1 └ ┘ └ ┘ # of runs in range # of runs in range ``` To sum this up, the "new" version of this code (using real classes instead of structs) is 10% faster across 50 runs with a statistical significance confidence level of 99%. Histograms are for visual checksum. M ext/ripper/lib/ripper/lexer.rb commit 6721ce1cc4035fe5508c13d0151f748e8b8e8cf1 Author: Yuta Saito Date: Thu Dec 2 13:20:13 2021 +0900 Cast tv_usec to int32_t to fit in tv_nsec suseconds_t, which is the type of tv_usec, may be defined with a longer size type than tv_nsec's type (long). So usec to nsec conversion needs an explicit casting. M gc.c commit a7d0c2c4489f94a0087646040afccb66cec4e7d7 Author: Nobuyoshi Nakada Date: Thu Dec 2 12:20:53 2021 +0900 Needs to update revision.h unless existing [ci skip] M defs/gmake.mk commit fe1725236c8a4d6cb780874c470f7f443185ed38 Author: Jeremy Evans Date: Wed Dec 1 13:00:11 2021 -0800 Don't call + and < in Integer.times for !FIXNUM The methods aren't called for FIXNUM, and it's best to have consistent behavior. Fixes [Bug #18377] M numeric.c M test/ruby/test_integer.rb commit e387458da9b16ddfb57ab9e80d307727aefc2f56 Author: Hiroshi SHIBATA Date: Wed Dec 1 19:13:36 2021 +0900 Ignore to generate the documentation from vendored libraries A lib/bundler/vendor/.document commit 9121e57a5f50bc91bae48b3b91edb283bf96cb6b Author: Alan Wu Date: Tue Jul 13 19:01:09 2021 -0400 Rework tracing for blocks running as methods The main impetus for this change is to fix [Bug #13392]. Previously, we fired the "return" TracePoint event after popping the stack frame for the block running as method (BMETHOD). This gave undesirable source location outputs as the return event normally fires right before the frame going away. The iseq for each block can run both as a block and as a method. To accommodate that, this commit makes vm_trace() fire call/return events for instructions that have b_call/b_return events attached when the iseq is running as a BMETHOD. The logic for rewriting to "trace_*" instruction is tweaked so that when the user listens to call/return events, instructions with b_call/b_return become trace variants. To continue to provide the return value for non-local returns done using the "return" or "break" keyword inside BMETHODs, the stack unwinding code is tweaked. b_return events now provide the same return value as return events for these non-local cases. A pre-existing test deemed not providing a return value for these b_return events as a limitation. This commit removes the checks for call/return TracePoint events that happen when calling into BMETHODs when no TracePoints are active. Technically, migrating just the return event is enough to fix the bug, but migrating both call and return removes our reliance on `VM_FRAME_FLAG_FINISH` and re-entering the interpreter when the caller is already in the interpreter. M iseq.c M iseq.h M test/ruby/test_settracefunc.rb M vm.c M vm_insnhelper.c M vm_trace.c commit 3b2b28d035c9635b9473c7a03ede04fa6ac57a34 Author: Aaron Patterson Date: Wed Dec 1 12:46:30 2021 -0800 Revert "Force disable yjit on OpenBSD" This reverts commit 119626da947bf6492ef7a27abf3bf12de5d0d95a. M ruby.c commit 4079f0da51c1e226ce6e09597e32ab116d1c7812 Author: Aaron Patterson Date: Mon Nov 22 12:32:47 2021 -0800 Check that cb / ocb exist before marking executable If YJIT isn't enabled, or hasn't finished booting, cb / ocb could be null. This commit just checks to make sure they're available before marking as executable Co-Authored-By: Maxime Chevalier-Boisvert Co-Authored-By: Kevin Newton M yjit_iface.c commit 157095b3a44d8b0130a532a0b7be3f5ac197111c Author: Aaron Patterson Date: Tue Oct 26 16:57:30 2021 -0700 Mark JIT code as writeable / executable depending on the situation Some platforms don't want memory to be marked as writeable and executable at the same time. When we write to the code block, we calculate the OS page that the buffer position maps to. Then we call `mprotect` to allow writes on that particular page. As an optimization, we cache the "last written" aligned page which allows us to amortize the cost of the `mprotect` call. In other words, sequential writes to the same page will only call `mprotect` on the page once. When we're done writing, we call `mprotect` on the entire JIT buffer. This means we don't need to keep track of which pages were marked as writeable, we let the OS take care of that. Co-authored-by: John Hawthorn M misc/yjit_asm_tests.c M yjit_asm.c M yjit_asm.h M yjit_codegen.c M yjit_core.c M yjit_iface.c commit 94ee88b38cf0a20666e3965f5c9c4d520cf02b22 Author: Vít Ondruch Date: Wed Oct 27 16:28:24 2021 +0200 [rubygems/rubygems] Provide distinguished name which will be correctly parsed. It seems that since ruby openssl 2.1.0 [[1]], the distinguished name submitted to `OpenSSL::X509::Name.parse` is not correctly parsed if it does not contain the first slash: ~~~ $ ruby -v ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux] $ gem list | grep openssl openssl (default: 2.2.0) $ irb -r openssl irb(main):001:0> OpenSSL::X509::Name.parse("CN=nobody/DC=example").to_s(OpenSSL::X509::Name::ONELINE) => "CN = nobody/DC=example" irb(main):002:0> OpenSSL::X509::Name.parse("/CN=nobody/DC=example").to_s(OpenSSL::X509::Name::ONELINE) => "CN = nobody, DC = example" ~~~ Instead, use `OpenSSL::X509::Name.new` directly as suggested by upstream maintainer. [1]: https://github.com/ruby/openssl/commit/19c67cd10c57f3ab7b13966c36431ebc3fdd653b https://github.com/rubygems/rubygems/commit/09ca0c2dae Co-authored-by: Kazuki Yamaguchi M lib/rubygems/security.rb M test/rubygems/test_gem_security.rb commit eb7ec00d03dc62f501b2822c52f584e52c3d61d6 Author: git Date: Thu Dec 2 02:25:52 2021 +0900 * 2021-12-02 [ci skip] M version.h commit d0772632bf2ff15f73c0d3601d958670a5c77855 Author: Alan Wu Date: Fri Nov 19 23:44:13 2021 -0500 YJIT: Fail gracefully while OOM for new entry points Previously, YJIT crashes with rb_bug() when asked to compile new methods while out of executable memory. To handle this situation gracefully, this change keeps track of all the blocks compiled each invocation in case YJIT runs out of memory in the middle of a compliation sequence. The list is used to free all blocks in case compilation fails. yjit_gen_block() is renamed to gen_single_block() to make it distinct from gen_block_version(). Call to limit_block_version() and block_t allocation is moved into the function to help tidy error checking in the outer loop. limit_block_version() now returns by value. I feel that an out parameter with conditional mutation is unnecessarily hard to read in code that does not need to go for last drop performance. There is a good chance that the optimizer is able to output identical code anyways. M bootstraptest/test_yjit.rb M yjit.c M yjit.rb M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_iface.c commit a84dc9d80d41db01db4623517ade928ee7f40e36 Author: Nobuyoshi Nakada Date: Wed Dec 1 16:30:06 2021 +0900 [win32] skip example about STDIN encodings M spec/ruby/language/predefined_spec.rb commit 37cd35aea8afa35476640e454eaf2c53150dc014 Author: Nobuyoshi Nakada Date: Wed Dec 1 15:05:16 2021 +0900 [win32] Transcode input from console [Bug #18353] On Windows, as the input from console is encoded in the active code page, convert the input to the internal encoding. M io.c commit 0b53a8895f143ecc3d97844f5eec685dbd709d85 Author: Hiroshi SHIBATA Date: Wed Dec 1 11:00:10 2021 +0900 Merge rubygems master fd676ac464491afaa0baf5435cb11b3f86229cbd M lib/bundler/cli/gem.rb M lib/bundler/definition.rb M lib/bundler/resolver.rb M lib/bundler/source/rubygems.rb M lib/bundler/source_list.rb A lib/bundler/templates/newgem/sig/newgem.rbs.tt M lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb M lib/rubygems.rb M spec/bundler/commands/newgem_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M test/rubygems/test_require.rb M tool/bundler/rubocop_gems.rb.lock M tool/bundler/standard_gems.rb.lock M tool/bundler/test_gems.rb.lock commit 9f4bdeb4033c3851a7025bc67052cb5458325849 Author: Hiroshi SHIBATA Date: Wed Dec 1 09:53:07 2021 +0900 Removed vcr files. They are needless for this repo D spec/bundler/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ffi-1.15.4.gem/GET/request D spec/bundler/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ffi-1.15.4.gem/GET/response commit 3eac05c75de0ab98d9ed47ad2cf96909a200f8d9 Author: git Date: Wed Dec 1 07:15:35 2021 +0900 * 2021-12-01 [ci skip] M version.h commit b68217fff9caba33d1f3e14de3673b6abd624dc2 Author: Olle Jonsson Date: Tue Nov 30 21:40:01 2021 +0100 [rubygems/rubygems] Update bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt https://github.com/rubygems/rubygems/commit/8836fe157b Co-authored-by: David Rodríguez M lib/bundler/templates/newgem/github/workflows/main.yml.tt commit 46a24f7e7744b483f1de88b0c26a8d22161a2242 Author: Olle Jonsson Date: Wed Nov 24 17:23:06 2021 +0100 [rubygems/rubygems] Update main.yml.tt https://github.com/rubygems/rubygems/commit/3260173c59 M lib/bundler/templates/newgem/github/workflows/main.yml.tt commit a7fd639423dba631900d1d4f395d805cf0d97d5e Author: Olle Jonsson Date: Wed Nov 24 17:15:06 2021 +0100 [rubygems/rubygems] newgem tmpl: ruby as "2.7" in GH Actions matrix https://github.com/rubygems/rubygems/commit/f5bead5634 M lib/bundler/templates/newgem/github/workflows/main.yml.tt commit 42efb8c1859c89490cad9bf9312dc3e743f730ee Author: Olle Jonsson Date: Wed Nov 24 17:05:33 2021 +0100 [rubygems/rubygems] newgem templ: Avoid Float 3.0 -> "3" in GH Action This change avoids a YAML Float-to-String conversion, which turns a 3.0 into a "3". That can make names of builds less clear. In order to use this new capability, I added a "name" descriptor to the matrix-created Job. https://github.com/rubygems/rubygems/commit/6221241ad4 M lib/bundler/templates/newgem/github/workflows/main.yml.tt commit 7fd88da935c7c6fcafe19cf30642676033ec82bd Author: David Rodríguez Date: Thu Feb 25 18:43:51 2021 +0100 [rubygems/rubygems] Fix race condition when reading & writing gemspecs concurrently When bundler parallel installer installs gems concurrently, one can get confusing warnings like the following: ``` "[/home/runner/work/rubygems/rubygems/bundler/tmp/2/gems/system/specifications/zeitwerk-2.4.2.gemspec] isn't a Gem::Specification (NilClass instead). ``` I've got these warnings several times in the past, but I never managed to reproduce them, and never look deeply into the root cause, but this time a got a cause that reproduced quite frequently, so I looked into it. The problem is one thread reading a gemspec while another thread is writing it. The write of the gemspec was not protected, so `Gem::Specification.load` could end up seeing a truncated gemspec and thus throw this warning. The fix involve two changes: * Change the methods that write gemspecs to use `Gem.binary_write` which is protected by a lock. * Fix `Gem.binary_write` to create the file lock at file creation time, not when the file already exists after. The realworld user problem caused by this issue happens in bundler, but I'm fixing it in rubygems first, and then I'll backport to bundler whatever needs backporting to fix the issue on the bundler side. https://github.com/rubygems/rubygems/commit/a672e7555c M lib/rubygems.rb M lib/rubygems/installer.rb M test/rubygems/test_gem_installer.rb commit d7f6cb0f780a5a48b5d4a937f93d876a90697fc0 Author: David Rodríguez Date: Thu Feb 25 17:06:01 2021 +0100 [rubygems/rubygems] Revert "Remove spec file before building" This reverts commit af604436d8141c34cb2e1e645b9b0d47bfd55a55. The issue that led to introducing it was never reproduced. I tried to repro with this patch and it still works just fine. Since this removal is getting in the middle for some race conditions I'm facing, I'm reverting the patch. https://github.com/rubygems/rubygems/commit/2dd267f0e4 M lib/rubygems/installer.rb M test/rubygems/test_gem_installer.rb commit 2b1f0487142419b2f45c815b3c4c4ba0bda5d13f Author: David Rodríguez Date: Thu Feb 25 17:02:32 2021 +0100 [rubygems/rubygems] Run hooks tests on gemspecs not already installed The current `setup_base_installer` ends up using the `quick_gem` helper, which leaves the created specification installed. Instead, make sure to use the `util_spec` helper, which does a similar thing but doesn't leave the specification installed. The idea is that tests do not rely on the installer removing existing gemspecs, bacause I plan to stop doing that. https://github.com/rubygems/rubygems/commit/843f1a0abc M test/rubygems/test_gem_installer.rb commit e59f3054c308fc657224d2dde8d100816b82de84 Author: Naohisa Goto Date: Tue Nov 30 14:23:07 2021 +0900 Delete #if line during checking madvise() on Solaris The madvise() declaration should always be compiled on Solaris to check whether the declaration is good on the environment. For the purpose, the #if line is unnecessary. (There was also a trivial typo that the #if was not closed by #endif and the check always failed with preprocessor error.) M configure.ac commit 438220f063c939761e3d85f7e307c321474c84e8 Author: Nobuyoshi Nakada Date: Tue Nov 30 13:40:42 2021 +0900 Let pretty_inspect work once at first For older pp.rb which did not need io/console, and dealing with `LoadError`. M tool/lib/core_assertions.rb commit dc46529b64edcd6b7f7eb61133d92ca591882cdf Author: Yusuke Endoh Date: Tue Nov 30 13:47:44 2021 +0900 [ruby/error_highlight] Ignore all syscall errors At least, Error::ENOTSUP may be raised on some extreme environments https://github.com/ruby/error_highlight/commit/2787983ff7 M lib/error_highlight/core_ext.rb commit 3288f0d09e35a98d3569c79fad654e38eaeb7a9c Author: Yusuke Endoh Date: Tue Nov 30 13:46:08 2021 +0900 lib/pp.rb (width_for): Ignore all syscall errors According to nobu, Errno::EBAD is raised on Windows. M lib/pp.rb commit 20065eabdb2235a605b61e03d72c19b2a20b52a5 Author: Yusuke Endoh Date: Tue Nov 30 13:17:54 2021 +0900 lib/pp.rb (width_for): ignore Errno::EINVAL The error is raised on Solaris http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20211130T030003Z.fail.html.gz ``` 1) Failure: TestRubyOptions#test_require [/export/home/users/chkbuild/cb-gcc/tmp/build/20211130T030003Z/ruby/test/ruby/test_rubyoptions.rb:265]: pid 7386 exit 1 | /export/home/users/chkbuild/cb-gcc/tmp/build/20211130T030003Z/ruby/lib/pp.rb:67:in `winsize': Invalid argument - (Errno::EINVAL) ``` M lib/pp.rb commit d400c44a554910df542a11f58ff0e2b767b909f7 Author: Nobuyoshi Nakada Date: Tue Nov 30 13:07:37 2021 +0900 Load io/console earlier Something goes wrong at loading libraries inside `mu_pp` in the test overriding `Class.inherited`. M tool/lib/core_assertions.rb commit d20a120b03a6bb39f06958abf0e04222960a58ab Author: Nobuyoshi Nakada Date: Tue Nov 30 12:40:12 2021 +0900 Recent systems prohibit symlink for relative loading M tool/mkrunnable.rb commit 316caf6b39a26ed764a1bd1da58291fc5e7ebd52 Author: Nobuyoshi Nakada Date: Tue Nov 30 12:36:49 2021 +0900 Enable load-relative on Solaris M configure.ac commit eac347fdb04023e1a365d84a8c163263cc7a5904 Author: Yusuke Endoh Date: Tue Nov 30 11:42:06 2021 +0900 lib/pp.rb (PP.pp): Use io/console's winsize by default [Feature #12913] M lib/pp.rb commit f379748e80dacc208dbe23a2db508aead8b79978 Author: Nobuyoshi Nakada Date: Tue Nov 30 11:12:21 2021 +0900 Cache wheather madvise declaration is needed on Solaris M configure.ac commit 12fbdf4d4e52bafaeef6f923b8f357a39a37c02b Author: Nobuyoshi Nakada Date: Tue Nov 30 09:01:36 2021 +0900 Fix conflicting declaration on Solaris SunC ``` "cont.c", line 24: identifier redeclared: madvise current : function(pointer to char, unsigned int, int) returning int previous: function(pointer to void, unsigned int, int) returning int : "/usr/include/sys/mman.h", line 232 ``` GCC ``` cont.c:24:12: error: conflicting types for 'madvise' 24 | extern int madvise(caddr_t, size_t, int); | ^~~~~~~ In file included from cont.c:16: /usr/include/sys/mman.h:232:12: note: previous declaration of 'madvise' was here 232 | extern int madvise(void *, size_t, int); | ^~~~~~~ ``` M configure.ac M cont.c commit ac8647bec12d5d3c0bc4b6a79d09a6a85d6628f1 Author: Nobuyoshi Nakada Date: Tue Nov 30 08:49:41 2021 +0900 Fix `GC.total_time` example The result may increase actually or not, since GC can finish shorter than the timer granularity. M spec/ruby/core/gc/total_time_spec.rb commit af59d35570d398bd590bebd11602bcb039454c0d Author: ooooooo-q Date: Sat Nov 27 15:17:48 2021 +0900 [rubygems/rubygems] Fix escape of filenames in `bundle doctor` https://github.com/rubygems/rubygems/commit/3ede1435ea M lib/bundler/cli/doctor.rb M spec/bundler/commands/doctor_spec.rb commit a60aba18f04f6427e9b330f95f162c55f04a4971 Author: git Date: Tue Nov 30 00:27:59 2021 +0900 * 2021-11-30 [ci skip] M version.h commit f8f2885bd0b42b99703910eae78c03fef6458833 Author: Naohisa Goto Date: Tue Nov 30 00:07:30 2021 +0900 Revert "test/socket/test_socket.rb: skip on Solaris" This reverts commit 27fb9d272daaae89089dfb61849ebe8e7aa6c833. The test failure on Solaris 10 is due to incomplete IPv6 configuration on the CI server, that have already been fixed. Reference for the fix: https://centrify.force.com/support/Article/KB-1179-X11-Forwarding-fails-with-Centrify-OpenSSH-5-0-Solaris/ M test/socket/test_socket.rb commit 8287d2f23c06c614d1ae83b6e0dad48bcda622cb Author: Naohisa Goto Date: Mon Nov 29 23:46:48 2021 +0900 Workaround for implicit declaration of function 'madvise' on Solaris On Solaris, madvise(3C) is NOT defined for SUS (XPG4v2) or later, but MADV_* macros are defined when __EXTENSIONS__ is defined. This may cause compile error on Solaris 10 with GCC when "-Werror=implicit-function-declaration" and "-D_XOPEN_SOURCE=600" are added by configure. M configure.ac M cont.c commit 67a1e2258974df4b597d019739595c18fbb9a7c1 Author: Benoit Daloze Date: Mon Nov 29 15:50:28 2021 +0100 Update to ruby/spec@7f22a0b M spec/ruby/core/array/shared/slice.rb M spec/ruby/core/dir/shared/glob.rb M spec/ruby/core/encoding/compatible_spec.rb M spec/ruby/core/encoding/converter/putback_spec.rb M spec/ruby/core/enumerable/grep_spec.rb M spec/ruby/core/enumerable/grep_v_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/begin_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/end_spec.rb M spec/ruby/core/exception/errno_spec.rb M spec/ruby/core/gc/auto_compact_spec.rb A spec/ruby/core/gc/measure_total_time_spec.rb M spec/ruby/core/gc/stat_spec.rb A spec/ruby/core/gc/total_time_spec.rb M spec/ruby/core/integer/plus_spec.rb M spec/ruby/core/kernel/clone_spec.rb M spec/ruby/core/kernel/fixtures/classes.rb A spec/ruby/core/kernel/initialize_clone_spec.rb A spec/ruby/core/kernel/initialize_dup_spec.rb M spec/ruby/core/kernel/instance_variables_spec.rb M spec/ruby/core/kernel/print_spec.rb M spec/ruby/core/kernel/warn_spec.rb M spec/ruby/core/matchdata/captures_spec.rb M spec/ruby/core/matchdata/element_reference_spec.rb A spec/ruby/core/matchdata/fixtures/classes.rb M spec/ruby/core/matchdata/post_match_spec.rb M spec/ruby/core/matchdata/pre_match_spec.rb M spec/ruby/core/matchdata/to_a_spec.rb M spec/ruby/core/matchdata/to_s_spec.rb M spec/ruby/core/numeric/clone_spec.rb M spec/ruby/core/numeric/quo_spec.rb M spec/ruby/core/range/step_spec.rb M spec/ruby/core/string/each_grapheme_cluster_spec.rb M spec/ruby/core/string/force_encoding_spec.rb M spec/ruby/core/string/scan_spec.rb M spec/ruby/core/string/scrub_spec.rb M spec/ruby/core/string/shared/eql.rb M spec/ruby/core/string/shared/length.rb M spec/ruby/core/string/valid_encoding_spec.rb M spec/ruby/core/warning/element_reference_spec.rb M spec/ruby/core/warning/element_set_spec.rb M spec/ruby/core/warning/warn_spec.rb M spec/ruby/language/class_variable_spec.rb M spec/ruby/language/regexp/encoding_spec.rb M spec/ruby/library/fiber/resume_spec.rb M spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb M spec/ruby/library/rexml/element/each_element_with_text_spec.rb M spec/ruby/library/rexml/element/has_text_spec.rb M spec/ruby/library/rexml/node/parent_spec.rb M spec/ruby/library/rexml/shared/elements_to_a.rb M spec/ruby/library/stringio/ungetbyte_spec.rb M spec/ruby/library/stringscanner/check_until_spec.rb M spec/ruby/library/stringscanner/exist_spec.rb M spec/ruby/library/stringscanner/matched_size_spec.rb M spec/ruby/library/stringscanner/scan_until_spec.rb M spec/ruby/library/stringscanner/search_full_spec.rb D spec/ruby/library/stringscanner/shared/matched_size.rb A spec/ruby/library/stringscanner/size_spec.rb M spec/ruby/library/stringscanner/skip_until_spec.rb M spec/ruby/optional/capi/class_spec.rb M spec/ruby/optional/capi/ext/string_spec.c M spec/ruby/optional/capi/fixtures/class.rb M spec/ruby/optional/capi/string_spec.rb commit e6d93a27afa058319e6dad093bbef637e49fce47 Author: Benoit Daloze Date: Mon Nov 29 15:50:26 2021 +0100 Update to ruby/mspec@098b320 M spec/mspec/lib/mspec/utils/warnings.rb commit f8ead3a72f4cde3dbec48d33f8921a97b090f799 Author: Peter Zhu Date: Mon Nov 29 09:33:54 2021 -0500 [ci skip] Update documentation for GC.stat M gc.rb commit 659c864a43d4bf2d287b08b451f8c67cd818739a Author: Nobuyoshi Nakada Date: Mon Nov 29 19:00:15 2021 +0900 [rubygems/rubygems] Deprecate typo name https://github.com/rubygems/rubygems/commit/62d54cbf08 M lib/rubygems/exceptions.rb commit 95a6212a431929d91435056fa8df13ae697f8071 Author: Lars Kanis Date: Wed Nov 24 20:58:02 2021 +0100 Simplify platform check for Windows-UCRT RUBY_PLATFORM can be used since commit 576b2e64cdc5ea42ad345dd3c1c215e006c06fca . M test/ruby/test_env.rb commit 4acc7563a111fd35524b07150990dc3ef842a685 Author: Nobuyoshi Nakada Date: Sun Nov 28 21:49:03 2021 +0900 Consider environment variable case-insensitiveness M tool/lib/leakchecker.rb commit 1db066186b7a929c18f031d0c8416140f3c0fcda Author: git Date: Mon Nov 29 18:57:54 2021 +0900 * 2021-11-29 [ci skip] M version.h commit e19b65640963fa641eea9129a20a55cf4a20f5a7 Author: Nobuyoshi Nakada Date: Mon Nov 29 18:38:10 2021 +0900 [ruby/readline] Suppress constant redefinition warning When already set by `use_lib_reline` in test/readline/helper.rb of readline-ext. https://github.com/ruby/readline/commit/0e3ca3b217 M lib/readline.rb commit 4a09b7de06e5be65409b066b3dccd04cd7529d89 Author: Nobuyoshi Nakada Date: Sun Nov 28 17:45:55 2021 +0900 Suppress address-of-packed-member warning by gcc M thread_sync.c commit ca7de49aa50fee34628e5e239f04ec76ec85f1f4 Author: Nobuyoshi Nakada Date: Sun Nov 28 15:16:53 2021 +0900 [ruby/ostruct] [DOC] Fix code markups [ci skip] Backquotes are not special characters in RDoc. https://github.com/ruby/ostruct/commit/a901df26b9 M lib/ostruct.rb commit 0e5e2e35f8e2351fd361d7fe76f6e346ec116328 Author: git Date: Sun Nov 28 04:07:53 2021 +0900 * 2021-11-28 [ci skip] M version.h commit eac7c635387622f3b3fd58f98a7943b70ea14e32 Author: Burdette Lamar Date: Sat Nov 27 13:07:37 2021 -0600 Enhanced RDoc for numeric.c (#5184) Adds remarks about literals and Kernel methods to Float and Integer. M doc/syntax/literals.rdoc M numeric.c commit f53f6d928475564433302a18f9498048bbd69b26 Author: Nobuyoshi Nakada Date: Sat Nov 27 16:04:09 2021 +0900 [ruby/cgi] Exclude unused files from built package https://github.com/ruby/cgi/commit/e840b6c368 M lib/cgi/cgi.gemspec commit 45034e9de3b6af8f52b8db72ae1d91ef73499c8b Author: Nobuyoshi Nakada Date: Sat Nov 27 14:28:01 2021 +0900 [ruby/cgi] Set extconf.rb to extensions Fix https://github.com/ruby/cgi/pull/11 https://github.com/ruby/cgi/commit/60d8f5e7d9 M lib/cgi/cgi.gemspec commit b5b6ab4194f16e96ee5004288cc469ac1bca41a3 Author: Alan Wu Date: Fri Nov 26 18:00:42 2021 -0500 YJIT: Add ability to exit to interpreter from stubs Previously, YJIT assumed that it's always possible to generate a new basic block when servicing a stub in branch_stub_hit(). When YJIT is out of executable memory, for example, this assumption doesn't hold up. Add handling to branch_stub_hit() for servicing stubs without consuming more executable memory by adding a code path that exits to the interpreter at the location the branch stub represents. The new code path reconstructs interpreter state in branch_stub_hit() and then exits with a new snippet called `code_for_exit_from_stub` that returns `Qundef` from the YJIT native stack frame. As this change adds another place where we regenerate code from `branch_t`, extract the logic for it into a new function and call it regenerate_branch(). While we are at it, make the branch shrinking code path in branch_stub_hit() more explicit. This new functionality is hard to test without full support for out of memory conditions. To verify this change, I ran `RUBY_YJIT_ENABLE=1 make check -j12` with the following patch to stress test the new code path: ```diff diff --git a/yjit_core.c b/yjit_core.c index 4ab63d9806..5788b8c5ed 100644 --- a/yjit_core.c +++ b/yjit_core.c @@ -878,8 +878,12 @@ branch_stub_hit(branch_t *branch, const uint32_t target_idx, rb_execution_contex cb_set_write_ptr(cb, branch->end_addr); } +if (rand() < RAND_MAX/2) { // Compile the new block version p_block = gen_block_version(target, target_ctx, ec); +}else{ + p_block = NULL; +} if (!p_block && branch_modified) { // We couldn't generate a new block for the branch, but we modified the branch. ``` We can enable the new test along with other OOM tests once full support lands. Other small changes: * yjit_utils.c (print_str): Update to work with new native frame shape. Follow up for 8fa0ee4d404. * yjit_iface.c (rb_yjit_init): Run yjit_init_core() after yjit_init_codegen() so `cb` and `ocb` are available. M bootstraptest/test_yjit.rb M yjit.c M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_core.h M yjit_iface.c M yjit_utils.c commit 59439446d9432cabf106c700943b29773b4a264f Author: David Rodríguez Date: Wed Nov 24 22:01:45 2021 +0100 [rubygems/rubygems] Fix missing locked specs when depended on other platform https://github.com/rubygems/rubygems/commit/0396e899db M lib/bundler/definition.rb M spec/bundler/install/gemfile/platform_spec.rb commit 9537e65562fad11061e4c59235328ce27e59f5d1 Author: git Date: Sat Nov 27 03:27:50 2021 +0900 * 2021-11-27 [ci skip] M version.h commit 7cfacbcad2d6bd510cf69a7b31b7ede4e293fef2 Author: Peter Zhu Date: Fri Nov 26 10:33:31 2021 -0500 Improve performance of embedded string allocation Non-VWA embedded string allocation had a performance regression. This commit improves performance of non-VWA embedded string allocation. M string.c commit dff8d12226088f07435d81b570cc9731b10c0da9 Author: Nobuyoshi Nakada Date: Fri Nov 26 20:55:21 2021 +0900 mkmf: take `PKG_CONFIG_PATH` from `dir_config` library path So that version dependent pkg-config files can override files in the default locations. M lib/mkmf.rb commit 21a29844a34589506e88a2473c62f84e417a61bc Author: Nobuyoshi Nakada Date: Fri Nov 26 20:53:52 2021 +0900 mkmf: deal with environment variables in MakeMakefile#xpopen M lib/mkmf.rb commit 1c3d6d6cc905dc9f0a84eb2a3bf885cccbcd6225 Author: Nobuyoshi Nakada Date: Fri Nov 26 20:52:00 2021 +0900 mkmf: MakeMakefile#xpopen may be passed an option hash M lib/mkmf.rb commit 1c4cf4348030e03ac995d50170c0ad6fec0af46c Author: Nobuyoshi Nakada Date: Fri Nov 26 20:48:24 2021 +0900 [MSWin] Replace -Zi in DEBUGFLAGS with -Z7 to suppress warnings M win32/Makefile.sub commit 29877d944e46566e92062b28b8c79bb23061063b Author: Kazuhiro NISHIYAMA Date: Fri Nov 26 10:17:28 2021 +0900 Fix a function name in an error message M gc.c commit 04951a12265ffdd4d455772494db190885536cad Author: Kazuhiro NISHIYAMA Date: Fri Nov 26 10:16:42 2021 +0900 Remove unused function `size_pool_for_size` ``` compiling ../gc.c ../gc.c:2444:1: warning: unused function 'size_pool_for_size' [-Wunused-function] size_pool_for_size(rb_objspace_t *objspace, size_t size) ^ 1 warning generated. ``` M gc.c commit 0a1b3b3a6790847d72fa146d6ccff620244ad342 Author: Nobuyoshi Nakada Date: Thu Nov 25 21:35:39 2021 +0900 Try test_interrupt_in_other_thread Seems working now probably because of system library updates. M .github/workflows/ubuntu.yml commit 7f7c3a0a75c48b45ce186c9e2b229ab3edf1473d Author: Koichi Sasada Date: Fri Nov 26 11:37:28 2021 +0900 initialize allocated memory by VWA for assertions When `RGENGC_CHECK_MODE` is enable, `obj_memsize_of` is called in `newobj_init` and it expect the memory is zero-cleared. M gc.c commit 6586783508c9743cc2e6707efd6de08d6d2fbadb Author: Nobuyoshi Nakada Date: Fri Nov 26 11:32:38 2021 +0900 Move win32ole.gemspec to the proper place M tool/sync_default_gems.rb commit e984c2a9ea29fa17c5f55d324d181f8eaa677d69 Author: Koichi Sasada Date: Thu Nov 25 15:57:36 2021 +0900 fix to choose correct callcache It should retun general `cc`, not for overloaded (mandatory only) method call cache. This issue is reported by @shugo and @ktou https://twitter.com/shugomaeda/status/1463699797182119936 M test/ruby/test_iseq.rb M vm_eval.c commit f3320f164fd4147256227271b89e02522a536093 Author: David Rodríguez Date: Thu Nov 25 21:29:56 2021 +0100 [rubygems/rubygems] Fix `bundle info` sometimes claiming that bundler has been deleted https://github.com/rubygems/rubygems/commit/fe1a31db31 M lib/bundler/cli/info.rb M spec/bundler/commands/info_spec.rb commit b6f543d4aea38333521b8b2333c8ec675a3ebe8f Author: John Hawthorn Date: Thu Nov 25 15:10:42 2021 -0800 YJIT: Introduce jit_putobject (#5179) * YJIT: Introduce jit_putobject This extracts the logic previously inside gen_putobject to a more reusable helper method jit_putobject. The motivation for this is that it both simplifies the implementation of other instructions, and other instructions can reuse the optimized behaviour for 32-bit special constants (most importantly opt_getinlinecache). This commit also expands the optimization to use a mov directly to memory when we encounter a 32-bit immediate constant. Previously it covered fixnums and Qtrue/Qfalse, now it will cover any SPECIAL_CONST_P value which can be represented as a 32-bit immediate. Notably, this includes static symbols, and Qnil. * Style touchups and a comment * delete empty line Co-authored-by: Alan Wu M yjit_codegen.c commit de9a1e4a9654ea305f11ce8602ee32f394e44338 Author: John Hawthorn Date: Thu Nov 25 11:56:58 2021 -0800 YJIT: Implement new struct accessors (#5161) * YJIT: Implement optimized_method_struct_aref * YJIT: Implement struct_aref without method call Struct member reads can be compiled directly into a memory read (with either one or two levels of indirection). * YJIT: Implement optimized struct aset * YJIT: Update tests for struct access * YJIT: Add counters for remaining optimized methods * Check for INT32_MAX overflow It only takes a struct with 0x7fffffff/8+1 members. Also add some cheap compile time checks. * Add tests for non-embedded struct aref/aset Co-authored-by: Alan Wu M bootstraptest/test_yjit.rb M common.mk M test/ruby/test_yjit.rb M yjit.c M yjit_codegen.c commit e469ebd7d35bbb190395378c37f1f1051d243948 Author: Burdette Lamar Date: Thu Nov 25 13:14:10 2021 -0600 Correct indentation error in numeric.c (#5178) M numeric.c commit b0bbcaedc7c855be1df8c3bbbfd7b80424905047 Author: Peter Zhu Date: Thu Nov 25 11:00:38 2021 -0500 Revert "Add GC.stat_size_pool to get stats for a size pool" This reverts commit 6157619bb68e4307cdf065cb73d5bfcec30d042d. We'll wait for comments in the open ticket: https://bugs.ruby-lang.org/issues/18364 M gc.c M gc.rb M test/ruby/test_gc.rb commit 6157619bb68e4307cdf065cb73d5bfcec30d042d Author: Peter Zhu Date: Thu Nov 25 09:31:58 2021 -0500 Add GC.stat_size_pool to get stats for a size pool GC.stat_size_pool will return stats for a particular size pool. This is used for the Variable Width Allocation feature. M gc.c M gc.rb M test/ruby/test_gc.rb commit 09ef048b34dd4aed65ec2899315a91d25ffa7629 Author: git Date: Fri Nov 26 00:16:32 2021 +0900 * 2021-11-26 [ci skip] M version.h commit c8da3b95e7153157f5c9fa57ae6d20d4edf3e0cd Author: Nobuyoshi Nakada Date: Thu Nov 25 22:16:46 2021 +0900 Add win32ole to sync_default_gems.rb M tool/sync_default_gems.rb commit 270c48507dbb1553cd09b92e5b7c542f95ffc68e Author: Nobuyoshi Nakada Date: Sun Nov 21 18:11:33 2021 +0900 [ruby/win32ole] Scale timeout in win32ole https://github.com/ruby/win32ole/commit/7e04d0eb3e M test/win32ole/test_win32ole_event.rb commit ae9593978468b9d65892626bc72edad780c5bf88 Author: Nobuyoshi Nakada Date: Wed Nov 3 18:43:01 2021 +0900 [ruby/win32ole] Fix typos [ci skip] https://github.com/ruby/win32ole/commit/8d46bd0c93 M ext/win32ole/win32ole_method.c M test/win32ole/test_win32ole.rb commit 24f8f20cc7e4e63d10c208f7a9882d1c6f4b1917 Author: Hiroshi SHIBATA Date: Thu Dec 3 16:28:49 2020 +0900 [ruby/win32ole] LICENSE https://github.com/ruby/win32ole/commit/62fd78078b M ext/win32ole/win32ole.gemspec commit 9850176984d8c6a4a0e6c0982b982dcd3ea7cd79 Author: Nobuyoshi Nakada Date: Thu Nov 25 19:12:45 2021 +0900 Split skipped tests step M .github/workflows/ubuntu.yml commit d896746d692ee1f11ee22f1ee2ef0b8f79ecfe10 Author: Nobuyoshi Nakada Date: Thu Nov 25 15:38:24 2021 +0900 Keep the generated source files when clean [Bug #18363] M ext/ripper/extconf.rb commit 51404eec5978f015f3d9738c40524aa745b50b17 Author: Nobuyoshi Nakada Date: Thu Nov 25 19:13:36 2021 +0900 Ignore pkg-config installation failure due to unmet dependencies M .github/workflows/ubuntu.yml commit a1eaeb8e40a47c4d87aba12f4025ccb7211272c0 Author: Nobuyoshi Nakada Date: Thu Nov 25 18:59:12 2021 +0900 Stop duplicated runs M .github/workflows/ubuntu.yml commit ca21eed6ebbceca68daa7b2a88e69a58b8d56806 Author: Koichi Sasada Date: Thu Nov 25 12:18:15 2021 +0900 fix assertion on `gc_cc_cme()` `cc->cme_` can be NULL when it is not initialized yet. It can be observed on `GC.stress == true` running. M vm_callinfo.h commit aceb75f6c9d13ce178e8c4a123d9f95c51875fe7 Author: Nobuyoshi Nakada Date: Thu Nov 25 00:37:20 2021 +0900 Skip tests if only document files changed on Cirrus-CI [ci skip] M .cirrus.yml commit b5aa161383ec214b1d6296ea5c76dfe28737821f Author: Yusuke Endoh Date: Thu Nov 25 11:00:28 2021 +0900 test/ruby/test_iseq.rb: Avoid pollution of method namespace http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20211125T003004Z.log.html.gz ``` [ 4780/21204] TestISeq#test_super_with_anonymous_block/home/chkbuild/chkbuild/tmp/build/20211125T003004Z/ruby/test/ruby/test_iseq.rb:141: warning: method redefined; discarding old touch3 /home/chkbuild/chkbuild/tmp/build/20211125T003004Z/ruby/test/ruby/test_iseq.rb:121: warning: previous definition of touch3 was here = 0.00 s ``` M test/ruby/test_iseq.rb commit 8bde66167fb310b8b4297821e15a9adfa3cb9dd4 Author: Adam Hess Date: Wed Nov 24 17:23:22 2021 -0800 update YJIT docs to reference RubyVM::YJIT instead of just YJIT [ci skip] M doc/yjit/yjit.md commit 635efa594a08f0f1a80d9a2b3cd663368b777c38 Author: Burdette Lamar Date: Wed Nov 24 17:44:27 2021 -0600 Whats here for float (#5170) * What's Here for Float M numeric.c commit 9faa59919674ab33a326e479e97864a7bd8067d3 Author: Burdette Lamar Date: Wed Nov 24 15:15:12 2021 -0600 Enhanced RDoc for Float#floor (#5167) * Enhanced RDoc for Float#floor * Enhanced RDoc for Float * Enhanced RDoc for Float M numeric.c commit 9252830d7edb880b66902f3b075473dbc020f851 Author: git Date: Thu Nov 25 04:02:38 2021 +0900 * 2021-11-25 [ci skip] M version.h commit aace9cb162551f60d6ed811cc378f5156b892828 Author: David Rodríguez Date: Thu Aug 5 17:16:44 2021 +0200 [rubygems/rubygems] Fix bad instance variable name Recent changes made a warning while running specs show up for some reason, and it revealed this error. https://github.com/rubygems/rubygems/commit/bbf55de38e M spec/bundler/commands/doctor_spec.rb commit b2b473707f0010055a8df8cc5f83905a73dda871 Author: David Rodríguez Date: Thu Aug 5 16:54:30 2021 +0200 [rubygems/rubygems] Check not having load system features also for successful runs https://github.com/rubygems/rubygems/commit/4807bd19a5 M spec/bundler/support/rubygems_version_manager.rb commit d49ee9e2c3cfdf1a705da32019694ecfd00dd1e6 Author: David Rodríguez Date: Thu Aug 5 16:53:51 2021 +0200 [rubygems/rubygems] These method should be returning a string https://github.com/rubygems/rubygems/commit/dc391f4d87 M spec/bundler/support/helpers.rb commit d123919595536ee11686dbae3bc5c2c94e3ebcb8 Author: David Rodríguez Date: Thu Aug 5 11:50:44 2021 +0200 [rubygems/rubygems] We should be checking raised exception, not status code here https://github.com/rubygems/rubygems/commit/48f8cdab9c M spec/bundler/support/rubygems_version_manager.rb commit c4b1aa19a36be0beaa01d4f5b2d889ceaf82dbd6 Author: David Rodríguez Date: Fri Oct 15 13:51:49 2021 +0200 [rubygems/rubygems] Don't replace ENV twice on non Windows platforms https://github.com/rubygems/rubygems/commit/8dc86b7096 M lib/bundler/environment_preserver.rb A spec/bundler/realworld/ffi_spec.rb A spec/bundler/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ffi-1.15.4.gem/GET/request A spec/bundler/support/artifice/vcr_cassettes/realworld/rubygems.org/gems/ffi-1.15.4.gem/GET/response commit 3d19c2900e6d7feaff40d1e3ace62afce60b5bac Author: Alan Wu Date: Fri Oct 29 19:01:05 2021 -0400 No need to link and install .pdb anymore With /Z7, no .pdb file is generated, so trying to link it during build fails on my machine even though it's okay on CI. By the way, in my local testing, no .pdb is generated in cwd at runtime even without the /Fd option. I guess we can pass it just in case. M tool/rbinstall.rb M win32/Makefile.sub commit e6f4a39a4de28067ff0b5dca55a8c09a8f9e2006 Author: Alan Wu Date: Thu Oct 28 17:48:21 2021 -0400 MJIT MSVC: Use /Z7 to avoid PDB write race With MSVC, MJIT uses the /Fd option on an installed PDB file when compiling. Combined with the /Zi option, this causes the PDB file to be modified every time MJIT compiles. Concurrent modifications to the same PDB file is known to cause problems. MSVC even has an option, /FS to deal with it. When running MJIT tests in parallel, sometimes this leads to corrupting the PDB file, breaking subsequent compilations. On CI, we get messages like these: rb_mjit_header-3.1.0.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header. To avoid this race, use the /Z7 option when building precompiled header, which asks the compiler to put debug info into the .obj file, eliminating the need for pointing the compiler to the PDB file for the precompiled header. The /Fd option is changed to use a unique path based on the name of the dll output. Because of the /debug linker flag, we generate a PDB file at runtime even though we use /Z7. There are a couple things missing from this change: - Because MJIT uses the interpreter's CFLAGS build option and that contains /Zi, putting /Z7 at the end leads to a build warning - With /Z7 no PDB file is built anymore, so the code for installing the PDB file can be removed There might also be other problems with this change I haven't noticed while developing this change using Github Actions. I don't have a Windows dev environment with Visual Studio so I can't finish this change easily. Please feel free to complete this change if it makes sense. Note: - On master, you can see the PDB file changing with llvm-pdbutil or a simple checksum. There is an age field in the file that is bumped - I'm not sure if users can specify compile flags on MSVC. If they couldn't, maybe it's easier to change MJIT's compile options to use /Z7 when building the precompile header. - MJIT could pass different options at runtime to generate fewer files. Right now it inherits the /DEBUG linker flag which causes a PDB file to be generated at runtime even though /Z7 is used. Relevant MSVC docs: - [/Zi,/Z7](https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-160) - [/DEBUG](https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info?view=msvc-160) - [/FS](https://docs.microsoft.com/en-us/cpp/build/reference/fs-force-synchronous-pdb-writes?view=msvc-160) M mjit_worker.c M win32/Makefile.sub commit 7c3041047efecb98cf088a899c022703512651d1 Author: Burdette Lamar Date: Wed Nov 24 08:34:30 2021 -0600 Enhanced RDoc for Float#prev_float (#5162) * Enhanced RDoc for Float#prev_float M numeric.c commit 1dcfcb6bc508bb0ca4a8855d754401e82c0572b9 Author: furunkel Date: Thu Nov 11 16:34:24 2021 +0100 Fix typo M doc/extension.rdoc commit 7d55f1b6b6b9777a8bd665f6c5ed6a64c7fa2e9b Author: MSP-Greg Date: Mon Nov 22 19:49:12 2021 -0600 [Actions] use windows-2022 for mingw MSP-Greg/ruby-setup-ruby@win-ucrt-1 M .github/workflows/mingw.yml commit c51b92c18deb850d2cea3a7c9020db23b364ab72 Author: Peter Zhu Date: Tue Nov 23 13:14:45 2021 -0500 [ruby/zlib] [Bug #18358] Fix crash in zlib when in progress When Zlib::Inflate#inflate or Zlib::Deflate#deflate is called recursively inside the block, a crash can occur because of an use-after-free bug. https://github.com/ruby/zlib/commit/50fb8a0338 M ext/zlib/zlib.c M test/zlib/test_zlib.rb commit 5445d33be2c6945ff335d5491a6666e8b544bf7b Author: Yusuke Endoh Date: Wed Nov 24 19:56:21 2021 +0900 [ruby/cgi] Bump version https://github.com/ruby/cgi/commit/c9c800715e M lib/cgi.rb commit 0f31b3f465036884fc0e22ddb4fe5d46279eccae Author: Nobuyoshi Nakada Date: Mon Jun 29 10:29:25 2020 +0900 [ruby/cgi] When parsing cookies, only decode the values https://github.com/ruby/cgi/commit/052eb3a828 M lib/cgi/cookie.rb M test/cgi/test_cgi_cookie.rb commit da34f31ad0315b9b8dfb318aafab393aee54968f Author: Nobuyoshi Nakada Date: Fri Sep 3 19:40:22 2021 +0900 [ruby/cgi] Fix integer overflow Make use of the check in rb_alloc_tmp_buffer2. https://hackerone.com/reports/1328463 https://github.com/ruby/cgi/commit/c728632c1c M ext/cgi/escape/escape.c commit 3454a456d1005dac799279dae42555759b741fc9 Author: Yusuke Endoh Date: Wed Nov 24 15:42:00 2021 +0900 test/ruby/test_iseq.rb: Use __LINE__ to make the error log easy to see M test/ruby/test_iseq.rb commit df8f8581153b4df7e7f042afd088b905f13b654c Author: Burdette Lamar Date: Tue Nov 23 15:38:28 2021 -0600 Enhanced RDoc for Float#next_float (#5160) * Enhanced RDoc for Float#next_float M numeric.c commit 459f9e3df8e8080d8c44aed3636a337e6ee64132 Author: Eileen M. Uchitelle Date: Tue Nov 23 14:09:24 2021 -0500 Add setclassvariable to yjit (#5127) Implements setclassvariable in yjit. Note that this version is not faster than the standard version because we aren't handling the inline cache in assembly. This is still important to implement because it will prevent yjit from exiting in methods that call both a cvar setter and other code that yjit can compile. Co-authored-by: Aaron Patterson tenderlove@ruby-lang.org M test/ruby/test_yjit.rb M vm_insnhelper.c M yjit_codegen.c commit fb9d67742b77e5b38cfe46b448b64e6965aa3e70 Author: git Date: Wed Nov 24 00:51:42 2021 +0900 * 2021-11-24 [ci skip] M version.h commit 9aded89f4071a8afb79326701789241f1da12f82 Author: Peter Zhu Date: Fri Nov 19 14:51:58 2021 -0500 Speed up Ractors for Variable Width Allocation This commit adds a Ractor cache for every size pool. Previously, all VWA allocated objects used the slowpath and locked the VM. On a micro-benchmark that benchmarks String allocation: VWA turned off: 29.196591 0.889709 30.086300 ( 9.434059) VWA before this commit: 29.279486 41.477869 70.757355 ( 12.527379) VWA after this commit: 16.782903 0.557117 17.340020 ( 4.255603) M class.c M gc.c M internal/gc.h M string.c commit c14f230b26aa4f8abe9ecf3814cfebbe584d77c9 Author: Nobuyoshi Nakada Date: Tue Nov 23 00:09:41 2021 +0900 Assign temporary ID to anonymous ID [Bug #18250] Dumped iseq binary can not have unnamed symbols/IDs, and ID 0 is stored instead. As `struct rb_id_table` disallows ID 0, also for the distinction, re-assign a new temporary ID based on the local variable table index when loading from the binary, as well as the parser. M compile.c M internal/symbol.h M parse.y M symbol.c commit eb301d8aecf454681e78cd7ad6d027e67b121857 Author: Jean Boussier Date: Mon Nov 22 12:20:38 2021 +0100 Add an extra failing test case for [Bug #18250] The parameter being called `req` specifically causes an assertion error: ``` Assertion failed: (key != 0), function hash_table_raw_insert, file id_table.c, line 153. ``` Renaming the parameter or removing the `*` doesn't reproduce. M test/ruby/test_iseq.rb commit c0c2b31a35e19a47b499b57807bc0a0f9325f6d3 Author: Jean Boussier Date: Thu Oct 28 14:07:11 2021 +0200 Add Class#subclasses Implements [Feature #18273] Returns an array containing the receiver's direct subclasses without singleton classes. M NEWS.md M class.c M gems/bundled_gems M include/ruby/internal/intern/class.h M object.c A spec/ruby/core/class/subclasses_spec.rb M test/ruby/test_class.rb commit a88b19d3d08447eeb7045621f02a844173d64203 Author: Nobuyoshi Nakada Date: Tue Nov 23 16:08:53 2021 +0900 Suppress the “experimental" warnings for `IO::Buffer` As this warning is emitted just once per processes, needs in each files when parallel testing. M test/fiber/scheduler.rb M test/ruby/test_io_buffer.rb commit da832d6c2a695cbc8f8893e9cac145719b045a71 Author: Burdette Lamar Date: Mon Nov 22 19:04:25 2021 -0600 What's Here section for Integer (#5155) * What's Here section for Integer M numeric.c commit f5d20411386ff2552ff27661387ddc4bae1ebc30 Author: Alan Wu Date: Mon Nov 22 19:29:29 2021 -0500 Avoid assert failure when NULL EC is expected After 5680c38c75aeb5cbd219aafa8eb48c315f287d97, postponed job APIs now expect to be called on native threads not managed by Ruby and handles getting a NULL execution context. However, in debug builds the change runs into an assertion failure with GET_EC() which asserts that EC is non-NULL. Avoid the assertion failure by passing `false` for `expect_ec` instead as the intention is to handle when there is no EC. Add a test from John Crepezzi and John Hawthorn to exercise this situation. See GH-4108 See GH-5094 [Bug #17573] Co-authored-by: John Hawthorn Co-authored-by: John Crepezzi M ext/-test-/postponed_job/postponed_job.c M test/-ext-/postponed_job/test_postponed_job.rb M vm_trace.c commit 13d1ded253940585a993e92648ab9f77d355586d Author: Alan Wu Date: Thu Nov 4 12:30:30 2021 -0400 YJIT: Make block invalidation more robust This commit adds an entry_exit field to block_t for use in invalidate_block_version(). By patching the start of the block while invalidating it, invalidate_block_version() can function correctly while there is no executable memory left for new branch stubs. This change additionally fixes correctness for situations where we cannot patch incoming jumps to the invalidated block. In situations such as Shopify/yjit#226, the address to the start of the block is saved and used later, possibly after the block is invalidated. The assume_* family of function now generate block->entry_exit before remembering blocks for invalidation. RubyVM::YJIT.simulate_oom! is introduced for testing out of memory conditions. The test for it is disabled for now because OOM triggers other failure conditions not addressed by this commit. Fixes Shopify/yjit#226 M bootstraptest/test_yjit.rb M yjit.rb M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_core.h M yjit_iface.c commit e42f994f6b20416853af0252029af94ff7c9b9a9 Author: Burdette Lamar Date: Mon Nov 22 14:57:17 2021 -0600 Enhanced RDoc for Float (#5153) Treats: #> #>= #< #<= #eql? #nan? #infinite? #finite? M numeric.c commit aaff5d7905c0085f477d197ae7934e0b9115c070 Author: git Date: Tue Nov 23 02:02:45 2021 +0900 * 2021-11-23 [ci skip] M version.h commit c4f45674a431560105d1b92c7b64d8b6354d9c6a Author: Jemma Issroff Date: Thu Feb 4 16:16:59 2021 -0500 Removes unused HEAP_PAGE_BITMAP_PLANES constant from gc.c M gc.c commit b680b632e5b88e4ea550de3f15cf6ef782efeb48 Author: Matt Valentine-House Date: Mon Nov 15 21:09:10 2021 +0000 Make RCLASS_EXT(c)->subclasses a doubly linked list Updating RCLASS_PARENT_SUBCLASSES and RCLASS_MODULE_SUBCLASSES while compacting can trigger the read barrier. This commit makes RCLASS_SUBCLASSES a doubly linked list with a dedicated head object so that we can add and remove entries from the list without having to touch an object in the Ruby heap M class.c M gc.c M internal/class.h commit fa9fa23ea844047d0d4f83a3864bdb24ecf95646 Author: git Date: Mon Nov 22 09:29:30 2021 +0900 * 2021-11-22 [ci skip] M version.h commit 997adfd4104599de1fa99bf62ea78b5e85189441 Author: David Rodríguez Date: Sat Nov 20 01:15:11 2021 +0100 [rubygems/rubygems] Clarify `bundle viz` deprecation https://github.com/rubygems/rubygems/commit/7f22fe56b3 M lib/bundler/cli.rb M spec/bundler/other/major_deprecation_spec.rb commit 784f1e1538401665c1660750748e47b9598da665 Author: Nobuyoshi Nakada Date: Sun Nov 21 19:17:27 2021 +0900 Throttle pull-requests only [ci skip] M .github/workflows/baseruby.yml M .github/workflows/check_dependencies.yml M .github/workflows/check_misc.yml M .github/workflows/codeql-analysis.yml M .github/workflows/compilers.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/spec_guards.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml M .github/workflows/yjit-ubuntu.yml M .github/workflows/yjit_asm_tests.yml commit 1c4f5293640a86b0de47d7d9db44ee1e83a77be1 Author: Nobuyoshi Nakada Date: Sun Nov 21 16:23:44 2021 +0900 Ignore preprocessed C++ files [ci skip] M .gitignore commit ac152b3cac0be45d2a17d89610cbc15be873786f Author: Nobuyoshi Nakada Date: Sun Nov 21 14:44:44 2021 +0900 Update dependencies M common.mk M enc/depend M ext/-test-/RUBY_ALIGNOF/depend M ext/-test-/arith_seq/extract/depend M ext/-test-/array/concat/depend M ext/-test-/array/resize/depend M ext/-test-/bignum/depend M ext/-test-/bug-14834/depend M ext/-test-/bug-3571/depend M ext/-test-/bug-5832/depend M ext/-test-/bug_reporter/depend M ext/-test-/class/depend M ext/-test-/cxxanyargs/depend M ext/-test-/debug/depend M ext/-test-/enumerator_kw/depend M ext/-test-/exception/depend M ext/-test-/fatal/depend M ext/-test-/file/depend M ext/-test-/float/depend M ext/-test-/funcall/depend M ext/-test-/gvl/call_without_gvl/depend M ext/-test-/hash/depend M ext/-test-/integer/depend M ext/-test-/iseq_load/depend M ext/-test-/iter/depend M ext/-test-/load/protect/depend M ext/-test-/marshal/compat/depend M ext/-test-/marshal/internal_ivar/depend M ext/-test-/marshal/usr/depend M ext/-test-/memory_status/depend M ext/-test-/memory_view/depend M ext/-test-/method/depend M ext/-test-/notimplement/depend M ext/-test-/num2int/depend M ext/-test-/path_to_class/depend M ext/-test-/postponed_job/depend M ext/-test-/printf/depend M ext/-test-/proc/depend M ext/-test-/random/depend M ext/-test-/rational/depend M ext/-test-/rb_call_super_kw/depend M ext/-test-/recursion/depend M ext/-test-/regexp/depend M ext/-test-/scan_args/depend M ext/-test-/st/foreach/depend M ext/-test-/st/numhash/depend M ext/-test-/st/update/depend M ext/-test-/string/depend M ext/-test-/struct/depend M ext/-test-/symbol/depend M ext/-test-/thread_fd/depend M ext/-test-/time/depend M ext/-test-/tracepoint/depend M ext/-test-/typeddata/depend M ext/-test-/vm/depend M ext/-test-/wait/depend M ext/bigdecimal/depend M ext/cgi/escape/depend M ext/continuation/depend M ext/date/depend M ext/digest/bubblebabble/depend M ext/digest/depend M ext/digest/md5/depend M ext/digest/rmd160/depend M ext/digest/sha1/depend M ext/digest/sha2/depend M ext/etc/depend M ext/fcntl/depend M ext/fiddle/depend M ext/io/console/depend M ext/io/nonblock/depend M ext/io/wait/depend M ext/json/generator/depend M ext/json/parser/depend M ext/monitor/depend M ext/nkf/depend M ext/objspace/depend M ext/pathname/depend M ext/psych/depend M ext/pty/depend M ext/racc/cparse/depend M ext/rbconfig/sizeof/depend M ext/readline/depend M ext/ripper/depend M ext/socket/depend M ext/stringio/depend M ext/strscan/depend M ext/syslog/depend M ext/zlib/depend commit cbfd5249d4475451731c4b1a54034ddd61d480e9 Author: Nobuyoshi Nakada Date: Sun Nov 21 11:58:15 2021 +0900 Stop including node.h from vm_debug.h only for `NODE` M vm_debug.h commit d2cb4cc073709879535bf4d32efa308d91f6dcdd Author: Nobuyoshi Nakada Date: Sun Nov 21 16:12:03 2021 +0900 Adjust format M io_buffer.c commit f5829e293583aa6ba6a1f1314ee22881d58a5f96 Author: ima1zumi Date: Wed Nov 17 00:58:43 2021 +0900 [ruby/reline] Correct padding space calculation fix https://github.com/ruby/irb/issues/308 This bug occurred when `dialog.width - calculate_width(s, true)` was negative. When `dialog.width` is shorter than `old_dialog.width`, it calculates how much padding it has to do. However, there are cases where `s` is longer than `dialog.width`, as in the issue. In that case, `padding_space_with_escape_sequences` will crash. Here, `old_dialog.width` is longer than `dialog.width`, so I changed the padding width to `old_dialog.width - dialog.width`. https://github.com/ruby/reline/commit/c581c31e0f M lib/reline/line_editor.rb M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit feda058531c0bdd5b673180accb4407dcc798c79 Author: Yusuke Endoh Date: Thu Nov 18 03:40:49 2021 +0900 Refactor hacky ID tables to struct rb_ast_id_table_t The implementation of a local variable tables was represented as `ID*`, but it was very hacky: the first element is not an ID but the size of the table, and, the last element is (sometimes) a link to the next local table only when the id tables are a linked list. This change converts the hacky implementation to a normal struct. M ast.c M common.mk M compile.c M node.c M node.h M parse.y M vm.c commit 86ad878e6a0781749c73574112a0fac4f088e2c9 Author: Burdette Lamar Date: Sat Nov 20 17:21:30 2021 -0600 Enhanced RDoc for Float (#5150) Treated (or previously treated): #quo #% #divmod #**` #eql? #<=> #== #hash M numeric.c commit 8afd35b950a86e2b28991a47d42232428130d56e Author: git Date: Sun Nov 21 01:35:42 2021 +0900 * 2021-11-21 [ci skip] M version.h commit 8f3432cd4466c35cd9f482de3779d76f3957968f Author: Nobuyoshi Nakada Date: Sun Nov 21 00:31:51 2021 +0900 Fix setting struct member by public_send M test/ruby/test_struct.rb M vm_eval.c M vm_insnhelper.c commit c5ec05d047f3c3f32b34d705088d407429d4303a Author: Nobuyoshi Nakada Date: Sat Nov 20 21:32:57 2021 +0900 `struct_pos_num` is no longer used M struct.c commit 73388aff5e2a6c6f5520d4ccc7843990fb15520e Author: Adam Hess Date: Fri Nov 19 13:57:09 2021 -0800 Add YJIT codegen for objtostring (#5149) This is the minimal correct objtostring implementation in YJIT. For correctness, it is important that to_string not get called on strings or subclasses of string. There is a new test for this behavior. A follow up should implement an optimized version for other types as performed in `vm_objtostring`. Co-authored-by: John Hawthorn Co-authored-by: John Hawthorn M bootstraptest/test_yjit.rb M test/ruby/test_yjit.rb M yjit_codegen.c commit 3c92516519bf0cf3ed586462f947ed8c4ed64abd Author: Jeremy Evans Date: Fri Nov 19 10:00:13 2021 -0800 Fix test_super_with_anonymous_block test to use anonymous block M test/ruby/test_iseq.rb commit e9735ec206d24895ffb14ea7382fb38435fb16c5 Author: git Date: Sat Nov 20 03:16:34 2021 +0900 * 2021-11-20 [ci skip] M version.h commit e0c38742a2841585f1deddcc3b567876daa1a709 Author: Burdette Lamar Date: Fri Nov 19 12:16:16 2021 -0600 Enhanced RDoc for Float (#5144) Treats: #to_s #coerce #+ #- #* #/ M numeric.c commit aa591af296d50800c994b42b7dd5de8d95080611 Author: Nobuyoshi Nakada Date: Fri Nov 19 21:45:09 2021 +0900 Do not document vendored files [ci skip] Just duplications. A lib/rubygems/optparse/.document A lib/rubygems/tsort/.document commit 39c4673e3cd537f61197513d3ed202f3b885a899 Author: David Rodríguez Date: Wed Nov 17 21:59:18 2021 +0100 [rubygems/rubygems] Previous logic can mostly go now https://github.com/rubygems/rubygems/commit/3241b34055 M lib/bundler/definition.rb commit 80f39d78df618baf5af44692db2ca96d5bd4dbad Author: David Rodríguez Date: Fri Nov 12 00:56:19 2021 +0100 [rubygems/rubygems] Allow `bundle update` to downgrade gems by changing the Gemfile https://github.com/rubygems/rubygems/commit/6a19cca7e5 M lib/bundler/definition.rb M spec/bundler/commands/update_spec.rb commit 55f574136cbcf11339531768524558e03bf7eb7a Author: David Rodríguez Date: Wed Nov 17 21:13:40 2021 +0100 [rubygems/rubygems] Extract a converge_specs method for later reusing it https://github.com/rubygems/rubygems/commit/e896e63ac3 M lib/bundler/definition.rb commit 2730e45f4565ef41a08d2694be2a287c86f9e0ba Author: David Rodríguez Date: Tue Nov 16 15:01:18 2021 +0100 [rubygems/rubygems] Avoid unnecessary loop https://github.com/rubygems/rubygems/commit/afaf868b68 M lib/bundler/definition.rb commit 4b1dd75e6c4308801156b4839662868be8676ff0 Author: Yusuke Endoh Date: Fri Nov 19 10:09:51 2021 +0900 gc.c: Fix a compile error on some crossbuilds http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-wasm32_emscripten/log/20211118T233311Z.log.html.gz#make ``` compiling gc.c gc.c:10629:47: error: implicit conversion loses integer precision: 'unsigned long long' to 'size_t' (aka 'unsigned long') [-Werror,-Wshorten-64-to-32] SET(time, objspace->profile.total_time_ns / (1000 * 1000) /* ns -> ms */); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gc.c:10624:9: note: expanded from macro 'SET' return attr; \ ~~~~~~ ^~~~ gc.c:10629:47: error: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned long' [-Werror,-Wshorten-64-to-32] SET(time, objspace->profile.total_time_ns / (1000 * 1000) /* ns -> ms */); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gc.c:10626:68: note: expanded from macro 'SET' rb_hash_aset(hash, gc_stat_symbols[gc_stat_sym_##name], SIZET2NUM(attr)); ~~~~~~~~~ ^~~~ 2 errors generated. ``` M gc.c commit 82ea2870188d66aa75a99f03b4e7fdd1750aa196 Author: Koichi Sasada Date: Thu Nov 18 11:01:31 2021 +0900 optimize `Struct` getter/setter Introduce new optimized method type `OPTIMIZED_METHOD_TYPE_STRUCT_AREF/ASET` with index information. M common.mk M compile.c M debug_counter.h M method.h M proc.c M struct.c M test/ruby/test_yjit.rb M vm_eval.c M vm_insnhelper.c M vm_method.c commit be71c95b88019a1ca7a030a757ce343b743d8aff Author: Koichi Sasada Date: Thu Nov 18 00:43:40 2021 +0900 `rb_method_optimized_t` for further extension Now `rb_method_optimized_t optimized` field is added to represent optimized method type. M method.h M proc.c M vm.c M vm_eval.c M vm_insnhelper.c M vm_method.c commit 6c64013978e77637995a0348f7e232068b9f61b4 Author: Koichi Sasada Date: Thu Nov 11 23:00:42 2021 +0900 use ULL2NUM directly. @nobu pointed out that ULL (unsigned long long) should have at least 64 bits so ULL2NUM(uint64_t) is not problem. M gc.rb commit c347038d4ea246d686fcd4ddc8761a91e4dd25ab Author: Koichi Sasada Date: Wed Nov 10 16:52:22 2021 +0900 GC measurement feature * `GC.measure_total_time = true` enables total time measurement (default: true) * `GC.measure_total_time` returns current flag. * `GC.total_time` returns measured total time in nano seconds. * `GC.stat(:time)` (and Hash) returns measured total time in milli seconds. M common.mk M gc.c M gc.rb commit 349a1797828a1fa6acc3c0d30a2a24e884d02907 Author: Koichi Sasada Date: Thu Aug 19 16:14:46 2021 +0900 support `GC.stat(:time)` take 2 M gc.c commit b08dacfea39ad8da3f1fd7fdd0e4538cc892ec44 Author: Jeremy Evans Date: Thu Nov 18 15:10:20 2021 -0800 Optimize dynamic string interpolation for symbol/true/false/nil/0-9 This provides a significant speedup for symbol, true, false, nil, and 0-9, class/module, and a small speedup in most other cases. Speedups (using included benchmarks): :symbol :: 60% 0-9 :: 50% Class/Module :: 50% nil/true/false :: 20% integer :: 10% [] :: 10% "" :: 3% One reason this approach is faster is it reduces the number of VM instructions for each interpolated value. Initial idea, approach, and benchmarks from Eric Wong. I applied the same approach against the master branch, updating it to handle the significant internal changes since this was first proposed 4 years ago (such as CALL_INFO/CALL_CACHE -> CALL_DATA). I also expanded it to optimize true/false/nil/0-9/class/module, and added handling of missing methods, refined methods, and RUBY_DEBUG. This renames the tostring insn to anytostring, and adds an objtostring insn that implements the optimization. This requires making a few functions non-static, and adding some non-static functions. This disables 4 YJIT tests. Those tests should be reenabled after YJIT optimizes the new objtostring insn. Implements [Feature #13715] Co-authored-by: Eric Wong Co-authored-by: Alan Wu Co-authored-by: Yusuke Endoh Co-authored-by: Koichi Sasada A benchmark/vm_dstr_ary.rb A benchmark/vm_dstr_bool.rb A benchmark/vm_dstr_class_module.rb A benchmark/vm_dstr_digit.rb A benchmark/vm_dstr_int.rb A benchmark/vm_dstr_nil.rb A benchmark/vm_dstr_obj.rb A benchmark/vm_dstr_obj_def.rb A benchmark/vm_dstr_str.rb A benchmark/vm_dstr_sym.rb M common.mk M compile.c M insns.def M numeric.c M object.c M test/ruby/test_jit.rb M test/ruby/test_optimization.rb M test/ruby/test_yjit.rb M vm_insnhelper.c M yjit_codegen.c commit 4adb012926f8bd6011168327d8832cf19976de40 Author: Jeremy Evans Date: Thu Nov 18 12:44:19 2021 -0800 Anonymous block forwarding allows a method to forward a passed block to another method without having to provide a name for the block parameter. Implements [Feature #11256] Co-authored-by: Yusuke Endoh mame@ruby-lang.org Co-authored-by: Nobuyoshi Nakada nobu@ruby-lang.org M NEWS.md M doc/syntax/methods.rdoc M parse.y M test/ruby/test_iseq.rb M test/ruby/test_parse.rb M test/ruby/test_syntax.rb commit ea02b93bb95a42439631606269659dffc1981883 Author: Eileen M. Uchitelle Date: Thu Nov 18 16:17:40 2021 -0500 Refactor setclassvariable (#5143) We only need the cref when we have a cache miss so don't look it up until we need it. This likely speeds up class variable writes in the interpreter but also simplifies the jit code. Before ``` Warming up -------------------------------------- write a cvar 192.280k i/100ms Calculating ------------------------------------- write a cvar 1.915M (± 3.5%) i/s - 9.614M in 5.026694s ``` After ``` Warming up -------------------------------------- write a cvar 216.308k i/100ms Calculating ------------------------------------- write a cvar 2.140M (± 3.1%) i/s - 10.815M in 5.058079s ``` Followup to ruby/ruby#5137 M insns.def M vm_insnhelper.c commit ab737b19197c63b84dad9944045a2fd2dc369264 Author: Jeremy Evans Date: Thu Nov 18 10:51:14 2021 -0800 Update documentation for Module#{private,public,protected,module_function} Also, update NEWS for this change and the Kernel#load change. M NEWS.md M vm_method.c commit 75ecbda438670ec12641d1324d0e81a52ee02e0a Author: Jeremy Evans Date: Wed Oct 27 10:35:54 2021 -0700 Make Module#{public,private,protected,module_function} return arguments Previously, each of these methods returned self, but it is more useful to return arguments, to allow for simpler method decorators, such as: ```ruby cached private def foo; some_long_calculation; end ``` Where cached sets up caching for the method. For each of these methods, the following behavior is used: 1) No arguments returns nil 2) Single argument is returned 3) Multiple arguments are returned as an array The single argument case is really the case we are trying to optimize for, for the same reason that def was changed to return a symbol for the method. Idea and initial patch from Herwin Quarantainenet. Implements [Feature #12495] M spec/ruby/core/main/private_spec.rb M spec/ruby/core/main/public_spec.rb M spec/ruby/core/module/module_function_spec.rb M spec/ruby/core/module/private_spec.rb M spec/ruby/core/module/protected_spec.rb M spec/ruby/core/module/public_spec.rb M test/ruby/test_module.rb M vm_method.c commit ec574ab3453709490b53b5cc761ec158103fe42a Author: Eileen M. Uchitelle Date: Thu Nov 18 12:11:53 2021 -0500 Refactor getclassvariable (#5137) * Refactor getclassvariable We only need the cref when we have a cache miss so don't look it up until we need it. This speeds up class variable reads in the interpreter but also simplifies the jit code. Benchmarks for master vs this branch (without yjit): Before: ``` Warming up -------------------------------------- read a cvar 1.276M i/100ms Calculating ------------------------------------- read a cvar 12.596M (± 1.7%) i/s - 63.781M in 5.064902s ``` After: ``` Warming up -------------------------------------- read a cvar 1.336M i/100ms Calculating ------------------------------------- read a cvar 13.114M (± 3.6%) i/s - 65.488M in 5.000584s ``` Co-authored-by: Aaron Patterson * Clean up function signatures / remove dead code rb_vm_getclassvariable signature has changed and we don't need rb_vm_get_cref. Co-authored-by: Aaron Patterson M insns.def M vm_insnhelper.c M yjit_codegen.c commit d48f5082e5b5af56bc9a0986eb83bb18520f4233 Author: git Date: Fri Nov 19 00:44:50 2021 +0900 * 2021-11-19 [ci skip] M version.h commit cdebf57ec670f35cf07460778e40f6801050ffb5 Author: Maxime Chevalier-Boisvert Date: Thu Nov 18 10:44:31 2021 -0500 Add --yjit-no-type-prop so we can test YJIT without type propagation (#5135) * Add --yjit-no-type-prop so we can test YJIT without type propagation * Fix typo in command line option * Leave just two test workflows enable for YJIT M .github/CODEOWNERS M .github/workflows/yjit-ubuntu.yml M doc/yjit/yjit.md M ruby.c M yjit.h M yjit_core.c M yjit_iface.c commit f3dcb4bbf7253690abba02e64a051390c55237cb Author: Burdette Lamar Date: Thu Nov 18 08:28:04 2021 -0600 Enhanced RDoc for Integer (#5139) Treats: #<< #>> #to_s M numeric.c commit e2b78440ba3cebe5106efa699505677b4444486b Author: Nobuyoshi Nakada Date: Thu Nov 18 22:21:05 2021 +0900 Throttle GitHub Actions [ci skip] As GitHub Actions are choking a lot lately, throttle the checks down to the latest commit only per branches. M .github/workflows/baseruby.yml M .github/workflows/check_dependencies.yml M .github/workflows/check_misc.yml M .github/workflows/codeql-analysis.yml M .github/workflows/compilers.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/spec_guards.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml M .github/workflows/yjit-ubuntu.yml M .github/workflows/yjit_asm_tests.yml commit 89b440bf724b5e670da0fa31c36a7945a7ddc80f Author: Nobuyoshi Nakada Date: Thu Nov 18 21:47:18 2021 +0900 Expect bool as `sort:` option at glob [Feature #18287] M common.mk M dir.c M spec/ruby/core/dir/shared/glob.rb M test/ruby/test_dir.rb commit 68963244658ef7dacd48affcb2afca29419e847e Author: Kazuhiro NISHIYAMA Date: Thu Nov 18 20:52:03 2021 +0900 Update bundled_gems M gems/bundled_gems commit 39655aceb2c1c5c3b014b25047dd2d99835c8c5a Author: Hiroshi SHIBATA Date: Thu Nov 18 18:18:33 2021 +0900 [ruby/date] Bump version to 3.2.2 https://github.com/ruby/date/commit/21d91c5f4f M ext/date/lib/date.rb commit 3ce27552df3411ea75ac8f24023194ec373e0f0c Author: Jean Boussier Date: Tue Nov 16 14:14:28 2021 +0100 [ruby/date] Expose Date::VERSION An almost universal convention for gems is to expose `Namespace::VERSION` which makes it mcuh easier when debugging etc. Many gems extracted from ruby don't do this, even though it would be even more useful because they ship with ruby, so it's less clear which version it is. https://github.com/ruby/date/commit/fef7ec18d8 M ext/date/date.gemspec M ext/date/lib/date.rb commit 2efbb35a8fdf1bea4c914f19f9c0beb52fa77e78 Author: Nobuyoshi Nakada Date: Thu Nov 18 17:39:28 2021 +0900 Remove macOS CIs [ci skip] M .github/workflows/check_dependencies.yml D .github/workflows/macos.yml commit b35b7a1ef25347735a6bb7c28ab7e77afea1d856 Author: Jeremy Evans Date: Mon Oct 18 08:50:10 2021 -0700 Allow Kernel#load to load code into a specified module Instead of always using a new anonymous module for Kernel#load if the wrap argument is not false/nil, use the given module if a module is provided. Implements [Feature #6210] M load.c M test/ruby/test_require.rb commit 05a3dc1a654c5e92200d994d0a51a2e159c88162 Author: S.H Date: Thu Nov 18 13:26:40 2021 +0900 Improve performance Kernel#Float with using Primitive.mandatory_only? method [Feature #18344] (#5133) M kernel.rb M object.c commit cb69c19e8ab540eda9de8a16a0f9479344a3a259 Author: Burdette Lamar Date: Wed Nov 17 16:00:50 2021 -0600 Enhanced RDoc for Integer (#5138) Treats: #times #round #floor #ceil #truncate ::sqrt M numeric.c commit 8bdb56fcaf16ddac761ee5d00cd6cff6b5434640 Author: David Rodríguez Date: Thu Nov 4 13:40:53 2021 +0100 [rubygems/rubygems] Protect specs access at a finer level https://github.com/rubygems/rubygems/commit/c8cc053bde M lib/rubygems/installer.rb M lib/rubygems/specification.rb commit 4bc69a25f3b317771a9ec5a3a60b1d7e13321bc0 Author: David Rodríguez Date: Thu Nov 4 13:28:30 2021 +0100 [rubygems/rubygems] Stop using a constant for something not constant https://github.com/rubygems/rubygems/commit/5cb0b9d9b8 M lib/rubygems/specification.rb commit a5cd4a056896cbc47c59617305b1ee8e1b5b7911 Author: David Rodríguez Date: Thu Nov 4 13:23:35 2021 +0100 [rubygems/rubygems] Extract a helper method to reset specs https://github.com/rubygems/rubygems/commit/662de0c990 M lib/rubygems/specification.rb commit f542ab2e6de7e41fbdd3a14b21ac21afa37cb73d Author: David Rodríguez Date: Wed Nov 17 18:01:25 2021 +0100 [rubygems/rubygems] Make clearing loaded spec cache really private https://github.com/rubygems/rubygems/commit/19f117652b M lib/rubygems/specification.rb commit d8dde444e90274b6845ee7e817202880576bdd8e Author: David Rodríguez Date: Wed Nov 17 17:59:30 2021 +0100 [rubygems/rubygems] `Gem::Specification.reset` already clears loaded spec cache Plus, that method is supposed to be private. https://github.com/rubygems/rubygems/commit/f8a01ddb9f M test/rubygems/helper.rb commit 81eba77fc0b2954ebf51a228f7bb94f64dd81f75 Author: David Rodríguez Date: Thu Nov 4 13:20:42 2021 +0100 [rubygems/rubygems] We can now use standard memoization https://github.com/rubygems/rubygems/commit/231be44d38 M lib/rubygems/specification.rb commit 61f023f03b7571c0190f62a6bf811a64f61b118e Author: David Rodríguez Date: Wed Nov 17 17:47:25 2021 +0100 [rubygems/rubygems] Easier preservation of activated specs https://github.com/rubygems/rubygems/commit/54e923ffc2 M lib/rubygems/specification.rb commit fdd3eed037feabaf2daaa9e1ccec22ad751c5b03 Author: David Rodríguez Date: Thu Nov 4 13:12:32 2021 +0100 [rubygems/rubygems] Set `@@all` variable at class definition time To spare the `defined?` check. https://github.com/rubygems/rubygems/commit/64d27bba01 M lib/rubygems/specification.rb commit 4acac918f49d6117a857e9acce66bec4648dde81 Author: Burdette Lamar Date: Wed Nov 17 12:51:32 2021 -0600 Enhanced RDoc for Integer (#5134) Treated: #== #<=> #< #<= #> #>= #& #| #^ M numeric.c commit 1e9ef0363940dcb77c842ad68fb6ed99b861d4d5 Author: Yusuke Endoh Date: Thu Nov 18 02:40:53 2021 +0900 compile.c: remove dead code M compile.c commit e1f6ca1911083e83752d1f1a34d9dcfb90e1750f Author: Yusuke Endoh Date: Thu Nov 18 02:40:30 2021 +0900 compile.c: Fix typo M compile.c commit 864ad8b5d7d3b96e3d24a05c5d8d8d1cc40f4b7a Author: git Date: Thu Nov 18 03:20:45 2021 +0900 * 2021-11-18 [ci skip] M version.h commit 1454906d4e730312b175197182cf85581821ed5e Author: Peter Zhu Date: Wed Nov 17 09:07:47 2021 -0500 Add tests for cme NULL crash Tests for GitHub PR #5122. Originally in GitHub PR #5121. M test/ruby/test_super.rb commit 6764256dc7e768582f52aa8bee274815bc5f318c Author: Yusuke Endoh Date: Wed Nov 17 23:39:34 2021 +0900 node/h: clean node field accessors This change removes nd_oid, nd_rest, and nd_opt, and adds some comments for special accessors. M node.h commit 753cfbdbf33bd4766503ee37626618d973e587b7 Author: Yusuke Endoh Date: Wed Nov 17 23:38:52 2021 +0900 node.c (dump_node): update format explanation for NODE_ARGS M node.c commit 5a7b4dba26e29f5942265267688625b5be174064 Author: Yusuke Endoh Date: Wed Nov 17 23:38:19 2021 +0900 node.c (dump_node): trivial refactoring M node.c commit c400165afaca06dcff06d980c8f7fe46ff3904e4 Author: Peter Zhu Date: Tue Nov 16 15:01:05 2021 -0500 Fix crash when clearing method cache for builtin method Builtin methods do not always have their mandatory_only_cme created (it is only created when called with only mandatory parameters), so it could be null. If we try to clear the cme, it will crash because it is null. Co-authored-by: Aaron Patterson M vm_method.c commit b95d7d2099e0d9df68c08f23991ba35db6126bf5 Author: Koichi Sasada Date: Tue Nov 16 18:18:45 2021 +0900 no need to check `cme == NULL` Now `cc->cme_` is not NULL. M vm_insnhelper.c commit 7ec1fc37f4c87c691555e76d51b6590761b3ec64 Author: Koichi Sasada Date: Tue Nov 16 18:14:50 2021 +0900 add `VM_CALLCACHE_ON_STACK` check if iseq refers to on stack CC (it shouldn't). M iseq.c M vm_callinfo.h commit 8d7116552dace6d0a9a8f0bbe2fe0f02fcff6532 Author: Koichi Sasada Date: Tue Nov 16 18:02:16 2021 +0900 assert `cc->cme_ != NULL` when `vm_cc_markable(cc)`. M vm_callinfo.h commit b2255153cf2fe9d7b851c59cc09b358c0630e0a2 Author: Koichi Sasada Date: Tue Nov 16 17:57:49 2021 +0900 `vm_empty_cc_for_super` Same as `vm_empty_cc`, introduce a global variable which has `.call_ = vm_call_super_method`. Use it if the `cme == NULL` on `vm_search_super_method`. M vm.c M vm_callinfo.h M vm_insnhelper.c commit 84aba250315d7fea728a6708e33ae8bf11f607b2 Author: Koichi Sasada Date: Tue Nov 16 17:53:33 2021 +0900 assert `cc->call_ != NULL` M vm_callinfo.h commit 2d1a7bed03540257b32fd87ce1c78d2f5ad3d075 Author: Koichi Sasada Date: Tue Nov 16 17:52:20 2021 +0900 a variable is not needed. M vm_insnhelper.c commit a982a1f1e705f74ec5d802ce6439d8e250619920 Author: Naohisa Goto Date: Wed Nov 17 20:45:02 2021 +0900 Update URL about DTrace static library glommed obj [ci skip] The old URL http://mail.opensolaris.org/pipermail/dtrace-discuss/2005-August/000207.html pointed to the official archive of dtrace-discuss mailing list in opensolaris.org, disappeared in 2013. The new URL points to the MARC Mailing list ARChives. M template/Makefile.in commit c240ccd64396cfcd9e6d5998055657f70c323eef Author: Olle Jonsson Date: Wed Nov 17 09:59:45 2021 +0100 [ruby/net-http] gemspec: Drop unused directive "executables" This gem exposes no executable files. https://github.com/ruby/net-http/commit/3b3743f6ce M lib/net/http/net-http.gemspec commit d23b3d9b7dc2964da36dc9daf96718b1867adcae Author: Yusuke Endoh Date: Wed Nov 17 15:08:46 2021 +0900 Prevent "already initialized constant Digest::VERSION" http://rubyci.s3.amazonaws.com/ubuntu1804/ruby-master/log/20211117T033003Z.log.html.gz ``` installing default gems from ext: /home/chkbuild/chkbuild/tmp/build/20211117T033003Z/lib/ruby/gems/3.1.0 /home/chkbuild/chkbuild/tmp/build/20211117T033003Z/ruby/ext/digest/lib/digest/version.rb:4: warning: already initialized constant Digest::VERSION /home/chkbuild/chkbuild/tmp/build/20211117T033003Z/ruby/.ext/common/digest/version.rb:4: warning: previous definition of VERSION was here ``` This hack is copied from ext/psych/psych.gemspec M ext/digest/digest.gemspec commit 21b8f992de19fd3d7e7dd258f761b47566c3d6cf Author: Yusuke Endoh Date: Wed Nov 17 11:52:00 2021 +0900 Use the updated test of rbs To prevent the CI failure due to the change of io-wait https://github.com/ruby/rbs/pull/828/ M gems/bundled_gems commit a5cff7cc5de374be05db8e99c4ca975e60558a99 Author: Jeremy Evans Date: Tue Nov 16 13:43:00 2021 -0800 Make Enumerable#each_cons return object if over size This behavior changed in dfb47bbd17c3c2b8ce17dbafaf62df023b0224b2, but only for normal exit, not for early exit. Fix it for early exit as well. While here, fix example code in documentation so that it doesn't indicate that the method returns nil. M enum.c M test/ruby/test_enum.rb commit d1cbec9b52dd3a2556aa8add4dbef4fd99f43945 Author: Jeremy Evans Date: Tue Nov 16 13:09:25 2021 -0800 Add a test for bug 18343 This already passes in master, 3.0, and 2.7, but would fail in ruby 2.6 as it segfaults instead of raising an exception. I think it's good to have a test for this to catch possible future regressions. M test/ruby/test_pack.rb commit cbb057e6771b62d006f81d422a6ae566a6e20d43 Author: Yusuke Endoh Date: Wed Nov 17 11:17:37 2021 +0900 ext/io/wait/depend: make it work for Ruby 3.1.0-dev Reverts https://github.com/ruby/io-wait/commit/2eb3841e9c8f3279955253a93d3db98b80787548 because it fails on "update-deps" check in the ruby/ruby CI. https://github.com/ruby/ruby/runs/4230891140?check_suite_focus=true ``` diff --git a/ext/io/wait/depend b/ext/io/wait/depend index 7b314b9..449e9fe 100644 --- a/ext/io/wait/depend +++ b/ext/io/wait/depend ... ``` Maybe now it does not work on Ruby 2.6. This file must be changed for each Ruby version. I have no good idea to fix this issue. M ext/io/wait/depend commit 5190926e40febeeb3822b8bd7c031b06279dc3f1 Author: Samuel Williams Date: Mon Nov 15 15:28:02 2021 +1300 Validate string type when constructing IO::Buffer for string mapping. M io_buffer.c M test/ruby/test_io_buffer.rb commit a19a657514a384a6c36cb62a2b4eb5352fb3074e Author: Samuel Williams Date: Mon Nov 15 15:16:48 2021 +1300 Fix 32-bit conversions in IO::Buffer implementation. M io_buffer.c commit 1af8ed5f0a2c381c5dee4a5bcffff61f270c30d9 Author: Jean Boussier Date: Tue Nov 16 11:33:39 2021 +0100 `Primitive.mandatory_only?` consider splat args `vm_ci_argc` gives the number of arguments, but `*[1, 2, 3]` only counts for one. M test/ruby/test_time.rb M vm_insnhelper.c commit 5b6a397f3e73e58d585c01ac2e3908cfac873c8c Author: git Date: Wed Nov 17 04:42:28 2021 +0900 * 2021-11-17 [ci skip] M version.h commit d8d54886316878d44a6832271f9cdc84ee26bb3e Author: Burdette Lamar Date: Tue Nov 16 13:42:05 2021 -0600 Enhanced RDoc for Integer (#5120) Treated: #+ #- #* #fdiv #/ #div #** #[] #digits #upto #downto M numeric.c commit 8a816fbe7bcc518518a8fd0edabcb6e4fc0d5a56 Author: Yusuke Endoh Date: Tue Nov 16 23:01:54 2021 +0900 Revert "Temporary ignored the failing specs for Date" This reverts commit 17e64cca6b737060884f6fd9ab1c5055e9b49577. The specs should work now. M spec/ruby/library/date/iso8601_spec.rb commit a87c56f820dac90d50544ad33cc546daa9f29a9a Author: Jean Boussier Date: Tue Nov 16 14:03:42 2021 +0100 [ruby/date] check_limit: also handle symbols https://github.com/ruby/date/commit/376c65942b M ext/date/date_core.c M test/date/test_date_parse.rb commit fa674cf7230e40bc96625ee97a6057e48bb20f0f Author: Jean Boussier Date: Mon Nov 15 11:37:40 2021 +0100 [ruby/date] `Date._(nil)` should return an empty Hash Fix: https://github.com/ruby/date/issues/39 This is how versions previous to 3.2.1 behaved and Active Support currently rely on this behavior. https://github.com/rails/rails/blob/90357af08048ef5076730505f6e7b14a81f33d0c/activesupport/lib/active_support/values/time_zone.rb#L383-L384 Any Rails application upgrading to date `3.2.1` might run into unexpected errors. https://github.com/ruby/date/commit/8f2d7a0c7e M ext/date/date_core.c M test/date/test_date_parse.rb commit 17e64cca6b737060884f6fd9ab1c5055e9b49577 Author: Hiroshi SHIBATA Date: Tue Nov 16 21:22:28 2021 +0900 Temporary ignored the failing specs for Date M spec/ruby/library/date/iso8601_spec.rb commit 27168a1cf76a891a46c9aa639116c64822627802 Author: Nobuyoshi Nakada Date: Wed Nov 3 19:14:57 2021 +0900 [ruby/nkf] Fix a typo [ci skip] https://github.com/ruby/nkf/commit/18c118c83c M ext/nkf/nkf.c commit ed7a6413785cf1c8f4dfef3eca1790818afe7002 Author: Akinori MUSHA Date: Sun Oct 24 11:06:02 2021 +0900 [ruby/ipaddr] Bump version to 1.2.3 https://github.com/ruby/ipaddr/commit/37007e7812 M lib/ipaddr.gemspec commit 489c8cebf575741d62effd0d212f1319beff3c40 Author: Yusuke Endoh Date: Fri Nov 12 12:15:25 2021 +0900 [ruby/date] Add length limit option for methods that parses date strings `Date.parse` now raises an ArgumentError when a given date string is longer than 128. You can configure the limit by giving `limit` keyword arguments like `Date.parse(str, limit: 1000)`. If you pass `limit: nil`, the limit is disabled. Not only `Date.parse` but also the following methods are changed. * Date._parse * Date.parse * DateTime.parse * Date._iso8601 * Date.iso8601 * DateTime.iso8601 * Date._rfc3339 * Date.rfc3339 * DateTime.rfc3339 * Date._xmlschema * Date.xmlschema * DateTime.xmlschema * Date._rfc2822 * Date.rfc2822 * DateTime.rfc2822 * Date._rfc822 * Date.rfc822 * DateTime.rfc822 * Date._jisx0301 * Date.jisx0301 * DateTime.jisx0301 https://github.com/ruby/date/commit/3959accef8 M ext/date/date.gemspec M ext/date/date_core.c M test/date/test_date_parse.rb commit 5bff4cd56cdaf8b4dc6d020112674e4b4f9cd956 Author: Nobuyoshi Nakada Date: Fri Oct 22 21:33:15 2021 +0900 [ruby/net-protocol] Update the required ruby version https://github.com/ruby/net-protocol/commit/d4982420e6 M lib/net/net-protocol.gemspec commit 2231d103f3ef6438bf42b448aadd8c8cea89c496 Author: Akinori MUSHA Date: Mon Oct 25 12:28:05 2021 +0900 [ruby/set] Bump the version to 1.0.2 https://github.com/ruby/set/commit/db2ebc946d M lib/set/set.gemspec commit c910de3575aaa5c2757f357084ad01518770e289 Author: Nobuyoshi Nakada Date: Fri Oct 22 16:50:16 2021 +0900 [ruby/io-wait] Fix dependency for ruby 2.6 https://github.com/ruby/io-wait/commit/2eb3841e9c M ext/io/wait/depend commit 96d9cfba08deaa4da578985276ac6723e1c80fe4 Author: Nobuyoshi Nakada Date: Fri Oct 22 15:52:06 2021 +0900 [ruby/io-wait] Allow earlier versions https://github.com/ruby/io-wait/commit/1060f9348c M ext/io/wait/io-wait.gemspec commit dc5512243bb8333cd031d0bf50c4fb245d6ad93f Author: Nobuyoshi Nakada Date: Fri Oct 22 15:51:16 2021 +0900 [ruby/io-wait] Disable ractor test which is meaningless on earlier versions https://github.com/ruby/io-wait/commit/e8e1e99d4c M test/io/wait/test_ractor.rb commit db71a04c2ec73f09fee01c85c6343175657f2078 Author: Nobuyoshi Nakada Date: Sun Oct 11 16:09:51 2020 +0900 [ruby/io-wait] Fix backward compatibility with earlier versions https://github.com/ruby/io-wait/commit/898248931f M ext/io/wait/extconf.rb M ext/io/wait/wait.c commit d305ae5f045e839de183f7d575864b7718a2faa5 Author: Nobuyoshi Nakada Date: Fri Oct 22 15:34:51 2021 +0900 [ruby/io-wait] Use `omit` as per test-unit https://github.com/ruby/io-wait/commit/1f59f7b02f M test/io/wait/test_io_wait_uncommon.rb commit f3bda8987ecf78aa260e697232876b35f83b67c3 Author: Hiroshi SHIBATA Date: Tue Nov 16 20:19:13 2021 +0900 Merge the master branch of rubygems repo Picked from https://github.com/rubygems/rubygems/commit/4b498709a015a94e14a3852a1841a7a3e669133d M lib/bundler/definition.rb M lib/rubygems/command.rb M lib/rubygems/commands/cert_command.rb M lib/rubygems/commands/setup_command.rb M lib/rubygems/commands/uninstall_command.rb M lib/rubygems/commands/update_command.rb M lib/rubygems/ext/cmake_builder.rb M lib/rubygems/install_update_options.rb M lib/rubygems/installer.rb M lib/rubygems/local_remote_options.rb A lib/rubygems/optparse.rb A lib/rubygems/optparse/lib/optionparser.rb A lib/rubygems/optparse/lib/optparse.rb A lib/rubygems/optparse/lib/optparse/ac.rb A lib/rubygems/optparse/lib/optparse/date.rb A lib/rubygems/optparse/lib/optparse/kwargs.rb A lib/rubygems/optparse/lib/optparse/shellwords.rb A lib/rubygems/optparse/lib/optparse/time.rb A lib/rubygems/optparse/lib/optparse/uri.rb A lib/rubygems/optparse/lib/optparse/version.rb M lib/rubygems/security_option.rb M lib/rubygems/version_option.rb M spec/bundler/commands/exec_spec.rb M spec/bundler/install/gems/flex_spec.rb M test/rubygems/encrypted_private_key.pem M test/rubygems/test_gem_command.rb M test/rubygems/test_gem_commands_cert_command.rb M test/rubygems/test_gem_commands_uninstall_command.rb M test/rubygems/test_gem_commands_yank_command.rb M test/rubygems/test_gem_install_update_options.rb commit 84fdaaab4605020103c77df7665556de0a02dad2 Author: Hiroshi SHIBATA Date: Tue Nov 16 20:10:43 2021 +0900 Ignore LUCENSE files of standard libraries for sync target M tool/sync_default_gems.rb commit cc3afdb165ae9916be97dc557ef42ed8d4671b7c Author: Hiroshi SHIBATA Date: Tue Nov 16 20:07:30 2021 +0900 Added LICENSE entry of vendored net-http-persistent to LEGAL M LEGAL M tool/sync_default_gems.rb commit ef11414b1fc92c452df78a3d03fdd93ac95b26d1 Author: Hiroshi SHIBATA Date: Tue Nov 16 20:05:07 2021 +0900 Added LICENSE entry of vendored connection_pool to LEGAL M LEGAL M tool/sync_default_gems.rb commit 9a76072873a0698038a87961b2fed31ac1485c64 Author: Hiroshi SHIBATA Date: Tue Nov 16 19:51:06 2021 +0900 Added LICENSE entry of vendored molinillo to LEGAL M LEGAL M tool/sync_default_gems.rb commit 1ff7b9cac4b89d295f7b9d8029ab7530c88662d5 Author: Hiroshi SHIBATA Date: Tue Nov 16 19:48:32 2021 +0900 Added LICENSE entry of vendored thor to LEGAL M LEGAL M tool/sync_default_gems.rb commit 018266ca387eacd1f149141717104f57ab86cccd Author: Hiroshi SHIBATA Date: Tue Nov 16 19:42:20 2021 +0900 Merge digest-3.0.3.pre3 and https://github.com/ruby/digest/commit/efd76821b8a467c193c753104c29b476debbb2c9 M ext/digest/digest.gemspec M ext/digest/extconf.rb A ext/digest/install_headers.rb M ext/digest/lib/digest.rb A ext/digest/lib/digest/version.rb M tool/sync_default_gems.rb commit 625cffc808cabf1df12fc83a55223b3fcc15be4e Author: Akinori MUSHA Date: Tue Oct 26 14:53:43 2021 +0900 [ruby/digest] Abort loading if being loaded by gem/bundle pre Ruby 3.0.3 https://github.com/ruby/digest/commit/efd76821b8 M ext/digest/lib/digest.rb commit fed65e6a48c5bed938c9bafb40409cd7e398f1c9 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Wed Oct 13 08:40:48 2021 -0700 [ruby/digest] Avoid null pointer subtraction in digest/md5 Fixes warning on Clang 13. Fixes [Bug #18076] https://github.com/ruby/digest/commit/32135c7487 M ext/digest/md5/md5.c commit 7a816b5fc81cf70c92796c2b1794d32887d8e777 Author: NARUSE, Yui Date: Tue Nov 16 12:34:22 2021 +0900 Support preview release Also add tag property. M tool/format-release commit f31b7f0522e4abfea61f6a74b859205b2b5f8ade Author: Burdette Lamar Date: Mon Nov 15 13:52:23 2021 -0600 Enhanced RDoc for Integer (#5118) Treats: #allbits? #anybits? #nobits? #succ #pred #chr` #to_s #+ #- M numeric.c M numeric.rb commit 0fecf1b37e2030def285a031f2e5aa374e00cc90 Author: Maxime Chevalier-Boisvert Date: Mon Nov 15 13:59:43 2021 -0500 Add Aaron Patterson (@tenderlove) to YJIT code owners (#5119) M .github/CODEOWNERS commit fceaa6886b8b33f5c083b1b924b8578ecd32142a Author: Jeremy Evans Date: Mon Nov 15 09:31:44 2021 -0800 Sync test_http_request.rb after fix to net-http M test/net/http/test_http_request.rb commit 555eb67058301facd22dcff49d49edfb532bb2dc Author: git Date: Tue Nov 16 02:22:13 2021 +0900 * 2021-11-16 [ci skip] M version.h commit f1c3fc273d026a14b52fe996a66b6042eddb8a27 Author: Jeremy Evans Date: Mon Nov 15 09:15:45 2021 -0800 [ruby/net-http] Fix tests after change to allow HEAD to send Accept-Encoding https://github.com/ruby/net-http/commit/ca7bb8c51c M test/net/http/test_http_request.rb commit ca0a5edb5f42aa7c891c834a827863458180aa0f Author: Yusuke Endoh Date: Mon Nov 15 16:52:12 2021 +0900 test/ruby/test_m17n.rb: skip a test that breaks another test See https://bugs.ruby-lang.org/issues/18338 M test/ruby/test_m17n.rb commit ccaa7957df9423498df54480489ce903d4e3c028 Author: Hiroshi SHIBATA Date: Mon Nov 15 16:52:06 2021 +0900 Ignore extentions of bundled gems for testing M .gitignore commit cc50e57bf5e002c0535c2166b94109dacf46d1f4 Author: Hiroshi SHIBATA Date: Mon Nov 15 16:51:03 2021 +0900 Relax extention name for macOS M tool/test-bundled-gems.rb commit 021255f1e7e67e37db65dd5fe5ca945f4c19dc7e Author: Takashi Kokubun Date: Sun Nov 14 23:25:24 2021 -0800 Skip string allocation in benchmark/time_at.yml and also drop a weird newline from benchmark/array_sample.yml. M benchmark/array_sample.yml M benchmark/time_at.yml commit f943264565f3072a30616fa93ffa3da3790294b0 Author: Koichi Sasada Date: Mon Nov 15 10:33:03 2021 +0900 add benchmark/time_at.yml ``` ruby_2_6 ruby_2_7 ruby_3_0 master modified Time.at(0) 12.362M 11.015M 9.499M 6.615M 9.000M i/s - 32.115M times in 2.597946s 2.915517s 3.380725s 4.854651s 3.568234s Time.at(0, 500) 7.542M 7.136M 8.252M 5.707M 5.646M i/s - 20.713M times in 2.746279s 2.902556s 2.510166s 3.629644s 3.668854s Time.at(0, in: "+09:00") 1.426M 1.346M 1.565M 1.674M 1.667M i/s - 4.240M times in 2.974049s 3.149753s 2.709416s 2.533043s 2.542853s ``` ``` ruby_2_6: ruby 2.6.7p150 (2020-12-09 revision 67888) [x86_64-linux] ruby_2_7: ruby 2.7.3p140 (2020-12-09 revision 9b884df6dd) [x86_64-linux] ruby_3_0: ruby 3.0.3p150 (2021-11-06 revision 6d540c1b98) [x86_64-linux] master: ruby 3.1.0dev (2021-11-13T20:48:57Z master fc456adc6a) [x86_64-linux] modified: ruby 3.1.0dev (2021-11-15T01:12:51Z mandatory_only_bui.. b0228446db) [x86_64-linux] ``` A benchmark/time_at.yml commit 2a3d5d661ce2cadad50aa5d72b54e134da54f5f3 Author: Koichi Sasada Date: Sat Nov 13 07:44:46 2021 +0900 Use `Primitive.mandatory_only?` for `Time.at` M time.c M timev.rb commit dde010c97432de8ac2336eeeb4f6b99daf832b61 Author: Koichi Sasada Date: Mon Nov 15 10:32:39 2021 +0900 add benchmark/array_sample.yml ``` ruby_2_6 ruby_2_7 ruby_3_0 master modified ary.sample 32.113M 30.146M 11.162M 10.539M 26.620M i/s - 64.882M times in 2.020428s 2.152296s 5.812981s 6.156398s 2.437325s ary.sample(2) 9.420M 8.987M 7.500M 6.973M 7.191M i/s - 25.170M times in 2.672085s 2.800616s 3.355896s 3.609534s 3.500108s ``` ``` ruby_2_6: ruby 2.6.7p150 (2020-12-09 revision 67888) [x86_64-linux] ruby_2_7: ruby 2.7.3p140 (2020-12-09 revision 9b884df6dd) [x86_64-linux] ruby_3_0: ruby 3.0.3p150 (2021-11-06 revision 6d540c1b98) [x86_64-linux] master: ruby 3.1.0dev (2021-11-13T20:48:57Z master fc456adc6a) [x86_64-linux] modified: ruby 3.1.0dev (2021-11-15T01:12:51Z mandatory_only_bui.. b0228446db) [x86_64-linux] ``` A benchmark/array_sample.yml commit a24eeee5567a14841b37d9a3428e14e4f3c45c07 Author: Koichi Sasada Date: Sat Nov 13 02:15:09 2021 +0900 Use `Primitive.mandatory_only?` for `Array#sample` M array.c M array.rb commit b1b73936c15fd490159a9b30ab50b8d5dfea1264 Author: Koichi Sasada Date: Sat Nov 13 02:12:20 2021 +0900 `Primitive.mandatory_only?` for fast path Compare with the C methods, A built-in methods written in Ruby is slower if only mandatory parameters are given because it needs to check the argumens and fill default values for optional and keyword parameters (C methods can check the number of parameters with `argc`, so there are no overhead). Passing mandatory arguments are common (optional arguments are exceptional, in many cases) so it is important to provide the fast path for such common cases. `Primitive.mandatory_only?` is a special builtin function used with `if` expression like that: ```ruby def self.at(time, subsec = false, unit = :microsecond, in: nil) if Primitive.mandatory_only? Primitive.time_s_at1(time) else Primitive.time_s_at(time, subsec, unit, Primitive.arg!(:in)) end end ``` and it makes two ISeq, ``` def self.at(time, subsec = false, unit = :microsecond, in: nil) Primitive.time_s_at(time, subsec, unit, Primitive.arg!(:in)) end def self.at(time) Primitive.time_s_at1(time) end ``` and (2) is pointed by (1). Note that `Primitive.mandatory_only?` should be used only in a condition of an `if` statement and the `if` statement should be equal to the methdo body (you can not put any expression before and after the `if` statement). A method entry with `mandatory_only?` (`Time.at` on the above case) is marked as `iseq_overload`. When the method will be dispatch only with mandatory arguments (`Time.at(0)` for example), make another method entry with ISeq (2) as mandatory only method entry and it will be cached in an inline method cache. The idea is similar discussed in https://bugs.ruby-lang.org/issues/16254 but it only checks mandatory parameters or more, because many cases only mandatory parameters are given. If we find other cases (optional or keyword parameters are used frequently and it hurts performance), we can extend the feature. M compile.c M gc.c M iseq.c M iseq.h M method.h M tool/mk_builtin_loader.rb M vm_callinfo.h M vm_core.h M vm_eval.c M vm_insnhelper.c M vm_method.c commit f9638c3b1716df4a94ea6ae0854cf55d66072ee4 Author: Yusuke Endoh Date: Mon Nov 15 15:21:24 2021 +0900 Revert "test/ruby/test_m17n.rb: Run a test under assert_separately" This reverts commit a698181021c11711dc56b74dacbdebc2895b5384. It failed on macos for a unknown problem. ``` 1) Error: TestM17N#test_object_inspect_external: Encoding::ConverterNotFoundError: code converter not found (US-ASCII to UTF-16BE) /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:312:in `encode' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:312:in `inspect' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:315:in `inspect' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:315:in `
' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:299:in `test_object_inspect_external' ``` https://github.com/ruby/ruby/runs/4207871418?check_suite_focus=true M test/ruby/test_m17n.rb commit 15bc1ae41e513af3c6c8749191513ee1101f7cf3 Author: Yusuke Endoh Date: Mon Nov 15 14:50:03 2021 +0900 Revert "Enhanced RDoc for Integer (#5099)" This reverts commit fc456adc6a62d09b755243b8c8f190934b9965d6. It broke the CI check. https://github.com/ruby/ruby/runs/4207922247?check_suite_focus=true#step:3:4 ``` numeric.c:3518: * 255.chr(Encoding::UTF_8) # => "ÿ" Error: Process completed with exit code 1. ``` M numeric.c commit a698181021c11711dc56b74dacbdebc2895b5384 Author: Yusuke Endoh Date: Mon Nov 15 14:13:20 2021 +0900 test/ruby/test_m17n.rb: Run a test under assert_separately The test uses `Encoding.default_external = Encoding::UTF_16BE`, which may add a wrongly UTF_16BE-encoded path to $LOADED_FEATURES (depending on the order of tests). Unfortunately this breaks another test: http://ci.rvm.jp/results/trunk-test@ruby-sky1/3711615 ``` /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:11:in `===': incompatible encoding regexp match (US-ASCII regexp with UTF-16BE string) (Encoding::CompatibilityError) ``` According to @naruse-san, we don't pay effort to such a case, so this change just avoids the issue by running the test in question under another process. Co-Authored-By: Koichi Sasada M test/ruby/test_m17n.rb commit e6bc0acc13aac8ab9fa819b0e1b71805b000bcb3 Author: git Date: Mon Nov 15 13:11:53 2021 +0900 * 2021-11-15 [ci skip] M version.h commit 1ab6f2b4a232d41199268c6ae019941459ad5e33 Author: Koichi Sasada Date: Mon Nov 15 10:18:20 2021 +0900 `rb_vm_lvar_exposed()` is PUREFUNC This function is used in `rb_vm_lvar()` and this function can be unsed (generated into *.rbinc files automatically). `rb_vm_lvar()` is already declared as a PUREFUNC, but `rb_vm_lvar_exposed()` is not a PUREFUNC, so `rb_vm_lvar_exposed()` is remained even if it is unused. M builtin.h commit fc456adc6a62d09b755243b8c8f190934b9965d6 Author: Burdette Lamar Date: Sat Nov 13 14:48:57 2021 -0600 Enhanced RDoc for Integer (#5099) Treats: #allbits? #anybits? #nobits? #succ #pred #chr` #to_s #+ #- M numeric.c commit 38c555a3150b6c22be650dc5c89ed5927c640e8c Author: Koichi Sasada Date: Sun Nov 14 02:41:30 2021 +0900 show encoding for each path M test/io/console/test_io_console.rb commit 43358c08f67f2fe167009a370cb7e9b23c87d92a Author: git Date: Sun Nov 14 02:36:04 2021 +0900 * 2021-11-14 [ci skip] M version.h commit 4d8d8c9d4908a28e22c3182e27eac0e397e23833 Author: Yusuke Endoh Date: Sun Nov 14 02:35:03 2021 +0900 test/io/console/test_io_console.rb: dump debug output to stderr make test-all in parallel mode seems to hide stdout M test/io/console/test_io_console.rb commit 415671a28273e5bfbe9aa00a0e386f025720ac23 Author: Yusuke Endoh Date: Fri Nov 12 14:37:16 2021 +0900 parse.y: Fix memory leak at parse error Local variable tables might leak at the parse error. M parse.y commit 61938e2db59a032a46fc3de2ebead2e5e9d630a9 Author: Yusuke Endoh Date: Fri Nov 12 16:40:49 2021 +0900 test/ruby/test_jit.rb: suppress a false-positive warning It reports "opt_regexpmatch2 insn is not included", but actually it is included. This is due to a known bug of ISeq#to_a on which this check depends. https://bugs.ruby-lang.org/issues/18269 M test/ruby/test_jit.rb commit 3aa62b455caf4926fd203878eca71b5281f10edf Author: Yusuke Endoh Date: Fri Nov 12 16:19:30 2021 +0900 test/io/console/test_io_console.rb: add debug code to debug the following failure http://ci.rvm.jp/results/trunk-test@ruby-sky1/3708240 ``` /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `===': incompatible encoding regexp match (US-ASCII regexp with UTF-16BE string) (Encoding::CompatibilityError) /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `each' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `grep' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:9:in `' :85:in `require' :85:in `require' /tmp/ruby/v3/src/trunk-test/tool/lib/test/unit/parallel.rb:122:in `run' /tmp/ruby/v3/src/trunk-test/tool/lib/test/unit/parallel.rb:211:in `
' running file: /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb ``` M test/io/console/test_io_console.rb commit a046081838b4e4f28b54c9a5a8dfa413dc63096a Author: git Date: Fri Nov 12 07:04:21 2021 +0000 Update bundled_gems at 2021-11-12 M gems/bundled_gems commit c833ece5f78b8c2e43263e08ccbd3ce1628bf610 Author: Samuel Williams Date: Fri Oct 22 15:05:00 2021 +1300 Rework implementation of `IO::Buffer.for(string)` to use string locking. M io_buffer.c M test/ruby/test_io_buffer.rb commit 98b442e013afbb450f1c946d86ed625c39ab3233 Author: Samuel Williams Date: Fri Oct 22 15:04:22 2021 +1300 More immutability and locking tests. M io_buffer.c M test/ruby/test_io_buffer.rb commit e73197dff54cbe00019bec7a1829fdc6b1821918 Author: Kazuhiro NISHIYAMA Date: Fri Nov 12 09:56:24 2021 +0900 Update vcvars on windows-2022 [ci skip] https://github.com/ruby/actions/commit/875a056af0fb2f26fed20c32263ea840c293e2da https://github.com/actions/virtual-environments/commit/d6a789cbef30e0681d6667b1c91cb7a9bd9184bd#diff-a1f67f5c4a583bf90c239743379ad9473fbf1fa9d11c5cb7739c8012404dcc7aR229 M .github/workflows/windows.yml commit 3cf7130d709ea5d54f3b0920fb5c1bece9dc20c1 Author: David Rodríguez Date: Thu Nov 11 20:31:24 2021 +0100 [rubygems/rubygems] Remove duplicated spec https://github.com/rubygems/rubygems/commit/86b874ed24 M spec/bundler/update/git_spec.rb commit 4736dec58ba81283c4351a2d682a4be432b0c28d Author: David Rodríguez Date: Thu Nov 11 20:28:47 2021 +0100 [rubygems/rubygems] Remove `gemfile_should_be` helper as well https://github.com/rubygems/rubygems/commit/79f3c00caa M spec/bundler/commands/remove_spec.rb M spec/bundler/support/matchers.rb commit 1f91009d2409e65bb293006eba9a1d90247101cc Author: David Rodríguez Date: Thu Nov 11 20:26:21 2021 +0100 [rubygems/rubygems] Remove `have_lockfile` matcher too https://github.com/rubygems/rubygems/commit/635f3f2605 M spec/bundler/install/gemfile/path_spec.rb M spec/bundler/support/matchers.rb commit d0f266460f982137e24af2fbf3f7eeaaa8d47210 Author: David Rodríguez Date: Thu Nov 11 20:24:02 2021 +0100 [rubygems/rubygems] Remove `lockfile_should_be` helper It doesn't add anything. https://github.com/rubygems/rubygems/commit/ece3c864df M spec/bundler/bundler/definition_spec.rb M spec/bundler/commands/check_spec.rb M spec/bundler/commands/install_spec.rb M spec/bundler/commands/lock_spec.rb M spec/bundler/commands/update_spec.rb M spec/bundler/install/gemfile/install_if_spec.rb M spec/bundler/install/gemfile/path_spec.rb M spec/bundler/install/gemfile/platform_spec.rb M spec/bundler/install/gemfile/specific_platform_spec.rb M spec/bundler/install/gems/flex_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/plugins/source/example_spec.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/support/matchers.rb M spec/bundler/update/git_spec.rb commit 84202963c52e02cecad3e6b2fad478bfbeee1bc7 Author: Peter Zhu Date: Thu Nov 11 11:55:35 2021 -0500 [Bug #18329] Fix crash when calling non-existent super method The cme is NULL when a method does not exist, so check it before accessing the callcache. M test/ruby/test_super.rb M vm_insnhelper.c commit a9a94540d68b523ecc4e2181e50b320cd5d176f1 Author: Matt Valentine-House Date: Wed Nov 10 21:33:17 2021 +0000 Remove RCLASS(obj)->ptr when RVARGC is enabled With RVARGC we always store the rb_classext_t in the same slot as the RClass struct that refers to it. So we don't need to store the pointer or access through the pointer anymore and can switch the RCLASS_EXT macro to use an offset M class.c M gc.c M internal/class.h commit d08d13700c6527eb117af5df0a6c16e40aba6348 Author: git Date: Fri Nov 12 02:02:11 2021 +0900 * 2021-11-12 [ci skip] M version.h commit dee2e9b2beea2f136801ca4594142a516f219549 Author: Soutaro Matsumoto Date: Fri Nov 12 02:01:53 2021 +0900 Bundle RBS 1.7.0 (#5105) * Bundle RBS 1.7.0 * tool/test-bundled-gems.rb: Use a correct path to Check if rbs is built * tool/test-bundled-gems.rb: lib/rbs/parse.y is no longer created Co-authored-by: Yusuke Endoh M gems/bundled_gems M tool/test-bundled-gems.rb commit c53aecee3bec524b91d7f2534291802a1cabb3f5 Author: Matt Valentine-House Date: Wed Nov 10 22:42:40 2021 +0000 fix a memory leak introduced in 8bbd319 This commit fixes a memory leak introduced in an early part of the variable width allocation project that would prevent the rb_classext_t struct from being free'd when the class is swept. M gc.c M test/ruby/test_class.rb commit b5531adf4160304ca62b7d128af458704c9beb4e Author: Koichi Sasada Date: Thu Nov 11 18:01:10 2021 +0900 quick fix for `test_initialize_HEAD` https://github.com/ruby/ruby/commit/52ab9bbee918c63faad32e3851b162691b984d40 makes a failure. ``` 1) Failure: HTTPRequestTest#test_initialize_HEAD [/tmp/ruby/v3/src/trunk/test/net/http/test_http_request.rb:53]: <{"accept"=>["*/*"], "user-agent"=>["Ruby"]}> expected but was <{"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"], "accept"=>["*/*"], "user-agent"=>["Ruby"]}>. ``` I'm not sure it is correct, so please review later. M test/net/http/test_http_request.rb commit cd51bf61a2178a73219f7884792dfb82ca64c082 Author: Kazuki Yamaguchi Date: Thu Nov 11 17:59:22 2021 +0900 test/openssl/test_ssl: adjust certificate expiry date test_connect_certificate_verify_failed_exception_message occasionally fails. Is it possible that OpenSSL sees a different clock from Ruby by more than 10 seconds? http://ci.rvm.jp/logfiles/brlog.trunk-random0.20211111-072828 Let's give more time after the certificate expiration date to see if this fixes the flakiness. We had similar occasional failures in test_x509store.rb before, which disappeared after ruby/ruby commit 7930a352a57c and ruby/openssl commit fb2fcbb13734. M test/openssl/test_ssl.rb commit 52ab9bbee918c63faad32e3851b162691b984d40 Author: Shohei Maeda Date: Sun Jun 6 18:49:51 2021 +0900 [ruby/net-http] Send Accept-Encoding header on HEAD method https://github.com/ruby/net-http/commit/9d95c5e3e6 M lib/net/http/generic_request.rb commit 33533fabd54e23bced64a74114ee7786478a6ee7 Author: 卜部昌平 Date: Tue Nov 2 10:38:14 2021 +0900 revival of must_not_null() Presence of RBIMPL_ATTR_NONNULL let C compilers to eliminate must_not_null(). Because null pointers are not allowed to exist there are no reason to call the function. In reality null pointers are still passed to those functions in a number of ways. Runtime check for them are definitely nice to have. fix [Feature#18280] M include/ruby/internal/intern/string.h commit 155bc42727a1328b07502fcd1a7b789e2677a09d Author: Hiroshi SHIBATA Date: Thu Nov 11 13:55:30 2021 +0900 [ruby/getoptlong] fixup 5f57f47572502173e2e8880f83ef7b3e2659f974 https://github.com/ruby/getoptlong/commit/5683297853 M test/test_getoptlong.rb commit 6ecd30b402d02a51aef1ec48072ff4d103b7ef8f Author: Nobuyoshi Nakada Date: Thu Nov 11 11:07:26 2021 +0900 [ruby/getoptlong] Save the copy of `ARGV` It refers the same object and will be replaced. https://github.com/ruby/getoptlong/commit/5f57f47572 M test/test_getoptlong.rb commit f5dcecf3456e5f52aa979cc2a59c5dc7b398e123 Author: 卜部昌平 Date: Thu Nov 11 11:34:09 2021 +0900 rb_file_size: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/file.h commit ad84c5d1b047604cc36a12d388ff2caa1da954c1 Author: 卜部昌平 Date: Thu Nov 11 11:33:29 2021 +0900 rb_enc_code_to_mbclen: fix doxygen Wrong parameter name. [ci skip] M include/ruby/internal/encoding/encoding.h commit 4b3830127f794e70187ca2986199947b2467b46f Author: 卜部昌平 Date: Thu Nov 11 11:29:45 2021 +0900 RB_ENCODING_SET_INLINED: fix doxygen Wrong parameter name. [ci skip] M include/ruby/internal/encoding/encoding.h commit a4a6e5cd2e69049c9e9296e597a429f849fbe749 Author: 卜部昌平 Date: Thu Nov 11 11:18:44 2021 +0900 ENCODING_MASK: fix doxygen link [ci skip] M include/ruby/internal/encoding/encoding.h commit 1370b0876f4d67e20e8f50f3c048447befd71fdc Author: 卜部昌平 Date: Thu Nov 11 09:49:55 2021 +0900 io/buffer.h: C linkage Because `make install` installs this header to target systems, it must be ready to be `#include`d form a C++ program. M include/ruby/io/buffer.h commit db316e627f32cf73e3cc8f8d67b67894f36c17f3 Author: Burdette Lamar Date: Tue Oct 26 06:20:19 2021 -0500 [ruby/getoptlong] Write a first test of getoptlong.rb https://github.com/ruby/getoptlong/commit/18cdb03fd4 A test/test_getoptlong.rb commit 414b5565f7d0aeb27b43e8f3b81914314e03dfb0 Author: Nobuyoshi Nakada Date: Fri Nov 5 09:45:41 2021 +0900 [ruby/tmpdir] [DOC] Fix syntax in example code [ci skip] RDoc expects example code to be valid syntax. https://github.com/ruby/tmpdir/commit/ee42540ebb M lib/tmpdir.rb commit 51c67ee61a57093cfd6f0e06a5aff77d479a37e1 Author: Samuel Williams Date: Thu Nov 11 01:20:46 2021 +1300 Don't allow `fd == -1` to propagate to system calls. M io.c commit d5dd87d0db7270d5845ec016b3436fba608e27d7 Author: Peter Zhu Date: Wed Nov 10 17:13:20 2021 -0500 [ci skip] Fix typo in test name M test/ruby/test_settracefunc.rb commit 98cc6d158b501a4c30aa578239b35085a4612b94 Author: git Date: Thu Nov 11 03:52:47 2021 +0900 * 2021-11-11 [ci skip] M version.h commit 8d5f38a8a43fd356da34d7881b5d0d1c6d115f1d Author: Benoit Daloze Date: Wed Nov 10 19:50:38 2021 +0100 Use Primitive. in timev.rb for consistency with all other .rb files M timev.rb commit 8bcff5604b15fd29f357669dd8cb65a6618c9926 Author: Nobuyoshi Nakada Date: Wed Nov 10 18:14:14 2021 +0900 Tentative fix of subsec to `Time.at` [Bug #18293] M time.c M timev.rb commit 850912b6e080f972a2d58f5011073eb511b08df4 Author: Nobuyoshi Nakada Date: Wed Nov 10 17:06:34 2021 +0900 Install pkg-config on 32-bit Ubuntu [ci skip] M .github/workflows/ubuntu.yml commit 4eb23c9ddae2d2fee38b7363f688fed105a6b0a6 Author: Nobuyoshi Nakada Date: Wed Nov 10 17:46:32 2021 +0900 Commit miss [ci skip] M io_buffer.c commit 83bdc2f00c4565a091d88399e5a315a96f6afed6 Author: Nobuyoshi Nakada Date: Tue Nov 9 15:12:02 2021 +0900 Simplify default values of `Time.at` [Bug #18293] M time.c M timev.rb commit cc33d07f46559bfd11098c6b39c7c59faa892af9 Author: Nobuyoshi Nakada Date: Wed Nov 10 17:41:48 2021 +0900 Disable experimental warnings in test/runner.rb M test/runner.rb M tool/test/runner.rb commit 943b6e4d9c480b9daf2352c28769a92eecf5f66a Author: Nobuyoshi Nakada Date: Wed Nov 10 17:07:58 2021 +0900 Fix format specifier M io_buffer.c commit 46e46eafd48c474ae8be0dd7d11bc43725de3d02 Author: Nobuyoshi Nakada Date: Wed Nov 10 16:41:26 2021 +0900 size_t is not for file size M file.c M include/ruby/internal/intern/file.h M include/ruby/io/buffer.h M io.c M io_buffer.c commit 81d0ce7e97af74a2086e143f9e349ee519bd1c4d Author: Samuel Williams Date: Wed Nov 10 15:42:57 2021 +1300 Mark IO::Buffer as experimental. M common.mk M doc/fiber.md M include/ruby/io/buffer.h M io_buffer.c M test/fiber/test_scheduler.rb M tool/test/runner.rb commit 4b8903421828cb9d4de139180563ae8d8f04e1ab Author: Samuel Williams Date: Fri Jul 2 22:41:16 2021 +1200 IO::Buffer for scheduler interface. M NEWS.md A benchmark/buffer_get.yml M common.mk M doc/fiber.md M file.c M include/ruby/fiber/scheduler.h M include/ruby/internal/intern/file.h M include/ruby/io.h A include/ruby/io/buffer.h M inits.c M io.c A io_buffer.c M scheduler.c A test/ruby/test_io_buffer.rb commit 56b90cf94465ce347a3d9a779363c78ce3deb180 Author: Kazuhiro NISHIYAMA Date: Wed Nov 10 14:09:08 2021 +0900 Fix a typo and add `IO.` [ci skip] M NEWS.md commit af74cc7504efa4d7fa5a0889e4ba97eade68abf1 Author: git Date: Wed Nov 10 10:08:48 2021 +0900 * 2021-11-10 [ci skip] M version.h commit e8086e275b9a4896ac57dfeac9b22cbc2741d6d1 Author: Yusuke Endoh Date: Wed Nov 10 00:57:03 2021 +0900 gc.h: move rb_objspace_garbage_object_p to internal/gc.h ... to allow class.c to use the function M class.c M gc.h M internal/gc.h commit 5c892da7d7974aeed8e7dd97bb31d2394cc19356 Author: Yusuke Endoh Date: Tue Nov 9 17:06:01 2021 +0900 class.c: descendants must not cause GC until the result array is created Follow up of 428227472fc6563046d8138aab17f07bef6af753. The previous fix uses `rb_ary_new_from_values` to create the result array, but it may trigger the GC. This second try is to create the result array by `rb_ary_new_capa` before the second iteration, and assume that `rb_ary_push` does not trigger GC. This assumption is very fragile, so should be improved in future. [Bug #18282] [Feature #14394] M class.c M test/ruby/test_class.rb commit 0d3898ec7b94b737fd9e0a9df1d0a944a9709564 Author: David Rodríguez Date: Tue Nov 9 11:52:44 2021 +0100 [rubygems/rubygems] Remove more unused stuff from make command parsing https://github.com/rubygems/rubygems/commit/eba7d173d4 M test/rubygems/helper.rb commit ba3dfe6efe958b31f43b34c4e942d69be938cc43 Author: David Rodríguez Date: Tue Nov 9 11:47:56 2021 +0100 [rubygems/rubygems] This method is never passed a block https://github.com/rubygems/rubygems/commit/d79ade274b M test/rubygems/helper.rb commit d713b602eaf798b2b429347a772dc7268ce063be Author: Jun Aruga Date: Fri Oct 15 13:47:32 2021 +0200 [rubygems/rubygems] Fix assert_contains_make_command on make defined by environment variable. The `parse_make_command_line` in `assert_contains_make_command` fails to get the make targets correctly, when the make command is set with make options by environment variable such as `export make='make -j2'` at lib/rubygems/ext/builder.rb::make. So, we include the make options (eg, -XX) as a part of the command to fix the case. Note that this commit still doesn't fix the case of `export make='make -j 2'`. https://github.com/rubygems/rubygems/commit/7730ef3fa0 M test/rubygems/helper.rb M test/rubygems/test_gem_ext_ext_conf_builder.rb commit ec6352c10848553b7e8ddbc9f400aaae3358d5ab Author: David Rodríguez Date: Tue Nov 9 11:30:46 2021 +0100 [rubygems/rubygems] Improve error message when make command doesn't match https://github.com/rubygems/rubygems/commit/8c2725e9a6 M test/rubygems/helper.rb commit 54bda176c6f1274c2311b02badee34002e4ea10e Author: Yusuke Endoh Date: Tue Nov 9 17:31:17 2021 +0900 test/ruby/test_iseq.rb: Prevent a warning http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20211109T063003Z.log.html.gz ``` [ 9898/21145] TestISeq#test_super_with_block_and_kwrest/home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_iseq.rb:1: warning: method redefined; discarding old touch /home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_iseq.rb:1: warning: previous definition of touch was here = 0.00 s ``` M test/ruby/test_iseq.rb commit cf50f9484af9b7aa5afd7a342026d86d1906c423 Author: Yusuke Endoh Date: Tue Nov 9 17:30:28 2021 +0900 test/ruby/test_enum.rb: Prevent a warning http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20211109T063003Z.log.html.gz ``` [ 1960/21145] TestEnumerable#test_to_a_keywords/home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_enum.rb:138: warning: method redefined; discarding old each /home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_enum.rb:11: warning: previous definition of each was here = 0.00 s ``` M test/ruby/test_enum.rb commit d5ae892519a1944b4869d06d1523648cf6e15d97 Author: Masataka Pocke Kuwabara Date: Tue Sep 14 01:06:22 2021 +0900 Add doc for `a_call` and `a_return` events of TracePoint M trace_point.rb commit 75aae66c4f3eacd527cea71e0c8e486b630fc0a4 Author: S.H Date: Tue Nov 9 17:09:29 2021 +0900 Some codes replace to `RBOOL` macro (#5023) * Some code replace and using RBOOL macro * Fix indent * Using RBOOL in syserr_eqq function M error.c M process.c M range.c M thread.c commit c1c13c58eebb7441d27536a32d73380d165d6eda Author: Nikita Vasilevsky Date: Fri Oct 29 12:31:31 2021 -0400 Add one more test example for swap instruction M bootstraptest/test_insns.rb commit 5a3b2e61411f3ce516eefeb272787d3d2af13038 Author: Nobuyoshi Nakada Date: Tue Nov 9 15:42:31 2021 +0900 Needs `$` in `make` command line to be escaped M .github/workflows/ubuntu.yml commit 5680c38c75aeb5cbd219aafa8eb48c315f287d97 Author: Koichi Sasada Date: Tue Nov 9 03:37:17 2021 +0900 Use valid `ec` for postponed job. Postponed job can be registered from non-Ruby thread, which means `ec` in TLS can be NULL. In this case, use main thread's `ec` instead. See https://github.com/ruby/ruby/pull/4108 and https://github.com/ruby/ruby/pull/4336 M vm_trace.c commit 3628616dd10ddbdaa92378264149565295c9f191 Author: Yusuke Endoh Date: Fri Nov 5 21:31:31 2021 +0900 Remove a redundant condition M class.c commit 64007fc57f360eab4b18b26389719a85f45b25c3 Author: Yusuke Endoh Date: Fri Nov 5 09:36:44 2021 +0900 class.c (Class#descendants): Ingore subclasses created after estimation It is theoretically possible if a finalizer creates a subclass. M class.c commit 037da5066619e083b4770dc97cf6435892e2bebe Author: Yusuke Endoh Date: Wed Nov 3 03:59:17 2021 +0900 class.c: Use ALLOC_N instead of ALLOCA_N M class.c commit 428227472fc6563046d8138aab17f07bef6af753 Author: Yusuke Endoh Date: Tue Nov 2 19:23:36 2021 +0900 class.c: calculate the length of Class.descendants in advance GC must not be triggered during callback of rb_class_foreach_subclass. To prevent GC, we can not use rb_ary_push. Instead, this changeset calls rb_class_foreach_subclass twice: first counts the subclasses, then allocates a buffer (which may cause GC and reduce subclasses, but not increase), and finally stores the subclasses to the buffer. [Bug #18282] [Feature #14394] M class.c M test/ruby/test_class.rb commit 3ff0a0b40c2e1fbdad2286f1dafe837f822d0e0d Author: Nobuyoshi Nakada Date: Tue Nov 9 15:16:23 2021 +0900 Filter method names only if filtering method name only If sole `filter` option doesn't seem including test case name, match with method name only. And if the filter is a Regexp or String, it never matches method name symbols. M tool/lib/test/unit.rb commit 6cf7c0a48fb07a765d447404aba33636d9d87c89 Author: Yusuke Endoh Date: Tue Nov 9 14:48:10 2021 +0900 test/readline/test_readline.rb: skip a test on i686-linux ... because readline library (or libtinfo) seems to cause SEGV internally even with Readline 8.1. This SEGV is caught as SystemStackError, which leads to a test failure. http://rubyci.s3.amazonaws.com/debian-i386/ruby-master/log/20211109T030008Z.fail.html.gz ``` 1) Failure: TestReadline#test_interrupt_in_other_thread [/home/chkbuild/chkbuild/tmp/build/20211109T030008Z/ruby/test/readline/test_readline.rb:568]: Unknown failure with exit status pid 13097 exit 1 Log: ** START **Readline::VERSION is 8.1. /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `readline': stack level too deep (SystemStackError) from /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `block in
' /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `readline': stack level too deep (SystemStackError) from /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `block in
' ``` M test/readline/test_readline.rb commit 1290bdf1aeeefa5c7855b9654cc8aa9e1e740f45 Author: Yusuke Endoh Date: Tue Nov 9 14:39:39 2021 +0900 test/ruby/test_fiber.rb: Extend timeout on Solaris The test usually takes 200 sec. on Solaris, so the timeout of 300 sec. looks too short. M test/ruby/test_fiber.rb commit 1d609707b429ebb0311454cfa633afa1aca8073c Author: Kazuhiro NISHIYAMA Date: Tue Nov 9 11:30:03 2021 +0900 Fix a link [ci skip] M NEWS.md commit d7432fdee585257686f381a5cf04ea53847bd6b8 Author: Nicholas Lee Date: Mon Nov 8 15:52:49 2021 -0800 [rubygems/rubygems] Use `shellsplit` instead of array of strings Previously, the command string to be used for the shell command was first generated and then split using shellsplit. This change reverts the current behavior as it breaks if the value of remote contains a space. https://github.com/rubygems/rubygems/commit/6649ee10b0 M lib/bundler/gem_helper.rb commit e014c9d607741180360d72e506885ab23dd032d5 Author: Peter Zhu Date: Mon Nov 8 16:33:04 2021 -0500 [ci skip] Update NEWS.md for [Feature #18290] M NEWS.md commit 39d3d24abbd63a109ebf70c229e3a6cab927fc90 Author: Peter Zhu Date: Mon Nov 8 15:15:38 2021 -0500 [Feature #18290] Remove tests that test use of rb_gc_force_recycle Remove tests that assume objects get force recycled. M test/ruby/test_io.rb M test/ruby/test_sprintf.rb M test/ruby/test_time.rb commit 309406484b98fe0aea55016d8f5971b4e6b91761 Author: Peter Zhu Date: Fri Nov 5 09:52:07 2021 -0400 [Feature #18290] Deprecate rb_gc_force_recycle and remove invalidate_mark_stack_chunk This commit deprecates rb_gc_force_recycle and coverts it to a no-op function. Also removes invalidate_mark_stack_chunk since only rb_gc_force_recycle uses it. M gc.c M include/ruby/internal/intern/gc.h commit aeae6e2842e1702dfb89b8ae69b48c4f5f64c662 Author: Peter Zhu Date: Fri Nov 5 09:51:53 2021 -0400 [Feature #18290] Remove all usages of rb_gc_force_recycle This commit removes usages of rb_gc_force_recycle since it is a burden to maintain and makes changes to the GC difficult. M array.c M bignum.c M ext/readline/readline.c M ext/zlib/zlib.c M hash.c M io.c M parse.y M string.c M template/prelude.c.tmpl M thread.c M thread_pthread.c commit aa5bccfc65cf47a10d72cefa4bc2ee097f135b4c Author: Yusuke Endoh Date: Tue Nov 9 03:38:42 2021 +0900 NEWS.md: Mention Process._fork [[Feature #17795]] M NEWS.md commit 837493389fccd6b250071166591fc352bc93521e Author: git Date: Tue Nov 9 03:33:04 2021 +0900 * 2021-11-09 [ci skip] M version.h commit efe7e6e949cc6137f2c918522f866cf6b99309ce Author: Yusuke Endoh Date: Thu Oct 28 15:49:55 2021 +0900 Bundle rbs 1.7.0.beta.5 M gems/bundled_gems A tool/dummy-rake-compiler/rake/extensiontask.rb M tool/test-bundled-gems.rb commit bd2674ad3354bd20e026d237a461e88af3834604 Author: Hiroshi SHIBATA Date: Mon Nov 8 20:46:08 2021 +0900 [rubygems/rubygems] Use bundler-graph instead of bundler-viz https://github.com/rubygems/rubygems/commit/a54cca13db M lib/bundler/cli.rb M spec/bundler/other/major_deprecation_spec.rb commit 7cc4e147fc2fba1ef9e06cf50f1916acdb886a24 Author: Nobuyoshi Nakada Date: Mon Nov 8 16:05:04 2021 +0900 Get rid of implicit expansion to `long double` on ix86 M numeric.c commit 395738e8a5a14d432d17a9fe106f62f54a81c7aa Author: Nobuyoshi Nakada Date: Mon Nov 8 18:05:15 2021 +0900 Separate TestReadline#test_interrupt_in_other_thread This method is already known to fail on Travis-CI arm32-linux. M .github/workflows/ubuntu.yml commit a64f7e9c0077c970c184f98f67094202a41e02cf Author: Nobuyoshi Nakada Date: Mon Nov 8 08:58:09 2021 +0900 Try 32bit environment M .github/workflows/ubuntu.yml commit 2772f85648bc90a445390c8cc82272e53689508f Author: Nobuyoshi Nakada Date: Mon Nov 8 16:56:28 2021 +0900 Prefer ANSI-style prototypes over old K&R-style definitions M ext/-test-/array/concat/to_ary_concat.c commit b47f7afbc30169ffbaf6ba68db3c1d39e24793b5 Author: Nobuyoshi Nakada Date: Mon Nov 8 16:54:54 2021 +0900 Fix filename typo [Bug #18140] M ext/-test-/array/concat/depend R100 ext/-test-/array/concat/to_ary_conact.c ext/-test-/array/concat/to_ary_concat.c commit b5ca8ebc0b43ac86ec1e4b7556f71695ca61d04f Author: git Date: Mon Nov 8 07:07:54 2021 +0000 Update bundled_gems at 2021-11-08 M gems/bundled_gems commit 833c69ee829dc9d9c2ce0f89c7f5e88200b94a0f Author: Nobuyoshi Nakada Date: Mon Nov 8 01:43:06 2021 +0900 Convert IDs to Integers As the ID serial is 32bit value and internal IDs created in the parser are assigned from its maximum value, Symbol converted from it will exceed 32bit and overflow on 32bit platforms. M vm.c commit f3bae1a2063766c29bc6f8db76abfa619ba462f7 Author: git Date: Mon Nov 8 12:52:24 2021 +0900 * 2021-11-08 [ci skip] M version.h commit 3501e0cbb5b6043b851686d2649e5ff7e9cf2b77 Author: Kenta Murata Date: Mon Nov 8 12:52:09 2021 +0900 memory_view.c: Add _memory_view_entry member in rb_memory_view_t (#5088) M include/ruby/memory_view.h M memory_view.c commit e0a5c3d2b71dfad038d7562fdd33f02ffd79232d Author: Nobuyoshi Nakada Date: Sun Nov 7 17:03:40 2021 +0900 [MinGW] Set job names M .github/workflows/mingw.yml commit 8dc2fce2bed922a64413784af7040f512b96e852 Author: Nobuyoshi Nakada Date: Sun Nov 7 14:21:55 2021 +0900 [MinGW] Highlight where groups M .github/workflows/mingw.yml commit 7068255b0cc796cf39f2939873ccfcb971e79d0c Author: Nobuyoshi Nakada Date: Sun Nov 7 15:57:14 2021 +0900 [MinGW] Run in sh M .github/workflows/mingw.yml commit acd82cc31a8a74bbced2da6b635aebe1051963ae Author: Nobuyoshi Nakada Date: Sun Nov 7 15:55:06 2021 +0900 [MinGW] Run test-spec M .github/workflows/mingw.yml commit 5ebda74ae10e6a9da6833424c5e138ad7f5063af Author: Nobuyoshi Nakada Date: Sun Nov 7 15:50:25 2021 +0900 [MinGW] Pass -j option via environment variables M .github/workflows/mingw.yml commit 6295e348a98d457bddce7fe4a0803a6dde00bc7d Author: Nobuyoshi Nakada Date: Sun Nov 7 15:46:16 2021 +0900 [MinGW] Clear BUNDLER_VERSION unconditinally M .github/workflows/mingw.yml commit dc4dd96b028adf8fe59cdd5fb1f173efb0974e7f Author: Nobuyoshi Nakada Date: Sun Nov 7 15:43:11 2021 +0900 [MinGW] Remove unnecessary encoding settings M .github/workflows/mingw.yml commit 8acb2a9b4069f55f71a80c747fc7c6bcb686abb7 Author: Nobuyoshi Nakada Date: Sun Nov 7 15:34:29 2021 +0900 [MinGW] Use autogen M .github/workflows/mingw.yml commit ec032e86faf9ac128ac51e3394d9b4001a374b38 Author: Nobuyoshi Nakada Date: Sun Nov 7 15:31:34 2021 +0900 [MinGW] Clear prefix and move the directory to DESTDIR Also the destination will be created at the installation. M .github/workflows/mingw.yml commit ba0e3ea130357f311ba9b66fc80213adde5eab01 Author: Nobuyoshi Nakada Date: Sun Nov 7 13:35:40 2021 +0900 [MSWin] Pass TESTOPTS via RUBY_TESTOPTS M .github/workflows/windows.yml commit 30583bc947858746e4f8fc21b366bffa8bab4ac7 Author: Nobuyoshi Nakada Date: Sun Nov 7 01:34:51 2021 +0900 [MSWin] Split nmake step The workflow output grouping seems effective even in the middle of lines. M .github/workflows/windows.yml commit 5eb54c495ff78d2d5fbbdff71b56460654e597f6 Author: Nobuyoshi Nakada Date: Mon Feb 8 00:02:20 2021 +0900 [MinGW] Set job env vars at once M .github/workflows/mingw.yml commit ac642df228dc01b9fc94b76714433453561f511d Author: Kazuhiro NISHIYAMA Date: Sun Nov 7 13:13:32 2021 +0900 Revert "Fix typo in ChangeLog-2.0.0 [ci skip]" This reverts commit e5792e7d552235e17a93d50a26c375db1974148f. Because this is correct ChangeLog of https://github.com/ruby/ruby/commit/89fef02f1305887d97ddcf96cc4df9109ce414e2 and reverted commit makes inconsistency with https://github.com/ruby/ruby/commit/171c708b0c862ee92d6a46ac9def97193954638b M doc/ChangeLog-2.0.0 commit 45db04ee604acb520dfc4605feac9ebf46a58057 Author: git Date: Sun Nov 7 12:40:43 2021 +0900 * 2021-11-07 [ci skip] M version.h commit ec657f44dca3b84fde2a0b3b66c4e0e74a4cdce8 Author: Nobuyoshi Nakada Date: Wed Oct 13 16:48:35 2021 +0900 Refine the error message for hidden variables M test/ruby/test_iseq.rb M vm.c commit 334b69e5042f47f89c8780c1d7efa32d70c84786 Author: Nobuyoshi Nakada Date: Wed Oct 13 14:25:34 2021 +0900 rb_id_serial_to_id: return unregistered ID as an internal ID ```ruby def foo(*); ->{ super }; end ``` This code makes anonymous parameters which is not registered as an ID. The problem is that when Ractors try to scan `getlocal` instructions, it puts the Symbol corresponding to the parameter in to a hash. Since it is not registered, we end up with a strange exception. This commit wraps the unregistered ID in an internal ID so that we get the same exception for `...` as `*`. Co-Authored-By: Aaron Patterson Co-Authored-By: John Hawthorn M bootstraptest/test_ractor.rb M symbol.c M test/ruby/test_iseq.rb commit 66b0847602ffa47575371f4d5a9a04dc6013ba49 Author: Nobuyoshi Nakada Date: Mon Aug 23 23:41:45 2021 +0900 Check the reading size range M random.c commit e5792e7d552235e17a93d50a26c375db1974148f Author: 180909 Date: Sat Nov 6 09:46:09 2021 +0800 Fix typo in ChangeLog-2.0.0 [ci skip] M doc/ChangeLog-2.0.0 commit 666a9185953e84e861688ed5ea6f2ac71c4ace32 Author: Hiroshi SHIBATA Date: Sat Nov 6 07:22:35 2021 +0900 [rubygems/rubygems] GNU Make needs DESTDIR on Windows environment like msys or mingw https://github.com/rubygems/rubygems/commit/7fd987d30d M lib/rubygems/ext/builder.rb commit fbd6cc5856d10f935dd8aea96826652dbb49d844 Author: John Hawthorn Date: Fri Nov 5 14:01:07 2021 -0700 YJIT: Support iseq sends with mixed kwargs (#5082) * YJIT: Support iseq sends with mixed kwargs Co-authored-by: Kevin Newton * Add additional comments to iseq sends Co-authored-by: Kevin Newton M bootstraptest/test_yjit.rb M yjit_codegen.c commit 9cc2c74b8381670f584ed31b81aedb66c8f61b34 Author: John Hawthorn Date: Fri Nov 5 13:54:23 2021 -0700 YJIT: Implement checkkeyword (#5083) Co-authored-by: John Crepezzi Co-authored-by: John Crepezzi M test/ruby/test_yjit.rb M yjit_codegen.c commit 91a9062626733c7d11ea4795bd1957a21f2adec6 Author: Alan Wu Date: Fri Nov 5 15:44:29 2021 -0400 YJIT: use shorter encoding for mov(r64,imm) when unambiguous (#5081) * YJIT: use shorter encoding for mov(r64,imm) when unambiguous Previously, for small constants such as `mov(RAX, imm_opnd(Qundef))`, we emit an instruction with an 8-byte immediate. This form commonly gets the `movabs` mnemonic. In 64-bit mode, 32-bit operands get zero extended to 64-bit to fill the register, so when the immediate is small enough, we can save 4 bytes by using the `mov` variant that takes a 32-bit immediate and does a zero extension. Not implement with this change, there is an imm32 variant of `mov` that does sign extension we could use. When the constant is negative, we fallback to the `movabs` form. In railsbench, this change yields roughly a 12% code size reduction for the outlined block. Co-authored-by: Jemma Issroff * [ci skip] comment edit. Please squash. Co-authored-by: Jemma Issroff M misc/yjit_asm_tests.c M yjit_asm.c commit 82ae9b092cf51062c49b95e81ad184e1dea0df1e Author: haruuzion Date: Fri Oct 8 01:08:57 2021 +0900 [rubygems/rubygems] Fix url https://github.com/rubygems/rubygems/commit/6a5a80eff7 M lib/bundler/cli.rb M spec/bundler/other/major_deprecation_spec.rb commit f1ca64ed7ca746fa2c547f1e2642aed37ed57f12 Author: git Date: Sat Nov 6 00:22:31 2021 +0900 * 2021-11-06 [ci skip] M version.h commit e83c02a768af61cd0890a75e90bcae1119d8bd93 Author: Jeremy Evans Date: Fri Nov 5 07:08:21 2021 -0700 Delegate keywords from Enumerable#to_a to #each Fixes [Bug #18289] M enum.c M test/ruby/test_enum.rb commit 907aa4752752869193f333c4114da85080ec03e3 Author: David Rodríguez Date: Thu Nov 4 19:27:17 2021 +0100 [rubygems/rubygems] Fix `ruby setup.rb` command when `--prefix` is passed https://github.com/rubygems/rubygems/commit/8d04092f6e M lib/rubygems/commands/setup_command.rb M test/rubygems/test_gem_commands_setup_command.rb commit d47831d554a9fa3ba4a78371914cb2ceb1fec1f7 Author: David Rodríguez Date: Fri Nov 5 13:51:11 2021 +0100 [rubygems/rubygems] Bin dir should fall inside destdir Since that's what happens in real life when `--destdir` is passed. https://github.com/rubygems/rubygems/commit/55637bdc8a M test/rubygems/test_gem_commands_setup_command.rb commit ef6752c6c40579205c5876b5a2de82c35874c5d5 Author: David Rodríguez Date: Fri Nov 5 13:46:32 2021 +0100 [rubygems/rubygems] Remove unnecessary test setup The method being unit tested here doesn't use `RbConfig::CONFIG["bindir"]`. https://github.com/rubygems/rubygems/commit/d3f092ad14 M test/rubygems/test_gem_commands_setup_command.rb commit f5a4fdae251901d07cc043918c329b797b2ed094 Author: David Rodríguez Date: Fri Nov 5 13:27:17 2021 +0100 [rubygems/rubygems] Remove unnecessarily changing GEM_HOME At this point gem paths are already loaded and memoize. Changing `GEM_HOME` has no effect. https://github.com/rubygems/rubygems/commit/a1f62f0939 M lib/rubygems/commands/setup_command.rb commit 87a8b22455128adc4c3cdd5c1e0c4d25ae1edac3 Author: David Rodríguez Date: Fri Nov 5 12:20:05 2021 +0100 [rubygems/rubygems] Simplify `--destdir` test https://github.com/rubygems/rubygems/commit/0571fd1ec6 M test/rubygems/test_gem_commands_setup_command.rb commit e60c1f7556878c9e65a6adad537f29c07aea64ee Author: David Rodríguez Date: Thu Nov 4 20:20:47 2021 +0100 [rubygems/rubygems] Refactor setup tests to not always pass `--prefix` Standard usage should be tested by default. I will add a test for `--prefix` once I fix that option since it's not working correctly at the moment. https://github.com/rubygems/rubygems/commit/50a7e34586 M test/rubygems/helper.rb M test/rubygems/test_gem_commands_setup_command.rb commit 5b941ec90dd76ddb78a3c9e5179f3eee801b4036 Author: David Rodríguez Date: Thu Nov 4 20:31:06 2021 +0100 [rubygems/rubygems] Remove unnecessary loop Rubygems installs a single executable. Make that explicit. https://github.com/rubygems/rubygems/commit/2839d15521 M lib/rubygems/commands/setup_command.rb commit 56119c5245ac4fa8d7c22de584a226b44082f61e Author: Yusuke Endoh Date: Fri Nov 5 20:03:11 2021 +0900 Skip TestIRB::TestInit#test_recovery_sigint on Solaris The test randomly gets stuck on Solaris: http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20211105T060014Z.fail.html.gz ``` 1) Error: TestIRB::TestInit#test_recovery_sigint: Timeout::Error: execution of assert_in_out_err expired timeout (100.0 sec) pid 3195 killed by SIGTERM (signal 15) | Switch to inspect mode. | exit | ``` I investigated the issue but I couldn't figure it out. This random failure is noisy, which makes it difficult to track the CI. So I skip the test on Soalris. Contribution is welcome. M test/irb/test_init.rb commit bfc0a71a82f2b615e4879b0f2b39fc9cfb296abb Author: Nobuyoshi Nakada Date: Fri Nov 5 10:32:55 2021 +0900 Suppress unused-function warnings M yjit_iface.c commit f62f020f5654297c1a876ab7e9f93afbfe879f1d Author: Nobuyoshi Nakada Date: Fri Nov 5 10:20:02 2021 +0900 Add the test of `Dir.glob` when `sort: true` is given explicitly M test/ruby/test_dir.rb commit 1ce3706c58e1f70c758e616012a982f058bce24e Author: Nobuyoshi Nakada Date: Fri Nov 5 09:34:01 2021 +0900 [DOC] Fix indent as single paragraph [ci skip] M file.c commit f3812e6ce61a8a84aee12aec00e879780a8470eb Author: Nobuyoshi Nakada Date: Fri Nov 5 09:33:05 2021 +0900 [DOC] Needs `call-seq` directives [ci skip] M dir.rb commit 53e2bba0dd9b3e86aa5e8d40a62c3b12a16ac6b3 Author: Nobuyoshi Nakada Date: Fri Nov 5 08:51:13 2021 +0900 [DOC] Markup the literal false, and constant [ci skip] M dir.rb commit 30886be9f4f42626b94b079885e826335594b8dd Author: Yusuke Endoh Date: Thu Nov 4 13:36:35 2021 +0900 Skip bundled gem with an extension library under with-static-linked-ext .. mainly to fix emscripten CI http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-wasm64_emscripten/log/20211104T024621Z.fail.html.gz M tool/rbinstall.rb commit 16331d9abb23aa2c3840d69a11e71881e8954b08 Author: Hiroshi SHIBATA Date: Thu Nov 4 14:10:59 2021 +0900 [rubygems/rubygems] Explicitly ignored empty value for DESTDIR https://github.com/rubygems/rubygems/commit/69dcc02553 M lib/rubygems/ext/builder.rb commit 33d01b73442ba2e434122077ce6ffdc419d21940 Author: Hiroshi SHIBATA Date: Thu Nov 4 13:59:41 2021 +0900 [rubygems/rubygems] Skip to set DESTDIR option when it's not provided for mswin platform https://github.com/rubygems/rubygems/commit/b93546c8d8 M lib/rubygems/ext/builder.rb commit 1506c8228b775776ce846e5cfdb6ce4b81963808 Author: Alyssa Ross Date: Sat May 18 15:10:18 2019 +0000 [rubygems/rubygems] Don't apply `--destdir` twice when running `setup.rb` Prior to this patch, if I ran: ruby setup.rb --destdir /foo Then Bundler files would be written into /foo/foo, because destdir was being prepended, even though `bundler_spec.bin_dir` already included destdir. https://github.com/rubygems/rubygems/commit/9e857ffb52 M lib/rubygems/commands/setup_command.rb M test/rubygems/test_gem_commands_setup_command.rb commit 9503dd91a5b207d2215f7873b0442f52d2eb5c94 Author: David Rodríguez Date: Thu Nov 4 21:01:29 2021 +0100 [rubygems/rubygems] Fix `--destdir` handling on Windows Driver letters were not accounted for in one place. https://github.com/rubygems/rubygems/commit/fbe42460d7 M lib/rubygems/commands/setup_command.rb commit 5e855be86be19240257e444a09a95e1ddb355043 Author: David Rodríguez Date: Thu Nov 4 22:13:29 2021 +0100 [rubygems/rubygems] More refactoring of `--destdir` handling https://github.com/rubygems/rubygems/commit/f42c2025ed M lib/rubygems/commands/setup_command.rb commit 70cbca48b8df97ba75e665e147f6ad8bb39e752d Author: David Rodríguez Date: Thu Nov 4 22:04:26 2021 +0100 [rubygems/rubygems] Refactor `--destdir` handling https://github.com/rubygems/rubygems/commit/8aab3d11b0 M lib/rubygems/commands/setup_command.rb commit 2421527d6e4737c371bca0cf7e694f8a2a0f923d Author: Maxime Chevalier-Boisvert Date: Thu Nov 4 13:05:41 2021 -0700 YJIT code pages refactoring for code GC (#5073) * New code page allocation logic * Fix leaked globals * Fix leaked symbols, yjit asm tests * Make COUNTED_EXIT take a jit argument, so we can eliminate global ocb * Remove extra whitespace * Change block start_pos/end_pos to be pointers instead of uint32_t * Change branch end_pos and start_pos to end_addr, start_addr M misc/yjit_asm_tests.c M yjit_asm.c M yjit_asm.h M yjit_codegen.c M yjit_core.c M yjit_core.h M yjit_iface.c M yjit_iface.h commit 85b4cf16e2cae0577633c1acb1dc7413d58fcb5a Author: git Date: Fri Nov 5 00:54:21 2021 +0900 * 2021-11-05 [ci skip] M version.h commit 0c69f2401ac513c16adc9f98d53984ca05f2564d Author: Yusuke Endoh Date: Thu Nov 4 14:22:09 2021 +0900 test/ruby/test_gc_compact.rb: Backpatch the URL to the PR M test/ruby/test_gc_compact.rb commit 8821a0de0eb412dd61066ca6e5fea0eb331ae546 Author: Yusuke Endoh Date: Thu Nov 4 14:14:52 2021 +0900 test/ruby/test_gc_compact.rb: Do not run on s390x The compaction tests get stuck randomly on s390x for unknown reason. http://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20211104T030003Z.fail.html.gz ``` [13715/21145] TestGCCompact#test_gc_compact_statstimeout: output interval exceeds 1800.0 seconds. ``` We spent some time to investigate this issue, but we can't figure out why, and it is unlikely that we'll be able to fix it anytime soon. This random failure makes the CI unuseful, so tentatively we suppress this test for a while. A contribution from those who are familiar with s390x is welcome. M test/ruby/test_gc_compact.rb commit 539c42ed893b5ce14b6831f5540dbe3424e9a065 Author: Nobuyoshi Nakada Date: Wed Nov 3 18:54:14 2021 +0900 [rubygems/rubygems] Fix typos https://github.com/rubygems/rubygems/commit/f328ef6f77 M lib/bundler/man/bundle-add.1 M lib/bundler/man/bundle-binstubs.1 M lib/bundler/man/bundle-cache.1 M lib/bundler/man/bundle-check.1 M lib/bundler/man/bundle-clean.1 M lib/bundler/man/bundle-config.1 M lib/bundler/man/bundle-config.1.ronn M lib/bundler/man/bundle-doctor.1 M lib/bundler/man/bundle-exec.1 M lib/bundler/man/bundle-gem.1 M lib/bundler/man/bundle-info.1 M lib/bundler/man/bundle-init.1 M lib/bundler/man/bundle-inject.1 M lib/bundler/man/bundle-install.1 M lib/bundler/man/bundle-list.1 M lib/bundler/man/bundle-lock.1 M lib/bundler/man/bundle-open.1 M lib/bundler/man/bundle-outdated.1 M lib/bundler/man/bundle-platform.1 M lib/bundler/man/bundle-pristine.1 M lib/bundler/man/bundle-remove.1 M lib/bundler/man/bundle-show.1 M lib/bundler/man/bundle-update.1 M lib/bundler/man/bundle-viz.1 M lib/bundler/man/bundle.1 M lib/bundler/man/gemfile.5 M spec/bundler/install/gemfile/specific_platform_spec.rb M test/rubygems/test_gem_commands_signin_command.rb M test/rubygems/test_gem_resolver.rb commit 3d8e1ee40f4aa780243458ee0e527807b948c8fd Author: Nobuyoshi Nakada Date: Wed Nov 3 19:23:44 2021 +0900 [ruby/net-http] Warn deprecated old constants https://github.com/ruby/net-http/commit/2a97b4729b M lib/net/http/backward.rb commit b49dbe025f27a5024c579d3b690833ae8943d71d Author: Nobuyoshi Nakada Date: Wed Nov 3 19:17:35 2021 +0900 [ruby/net-http] Fix the typo in a constant name https://github.com/ruby/net-http/commit/dada6007bf M lib/net/http/backward.rb commit 5f2c4e344dc2f19aab54523ae418800b08adaa61 Author: Kazuki Yamaguchi Date: Thu Apr 29 20:42:33 2021 +0900 [ruby/net-http] Reset keep_alive timer on new connection The last_communicated timestamp is for HTTP persistent connection, to decide whether the current TCP connection may be reused for the subsequent requests or not. Naturally, the timer must be reset if the connection is recreated since it is no longer relevant. https://github.com/ruby/net-http/commit/0a013de42d M lib/net/http.rb M test/net/http/test_http.rb commit a53aab1273729c10b7e675ce8fd1a711d22c0cd0 Author: Kazuhiro NISHIYAMA Date: Thu Nov 4 12:57:49 2021 +0900 Fix typos [ci skip] M doc/ChangeLog-1.9.3 commit ee9f7fc2f758da1d16b66430c4142299179f2b3a Author: 180909 <734461790@qq.com> Date: Thu Nov 4 10:17:24 2021 +0800 fix typo in ChangeLog-1.9.3 M doc/ChangeLog-1.9.3 commit e1ae889c9c41c282ae331dd0dd0d2e3e0b153b78 Author: Nobuyoshi Nakada Date: Wed Nov 3 19:06:12 2021 +0900 [ruby/racc] Fix a private method name https://github.com/ruby/racc/commit/1f52571225 M lib/racc/grammar.rb commit acf5ccd1855f47e8fcd88de80fa005612adc8268 Author: Nobuyoshi Nakada Date: Wed Nov 3 19:05:39 2021 +0900 [ruby/racc] Fix typo in a local variable name https://github.com/ruby/racc/commit/03d0b86b90 M lib/racc/grammarfileparser.rb commit 481aa61cb7b527328b7149c8a27c5e7e581b2091 Author: git Date: Thu Nov 4 08:56:52 2021 +0900 * 2021-11-04 [ci skip] M version.h commit f6330a45f221c23d0b61043f7ca90f98091c1250 Author: Nobuyoshi Nakada Date: Wed Nov 3 20:10:49 2021 +0900 [ruby/rdoc] Fix typos in test method names [ci skip] https://github.com/ruby/rdoc/commit/8386333323 M test/rdoc/test_rdoc_class_module.rb commit 5b8d22ebe60267283a5ca4a1c2ddba507b3d8ba9 Author: Nobuyoshi Nakada Date: Wed Nov 3 18:36:37 2021 +0900 [ruby/openssl] Fix typos [ci skip] https://github.com/ruby/openssl/commit/708ebf2f7a M ext/openssl/History.md M ext/openssl/ossl_ocsp.c M test/openssl/test_asn1.rb commit b5d9c442675a18c63418ff692a67291ccecfa752 Author: Nobuyoshi Nakada Date: Wed Nov 3 18:34:13 2021 +0900 [ruby/optparse] Fix typo [ci skip] https://github.com/ruby/optparse/commit/0aa18752cf M test/optparse/test_did_you_mean.rb commit e9a13332e838b12a253ed7fda9f8b622a059b6b1 Author: Nobuyoshi Nakada Date: Wed Nov 3 19:11:45 2021 +0900 Fix typos [ci skip] M sample/drb/README.ja.rdoc M sample/drb/README.rdoc commit c5224c71aeba147a111131c16688a208c161ee75 Author: David Rodríguez Date: Sat Oct 30 00:20:28 2021 +0200 [rubygems/rubygems] Fix `gem install` vs `gem fetch` inconsistency https://github.com/rubygems/rubygems/commit/b3e985799e M lib/rubygems/commands/fetch_command.rb M test/rubygems/helper.rb M test/rubygems/test_gem_commands_fetch_command.rb commit 9fc7ea64a1deb1e342a54607d16b5cf7eb9ec351 Author: Yusuke Endoh Date: Wed Nov 3 14:00:51 2021 +0900 configure.ac: don't use shutdown on emscripten ... to absorb a change on Ubuntu 21.10 M configure.ac commit 4b248e7994e68fa5075f62d4cbfb36514ffd7bfa Author: Yusuke Endoh Date: Wed Nov 3 03:52:28 2021 +0900 string.c: Follow up to ae2359f602bb467ca755eef02d73d361d35eaed7 * Mention `\0` * Make the example of hash replacement meaningful M string.c commit a4f834c41e13457627697e2406c9c7309a6f3661 Author: git Date: Wed Nov 3 03:05:21 2021 +0900 * 2021-11-03 [ci skip] M version.h commit ae2359f602bb467ca755eef02d73d361d35eaed7 Author: Burdette Lamar Date: Tue Nov 2 13:04:58 2021 -0500 Enhanced RDoc for String (#5060) Treated: #slice! #sub #sub! #gsub #gsub! M string.c commit 8413749ec0edb07eede8a936d5473431a1a40966 Author: Yusuke Endoh Date: Tue Nov 2 23:41:01 2021 +0900 ext/socket/extconf.rb: Fix the chech if if_indextoname is available The check had not work because "headers" were not passed. M ext/socket/extconf.rb commit e0915ba67964d843832148aeca29a1f8244ca7b1 Author: Nobuyoshi Nakada Date: Tue Nov 2 18:34:52 2021 +0900 Fix typos in ChangeLog files [ci skip] M doc/ChangeLog-0.60_to_1.1 M doc/ChangeLog-1.9.3 M doc/ChangeLog-2.4.0 M doc/ChangeLog-YARV commit a2024081805af4e729bea029abb7bbe7c383dce2 Author: Nobuyoshi Nakada Date: Tue Nov 2 18:29:53 2021 +0900 Fix typos M ext/coverage/coverage.c M include/ruby/internal/encoding/string.h M include/ruby/internal/fl_type.h M include/ruby/internal/intern/gc.h M include/ruby/internal/intern/thread.h M include/ruby/io.h M include/ruby/ractor.h M misc/lldb_disasm.py R100 spec/ruby/core/complex/comparision_spec.rb spec/ruby/core/complex/comparison_spec.rb M spec/ruby/core/struct/values_at_spec.rb M spec/ruby/shared/rational/divmod.rb M test/ruby/test_iseq.rb M test/ruby/test_objectspace.rb M yjit_core.h commit c2dcaa73626ab7a44dcc357d9751d9e2285d56ba Author: Vít Ondruch Date: Mon Nov 1 18:40:06 2021 +0100 [rubygems/rubygems] Use OpenSSL constants for error codes. This fixes the following test error testing against OpenSSL 3.x: ~~~ 2) Failure: TestGemRequest#test_verify_certificate_extra_message [/builddir/build/BUILD/ruby-3.0.2/test/rubygems/test_gem_request.rb:358]: <"ERROR: SSL verification error at depth 0: invalid CA certificate (24)\n" + "ERROR: Certificate is an invalid CA certificate\n"> expected but was <"ERROR: SSL verification error at depth 0: invalid CA certificate (79)\n" + "ERROR: Certificate is an invalid CA certificate\n">. ~~~ Where the root cause is this OpenSSL commit: https://github.com/openssl/openssl/commit/1e41dadfa7b9f792ed0f4714a3d3d36f070cf30e It seems that OpenSSL upstream considers the constant value just an implementation detail and therefore this changes the test case to follow the suite. https://github.com/rubygems/rubygems/commit/8acf8e95dc M test/rubygems/test_gem_request.rb commit 83704a28519632eabe41664d58071381dd1e7159 Author: 180909 <734461790@qq.com> Date: Tue Nov 2 17:18:26 2021 +0800 remove the repeat 'the' M yjit_iface.c commit 905b6aaa7c5d327ab14bc7eaec13de5a34a82753 Author: Yusuke Endoh Date: Tue Nov 2 17:28:23 2021 +0900 test/readline/test_readline.rb: Use TERM=vt100 to run the tests Readline seems to emit an escape sequence `"\e[?1034h` at an unpredictable timing when `TERM=xterm` or something. This leads to a noisy random test failure. http://rubyci.s3.amazonaws.com/amazon2/ruby-master/log/20211102T063005Z.fail.html.gz ``` 1) Failure: TestReadline#test_modify_text_in_pre_input_hook [/home/chkbuild/chkbuild/tmp/build/20211102T063005Z/ruby/test/readline/test_readline.rb:404]: <"> hello world\n"> expected but was <"\e[?1034h> hello world\n">. ``` This test is for Ruby's readline extension, not for readline library itself. So here this change force to use "TERM=vt100" to run the tests. M test/readline/test_readline.rb commit 38785aa3b9ec7356d6c8ad32242c28fd04ccafcf Author: Carlos Palhares Date: Mon Oct 25 16:25:46 2021 -0300 Update licenses= documentation M lib/rubygems/specification.rb commit 17f8fd656818d62ab18027dc21e463768e1a9b54 Author: Carlos Palhares Date: Mon Oct 25 15:50:32 2021 -0300 Allow custom LicenseRef M lib/rubygems/util/licenses.rb M test/rubygems/test_gem_specification.rb commit b74385e78d36f2d7ecba364e615c3424a55fa169 Author: Josef Šimánek Date: Mon Nov 1 17:48:34 2021 +0100 Remove SimpleCov at all. M test/rubygems/helper.rb commit 4a39167260fbd0e8accf42ef7dee27ae73159f8f Author: Hiroshi SHIBATA Date: Thu Oct 28 17:28:59 2021 +0900 Removed the related code of `gem server` M lib/rubygems/commands/server_command.rb D lib/rubygems/server.rb M test/rubygems/test_gem_commands_server_command.rb D test/rubygems/test_gem_server.rb commit 1d88eec8e349b9571729bef40d93271cf2c789aa Author: git Date: Tue Nov 2 00:28:41 2021 +0900 * 2021-11-02 [ci skip] M version.h commit ed0f326e88ab695507d66729e3a4441d6888910b Author: David Rodríguez Date: Sat Oct 30 09:48:57 2021 +0200 [rubygems/rubygems] Leave ":" after MANPATH when not set So that system man pages still work after a gem with man pages overrides it. https://github.com/rubygems/rubygems/commit/1031879b87 M lib/bundler/runtime.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/support/filters.rb commit 2fa51c70683ef8198bddb3332eb62c9239cbde8f Author: John Hawthorn Date: Mon Nov 1 07:54:59 2021 -0700 YJIT: Support kwargs sends with all defaults (#5067) * YJIT: Support kwargs sends with all defaults Previously keyword argument methods were only compiled by YJIT when all keywords were specified in the caller. This adds support for calling methods with keyword arguments when no keyword arguments are specified and all are filled with the defaults. * Remove unused send_iseq_kwargs_none_passed M bootstraptest/test_yjit.rb M yjit.c M yjit_codegen.c commit b474049c78dc8d6e24aec4c8073240b61b6869f7 Author: Kazuki Yamaguchi Date: Mon Nov 1 17:23:07 2021 +0900 [ruby/openssl] x509name: improve docs for X509::Name Add docs for X509::Name.parse_openssl and X509::Name.parse_rfc2253, which are currently undocumented despite being widely used. Small changes are also made to #to_s and the class description to recommend using RFC 2253-based methods. Fixes: https://github.com/ruby/openssl/issues/470 https://github.com/ruby/openssl/commit/74041a35d4 M ext/openssl/lib/openssl/x509.rb M ext/openssl/ossl_x509name.c commit 1ac7f23bb8568b41e511bbe5dfc85c141cc8b2c2 Author: Kazuki Yamaguchi Date: Mon Oct 25 00:09:24 2021 +0900 [ruby/openssl] ssl: disallow reading/writing to unstarted SSL socket OpenSSL::SSL::SSLSocket allowed #read and #write to be called before an SSL/TLS handshake is completed. They passed unencrypted data to the underlying socket. This behavior is very odd to have in this library. A verbose mode warning "SSL session is not started yet" was emitted whenever this happened. It also didn't behave well with OpenSSL::Buffering. Let's just get rid of it. Fixes: https://github.com/ruby/openssl/issues/9 https://github.com/ruby/openssl/commit/bf780748b3 M ext/openssl/ossl_ssl.c M test/openssl/test_ssl.rb commit f0226f9a017e288d1c91f7a1777996804784fb8a Author: git Date: Mon Nov 1 07:07:34 2021 +0000 Update bundled_gems at 2021-11-01 M gems/bundled_gems commit b93a5f96c8f94ff3c96dcb7d13a9afc241987cda Author: Nobuyoshi Nakada Date: Mon Nov 1 12:50:23 2021 +0900 bundled_gems: Pull before new commit [ci skip] M .github/workflows/bundled_gems.yml commit 266c90eaf944aa6d51791177966c10fd44c39e4e Author: git Date: Mon Nov 1 02:01:52 2021 +0900 * 2021-11-01 [ci skip] M version.h commit 4e7e057692578204a6fb2f7170bb8c5803f0f9e0 Author: David Rodríguez Date: Thu Oct 28 09:51:14 2021 +0200 [rubygems/rubygems] Memoize materialized specs when requiring `bundler/setup` Calling `Bundler.definition.specs` will memoize materialized specs. However, requiring `bundler/setup` will end up materializing the same set of specs, but not memoize them. This change makes things consistent. https://github.com/rubygems/rubygems/commit/e4c2b52824 M lib/bundler/definition.rb M spec/bundler/runtime/setup_spec.rb commit 13a9597c7ca83fced5738e9345660ae6aef87eb7 Author: Nobuyoshi Nakada Date: Sun Oct 31 15:20:48 2021 +0900 Argument forwarding definition without parentheses [Bug #18267] M parse.y M test/ruby/test_syntax.rb commit 7da6e9b3ecc520c272e06426407626284f0f021c Author: git Date: Sun Oct 31 15:16:45 2021 +0900 * 2021-10-31 [ci skip] M version.h commit b7f7117bdc78a4a342a57dad1a340b158492ccf3 Author: Nobuyoshi Nakada Date: Sun Oct 31 13:55:14 2021 +0900 Rename `in_kwarg` as `in_argdef` as unrelated to keywords M parse.y commit 1b59ad57ae2fa4cfccaab97f22f943333080ea0c Author: Nobuyoshi Nakada Date: Sun Oct 31 13:49:21 2021 +0900 Reduce parser stack usage at pattern matching M parse.y commit a46c220320778c29612b80ebf2fee28a81eaa380 Author: S.H Date: Sat Oct 30 19:24:41 2021 +0900 Add `rb_mod_exc_raise` function and replace duplicate code M error.c commit 99dad28b7c14fce45653a3573172389cb0424341 Author: Nobuyoshi Nakada Date: Sat Oct 30 12:26:06 2021 +0900 Apply the timeout scale to also separated workers M test/ruby/test_file_exhaustive.rb commit 1d0ce1a349bcf836d547d618b346345ae5fca44d Author: Ulysse Buonomo Date: Sat Sep 25 17:28:48 2021 +0200 [DOC] Fix `TracePoint.trace` format [ci skip] Signed-off-by: Ulysse Buonomo M trace_point.rb commit 4e0747a8a29e4d61744a802aee2c15289c2f9d19 Author: Yuta Saito Date: Thu Oct 28 21:08:35 2021 +0900 Allow the thread-model to be switched by configure option This change adds --with-thread=IMPL option to the configure. If not supplied, default implementation for each platform will be used. M tool/m4/ruby_thread.m4 commit 8590d61ea9b6b91c89a14a8d0f6829c8a3a8c6c8 Author: Yuta Saito Date: Thu Oct 28 15:51:40 2021 +0900 Select including thread impl file at config time M thread.c M tool/m4/ruby_thread.m4 M vm_core.h M win32/Makefile.sub commit ccda26efe7c6acf7edd1262dd2826b8c7008ff75 Author: Yuta Saito Date: Thu Oct 28 15:48:45 2021 +0900 Split thread-model config into another ac file This is a first step to allow the thread-model implementation to be switched by configure's option M configure.ac A tool/m4/ruby_thread.m4 commit 6c812c6f4e882d3a12ec0a9fabae4d6b86ef729f Author: 180909 <734461790@qq.com> Date: Fri Oct 15 16:42:58 2021 +0800 add missing http response code in doc M lib/net/http.rb commit 2898805535104c330e1e5c64c8065a108f1f2895 Author: Jeremy Evans Date: Tue Oct 12 12:31:50 2021 -0700 Use rdoc-ref to fix a few links in the README This may break linking on GitHub, but it's more important for the links to work in the documentation generated by rdoc. Fixes [Bug #14743] M README.md commit 09bdb43567b0ae3c46180073043136ec8ec0f6a2 Author: Peter Leitzen Date: Mon Oct 18 17:33:04 2021 +0200 Clarify docs about magic comments placement Magic comments like `frozen_string_literal` may appear everywhere within the first comment section while `encoding` have to be the first line, or second line after shebang. M doc/syntax/comments.rdoc commit f634d1ee00e8327f1e91a5af3792c0e30c38c330 Author: David Rodríguez Date: Fri Oct 29 15:51:07 2021 +0200 [rubygems/rubygems] Better error when installing a git lockfile and git not present https://github.com/rubygems/rubygems/commit/28f4842196 M lib/bundler/source/git/git_proxy.rb M spec/bundler/install/gemfile/git_spec.rb commit a954f273a89f517de188bdd77e73a80a9c9dad2c Author: Benoit Daloze Date: Fri Oct 29 21:59:35 2021 +0200 Cleanup GC.auto_compact spec * Make the supported check more obvious. M spec/ruby/core/gc/auto_compact_spec.rb commit 800dad62970989c0afeb26f1780c53683335a8d9 Author: Benoit Daloze Date: Fri Oct 29 21:54:17 2021 +0200 Skip GC.auto_compact= spec for platforms not supporting it * See https://github.com/ruby/spec/pull/891 M spec/ruby/core/gc/auto_compact_spec.rb commit 2e14fb7df752573da98be84a686d8bbd210b13d8 Author: Maxime Chevalier-Boisvert Date: Fri Oct 29 11:58:49 2021 -0700 Add comments about send method types (#5059) M yjit_codegen.c commit 99c60d4b25040d712fbed2ffcc8e1044c5e0fe07 Author: Nobuyoshi Nakada Date: Sat Oct 30 00:40:21 2021 +0900 Get rid of exponential backtracks found by CodeQL Since these regexps are used at build/installation, they are not vulnerabilities. M tool/mkconfig.rb M tool/rbinstall.rb commit 6cee10d8fd679801abcc2eb1350bb2cd81048f39 Author: git Date: Sat Oct 30 00:58:38 2021 +0900 * 2021-10-30 [ci skip] M version.h commit d7279f0894d94da41367fe96d9b08ebfee6122d4 Author: Matt Valentine-House Date: Fri Oct 29 14:23:29 2021 +0100 make obj_free return true when it frees an object Previously obj_free returned true when it could not free a slot because of a finalizer, and false when it successfully frees a slot. M gc.c commit ed8540ebf400e7574f5a8e5c7e3f1d50f76b263d Author: Matt Valentine-House Date: Fri Oct 29 10:38:41 2021 +0100 Prefer size pool heap macros over direct access M gc.c commit 5e52fd4bd14a668dd7d85a67f824f2667c6d45ea Author: Nobuyoshi Nakada Date: Fri Oct 29 21:40:11 2021 +0900 Preserve the encoding of message from outer local variable In the case of read-only but refering an unshareable object. M test/ruby/test_iseq.rb M vm.c commit ec2e04c90d96541502c9b96e66900b4bb01676bb Author: Nobuyoshi Nakada Date: Fri Oct 29 17:34:09 2021 +0900 Preserve the encoding of message from outer local variables M test/ruby/test_iseq.rb M test/ruby/test_proc.rb M vm.c commit 0ad57158c7fb2892094c6a3b0dc306ba0a8a3735 Author: Nobuyoshi Nakada Date: Fri Oct 29 17:30:46 2021 +0900 Remove redundant calls The ArgumentError should raise in `isolate`. M test/ruby/test_proc.rb commit 71b370f6dda2f6a1d0216e276399557b55138fcd Author: Josef Šimánek Date: Tue Oct 26 01:20:12 2021 +0200 [rubygems/rubygems] Enforce bundler platform (and default gem) to keep invalid gemspec test compatible with ruby-trunk. https://github.com/rubygems/rubygems/commit/a77061d4e9 M spec/bundler/realworld/edgecases_spec.rb commit 9b7afd3cfff791a90ac116fdaadf9df1ab2cde99 Author: Josef Šimánek Date: Mon Oct 25 21:00:23 2021 +0200 [rubygems/rubygems] Update mirror_probe realword specs to not rely exactly at raised HTTP exception. - this exception differs across Ruby versions. https://github.com/rubygems/rubygems/commit/38c6927a5f M spec/bundler/realworld/mirror_probe_spec.rb commit 0029e0948a80b4d8721c16448e37dd2a0d3df25a Author: Josef Šimánek Date: Mon Oct 25 19:17:00 2021 +0200 [rubygems/rubygems] Install stringio for standalone spec. - previously it was required already by net/http, but it is not anymore using ruby-trunk - https://github.com/ruby/net-http/commit/996d18a43f34557cb0b2fcf41b93131d48a235f4 - https://github.com/ruby/ruby/commit/364044e0909692315bd6c2f0e1d968ede9c2beb8#diff-a1d29a94def02829fd4f9ba591199acf079e028f5a2002a77c363eb01212e112 https://github.com/rubygems/rubygems/commit/be1779655a M spec/bundler/install/gems/standalone_spec.rb commit b179166421af52648ab84c0f82580cffef5a80d3 Author: Josef Šimánek Date: Sat Oct 23 23:30:35 2021 +0200 [rubygems/rubygems] Assert NoMethodError message only partialy in downloader_spec. - latest ruby adds error_highlight gem introducing backtrace into exception message https://github.com/rubygems/rubygems/commit/08c70f9dd0 M spec/bundler/bundler/fetcher/downloader_spec.rb commit fd17ae8205d2835ce75c7b9c091df92673d60430 Author: Josef Šimánek Date: Sat Oct 23 23:15:14 2021 +0200 [rubygems/rubygems] Lock racc version in platform_spec. - latest ruby is shipped with racc 1.6 making this spec failing - this spec is related to platform locking, changing version should not do any harm https://github.com/rubygems/rubygems/commit/3e18b626cb M spec/bundler/runtime/platform_spec.rb commit 17fb785d1557d35fc9e28af59bdbef50ddbd08d9 Author: Frederik Dudzik Date: Thu Oct 21 12:23:08 2021 -0700 [rubygems/rubygems] Vendor tsort into rubygems So that it loads a consistent version of the library and `rubygems` is never affected by gem activation conflicts related to `tsort`. Getting CI green required updating one `bundler` spec, because `tsort` is no longer loaded by `bundle clean` until after `BUNDLE_PATH` has been changed, so to ensure it is found, it needs to be installed under `BUNDLE_PATH` as well (which will be different from the global system path on Bundler 3, meaning installing `tsort` to the global system path is not enough there). This spec workaround can be removed once we also vendor `tsort` inside `bundler`. https://github.com/rubygems/rubygems/commit/d326880999 M lib/rubygems/dependency_list.rb M lib/rubygems/request_set.rb M lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb A lib/rubygems/tsort.rb A lib/rubygems/tsort/lib/tsort.rb commit f45af5f0a427a85fd157bbb1461a7dc33d30eb1b Author: Frederik Dudzik Date: Tue Oct 19 12:35:35 2021 -0700 Support gemification of tsort Co-authored-by: Frederik Dudzik Co-authored-by: Jacques Chester M lib/bundler/spec_set.rb M lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb A lib/bundler/vendor/tsort/lib/tsort.rb A lib/bundler/vendored_tsort.rb M spec/bundler/runtime/setup_spec.rb commit a9be84db82cea8bf3096167400d2c01b448e7e82 Author: Josef Šimánek Date: Sat Oct 23 23:57:08 2021 +0200 [rubygems/rubygems] Add new default gems to setup_spec exempts. - error_highlight was introduced at https://github.com/ruby/ruby/commit/e94604966572bb43fc887856d54aa54b8e9f7719 orriginally as error_squiggle later renamed at https://github.com/ruby/ruby/commit/9438c99590f5476a81cee8b4cf2de25084a40b42 - ruby2_keywords was introduced as a placeholder gem only at https://github.com/ruby/ruby/commit/21d2463fbc5094aa2ad92a21c910dccdc928b920 https://github.com/rubygems/rubygems/commit/c9ebe7c7d2 M spec/bundler/runtime/setup_spec.rb commit 79f9053599da6374bd18ea14df7b2d9af6fef419 Author: David Rodríguez Date: Wed Oct 27 23:46:14 2021 +0200 [rubygems/rubygems] Unskip inline spec that can pass now on the latest rubies https://github.com/rubygems/rubygems/commit/a81d4421b4 M spec/bundler/runtime/inline_spec.rb commit 2a90ad7aa5dd434b200f66e20a98eba645b5838b Author: Frederik Dudzik Date: Fri Oct 22 10:28:30 2021 -0700 [rubygems/rubygems] use Rubocop Lint/Debugger check rather than custom spec We have a quality spec that check for debugger statements. Rubocop has a cop that tests for the same thing. As such it makes sense to remove the spec and activate the cop. https://github.com/rubygems/rubygems/commit/dc1eb6eec5 M spec/bundler/quality_spec.rb commit 27220b2fe4632f499180385e5c4c866e7740e3aa Author: Nobuyoshi Nakada Date: Fri Oct 29 11:04:39 2021 +0900 Skip CodeQL if only document files changed [ci skip] M .github/workflows/codeql-analysis.yml commit ffd8592ebc45b53eda725de6bddef9cb6f314a92 Author: Kazuhiro NISHIYAMA Date: Fri Oct 29 10:58:37 2021 +0900 Update stdlib version M NEWS.md commit c1228f833c5925c01b2aed1544d9c7fc2421e79b Author: Yusuke Endoh Date: Fri Oct 29 01:58:15 2021 +0900 vm_core.h: Avoid unaligned access to ic_serial on 32-bit machine This caused Bus error on 32 bit Solaris M tool/ruby_vm/views/_mjit_compile_getinlinecache.erb M vm_core.h M vm_insnhelper.c M yjit_codegen.c commit 92ad520ad0372ad64ece6af6bbb6823e629c5d5b Author: Nobuyoshi Nakada Date: Thu Oct 28 18:18:43 2021 +0900 Merge macOS CIs to reduce concurrency On GitHub Actions, the macOS runners seem much more expensive than Ubuntu, and its limit is the most significant bottlenecks for our CIs. As the "check" tasks usually finish 3 or 4 times faster than "test-bundler-parallel", it will be balanced by running all three "check" tasks sequentially. M .github/workflows/macos.yml D .github/workflows/yjit-macos.yml commit 96648c509353bb5972bb3a4866ab38e0143e9886 Author: Nobuyoshi Nakada Date: Fri Oct 29 10:31:03 2021 +0900 Mitigate the timeout of tests [ci skip] * The worker timeouts seem working for test-all. * The bundled gems have increased. M .github/workflows/macos.yml M .github/workflows/mingw.yml M .github/workflows/ubuntu.yml commit 3e743d31473686a0365e60b3f233707ef58625fe Author: Burdette Lamar Date: Thu Oct 28 17:01:49 2021 -0500 Cleanup some RDoc (#5050) Mostly adding blank line before and after code segment, to improve compliance with doc\documentation_guide.rdoc. M string.c commit 9b751db99cb70c1f63e34f92955442167079d330 Author: Nobuyoshi Nakada Date: Fri Oct 29 01:03:29 2021 +0900 Fix script_lines in loaded iseq as nil M compile.c M test/ruby/test_iseq.rb commit f8bbd608c9a0f34e44c4b14f7b913da061e71a70 Author: Burdette Lamar Date: Thu Oct 28 15:11:11 2021 -0500 Enhanced RDoc for Numeric (#4994) Treats: #eql? #<+> #floor #ceil #round #truncate #step M numeric.c commit e53d07f583866e6df7a88963ada33cad68018ebd Author: Alan Wu Date: Wed Oct 27 16:10:25 2021 -0400 Rename ::YJIT to RubyVM::YJIT Since the YJIT Ruby module is CRuby specific and not meant for general use, it should live under RubyVM instead of at top level. M spec/ruby/command_line/dash_v_spec.rb M test/-ext-/bug_reporter/test_bug_reporter.rb M test/ruby/test_rubyoptions.rb M test/ruby/test_yjit.rb M yjit.rb M yjit_iface.c commit d8e97169baf3073366f768a52956c43a1d4b0806 Author: David Rodríguez Date: Wed Oct 27 22:15:31 2021 +0200 [rubygems/rubygems] Only delete cached gem when it's corrupted Rescuing all errors here might end up hiding other errors if the deletion of the cached gem itself raises an error for some reason. Let's be more conservative. https://github.com/rubygems/rubygems/commit/3d80dfba08 M lib/bundler/source/rubygems.rb commit cbf2078a25c3efb12f45b643a636ff7bb4d402b6 Author: Koichi Sasada Date: Fri Oct 29 01:10:32 2021 +0900 need to mark script_lines M iseq.c commit acb2f86caa384fd7a32d4fe682b9fa719015c1c7 Author: Yusuke Endoh Date: Fri Oct 29 01:57:29 2021 +0900 string.c: Add some comments about STR flags M string.c commit c75df796d875b02d7b97974c7fe840f0a9de171f Author: Benoit Daloze Date: Thu Oct 28 18:54:01 2021 +0200 Update to ruby/spec@21a48d9 M spec/ruby/command_line/backtrace_limit_spec.rb M spec/ruby/command_line/dash_upper_w_spec.rb M spec/ruby/command_line/dash_w_spec.rb M spec/ruby/command_line/fixtures/backtrace.rb M spec/ruby/core/array/shared/join.rb M spec/ruby/core/enumerable/grep_spec.rb M spec/ruby/core/enumerable/grep_v_spec.rb A spec/ruby/core/fiber/blocking_spec.rb A spec/ruby/core/fiber/shared/blocking.rb A spec/ruby/core/gc/auto_compact_spec.rb A spec/ruby/core/io/nonblock_spec.rb M spec/ruby/core/kernel/lambda_spec.rb M spec/ruby/core/kernel/open_spec.rb M spec/ruby/core/module/deprecate_constant_spec.rb M spec/ruby/core/module/private_class_method_spec.rb M spec/ruby/core/module/public_class_method_spec.rb M spec/ruby/core/random/default_spec.rb M spec/ruby/core/string/encode_spec.rb M spec/ruby/core/symbol/to_proc_spec.rb A spec/ruby/core/thread/ignore_deadlock_spec.rb M spec/ruby/core/warning/element_reference_spec.rb M spec/ruby/language/class_variable_spec.rb M spec/ruby/language/numbered_parameters_spec.rb M spec/ruby/language/safe_spec.rb M spec/ruby/language/variables_spec.rb commit 3bf36979d888cfa958c22fbf094ad10dabfe624d Author: git Date: Fri Oct 29 00:28:34 2021 +0900 * 2021-10-29 [ci skip] M version.h commit 0a9cbe8562d9a58ec129b34a5bfda20cee3283df Author: Nobuyoshi Nakada Date: Fri Oct 29 00:02:07 2021 +0900 Skip tests if only document files changed M .github/workflows/baseruby.yml M .github/workflows/check_dependencies.yml M .github/workflows/compilers.yml M .github/workflows/macos.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/spec_guards.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml M .github/workflows/yjit-macos.yml M .github/workflows/yjit-ubuntu.yml M .github/workflows/yjit_asm_tests.yml commit d51ba1e1be3ecbe5a02e4463f151e178de1c2a6e Author: osyo-manga Date: Thu Oct 28 18:21:27 2021 +0900 Add changes Enumerable#each_cons and each_slice in NEWS [ci skip] M NEWS.md commit e76e1d3ce4bf65b3c7f56e09dd5f51b79538df18 Author: Nobuyoshi Nakada Date: Thu Oct 28 17:42:36 2021 +0900 Downloader: retry when RFC 2616 noncompliant dates [ci skip] zlib.net rarely returns the current time in RFC 2616 noncompliant format in the response header, and the checksum does not match in that case (maybe creating the tarball on the fly?). M tool/downloader.rb commit 1d666ed50f8b4b3779583381882a0b3edd3cff0e Author: Nobuyoshi Nakada Date: Thu Oct 28 12:06:34 2021 +0900 Fix leap day with UTC offset [Bug #18274] `struct vtm::year` is a Ruby integer instance, but not a C integer type. M test/ruby/test_time.rb M time.c commit 77544caaf46503b8e56d5b37703bfd1e9fb3cbc6 Author: Koichi Sasada Date: Thu Oct 28 14:31:02 2021 +0900 add `make runirb` rule it's start irb on built ruby (not installed ruby). M common.mk commit efcf18f13ecffe5cdbe74cc532246366f60d7858 Author: Yusuke Endoh Date: Thu Oct 28 13:45:37 2021 +0900 Update TypeProf to 0.20.2 M gems/bundled_gems commit 179aa26f4fe19ceeb9eceb40e23f7b50d65d1b49 Author: Nobuyoshi Nakada Date: Thu Oct 28 13:14:31 2021 +0900 Prune stale worktrees before checking out a new pull request [ci skip] M defs/gmake.mk commit d8444593774466d835b982c215035d98bc52f3e0 Author: Kazuhiro NISHIYAMA Date: Thu Oct 28 09:12:14 2021 +0900 Fix a warning ``` ../gc.c:2342:45: warning: comparison of integers of different signs: 'short' and 'size_t' (aka 'unsigned long') [-Wsign-compare] GC_ASSERT(size_pools[pool_id].slot_size == slot_size); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ``` Add cast to short, because `GC_ASSERT`s in `size_pool_for_size` already use cast to short. M gc.c commit da22e43ce07040c71bf7ea3aff75b86aae60e7e5 Author: Kazuhiro NISHIYAMA Date: Thu Oct 28 08:23:18 2021 +0900 Fix a warning ``` ../gc.c:2342:25: warning: array subscript is of type 'char' [-Wchar-subscripts] GC_ASSERT(size_pools[pool_id].slot_size == slot_size); ^~~~~~~~ ``` M gc.c commit b74bf8dd8800e4d47923b99cf48e18c70ed59dbe Author: Nobuyoshi Nakada Date: Thu Oct 28 08:58:59 2021 +0900 Follow up the RString change [ci skip] Since 46b66eb9e8e6de2d5750591e532310e8f8599d90, already `ary` has been enclosed in `embed`. M misc/lldb_cruby.py commit 30942c19c039b8424f1648ee3bbdcc5e81698ebf Author: git Date: Thu Oct 28 02:00:25 2021 +0900 * 2021-10-28 [ci skip] M version.h commit fdbae38546c6cd352e5becfd6c555ea22eb64b96 Author: Alan Wu Date: Tue Oct 26 15:15:46 2021 -0400 YJIT: move --yjit-stats at_exit call into Ruby This change fixes `-v --yjit-stats`. Previously in this situation, YJIT._print_stats wasn't defined as yjit.rb is not evaluated when there is only "-v" and no Ruby code to run. M test/ruby/test_yjit.rb M yjit.rb M yjit_iface.c commit 6875d6d1fa086fcec58c9d888cbacc1e108a0935 Author: Alan Wu Date: Mon Oct 25 20:28:21 2021 -0400 Expect multi-line -v output for -DRUBY_DEVEL in tests On -DRUBY_DEVEL builds, `ruby -v` can print extra info about the last commit on a separate line, breaking some tests that expect a single line. Assert only the first line instead. M test/ruby/test_yjit.rb commit 0d9913e52f3cf3014f2e7a9d9276440a9cd396ea Author: Alan Wu Date: Mon Oct 25 20:22:54 2021 -0400 Fix indentation in test M test/ruby/test_yjit.rb commit 367884c65912b3305d18f74b84b7c9e396d14161 Author: Nobuyoshi Nakada Date: Wed Oct 27 23:57:08 2021 +0900 Fix yjit_asm_tests.c as C99 compliant (#5033) * rb_bug should be variadic * Prefer ANSI-style prototypes over old K&R-style definitions * Add missing argument types M misc/yjit_asm_tests.c commit a6104b392ab347c323c93a51fb3b95c3c2cc9e8f Author: John Hawthorn Date: Wed Oct 27 07:55:43 2021 -0700 YJIT: Support newhash with values (#5029) * YJIT: Implement newhash with values * YJIT: Add test of duphash * Fix compilation on macos/clang M bootstraptest/test_yjit.rb M test/ruby/test_yjit.rb M yjit_codegen.c commit 5086c25f6015558877f85c3f1c014780b08fd3ce Author: Vít Ondruch Date: Thu Oct 21 13:02:38 2021 +0200 Properly exclude test cases. Lets consider the following scenario: ~~~ irb(#):001:0> p suite OpenSSL::TestEC => OpenSSL::TestEC irb(#):002:0> p all_test_methods ["test_ECPrivateKey", "test_ECPrivateKey_encrypted", "test_PUBKEY", "test_check_key", "test_derive_key", "test_dh_compute_key", "test_dsa_sign_asn1_FIPS186_3", "test_ec_group", "test_ec_key", "test_ec_point", "test_ec_point_add", "test_ec_point_mul", "test_generate", "test_marshal", "test_sign_verify", "test_sign_verify_raw"] => ["test_ECPrivateKey", "test_ECPrivateKey_encrypted", "test_PUBKEY", "test_check_key", "test_derive_key", "test_dh_compute_key", "test_dsa_sign_asn1_FIPS186_3", "test_ec_group", "test_ec_key", "test_ec_point", "test_ec_point_add", "test_ec_point_mul", "test_generate", "test_marshal", "test_sign_verify", "test_sign_verify_raw"] irb(#):003:0> p filter /\A(?=.*)(?!.*(?-mix:(?-mix:memory_leak)|(?-mix:OpenSSL::TestEC.test_check_key)))/ => /\A(?=.*)(?!.*(?-mix:(?-mix:memory_leak)|(?-mix:OpenSSL::TestEC.test_check_key)))/ irb(#):004:0> method = "test_check_key" => "test_check_key" ~~~ The intention here is to exclude the `test_check_key` test case. Unfortunately this does not work as expected, because the negative filter is never checked: ~~~ irb(#):005:0> filter === method => true irb(#):006:0> filter === "#{suite}##{method}" => false irb(#):007:0> filter === method || filter === "#{suite}##{method}" => true ~~~ Therefore always filter against the fully qualified method name `#{suite}##{method}`, which should provide the expected result. However, if plain string filter is used, keep checking also only the method name. This resolves [Bug #16936]. M tool/lib/test/unit.rb commit 9fc2f5375d2ff4defc7581caf6f65f48f5ee83f5 Author: Kazuhiro NISHIYAMA Date: Wed Oct 27 16:55:15 2021 +0900 Sort URLs by issue numbers [ci skip] M NEWS.md commit 5ff47e0c8a97940a6f77f961ab43ebea87256dfa Author: Nobuyoshi Nakada Date: Wed Oct 27 13:19:52 2021 +0900 Check old-style definitions M configure.ac commit 219f54152aaad31b40e19eef4f01b88730734e62 Author: Kazuhiro NISHIYAMA Date: Wed Oct 27 16:18:18 2021 +0900 Update stdlib versions M NEWS.md commit 489e5e3a8293553578757664b338009667a8f204 Author: Satoshi Moris Tagomori Date: Tue Aug 24 21:00:00 2021 +0900 the core problem is the Proc is not shareable M bootstraptest/test_ractor.rb M vm_insnhelper.c commit 9541b3b7c07eeca437857bb5430dbc68d3c04858 Author: Kazuki Yamaguchi Date: Thu Feb 25 15:52:27 2021 +0900 random.c: simplify Random object deallocation This is a follow-up for commit 265c0022390e ("Do not allocate ractor-local storage in dfree function during GC", 2021-02-09). The comparison with the default rb_random_mt_t is useless in the first place, since it is never equal: no actual Random object is associated with it. [Bug #17653] https://bugs.ruby-lang.org/issues/17653 M random.c commit ed5f8eaf490fee0b186496b82519c5be29ec7e8f Author: David Rodríguez Date: Tue Oct 26 13:35:51 2021 +0200 [rubygems/rubygems] Don't warn when a lockfile is locked to a dev version Even if it's newer than the running versions. Dev versions are not released to rubygems.org, so the warning message suggests a command that doesn't work. And dev versions are currently non deterministic (2.3.0.dev can be many different versions), so the warning doesn't really make sense at the moment. https://github.com/rubygems/rubygems/commit/6f31af27ef M lib/bundler/lockfile_parser.rb M spec/bundler/lock/lockfile_spec.rb commit 4c32fcb84f19a3821c25f7a01ac995af3826d83e Author: Yusuke Endoh Date: Wed Oct 27 11:25:58 2021 +0900 [ruby/error_highlight] Make the formatter mechanism support Ractor Now the formatter configuration is per Ractor. DefaultFormatter is used if not set. DefaultFormatter#message_for is now a class method to allow sub-Ractors to call the method. https://github.com/ruby/error_highlight/commit/9fbaa8ab7c M lib/error_highlight/formatter.rb M test/error_highlight/test_error_highlight.rb commit 33844f3096ed15eb1568d6aa333d8040ec9f074a Author: Nobuyoshi Nakada Date: Wed Oct 27 10:16:52 2021 +0900 Prefer ANSI-style prototypes over old K&R-style definitions M missing/langinfo.c M thread.c commit e5319dc9856298f38aa9cdc6ed55e39ad0e8e070 Author: Jean Boussier Date: Mon Oct 18 16:23:54 2021 +0200 pack.c: add an offset argument to unpack and unpack1 [Feature #18254] This is useful to avoid repeteadly copying strings when parsing binary formats M pack.c M pack.rb M spec/ruby/core/string/unpack/shared/basic.rb M spec/ruby/core/string/unpack1_spec.rb M test/ruby/test_pack.rb commit 717ab0bb2ee63dfe76076e0c9f91fbac3a0de4fd Author: Jeremy Evans Date: Tue Oct 26 10:35:21 2021 -0900 Add Class#descendants Doesn't include receiver or singleton classes. Implements [Feature #14394] Co-authored-by: fatkodima Co-authored-by: Benoit Daloze M NEWS.md M class.c M include/ruby/internal/intern/class.h M object.c A spec/ruby/core/class/descendants_spec.rb M test/ruby/test_class.rb commit a4d5ee4f31bf3ff36c1a8c8fe3cda16aa1016b12 Author: Peter Zhu Date: Fri Oct 22 14:03:23 2021 -0400 [Bug #18264] Fix memory leak in TracePoint TracePoint leaks memory because it allocates a `rb_tp_t` struct without ever freeing it (it is created with `RUBY_TYPED_NEVER_FREE`). M test/ruby/test_settracefunc.rb M vm_trace.c commit f180fa6ca3f0972413ed37a72cde7b202a7ba85f Author: Steven Nunez Date: Tue Oct 26 11:51:35 2021 -0400 Fix Typo M doc/ractor.md commit 66e318503feb480a718ece7a18d743a283e2104f Author: git Date: Wed Oct 27 02:05:22 2021 +0900 * 2021-10-27 [ci skip] M version.h commit 26353c75a94469bad7a0e6a6aa81d968e64952d5 Author: Nobuyoshi Nakada Date: Wed Oct 27 00:50:41 2021 +0900 Embed bare `double` if `sizeof(double) == sizeof(VALUE)` M internal/numeric.h M numeric.c commit e3a783b14191fef175c9a59996afdc744c8edc4c Author: Nobuyoshi Nakada Date: Tue Oct 26 23:39:43 2021 +0900 Align `RFloat` at VALUE boundary M gc.c M internal/numeric.h M numeric.c commit afdca0e780760e008e26f4c9fc7262a0a4fe56bb Author: Nobuyoshi Nakada Date: Tue Oct 26 20:14:19 2021 +0900 Fix unaligned access to `double` in RFloat M internal/numeric.h M numeric.c commit e1ecda297e1b184d824fb4045169a20bba98a9ea Author: Nobuyoshi Nakada Date: Tue Oct 26 20:12:15 2021 +0900 Make new object for negated float as `Float` is always frozen now M parse.y commit 37395ffa05f04f90e34f18c6d59c9bd9ec1df292 Author: Shugo Maeda Date: Tue Oct 26 19:34:27 2021 +0900 Make the metaclass of Refinement explicitly Otherwise, singleton methods of Module are not inherited unless Refinement.singleton_class is called. M class.c M test/ruby/test_refinement.rb commit 8a49c7e4812a3f6d027dac1a574f47f125886935 Author: Koichi Sasada Date: Tue Oct 26 11:55:42 2021 +0900 Revert "introduce check code for mysterious EBADF" This reverts commit 7864efa105921eb3900c843126f2e0db02b9c6ae. M tool/lib/test/unit/parallel.rb commit d1424f7f7e0903c4b9c676edda02ecddd4333fef Author: Koichi Sasada Date: Tue Oct 26 11:55:36 2021 +0900 Revert "check other IO#close calls" This reverts commit a1c4cab11d613d7df037a81a770ee44a23a2e9be. M tool/lib/test/unit/parallel.rb commit 049e1f8560d2f5c06afa6b8fbcf7d4c8e0132561 Author: Nobuyoshi Nakada Date: Mon Oct 25 10:03:17 2021 +0900 Fix typo M io.c commit 5c2b6441660cdabf1efc745c25f2b1a41bb3b087 Author: Koichi Sasada Date: Tue Oct 26 11:35:57 2021 +0900 fix random EBADF problem ```ruby r, w = IO.pipe r.close IO.for_fd(w.fileno).close ``` This code closes a file descriptor `w.fileno`, but `w` doesn't know the closing. Another code can open same file descriptor with opening file (`f`). After that, the `w` will GCed and `w.fileno` is closed again, and `f.fileno` is closed too, so IO operations for `f` (`f.close`) will cause EBADF. To fix this issue, do this test in another process. M test/-ext-/wait/test_wait.rb commit 7d4c59203ffe16a7409358f69a48768a9e6d0fb1 Author: 卜部昌平 Date: Tue Oct 26 09:30:42 2021 +0900 improve doc coverage [ci skip] Just split the comment for struct's one and array's one. M include/ruby/internal/core/rstring.h commit a0029ae2b68cec3a4cb298967afbc9192d331c10 Author: 卜部昌平 Date: Tue Oct 26 09:24:56 2021 +0900 just another evidence that @shyouhei is an idiot [ci skip] (gdb) ptype/o struct RString /* offset | size */ type = struct RString { /* 0 | 16 */ struct RBasic { /* 0 | 8 */ VALUE flags; /* 8 | 8 */ const VALUE klass; /* total size (bytes): 16 */ } basic; /* 16 | 24 */ union { /* 24 */ struct { /* 16 | 8 */ long len; /* 24 | 8 */ char *ptr; /* 32 | 8 */ union { /* 8 */ long capa; /* 8 */ VALUE shared; /* total size (bytes): 8 */ } aux; /* total size (bytes): 24 */ } heap; /* 24 */ struct { /* 16 | 24 */ char ary[24]; /* total size (bytes): 24 */ } embed; /* XXX 8-byte padding */ /* total size (bytes): 24 */ } as; /* total size (bytes): 40 */ } (gdb) M include/ruby/internal/core/rstring.h commit b49ec78fd02836d4db4807fcdc86886138927c70 Author: 卜部昌平 Date: Mon Oct 25 14:05:30 2021 +0900 more on eliminating $make M .github/workflows/baseruby.yml commit b682f763397abbbee3a47569d36fcb49127a3e0a Author: 卜部昌平 Date: Mon Oct 25 13:39:27 2021 +0900 GNUMAKEFLAGS is too new for mac It is relatively well known that mac does not update its command line tools, and make is no exception. They ship GNU make 3.x, which didn't yet implemented GNUMAKEFLAGS. Resort to MAKEFLAGS there. M .github/workflows/macos.yml M .github/workflows/yjit-macos.yml commit 748688a63d8ab621d4b2ab91cbccb5cad2c7797c Author: 卜部昌平 Date: Fri Oct 22 11:15:10 2021 +0900 .github: use GNUMAKEFLAGS instead of JOBS A bit readable to me. See also https://github.com/ruby/ruby/pull/4880 M .github/workflows/bundled_gems.yml M .github/workflows/compilers.yml M .github/workflows/macos.yml M .github/workflows/mjit.yml M .github/workflows/ubuntu.yml M .github/workflows/yjit-macos.yml M .github/workflows/yjit-ubuntu.yml commit 92ec010595bed29567fc08dd4d52d4c4518f0fd4 Author: Jenny Shen Date: Wed Oct 6 17:39:23 2021 -0400 [rubygems/rubygems] Add support to build and sign certificates with multiple key algorithms https://github.com/rubygems/rubygems/commit/967876f15d Co-Authored-By: Frederik Dudzik M lib/rubygems/commands/cert_command.rb M lib/rubygems/security.rb M lib/rubygems/security/policy.rb M lib/rubygems/security/signer.rb M test/rubygems/helper.rb A test/rubygems/private_ec_key.pem M test/rubygems/test_gem_commands_cert_command.rb M test/rubygems/test_gem_security.rb commit 10fe8495cd9568be79b4c254742eb0f667e84988 Author: Maxime Chevalier-Boisvert Date: Mon Oct 25 14:53:22 2021 -0400 Update YJIT code owners. Revert accidental commit. M .github/CODEOWNERS M yjit.h commit 722d43ad5e2685c4ca6edf090755eeca1a8cc8ce Author: Maxime Chevalier-Boisvert Date: Mon Oct 25 14:29:36 2021 -0400 Test PR M yjit.h commit cf52a2c9ba0e2add78f50c32dfadda8e7808d2e9 Author: Maxime Chevalier-Boisvert Date: Mon Oct 25 14:28:39 2021 -0400 Add code owners for YJIT sources Code owners are automatically tagged as reviewers on pull requests A .github/CODEOWNERS commit a5b6598192c30187b19b892af3110a46f6a70d76 Author: Peter Zhu Date: Thu Aug 26 10:06:32 2021 -0400 [Feature #18239] Implement VWA for strings This commit adds support for embedded strings with variable capacity and uses Variable Width Allocation to allocate strings. M debug.c M ext/-test-/string/capacity.c M ext/-test-/string/cstr.c M gc.c M gc.rb M include/ruby/internal/config.h M include/ruby/internal/core/rstring.h M internal/gc.h M misc/lldb_cruby.py M ruby.c M spec/ruby/optional/capi/string_spec.rb M string.c M test/-ext-/string/test_capacity.rb M test/-ext-/string/test_rb_str_dup.rb M test/objspace/test_objspace.rb M transcode.c commit 6374be5a8188ff5ed2c70b9f1d76672c87a0eda7 Author: Peter Zhu Date: Mon Aug 2 14:22:47 2021 -0400 [Feature #18239] Refactor RVARGC alloc functions The allocation functions no longer assume that one RVALUE needs to be allocated. M class.c M gc.c M internal/gc.h commit 46b66eb9e8e6de2d5750591e532310e8f8599d90 Author: Peter Zhu Date: Mon Aug 2 12:16:24 2021 -0400 [Feature #18239] Add struct for embedded strings M include/ruby/internal/core/rstring.h M string.c commit 09fa773e04f183e5eb685f07e174efa2cf77f9dc Author: Yusuke Endoh Date: Tue Oct 26 01:58:01 2021 +0900 ast.c: Use kept script_lines data instead of re-opening the source file (#5019) ast.c: Use kept script_lines data instead of re-open the source file M ast.c M internal/vm.h M parse.y M vm_backtrace.c commit 33113c6b64b9017e8b31b6c5e9cbcd7bdf30f05a Author: git Date: Tue Oct 26 01:51:20 2021 +0900 * 2021-10-26 [ci skip] M version.h commit 557fa389155810f38f111c00a649c313a639dbb5 Author: Jean Boussier Date: Mon Oct 25 17:02:42 2021 +0200 [rubygems/rubygems] Fix Bundler::Digest#sha1 on big-endian systems As noticed by @nobu https://github.com/rubygems/rubygems/pull/4989#discussion_r735674633 From wikipedia: https://en.wikipedia.org/wiki/SHA-1#SHA-1_pseudocode > append ml, the original message length in bits, as a 64-bit big-endian integer. `Q` is native endian, so little-endian on most modern hardware. The original code from RubyDigest reverses the bytes: https://github.com/Solistra/ruby-digest/blob/d15f906caf09171f897efc74645c9e31373d7fd1/lib/ruby_digest.rb#L521 But that makes the code non-portable, the correct way is to directly ask for a big-endian representation. https://github.com/rubygems/rubygems/commit/ba2be01ea4 M lib/bundler/digest.rb commit 244c98e635a01cc7cfde9e24ed4b44413e6c3e75 Author: Alan Wu Date: Mon Oct 25 10:45:22 2021 -0400 Strip out YJIT at build time when unsupported or disabled (#5003) In an effort to minimize build issues on non x64 platforms, we can decide at build time to not build the bulk of YJIT. This should fix obscure build errors like this one on riscv64: yjit_asm.c:137:(.text+0x3fa): relocation truncated to fit: R_RISCV_PCREL_HI20 against `alloc_exec_mem' We also don't need to bulid YJIT on `--disable-jit-support` builds. One wrinkle to this is that the YJIT Ruby module will not be defined when YJIT is stripped from the build. I think that's a fair change as it's only meant to be used for YJIT development. M test/ruby/test_yjit.rb M yjit.c M yjit.rb commit e943511455acfd70dc3bd085038969a11802d688 Author: Ian C. Anderson Date: Mon Oct 25 10:40:33 2021 -0400 YJIT: Implement duphash (#5009) `duphash` showed up in the top-20 most frequent exit ops for @jhawthorn's benchmark that renders github.com/about The implementation was almost exactly the same as `duparray` Co-authored-by: John Hawthorn Co-authored-by: John Hawthorn M bootstraptest/test_yjit.rb M common.mk M yjit_codegen.c commit 1c0c8d5da2abc84a56ca4b66b73e0c262df0fbbe Author: Yusuke Endoh Date: Mon Oct 25 21:30:16 2021 +0900 test/ruby/test_jit.rb: Add a test for checkmatch insn M test/ruby/test_jit.rb commit 5bcef26d24fdd5756d2678aca03190d03a82ad9a Author: Yusuke Endoh Date: Mon Oct 25 21:28:44 2021 +0900 test/ruby/test_jit.rb: Print a hint at exit of the original process Otherwise, the hint is printed whenever fork is called. http://rubyci.s3.amazonaws.com/debian9/ruby-master/log/20211025T093004Z.log.html.gz ``` [20244/21156] TestThread#test_fork_while_lockedyou may want to add tests for following insns, when you have a chance: checkmatch you may want to add tests for following insns, when you have a chance: checkmatch you may want to add tests for following insns, when you have a chance: checkmatch = 0.19 s ``` M test/ruby/test_jit.rb commit 9d286180916e23bb2d9e6bf43cd75f439a1939ce Author: David Rodriguez Date: Sun Oct 10 17:21:53 2021 +0200 [rubygems/rubygems] Avoid loading the `digest` gem unnecessarily OpenSSL includes what we need. https://github.com/rubygems/rubygems/commit/955f3b72ca M lib/rubygems/s3_uri_signer.rb M lib/rubygems/source/git.rb M test/rubygems/test_gem_package.rb commit a959342abf3c77fc5f08a91107f5f27cfe1766a7 Author: David Rodriguez Date: Mon Oct 11 12:43:07 2021 +0200 [rubygems/rubygems] Remove comment that seems no longer accurate We require things inline or autoload them for efficiency and to avoid as much as possible conflicting with user's choice of gems. But I removed the require and observed no deadlocks when activating gems. https://github.com/rubygems/rubygems/commit/7d6333e842 M lib/rubygems/source/git.rb commit 9fbf3a1f6fbe75fb971692469fb708c9b6ae6c2e Author: David Rodriguez Date: Mon Oct 11 15:42:39 2021 +0200 Unify issue template and ISSUES.md document Some crucial information to ease maintainers work, like the advice of upgrading rubygems and bundler, was one step away from the issue template, making it easier for some users to miss. Now all relevant information is written directly in the bug report template. M lib/bundler/cli/issue.rb M lib/bundler/friendly_errors.rb commit b4a43e4f577807303b0e465a27eefff2793fe3ea Author: David Rodriguez Date: Thu Oct 14 12:03:57 2021 +0200 [rubygems/rubygems] Show proper error when previous installation of gem can't be deleted Instead of showing the bug report template with an error at a random place. https://github.com/rubygems/rubygems/commit/882ad3ab57 M lib/bundler/errors.rb M lib/bundler/rubygems_gem_installer.rb M spec/bundler/commands/install_spec.rb commit 00412be20469407cd6da813eab6bfa5b63cd945f Author: David Rodriguez Date: Thu Oct 14 12:03:51 2021 +0200 [rubygems/rubygems] Show a proper error if gem path is not writable Instead of showing the bug report place with an error at a randome place. https://github.com/rubygems/rubygems/commit/241854ce73 M lib/bundler/errors.rb M lib/bundler/rubygems_gem_installer.rb M spec/bundler/commands/install_spec.rb commit f6d190950055f8700b144ab075971edd08754d52 Author: David Rodriguez Date: Thu Oct 14 12:10:22 2021 +0200 [rubygems/rubygems] Catch up with recent error message modification https://github.com/rubygems/rubygems/commit/ae374c1f31 M spec/bundler/install/global_cache_spec.rb commit 7073870dfaa31581b2ff6787224712ad6bdd2f15 Author: David Rodriguez Date: Thu Oct 21 20:28:02 2021 +0200 [rubygems/rubygems] Improve readability by splitting updating the cache and searching it https://github.com/rubygems/rubygems/commit/d0df25bb0f M lib/bundler/source/rubygems.rb commit f7f85c1febd23eec04f78bc461b21ea604a865a9 Author: David Rodriguez Date: Thu Oct 21 00:04:09 2021 +0200 [rubygems/rubygems] Manage global gem cache directly Previously, it was maintained in sync with the standard cache. That was less efficient, and it caused some error messages to point to non existent files. https://github.com/rubygems/rubygems/commit/931f8cb8a9 M lib/bundler/rubygems_gem_installer.rb M lib/bundler/source/rubygems.rb M spec/bundler/install/global_cache_spec.rb commit 4fc29d17b36e12311c1fe1d2f63e463bbf8ad725 Author: David Rodriguez Date: Thu Oct 21 12:38:53 2021 +0200 [rubygems/rubygems] Cached gem path resolution should consider default gems https://github.com/rubygems/rubygems/commit/83b2b845b3 M lib/bundler/source/rubygems.rb commit 4edcda67b321de12d2fdc5005ff1230d8d0a0c3f Author: David Rodriguez Date: Wed Oct 20 21:15:52 2021 +0200 [rubygems/rubygems] Simplify gem downloading inside bundler We can skip most stuff in `Gem::RemoteFetcher#download`, and use `Gem::RemoteFetcher#update_cache_path` directly. This has the benefit of allowing us to remove some workarounds to support several rubygems versions, but also allows us to pass the target folder where the gem should be downloaded directly and skip the logic inside `Gem::RemoteFetcher#download` to infer the cache path. This will be useful later to fix some issues with the `global_gem_cache` feature flag. https://github.com/rubygems/rubygems/commit/8fe74a77e4 M lib/bundler/rubygems_integration.rb M lib/bundler/source/rubygems.rb M spec/bundler/bundler/rubygems_integration_spec.rb commit 03a563b47e0f021f3b7a8dc14b162068071b4d53 Author: David Rodriguez Date: Wed Oct 20 21:06:18 2021 +0200 [rubygems/rubygems] Remove unused `let` https://github.com/rubygems/rubygems/commit/7e1316e454 M spec/bundler/bundler/rubygems_integration_spec.rb commit 57d990ddab2ea59cc183f7ba239784a614f42c0f Author: David Rodriguez Date: Wed Oct 20 21:01:13 2021 +0200 [rubygems/rubygems] Raise original exception https://github.com/rubygems/rubygems/commit/3c93b9fd21 M lib/bundler/rubygems_integration.rb commit 7b821bc9b5c4505d4202536d6cbaa6df60c7e737 Author: David Rodriguez Date: Wed Oct 20 20:58:51 2021 +0200 [rubygems/rubygems] Add missing requires These methods rescue a constant defined by `rubygems/remote_fetcher`, so they should technically require it. The require is provided by `gem_remote_fetcher` anyways but I was running a unit spec that stubs that method, so I was getting an undefined constant error hiding another error. https://github.com/rubygems/rubygems/commit/8bedae4034 M lib/bundler/rubygems_integration.rb commit 9b1b1718666ab73bb2a9200a074b8c836cde8b30 Author: David Rodriguez Date: Wed Oct 20 19:27:06 2021 +0200 [rubygems/rubygems] Use `Gem::Specification#file_name` consistently https://github.com/rubygems/rubygems/commit/13b933f49a M lib/bundler/source/rubygems.rb commit 38542cfffc02216eb9de7e470f3e1574dee1aeea Author: David Rodriguez Date: Wed Oct 20 19:02:21 2021 +0200 [rubygems/rubygems] Extract a `default_cache_path` helper https://github.com/rubygems/rubygems/commit/8319305d58 M lib/bundler/source/rubygems.rb commit edc1813190b83169e4cf1ed9cc1419ccb5c3b594 Author: David Rodriguez Date: Wed Oct 20 18:49:34 2021 +0200 [rubygems/rubygems] Small refactor Extract final cache path to a variable and pass that to `download_gem`. It actually fits better the parameters documentation since it's the final directory where the downloaded gem will be placed. https://github.com/rubygems/rubygems/commit/1429db6a04 M lib/bundler/source/rubygems.rb commit 13068ebe32a7b8a1a9bd4fc2d5f157880b374e1d Author: Yusuke Endoh Date: Mon Oct 25 20:47:19 2021 +0900 process.c: Add Process._fork (#5017) * process.c: Add Process._fork This API is supposed for application monitoring libraries to hook fork event. [Feature #17795] Co-authored-by: Nobuyoshi Nakada M common.mk M internal/process.h M io.c M process.c M test/ruby/test_process.rb commit 1eac38c6093a03688c2f046cfb6a16028b9395f5 Author: Yusuke Endoh Date: Mon Oct 25 20:45:05 2021 +0900 test/ruby/test_rubyvm.rb: prevent "assigned but unused variable" warnings http://rubyci.s3.amazonaws.com/centos7/ruby-master/log/20211025T093004Z.log.html.gz ``` [ 4896/21159] TestRubyVM#test_keep_script_lines(none):3: warning: assigned but unused variable - b (none):6: warning: assigned but unused variable - c (none):1: warning: assigned but unused variable - a :3: warning: assigned but unused variable - b (none):3: warning: assigned but unused variable - b (none):6: warning: assigned but unused variable - c (none):1: warning: assigned but unused variable - a :3: warning: assigned but unused variable - b ``` M test/ruby/test_rubyvm.rb commit 7da9c25aa48c5783f8c9ad9ca4a72dd246871a98 Author: Yusuke Endoh Date: Mon Oct 25 20:44:29 2021 +0900 test/ruby/test_refinement.rb: Prevent deprecation warnings during test http://rubyci.s3.amazonaws.com/centos7/ruby-master/log/20211025T093004Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20211025T093004Z/ruby/test/ruby/test_refinement.rb:777: warning: Refinement#include is deprecated and will be removed in Ruby 3.2 /home/chkbuild/chkbuild/tmp/build/20211025T093004Z/ruby/test/ruby/test_refinement.rb:840: warning: Refinement#prepend is deprecated and will be removed in Ruby 3.2 /home/chkbuild/chkbuild/tmp/build/20211025T093004Z/ruby/test/ruby/test_refinement.rb:2620: warning: Refinement#include is deprecated and will be removed in Ruby 3.2 ``` M test/ruby/test_refinement.rb commit 00c7b91f9103fa8bc38ef294f097160c2ce92c56 Author: Yusuke Endoh Date: Mon Oct 25 20:43:42 2021 +0900 test/ruby/test_marshal.rb: Prevent "assigned but unused variable" warning http://rubyci.s3.amazonaws.com/centos7/ruby-master/log/20211025T093004Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20211025T093004Z/ruby/test/ruby/test_marshal.rb:925: warning: assigned but unused variable - objects ``` M test/ruby/test_marshal.rb commit 5af3f7f3574c16ec76fb44b21beec17a74f4417a Author: Jean Boussier Date: Mon Oct 18 10:12:39 2021 +0200 [rubygems/rubygems] Vendor a pure ruby implementation of SHA1 This allows `Source::Git` to no longer load the `digest` gem as it is causing issues on Ruby 3.1. https://github.com/rubygems/rubygems/pull/4989/commits/c19a9f2ff7 M lib/bundler.rb A lib/bundler/digest.rb M lib/bundler/gem_helper.rb M lib/bundler/source/git.rb A spec/bundler/bundler/digest_spec.rb M spec/bundler/runtime/setup_spec.rb commit 86e3d77abb8a033650937710d1ab009e98647494 Author: Yusuke Endoh Date: Mon Oct 25 20:00:51 2021 +0900 Make Coverage suspendable (#4856) * Make Coverage suspendable Add `Coverage.suspend`, `Coverage.resume` and some methods. [Feature #18176] [ruby-core:105321] M ext/coverage/coverage.c M spec/ruby/library/coverage/result_spec.rb M test/coverage/test_coverage.rb M thread.c M vm.c M vm_core.h commit 54379e3d7d297cc8b3ea61ad98c6cc337dc04882 Author: Yusuke Endoh Date: Mon Oct 25 16:05:24 2021 +0900 Update TypeProf to 0.20.1 M gems/bundled_gems commit 7394514bde24af482d4db5a89eb3fcd28f87ac11 Author: Daniel Colson Date: Fri Oct 22 15:43:27 2021 -0400 [rubygems/rubygems] Simplify and remove some unused code When `install_with_build_args` was added in https://github.com/rubygems/rubygems/commit/be96283985cb49c023112117b2ac2dea0d9becf1, there were two versions of the method: the default version in the base class that still used the locking `with_build_args`, and an override in the `Future` class (for Rubygems 2.0 and up) that yielded without calling `with_build_args`. The `with_build_args` version of the method was removed in https://github.com/rubygems/rubygems/commit/8a5b71e3e8072c64a0f3cab838ba330f5e87e37a while removing a bunch of the old Rubygems compatibility code. This commit removes `with_build_args`, since it no longer appears to be used (the build args are passed as a keyword argument to `spec.source.install` instead, since https://github.com/rubygems/rubygems/commit/be96283985cb49c023112117b2ac2dea0d9becf1). The commit also removes `install_with_build_args` and the conditional around it, since the method wasn't doing anything different than `install`, and it had a comment that was no longer accurate. https://github.com/rubygems/rubygems/commit/ba543a60eb M lib/bundler/installer/gem_installer.rb M lib/bundler/rubygems_integration.rb commit a1c4cab11d613d7df037a81a770ee44a23a2e9be Author: Koichi Sasada Date: Mon Oct 25 17:34:35 2021 +0900 check other IO#close calls http://ci.rvm.jp/results/trunk@ruby-iga/3690333 > tool/lib/test/unit/parallel.rb:68:in `close': Bad file descriptor (Errno::EBADF) M tool/lib/test/unit/parallel.rb commit 7864efa105921eb3900c843126f2e0db02b9c6ae Author: Koichi Sasada Date: Mon Oct 25 15:43:46 2021 +0900 introduce check code for mysterious EBADF parallel test randomly failed with EBADF. This patch checks wich suite causes this error. ex) http://ci.rvm.jp/results/trunk@ruby-iga/3690219 ``` /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:88:in `close': Bad file descriptor (Errno::EBADF) /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:88:in `ensure in _run_suite' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:89:in `_run_suite' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:30:in `block in _run_suites' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:29:in `map' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:29:in `_run_suites' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:128:in `run' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:211:in `
' ``` M tool/lib/test/unit/parallel.rb commit b74f9d656a028430d942fb609f79c4027f0549fa Author: Tanaka Akira Date: Mon Oct 25 12:25:13 2021 +0900 add example for buffer: argument of pack. M pack.rb commit 66d09501c2476c55664135209e657477a626afb6 Author: 180909 <734461790@qq.com> Date: Mon Oct 25 11:15:55 2021 +0800 fix typo [ci skip] M spec/ruby/core/io/open_spec.rb commit dfb47bbd17c3c2b8ce17dbafaf62df023b0224b2 Author: TSUYUSATO Kitsune Date: Mon Oct 25 12:13:44 2021 +0900 Fix `Enumerable#each_cons` and `Enumerable#each_slice` to return a receiver Co-authored-by: Takashi Kokubun Co-authored-by: Nobuyoshi Nakada M enum.c M spec/ruby/core/enumerable/each_cons_spec.rb M spec/ruby/core/enumerable/each_slice_spec.rb M test/ruby/test_enum.rb commit aa09c8dae0ac2901264f2882467fac3083b52f32 Author: Kazuhiro NISHIYAMA Date: Mon Oct 25 08:38:44 2021 +0900 Fix links [ci skip] M NEWS.md commit 4fb71575e270092770951e6a69bf006c71fadb55 Author: Nobuyoshi Nakada Date: Mon Oct 25 00:55:45 2021 +0900 [DOC] Fix code markup [ci skip] Code markup in RDoc must not be concatenated with anothr word. M enum.c M range.c M struct.c commit df4445128b52196488e3a6b3f7d8c04d0515979d Author: git Date: Mon Oct 25 00:43:45 2021 +0900 * 2021-10-25 [ci skip] M version.h commit e10dfdf6234ec4f0a11eeee91132d39cfaf6fd24 Author: Kazuki Yamaguchi Date: Sat Oct 23 19:24:02 2021 +0900 [ruby/openssl] bn: expand BIGNUM_RAND and BIGNUM_RAND_RANGE macros Now that BN.pseudo_rand{,_range} are alias, those macros are only used once. Let's expand the macros for better readability. https://github.com/ruby/openssl/commit/7c2fc00dee M ext/openssl/ossl_bn.c commit e19186707a78e6e739646dac1430dc3066cf9bad Author: Kazuki Yamaguchi Date: Sun Mar 21 00:20:04 2021 +0900 [ruby/openssl] bn: make BN.pseudo_rand{,_range} an alias of BN.rand{,_range} BN_pseudo_rand() and BN_pseudo_rand_range() are deprecated in OpenSSL 3.0. Since they are identical to their non-'pseudo' version anyway, let's make them alias. https://github.com/ruby/openssl/commit/2d34e85ddf M ext/openssl/ossl_bn.c M test/openssl/test_bn.rb commit 1b5ccc8a0c27273d2f944f9914bcbdda3ad803f7 Author: Kazuki Yamaguchi Date: Mon May 17 16:18:45 2021 +0900 [ruby/openssl] pkey, ssl: use EVP_PKEY_eq() instead of EVP_PKEY_cmp() OpenSSL 3.0 renamed EVP_PKEY_cmp() to EVP_PKEY_eq() because that was a confusing name. https://github.com/ruby/openssl/commit/d42bd7fcdb M ext/openssl/extconf.rb M ext/openssl/openssl_missing.h M ext/openssl/ossl_pkey.c M ext/openssl/ossl_ssl.c commit ee7131614c584db6e469865e19a5842e0e48680a Author: Kazuki Yamaguchi Date: Sat Feb 22 05:52:01 2020 +0900 [ruby/openssl] pkey/ec: use EC_GROUP_free() instead of EC_GROUP_clear_free() EC_GROUP_clear_free() is deprecated in OpenSSL 3.0. EC_GROUP does not include any sensitive data, so we can safely use EC_GROUP_free() instead. https://github.com/ruby/openssl/commit/e93a5fdffc M ext/openssl/ossl_pkey_ec.c commit 555788b62216996686387cdabd54f7fe10161d28 Author: Kazuki Yamaguchi Date: Tue Jun 30 16:12:14 2020 +0900 [ruby/openssl] pkey/ec: deprecate PKey::EC::Point#make_affine! and make it a no-op It converts the internal representation of the point object to the affine coordinate system. However, it had no real use case because the difference in the internal representation has not been visible from Ruby/OpenSSL at all. EC_POINT_make_affine() is marked as deprecated in OpenSSL 3.0. https://github.com/ruby/openssl/commit/e2cc81fef7 M ext/openssl/ossl_pkey_ec.c commit 16272d9ae98dfa8296d477a8e255d35f4a3d29e9 Author: Kazuki Yamaguchi Date: Tue Jun 22 18:50:17 2021 +0900 [ruby/openssl] hmac: use EVP_MD_CTX_get_pkey_ctx() instead of EVP_MD_CTX_pkey_ctx() OpenSSL 3.0 renamed EVP_MD_CTX_pkey_ctx() to include "get" in the function name. Adjust compatibility macro so that we can use the new function name for all OpenSSL 1.0.2-3.0. https://github.com/ruby/openssl/commit/c106d888c6 M ext/openssl/extconf.rb M ext/openssl/openssl_missing.h M ext/openssl/ossl_hmac.c commit 040387d265e405c769867dbedd47c723185bc944 Author: Kazuki Yamaguchi Date: Thu Apr 22 13:57:47 2021 +0900 [ruby/openssl] digest: use EVP_MD_CTX_get0_md() instead of EVP_MD_CTX_md() if exists The function was renamed in OpenSSL 3.0 due to the change of the lifetime of EVP_MD objects. They are no longer necessarily statically allocated and can be reference-counted -- when an EVP_MD_CTX is free'd, the associated EVP_MD can also become inaccessible. Currently Ruby/OpenSSL only handles builtin algorithms, so no special handling is needed except for adapting to the rename. https://github.com/ruby/openssl/commit/0a253027e6 M ext/openssl/extconf.rb M ext/openssl/openssl_missing.h M ext/openssl/ossl_digest.c M ext/openssl/ossl_hmac.c commit cfa4fa636efefddd70df82f1b0bf0d1c96bf1cf7 Author: Kazuki Yamaguchi Date: Sat Feb 22 06:37:00 2020 +0900 [ruby/openssl] bn: use BN_check_prime() in OpenSSL::BN#prime{,_fasttest}? In OpenSSL 3.0, BN_is_prime_ex() and BN_is_prime_fasttest_ex() are deprecated in favor of BN_check_prime(). https://github.com/ruby/openssl/commit/90d51ef510 M ext/openssl/extconf.rb M ext/openssl/ossl_bn.c commit fa24e7a57e15900c01fa84d7ff5b0905f6bb6092 Author: Kazuki Yamaguchi Date: Fri Mar 19 19:18:25 2021 +0900 [ruby/openssl] ssl: use SSL_get_rbio() to check if SSL is started or not Use SSL_get_rbio() instead of SSL_get_fd(). SSL_get_fd() internally calls SSL_get_rbio() and it's enough for our purpose. In OpenSSL 3.0, SSL_get_fd() leaves an entry in the OpenSSL error queue if BIO has not been set up yet, and we would have to clean it up. https://github.com/ruby/openssl/commit/e95ee24867 M ext/openssl/ossl_ssl.c commit d5aa3fcae68483b0458fbe9f1b64bd0256f9673c Author: Kazuki Yamaguchi Date: Sat Feb 22 05:47:58 2020 +0900 [ruby/openssl] ssl: use SSL_CTX_load_verify_{file,dir}() if available SSL_CTX_load_verify_locations() is deprecated in OpenSSL 3.0 and replaced with those two separate functions. Use them if they exist. https://github.com/ruby/openssl/commit/5375a55ffc M ext/openssl/extconf.rb M ext/openssl/ossl_ssl.c commit 19ef7082baa5097e3d4cddb68c98ea1ec8e34a88 Author: Kazuki Yamaguchi Date: Sat Feb 22 05:37:01 2020 +0900 [ruby/openssl] ts: use TS_VERIFY_CTX_set_certs instead of TS_VERIFY_CTS_set_certs OpenSSL 3.0 fixed the typo in the function name and replaced the current 'CTS' version with a macro. https://github.com/ruby/openssl/commit/2be6779b08 M ext/openssl/extconf.rb M ext/openssl/openssl_missing.h M ext/openssl/ossl_ts.c commit 3d16401508c3efb44eefbb2d4dfb68b850407397 Author: Kazuki Yamaguchi Date: Sat Feb 22 18:58:29 2020 +0900 [ruby/openssl] ossl.c: use ERR_get_error_all() if available OpenSSL 3.0 deprecated ERR_get_error_line_data() in favor of ERR_get_error_all(), as part of the error queue structure changes. https://github.com/ruby/openssl/commit/8e98d2ecc8 M ext/openssl/extconf.rb M ext/openssl/ossl.c commit 32d49e93cf958adf85eb12fa361f49f26d9559b7 Author: Kazuki Yamaguchi Date: Mon Sep 27 13:32:03 2021 +0900 [ruby/openssl] ext/openssl/ossl.h: add helper macros for OpenSSL/LibreSSL versions Add following convenient macros: - OSSL_IS_LIBRESSL - OSSL_OPENSSL_PREREQ(maj, min, pat) - OSSL_LIBRESSL_PREREQ(maj, min, pat) https://github.com/ruby/openssl/commit/00abee791d M ext/openssl/ossl.h commit 1ea53253606600c4f115d9acde9e858fd74f4851 Author: Nobuyoshi Nakada Date: Sun Oct 24 18:36:24 2021 +0900 Reduce YJIT runs on Ubuntu [ci skip] M .github/workflows/yjit-ubuntu.yml commit fe77a0339284b9ae5edf8f1365210545c5ba5298 Author: Nobuyoshi Nakada Date: Sun Oct 24 18:35:51 2021 +0900 Use `${{}}` for if statement M .github/workflows/yjit-macos.yml M .github/workflows/yjit-ubuntu.yml commit 408605aae7bd7b64f5fabd3e8706a61ee25ff55b Author: Nobuyoshi Nakada Date: Sun Oct 24 17:47:44 2021 +0900 EWOULDBLOCK is always defined since 74ba9c248890 M io.c commit 3d7c92df089226f3608757c45da1a4403b1dcee9 Author: Nobuyoshi Nakada Date: Sun Oct 24 17:42:28 2021 +0900 Extract io_again_p to check if EAGAIN or EWOULDBLOCK M io.c commit 9822ebee5b35d9b6581ed64ac3b4bb05c972eab3 Author: Nobuyoshi Nakada Date: Wed Oct 25 18:32:44 2017 +0900 suppress warnings by parenthesizing unclear expressions M io.c M thread.c commit 7459a32af3e89ea9990efb4d76bfdc869e480ffe Author: Nobuyoshi Nakada Date: Wed Oct 25 18:32:44 2017 +0900 suppress warnings for probable NULL dererefences M compile.c M encoding.c M vm.c M vm_core.h commit e5c2bf55d0c5b71227284a577301b3c48894032e Author: Nobuyoshi Nakada Date: Sat Oct 23 01:43:00 2021 +0900 Suppress sign-compare warning M vm.c commit b69c38e62e0b7006d2c345a88a400f2fe2cb80b9 Author: Nobuyoshi Nakada Date: Sat Oct 23 01:38:45 2021 +0900 Refactor associated pointer M pack.c commit 8d6e9b66580278900020abf77dc1aa6427a060f9 Author: Nobuyoshi Nakada Date: Sun Jun 5 20:41:32 2016 +0900 Suppress false warning for freed pointer M gc.c commit 1be2875e1d8dcd9854a3eec127861f351bc2f168 Author: Hiroshi SHIBATA Date: Sun Oct 24 09:25:20 2021 +0900 [flori/json] Bump version to v2.6.1 https://github.com/flori/json/commit/2db5894cfa M ext/json/VERSION M ext/json/lib/json/version.rb commit 4cbce7943816ee5d37e20ef2506880e016b88916 Author: Josef Šimánek Date: Sun Oct 24 01:56:25 2021 +0200 [flori/json] Bump JSON::VERSION to 2.6.0. https://github.com/flori/json/commit/da94d9f059 M ext/json/lib/json/version.rb commit d04d6bbc6cf14a4e3ca292095a00c1956e63d9fb Author: David Rodríguez Date: Wed Oct 6 11:51:33 2021 +0200 [ruby/psych] Prefer `require_relative` for internal requires https://github.com/ruby/psych/commit/a0f55ee85a M ext/psych/lib/psych.rb M ext/psych/lib/psych/class_loader.rb M ext/psych/lib/psych/core_ext.rb M ext/psych/lib/psych/handlers/document_stream.rb M ext/psych/lib/psych/handlers/recorder.rb M ext/psych/lib/psych/json/stream.rb M ext/psych/lib/psych/json/tree_builder.rb M ext/psych/lib/psych/nodes.rb M ext/psych/lib/psych/nodes/node.rb M ext/psych/lib/psych/syntax_error.rb M ext/psych/lib/psych/tree_builder.rb M ext/psych/lib/psych/visitors.rb M ext/psych/lib/psych/visitors/json_tree.rb M ext/psych/lib/psych/visitors/to_ruby.rb M ext/psych/lib/psych/visitors/yaml_tree.rb commit 48cd633094e5e57d1120c5d81afdbeb2290837b3 Author: Josef Šimánek Date: Sun Oct 24 01:24:55 2021 +0200 [ruby/psych] Add stringio as a dependency. https://github.com/ruby/psych/commit/86e3049579 M ext/psych/psych.gemspec commit bd65757f394255ceeb2c958e87f862139dd37e7b Author: git Date: Sun Oct 24 05:58:05 2021 +0900 * 2021-10-24 [ci skip] M version.h commit 53dcb3541bbe454cfad9ee8c711ef6ca565d64ce Author: Sutou Kouhei Date: Sat Oct 23 06:41:54 2021 +0900 NEWS: StringScanner 3.0.1 is released M NEWS.md commit c0c43276a10cd6ebb8b0f6d820c6811bb6aa012c Author: Sutou Kouhei Date: Sat Sep 4 04:18:31 2021 +0900 [ruby/strscan] Bump version If we use the same version as the default strscan gem in Ruby, "gem install" doesn't extract .gem. It fails "gem install" because "gem install" can't find ext/strscan/ to be built. https://github.com/ruby/strscan/commit/3ceafa6cdc M ext/strscan/strscan.c commit 76e277a08189d8b68454267887b40b2efb5c2e38 Author: Sutou Kouhei Date: Sat Oct 23 06:27:13 2021 +0900 NEWS: CSV 3.2.1 is released M NEWS.md commit ee948fc1b4cb1ad382beee709008bb93b8f6ba75 Author: rm155 <86454369+rm155@users.noreply.github.com> Date: Sun Oct 10 22:21:42 2021 -0400 [ruby/csv] Add support for Ractor (https://github.com/ruby/csv/pull/218) https://github.com/ruby/csv/commit/a802690e11 M lib/csv.rb M lib/csv/csv.gemspec M lib/csv/parser.rb M test/csv/interface/test_read.rb M test/csv/interface/test_write.rb commit 274882be62e5996d804e87103586feaeec381820 Author: Sutou Kouhei Date: Sat Oct 23 06:26:03 2021 +0900 [ruby/csv] Use test-unit gem instead of test-framework of ruby repo https://github.com/ruby/csv/commit/9c4add0d31 M lib/csv/csv.gemspec commit 8fde54a3b5073d10aff10d359a3f10818d57ea2c Author: Anthony Hernandez Date: Mon May 10 17:41:26 2021 -0700 [ruby/csv] CSV(): Add support for Ruby 3 (https://github.com/ruby/csv/pull/215) The implementation of the `CSV` shortcut method is broken in Ruby 3 for calls that look like this: ```ruby CSV(write_stream, col_sep: "|", headers: headers, write_headers: true) do |csv| ... end ``` The above will result in the following error when the `CSV` method attempts to pass on arguments to `CSV#instance`: ``` ArgumentError: wrong number of arguments (given 2, expected 0..1) ``` The issue is due to the changes in Ruby 3 relating to positional & keyword arguments. This commit updates the `CSV()` shortcut implementation to work with Ruby 3, and also updates the documentation for the shortcut method. https://github.com/ruby/csv/commit/310dee45fa M lib/csv.rb M test/csv/interface/test_read_write.rb commit 1073975013d62ff65d673874256fa318db4ef208 Author: Kenta Murata Date: Wed Jan 6 14:19:52 2021 +0900 [ruby/csv] CI: Stop coverage mesurement https://github.com/ruby/csv/commit/5ff3b95018 M lib/csv/csv.gemspec commit 8ba98f83b0fa8634c68e2d86e71718cc8097bfcf Author: Sutou Kouhei Date: Sun Sep 12 07:34:15 2021 +0900 [ruby/csv] Use "\n" for the default row separator on Ruby 3.0 or later https://github.com/ruby/csv/commit/1f9cbc170e M lib/csv.rb A lib/csv/input_record_separator.rb M lib/csv/parser.rb M lib/csv/writer.rb commit 7f3dd601c895354c041988251a0be05a8a423664 Author: Joakim Antman Date: Sun Oct 3 22:10:48 2021 +0300 [ruby/csv] Changed line ending handling to consider the combination \r\n as a single entry when row is faulty (https://github.com/ruby/csv/pull/220) https://github.com/ruby/csv/commit/29cef9ea9d M lib/csv/parser.rb M test/csv/parse/test_invalid.rb commit 39ecdabe67d1bc7c864ada6f282590dbc9d3a14e Author: Sutou Kouhei Date: Wed Sep 15 15:58:57 2021 +0900 [ruby/csv] Resolve CSV::Converters and HeaderConverters lazy It's for Ractor. If you want to use the built-in converters, you should call Ractor.make_shareable(CSV::Converters) and/or Ractor.make_shareable(CSV::HeaderConverters). https://github.com/ruby/csv/commit/b0b1325d6b M lib/csv.rb M lib/csv/fields_converter.rb commit 8aaa1c279f7c05a22dd108888d425565fc43e26f Author: Vince Date: Thu Aug 5 16:40:05 2021 -0400 [ruby/csv] doc: Match text to the struct name (https://github.com/ruby/csv/pull/217) https://github.com/ruby/csv/commit/744e41130c M lib/csv.rb commit e40baca33d44057263c7119bb07ab1401ced5d1b Author: Sutou Kouhei Date: Sun Jun 6 05:34:21 2021 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/3025070cea M lib/csv/version.rb commit 185c5738211e16f289aa7448823f678348597bb5 Author: Nobuyoshi Nakada Date: Sat Oct 23 22:18:52 2021 +0900 Add INSTRUBY_OPTS to INSTRUBY_ARGS [ci skip] For extra options from the `make` command line. Also add explicit `--install` option to install-nodoc. M common.mk commit cda8bc3657b58a5376e7bd7beec346505ebe5893 Author: Kazuki Yamaguchi Date: Sat Oct 23 13:35:04 2021 +0900 [ruby/openssl] test/openssl/test_ssl: use assert_raise in test_bad_socket The Ruby tree disallows assert_raises. https://github.com/ruby/openssl/commit/9b4f761e74 M test/openssl/test_ssl.rb commit 35b9d8d39317cc5ed9eeb11d3ecbb7335b81ed91 Author: Aaron Patterson Date: Fri Oct 22 10:14:00 2021 -0700 [ruby/openssl] Raise an exception if the IO object passed to SSLSocket isn't a file SSLSocket#connect eventually calls `GetOpenFile` in order to get the underlying file descriptor for the IO object passed in on initialization. `GetOpenFile` assumes that the Ruby object passed in is a T_FILE object and just casts it to a T_FILE without any checks. If you pass an object that *isn't* a T_FILE to that function, the program will segv. Since we assume the IO object is a file in the `connect` method, this commit adds a `CheckType` in the initialize method to ensure that the IO object is actually a T_FILE. If the object *isn't* a T_FILE, this class will segv on `connect`, so I think this is a backwards compatible change. https://github.com/ruby/openssl/commit/919fa44ec2 M ext/openssl/ossl_ssl.c M test/openssl/test_ssl.rb commit 47975ece4096cdab16b3f200f93ea2377dfb41ac Author: Kazuki Yamaguchi Date: Mon May 31 14:17:21 2021 +0900 [ruby/openssl] test/openssl/test_pkey_rsa: disable test_no_private_exp on OpenSSL 3.0 OpenSSL::PKey::RSA#set_key does not exist when built with OpenSSL 3.0, so it is not possible to create an RSA object with incomplete state. https://github.com/ruby/openssl/commit/ca03c9c070 M test/openssl/test_pkey_rsa.rb commit 95044fa13b2df0377305c747c4d2b36cbdfbb750 Author: Kazuki Yamaguchi Date: Mon May 18 02:35:35 2020 +0900 [ruby/openssl] test/openssl/test_pkey: use EC keys for PKey.generate_parameters tests OpenSSL 3.0 refuses to generate DSA parameters shorter than 2048 bits, but generating 2048 bits parameters takes very long time. Let's use EC in these test cases instead. https://github.com/ruby/openssl/commit/c732387ee5 M test/openssl/test_pkey.rb commit d67fe1e9de70592622b6c3f0f7353337886e7c35 Author: Kazuki Yamaguchi Date: Sun Mar 21 00:23:31 2021 +0900 [ruby/openssl] test/openssl/test_ssl: fix illegal SAN extension A certificate can only have one SubjectAltName extension. OpenSSL 3.0 performs a stricter validation and certificates containing multiple SANs will be rejected. https://github.com/ruby/openssl/commit/558cfbe5f5 M test/openssl/test_ssl.rb commit 79d5abd01ba51b205aa7da2ec133da6230580682 Author: Kazuki Yamaguchi Date: Thu Aug 13 23:20:55 2020 +0900 [ruby/openssl] test/openssl/test_pkcs12: fix test failures with OpenSSL 3.0 OpenSSL's PKCS12_create() by default uses pbewithSHAAnd40BitRC2-CBC for encryption of the certificates. However, in OpenSSL 3.0, the algorithm is part of the legacy provider and is not enabled by default. Specify another algorithm that is still in the default provider for these test cases. https://github.com/ruby/openssl/commit/998406d18f M test/openssl/test_pkcs12.rb commit d26e64e0eb68b9906a1d24971bef59be597b5924 Author: Kazuki Yamaguchi Date: Fri Jul 10 13:56:38 2020 +0900 [ruby/openssl] test/openssl/test_ssl: relax regex to match OpenSSL's error message OpenSSL 3.0 slightly changed the error message for a certificate verification failure when an untrusted self-signed certificate is found in the chain. https://github.com/ruby/openssl/commit/b5a0a19850 M test/openssl/test_ssl.rb commit 54047b6d0646b38cceaa2546c9ae57b5d9c4c988 Author: Kazuki Yamaguchi Date: Mon May 18 02:17:28 2020 +0900 [ruby/openssl] test/openssl/test_digest: do not test constants for legacy algorithms Remove availability test for MD4 and RIPEMD160 as they are considered legacy and may be missing depending on the compile-time options of OpenSSL. OpenSSL 3.0 by default disables them. https://github.com/ruby/openssl/commit/a3e59f4c2e M test/openssl/test_digest.rb commit 5a8e1c520ac71c76f6424f9ef5aef64a79527f78 Author: Kazuki Yamaguchi Date: Mon Sep 27 15:34:28 2021 +0900 [ruby/openssl] test/openssl/test_ssl: assume ECC support Disabling ECC support of OpenSSL is impractical nowadays. We still try to have the C extension compile on no-ec builds (as well as no-dh or no-engine, etc.) as long as we can, but keeping test cases for such an extreme scenario is not worth the effort. https://github.com/ruby/openssl/commit/2cd01d4676 M test/openssl/test_pair.rb M test/openssl/test_pkey_ec.rb M test/openssl/test_ssl.rb M test/openssl/utils.rb commit 0e805e73cedbce3748c979049c17c74f3f0eca43 Author: Kazuki Yamaguchi Date: Mon Sep 27 15:32:39 2021 +0900 [ruby/openssl] test/openssl/test_ssl: assume TLS 1.2 support Current versions of OpenSSL and LibreSSL all support TLS 1.2, so there is no need for checking the availability. https://github.com/ruby/openssl/commit/a175a41529 M test/openssl/test_ssl.rb M test/openssl/test_ssl_session.rb M test/openssl/utils.rb commit 37632a0ac635082e4ca9ca5b1c8da6b6770ff0ed Author: Kazuki Yamaguchi Date: Mon May 31 11:44:05 2021 +0900 [ruby/openssl] test/openssl/utils: remove dup_public helper method It uses deprecated PKey::{RSA,DSA,DH}#set_* methods, which will not work with OpenSSL 3.0. The same can easily be achieved using PKey#public_to_der regardless of the key kind. https://github.com/ruby/openssl/commit/7b66eaa2db M test/openssl/test_pkey_dh.rb M test/openssl/test_pkey_dsa.rb M test/openssl/test_pkey_ec.rb M test/openssl/test_pkey_rsa.rb M test/openssl/utils.rb commit e353bcd1113187185e06eac64b5f63956c30e2d9 Author: Yuki Nishijima Date: Fri Oct 22 21:56:26 2021 -0400 Sync did_you_mean M lib/did_you_mean.rb commit 93badf47704eece8b7a2b084f18a03a9083fb1a8 Author: Yuki Nishijima Date: Fri Oct 22 21:22:14 2021 -0400 Disable did_you_mean in TestPatternMatching M test/ruby/test_pattern_matching.rb commit 905be49bf6b83f7dedb555f3f897f669cb16f1ad Author: Yuki Nishijima Date: Fri Oct 22 21:14:01 2021 -0400 Remove the test for DYM's verbose formatter M test/optparse/test_did_you_mean.rb commit 66df18c55e929de4d133cd9e71807a70de392ec0 Author: Yuki Nishijima Date: Fri Oct 22 21:00:23 2021 -0400 Sync did_you_mean again M lib/did_you_mean.rb A lib/did_you_mean/formatter.rb M lib/did_you_mean/formatters/plain_formatter.rb M lib/did_you_mean/formatters/verbose_formatter.rb M lib/did_you_mean/spell_checker.rb A lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb M lib/did_you_mean/verbose.rb A test/did_you_mean/spell_checking/test_pattern_key_name_check.rb M test/did_you_mean/test_spell_checker.rb D test/did_you_mean/test_verbose_formatter.rb commit 22249bbb371d794c0330c1a4512f2581c1040297 Author: Yuki Nishijima Date: Fri Oct 22 20:56:26 2021 -0400 Revert "Sync did_you_mean" This reverts commit e22d293e06966733e71a7fd9725eee06c03d0177. M lib/did_you_mean.rb D lib/did_you_mean/formatter.rb M lib/did_you_mean/formatters/plain_formatter.rb M lib/did_you_mean/formatters/verbose_formatter.rb M lib/did_you_mean/spell_checker.rb D lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb M lib/did_you_mean/verbose.rb D test/did_you_mean/spell_checking/test_pattern_key_name_check.rb M test/did_you_mean/test_spell_checker.rb A test/did_you_mean/test_verbose_formatter.rb commit e22d293e06966733e71a7fd9725eee06c03d0177 Author: Yuki Nishijima Date: Fri Oct 22 20:35:40 2021 -0400 Sync did_you_mean M lib/did_you_mean.rb A lib/did_you_mean/formatter.rb M lib/did_you_mean/formatters/plain_formatter.rb M lib/did_you_mean/formatters/verbose_formatter.rb M lib/did_you_mean/spell_checker.rb A lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb M lib/did_you_mean/verbose.rb A test/did_you_mean/spell_checking/test_pattern_key_name_check.rb M test/did_you_mean/test_spell_checker.rb D test/did_you_mean/test_verbose_formatter.rb commit f80069820e1f7d44ef9c385254d498468a352021 Author: Alan Wu Date: Fri Oct 22 13:41:34 2021 -0400 YJIT: Don't take VM lock on constant IC fill when disabled While theoretically it's fine to take the lock and then immediately release it, we don't need to do it when YJIT is off. M yjit_iface.c commit 7246c5b811a7b937854efb821cc457f101ad5ff1 Author: Sutou Kouhei Date: Sat Oct 23 06:03:57 2021 +0900 NEWS: Fiddle 1.1.0 is released M NEWS.md commit 199ba9c377be894d407d27fb1ab2defe119398d7 Author: Koichi Sasada Date: Sat Oct 23 01:38:05 2021 +0900 update NEWS about last commits. M NEWS.md commit 41f6ce9f1cd9c48d787b2f50e0c14f934e9e48d8 Author: git Date: Sat Oct 23 01:33:10 2021 +0900 * 2021-10-23 [ci skip] M version.h commit df9fac5ccd905d57251ffa89f28959c1b2a294eb Author: Koichi Sasada Date: Fri Oct 22 18:22:00 2021 +0900 update doc/ractor.md about ivars M doc/ractor.md commit a7776077be7b1754b4306f00694a8f4d42009159 Author: Koichi Sasada Date: Fri Oct 22 18:06:36 2021 +0900 add vm_ivar_of_class_set benchmark for a class's ivar setter A benchmark/vm_ivar_of_class_set.yml commit acb23454e57e1bbe828e7f3114430cab2d5db44c Author: Koichi Sasada Date: Fri Oct 22 17:24:34 2021 +0900 allow to access ivars of classes/modules if an ivar of a class/module refer to a shareable object, this ivar can be read from non-main Ractors. A benchmark/vm_ivar_of_class.yml M bootstraptest/test_ractor.rb M bootstraptest/test_yjit.rb M variable.c commit 6b9285e8d45e88c5b014b8428520ffa2401789ad Author: Koichi Sasada Date: Fri Oct 22 23:54:51 2021 +0900 'uri/https' is needed `URI.parse('https://a.b.c/')` needs 'uri/https'. M test/uri/test_http.rb commit ba4bf8a1e6554c47b5559a6568ebb8aea5a21d9e Author: Alan Wu Date: Fri Oct 22 10:53:42 2021 -0400 Fix simple test on platforms where compaction is not supported 844588f9157b364244a7d34ee0fcc70ccc2a7dd9 made it so that trying to call gc_verify_compaction_references on unsupported platform result in an exception rather than a crash. Rescue the exception in a YJIT btest that uses gc_verify_compaction_references. M bootstraptest/test_yjit.rb commit d09cb64ae5c618f1cb2d90c544b7e0bc55ebb003 Author: rm155 Date: Thu Aug 5 21:14:36 2021 -0400 [ruby/mutex_m] Make VERSION shareable https://github.com/ruby/mutex_m/commit/a839e29d04 M lib/mutex_m.rb commit 553f234a07fe000cf5416793c1f9c0273518d906 Author: Tiago Date: Mon Sep 20 22:53:42 2021 +0100 [ruby/uri] URI#HTTP#origin and URI#HTTP#authority (https://github.com/ruby/uri/pull/30) https://github.com/ruby/uri/commit/bf13946c32 Co-authored-by: Samuel Williams M lib/uri/http.rb M test/uri/test_http.rb commit c8ad024e8e89550009bc4ee76fd6a4b22e18e207 Author: Olle Jonsson Date: Wed Oct 6 13:49:33 2021 +0200 [ruby/delegate] gemspec: Drop unused executables directives https://github.com/ruby/delegate/commit/81a3c32140 M lib/delegate/delegate.gemspec commit aee4940d5e45f6502aa661662d0ee142a45b98dc Author: Nobuyoshi Nakada Date: Fri Oct 22 17:08:44 2021 +0900 Reduce YJIT runs on macOS [ci skip] MacOs concurrency on GitHub Actions is limited, and the performance is relatively poor. M .github/workflows/yjit-macos.yml commit 93691d07525773b4b77eeaba347e8d910ab3dcbb Author: Hiroshi SHIBATA Date: Fri Oct 22 13:04:42 2021 +0900 Import bigdecimal-3.1.0.dev M ext/bigdecimal/bigdecimal.gemspec M test/bigdecimal/test_bigdecimal.rb M test/bigdecimal/test_ractor.rb commit 22a7f7ec5a23bf37c31b227ca0ebb198bfcda2af Author: Nobuyoshi Nakada Date: Fri Oct 22 13:53:21 2021 +0900 Refinement#include and Refinement#prepend have been deprecated M spec/ruby/core/module/refine_spec.rb commit 598382f686ef1a9687fbc814f8cf1c5ef5c97cfe Author: Koichi Sasada Date: Fri Oct 22 14:43:27 2021 +0900 debug.gem 1.3.1 M gems/bundled_gems commit 9f4f3bd1cce879d1de906b332353e5e9c051df00 Author: Nobuyoshi Nakada Date: Fri Oct 22 13:53:21 2021 +0900 Refinement#include and Refinement#prepend have been deprecated M spec/ruby/core/module/refine_spec.rb commit 4446942f1ab79b9687b009936d5365cfa846258f Author: Nobuyoshi Nakada Date: Thu Oct 21 21:52:17 2021 +0900 Extract UNPACK_FETCH M pack.c commit 6469038ae2ca8a5f0ea8c1274030996240e7df70 Author: Takashi Kokubun Date: Thu Oct 21 20:41:13 2021 -0700 Fix TestRubyOptions#test_enable for -DMJIT_FORCE_ENABLE --enable=all didn't work when cppflags=-DMJIT_FORCE_ENABLE was given. M ruby.c commit 844588f9157b364244a7d34ee0fcc70ccc2a7dd9 Author: Aaron Patterson Date: Thu Oct 21 13:27:56 2021 -0700 Push compaction page alignment check down It seems like `gc_verify_compaction_references` is not protected in case alignment is wrong. This commit pushes the alignment check down to `gc_start_internal` so that anyone trying to compact will check page alignment I think this method may be getting called on PowerPC and the alignment might be wrong. http://rubyci.s3.amazonaws.com/ppc64le/ruby-master/log/20211021T190006Z.fail.html.gz M gc.c commit bdfc23cba9c7ade8f4528f38b19b0ea11c0d56c4 Author: Alan Wu Date: Thu Oct 21 15:07:32 2021 -0400 YJIT: don't compile attr_accessor methods when tracing (#4998) 2d98593bf54a37397c6e4886ccc7e3654c2eaf85 made it so that attr_accessor methods fire C method tracing events. Previously, we weren't checking for whether we are tracing before compiling, leading to missed events. Since global invalidation invalidates all code, and that attr_accessor methods can never enable tracing while running, events are only dropped when YJIT tries to compile when tracing is already enabled. Factor out the code for checking tracing and check it before generating code for attr_accessor methods. This change fixes TestSetTraceFunc#test_tracepoint_attr when it's ran in isolation. M bootstraptest/test_yjit.rb M yjit_codegen.c commit d0cad8ad83a72455c35afc5300f090c7742af007 Author: Justin Searls Date: Thu Oct 21 12:58:51 2021 -0400 [rubygems/rubygems] Re-enable `default_ignores` option for standard I am not sure why this flag was turned off (it wasn't explained in my commit message in 0365dc852767ae589376a7aad1fb129738e408b0 or in my PR in #4411). Whatever the reason, without `default_ignores` turned on, most default CI configurations will immediately fail, as they most likely vendor and cache their dependencies under `vendor`, which will cause standard to run against all the vendored gems and (most likely) fail. I think we should remove this before this feature is released. https://github.com/rubygems/rubygems/commit/677f74be48 M lib/bundler/templates/newgem/standard.yml.tt commit 32a8cb965c28455ea8bce8d7d84efab456db773f Author: Maxime Chevalier-Boisvert Date: Thu Oct 21 12:49:58 2021 -0400 Add link to YJIT blog post to NEWS.md Requested by @nurse M NEWS.md commit ad1f7f2a8e0232207033320856f22eb4d6653793 Author: git Date: Fri Oct 22 00:28:26 2021 +0900 * 2021-10-22 [ci skip] M version.h commit 119626da947bf6492ef7a27abf3bf12de5d0d95a Author: Jeremy Evans Date: Thu Oct 21 08:02:28 2021 -0700 Force disable yjit on OpenBSD TestRubyOptions#test_enable was broken on OpenBSD after the yjit merge. --yjit (and --enable-all, which enables --yjit) fails on OpenBSD because yjit uses an insecure mmap call (both writable and executable), in alloc_exec_mem, which OpenBSD does not allow. This can probably be reverted if yjit switches to a more secure mmap design (writable xor executable). This would involve initially calling mmap with PROT_READ | PROT_WRITE, and after writing of executable code has finished, using mprotect to switch to PROT_READ | PROT_EXEC. I believe Firefox uses this approach for their Javascript engine since Firefox 46. M ruby.c commit d74f1e1623a622b2e880e7043857e13b5919c47e Author: Hiroshi SHIBATA Date: Thu Oct 21 21:19:16 2021 +0900 Added version of readline-ext M NEWS.md commit c5345979e89e95f920e07352038ccb2c83dcf0f8 Author: Hiroshi SHIBATA Date: Thu Oct 21 21:16:51 2021 +0900 Bump up readline-ext version to 0.1.3 M ext/readline/readline-ext.gemspec commit 03fd60937dab442906f00e3d0dbba8d10b1c66a8 Author: Hiroshi SHIBATA Date: Thu Oct 21 21:07:23 2021 +0900 Update the merged versions of default gems. M NEWS.md commit eac7a71062be3539ff9e6628343b079ed94d010c Author: Hiroshi SHIBATA Date: Thu Oct 21 14:57:19 2021 +0900 [ruby/prettyprint] Bump up prettyprint version to 0.1.1 https://github.com/ruby/prettyprint/commit/0e8eee5f5f M lib/prettyprint.gemspec commit ba3c2593ab6b219a50ec3ca09b7b618bb6833443 Author: Hiroshi SHIBATA Date: Thu Oct 21 15:03:42 2021 +0900 [ruby/pp] Bump up pp version to 0.2.1 https://github.com/ruby/pp/commit/06b839b9ca M lib/pp.gemspec commit 9f398d023b16d844ced4e3100a85e115853af218 Author: Hiroshi SHIBATA Date: Thu Oct 21 20:08:26 2021 +0900 [ruby/securerandom] Bump up securerandom version to 0.1.1 https://github.com/ruby/securerandom/commit/5f9d3d1dfa M lib/securerandom.gemspec commit aca0dcc5f97c2dd5690e167e22e945a21535a512 Author: Hiroshi SHIBATA Date: Thu Oct 21 15:26:58 2021 +0900 [ruby/rinda] Bump up rinda version to 0.1.1 https://github.com/ruby/rinda/commit/d394ba107e M lib/rinda/rinda.gemspec commit b8d49d0d01662c87628e7d5e9285a9d71d2df96a Author: Hiroshi SHIBATA Date: Thu Oct 21 20:38:56 2021 +0900 [ruby/optparse] Bump up optparse version to 0.2.0 https://github.com/ruby/optparse/commit/1226b670e6 M lib/optparse.rb commit cb4c98f94966b2434339a44b9ceba44cafff7fc8 Author: Hiroshi SHIBATA Date: Thu Oct 21 20:06:05 2021 +0900 [ruby/net-http] Bump up net-http version to 0.2.0 https://github.com/ruby/net-http/commit/f3e65e2a31 M lib/net/http.rb commit cc2f76041df460056a40876a993a45b75185b007 Author: Hiroshi SHIBATA Date: Thu Oct 21 19:57:29 2021 +0900 [ruby/net-protocol] Bump up net-protocol version to 0.1.2 https://github.com/ruby/net-protocol/commit/088e52609a M lib/net/protocol.rb commit 8ef125c838fdcc1ef5581667b0b3b8d6441cd830 Author: Hiroshi SHIBATA Date: Thu Oct 21 15:53:55 2021 +0900 [ruby/uri] Bump up uri version to 0.11.0 https://github.com/ruby/uri/commit/1619f713e6 M lib/uri/version.rb commit 422b057d65ae429cf6cd4200366d833174837ec8 Author: Hiroshi SHIBATA Date: Thu Oct 21 13:54:31 2021 +0900 [ruby/ostruct] Bump up ostruct version to 0.5.0 https://github.com/ruby/ostruct/commit/c535a406f8 M lib/ostruct.rb commit 7529fe82f097e3432ba1450b4fc1109e3cfa8572 Author: Hiroshi SHIBATA Date: Thu Oct 21 20:20:20 2021 +0900 [ruby/io-wait] Bump up io-wait version to 0.2.0 https://github.com/ruby/io-wait/commit/f6a1b10a59 M ext/io/wait/io-wait.gemspec commit 8eb8522f47c9a9ddbc56ee98f88449bc79de022d Author: Hiroshi SHIBATA Date: Thu Oct 21 20:46:40 2021 +0900 [ruby/stringio] Bump up stringio version to 3.0.1 https://github.com/ruby/stringio/commit/f7c40aa339 M ext/stringio/stringio.c commit 6b08aaf228d43e42be09742470749c73a134d30f Author: Hiroshi SHIBATA Date: Thu Oct 21 20:14:34 2021 +0900 [ruby/fileutils] Bump up fileutils version to 1.6.0 https://github.com/ruby/fileutils/commit/918d19e4f2 M lib/fileutils.rb commit 6606597109bdb535a150606323ce3d8f5750e1f6 Author: Shugo Maeda Date: Thu Oct 21 16:21:08 2021 +0900 Deprecate include/prepend in refinements and add Refinement#import_methods instead Refinement#import_methods imports methods from modules. Unlike Module#include, it copies methods and adds them into the refinement, so the refinement is activated in the imported methods. [Bug #17429] [ruby-core:101639] M NEWS.md M class.c M eval.c M include/ruby/internal/globals.h M include/ruby/internal/intern/class.h M object.c M test/ruby/test_refinement.rb M vm.c commit 7185c00fcc330db8951b684f548ba3d10983bb92 Author: Koichi Sasada Date: Thu Sep 30 17:30:04 2021 +0900 freeze (make shareable) script_lines M common.mk M iseq.c M test/ruby/test_rubyvm.rb commit c7550537f11dcf6450a9d3df3af3fa1f4fe05b15 Author: Koichi Sasada Date: Thu Sep 30 16:58:46 2021 +0900 `RubyVM.keep_script_lines` `RubyVM.keep_script_lines` enables to keep script lines for each ISeq and AST. This feature is for debugger/REPL support. ```ruby RubyVM.keep_script_lines = true RubyVM::keep_script_lines = true eval("def foo = nil\ndef bar = nil") pp RubyVM::InstructionSequence.of(method(:foo)).script_lines ``` M common.mk M compile.c M internal/compile.h M iseq.c M parse.y M test/ruby/test_rubyvm.rb M vm.c M vm_core.h commit 3b16d07e457264d7c171f8d1fcfaddb0dad90f57 Author: Takashi Kokubun Date: Wed Oct 20 22:08:42 2021 -0700 Fix test_version again for RUBY_YJIT_ENABLE=1 M test/ruby/test_rubyoptions.rb commit 76f9bc7e660c6b46b9f80712d415151f32280e2d Author: Takashi Kokubun Date: Wed Oct 20 21:57:48 2021 -0700 Reduce the amount of false positive notifications While f6048e592c520e20ba498ba4d553f07f02213a61 tried to approach the instability mentioned there, unfortunately the Travis arm32 environment seems unstable by itself. I already saw 2 different failures in the last 4 builds: https://app.travis-ci.com/github/ruby/ruby/jobs/544382885 https://app.travis-ci.com/github/ruby/ruby/jobs/544361370 Let's revisit this when this kind of thing stops happening. M .travis.yml commit 582316870639fc13e77a63c7704beacb2686da7b Author: Hiroshi SHIBATA Date: Thu Oct 21 13:48:51 2021 +0900 [ruby/psych] Bump up psych version to 4.0.2 https://github.com/ruby/psych/commit/69a713f860 M ext/psych/lib/psych/versions.rb commit 4d4bdcf368d72c7dbedbc58fb3ebcad8447ffcd8 Author: Nobuyoshi Nakada Date: Thu Oct 21 13:06:30 2021 +0900 Move the test file M doc/yjit/yjit.md M misc/test_yjit_asm.sh R100 yjit_asm_tests.c misc/yjit_asm_tests.c commit 58956dba168eb47b7ceba82f2e915d65eb3db240 Author: Nobuyoshi Nakada Date: Thu Oct 21 12:58:24 2021 +0900 Fix for out-of-place build M misc/test_yjit_asm.sh commit 18b65508e28b42849bb7523014aa7f2296fe6c60 Author: Nobuyoshi Nakada Date: Thu Oct 21 12:57:02 2021 +0900 Suppress warnings M yjit_asm_tests.c commit 66a64e6f16c0db8d6c049d5885e63a3c61f9bc18 Author: Takashi Kokubun Date: Wed Oct 20 20:44:20 2021 -0700 Fix tests with cppflags=-DYJIT_FORCE_ENABLE https://github.com/ko1/build-ruby/commit/0dbd95c6250594b6ddadc3c4424b071704083187 M spec/ruby/command_line/dash_v_spec.rb M test/ruby/test_rubyoptions.rb commit 8684946b211db5edd113e1ae6df1bc77d045b4a8 Author: Maxime Chevalier-Boisvert Date: Wed Oct 20 15:51:07 2021 -0400 Add bit about YJIT to NEWS.md M NEWS.md commit 7637175a84ee0c11ee6846c12e12bdc3d9a025ed Author: git Date: Thu Oct 21 08:12:53 2021 +0900 * append newline at EOF. [ci skip] M bootstraptest/test_yjit_30k_ifelse.rb M bootstraptest/test_yjit_30k_methods.rb commit 6a9e2b3cc381fd1b6c5ec5eddb077ea5468ef75e Author: Alan Wu Date: Wed Oct 20 19:04:22 2021 -0400 YJIT: Show GCC that the mmap probing loop runs at least once Fixes: ./src/yjit_asm.c:196:8: warning: 'mem_block' may be used uninitialized [-Wmaybe-uninitialized] M yjit_asm.c commit 00be5846e4793b718da19dafec3f4ecf2d6d0692 Author: Alan Wu Date: Tue Oct 19 16:43:20 2021 -0400 Fix non RUBY_DEBUG build warnings On non RUBY_DEBUG builds, assert() compiles to nothing and the compiler warns about uninitialized variables in those code paths. Replace those asserts with rb_bug() to fix the warnings and do the assert in all builds. Since yjit_asm_tests.c compiles outside of Ruby, it needed a distinct version of rb_bug(). Also put YJIT_STATS check for function delcaration that is only defined in YJIT_STATS builds. M misc/test_yjit_asm.sh M yjit_asm.c M yjit_asm_tests.c M yjit_codegen.c M yjit_iface.h commit cffa1162758a67dd73da6cd911d593f67f05ea7b Author: Alan Wu Date: Wed Oct 20 13:20:08 2021 -0400 Do kwarg shuffle after checking for interrupts Previously, we were shuffling keyword arguments before checking for interrupts. In the case that we side exit in the interrupt check, we left the interpreter with an already-shuffled argument list for the call, resulting in a double shuffle, leaving the locals in the wrong order for the callee. Do keyword shuffling after all the possible side exits. Co-authored-by: Kevin Newton M bootstraptest/test_yjit.rb M yjit_codegen.c commit c062028d3785d5d56deb1be6c4c5733f7f9f19ac Author: Alan Wu Date: Tue Oct 19 17:51:40 2021 -0400 YJIT: check machine arch before enabling So we don't try to run x64 on ARM. M yjit.c commit b74d6563a665f225f182c4921db68852bbb7e1f1 Author: Alan Wu Date: Mon Oct 18 17:01:40 2021 -0400 Extract yjit_force_iv_index and make it work when object is frozen In an effort to simplify the logic YJIT generates for accessing instance variable, YJIT ensures that a given name-to-index mapping exists at compile time. In the case that the mapping doesn't exist, it was created by using rb_ivar_set() with Qundef on the sample object we see at compile time. This hack isn't fine if the sample object happens to be frozen, in which case YJIT would raise a FrozenError unexpectedly. To deal with this, make a new function that only reserves the mapping but doesn't touch the object. This is rb_obj_ensure_iv_index_mapping(). This new function superceeds the functionality of rb_iv_index_tbl_lookup() so it was removed. Reported by and includes a test case from John Hawthorn Fixes: GH-282 M bootstraptest/test_yjit.rb M internal/variable.h M variable.c M vm_insnhelper.c M yjit_codegen.c commit 2e2430564aa32b68f9e2d99e1f1e273bee3defda Author: Maxime Chevalier-Boisvert Date: Mon Oct 18 15:49:22 2021 -0400 Update yjit.md M doc/yjit/yjit.md commit adcee68aa02d33b3a2a0eb8ade3bb53b9ca6c1d8 Author: Alan Wu Date: Mon Oct 18 10:54:43 2021 -0400 Doc: remove outdated note about hooking into the interpreter DAE remember MicroJIT? M doc/yjit/yjit.md commit 8a9a2d004951dc0c9e724fbb050d14b75d4fcd1d Author: Alan Wu Date: Mon Oct 18 10:53:29 2021 -0400 Move test_yjit_asm.sh into misc Since conventionally scripts don't live at the top level of the repo. R088 .github/workflows/asm_tests.yml .github/workflows/yjit_asm_tests.yml M doc/yjit/yjit.md R100 test_asm.sh misc/test_yjit_asm.sh commit 5906a5a7329e34a43dc46d4fc3cdf1b04cc13d0a Author: Alan Wu Date: Mon Oct 18 11:30:18 2021 -0400 Add comments about special runtime routines YJIT calls When YJIT make calls to routines without reconstructing interpreter state through jit_prepare_routine_call(), it relies on the routine to never allocate, raise, and push/pop control frames. Comment about this on the routines that YJTI calls. This is probably something we should dynamically verify on debug builds. It's hard to statically verify this as it requires verifying all functions in the call tree. Maybe something to look at in the future. M internal/array.h M internal/string.h M object.c M vm_core.h M vm_insnhelper.c commit 1e23b1a6c2614c8e3a1be0be4df6dee9202701d5 Author: Alan Wu Date: Mon Oct 18 10:25:28 2021 -0400 Actually, tabs are okay in Makefile M common.mk commit 454fbe10460e7758718f637d0af82823c16b5ec4 Author: Alan Wu Date: Mon Oct 18 09:49:36 2021 -0400 Expand tabs M common.mk M vm.c M yjit_codegen.c commit 38f364b8f5df77a82cd485bb848fe78ba2fd5ab9 Author: Alan Wu Date: Mon Oct 18 09:33:32 2021 -0400 Update dependencies M common.mk commit da305dd23e68d1b30be5f7e21c798ee3519f23c1 Author: Noah Gibbs Date: Mon Oct 18 14:06:03 2021 +0100 Match the main-branch location of yjit in inits.c M inits.c commit 40608d0b7bd20c20595f7f2f04d35bb2190cc031 Author: Alan Wu Date: Fri Oct 15 18:26:32 2021 -0400 Fix indentation in ruby.c M ruby.c commit 95e337f815b68b50d4455c4c9a8722b8794bfffa Author: Alan Wu Date: Fri Oct 15 17:15:42 2021 -0400 Warn when trying to use YJIT in --disable-jit-support builds M ruby.c commit ff863f3818dfc8576f72f2a794756bc3b96fdbe9 Author: Alan Wu Date: Fri Oct 15 17:15:33 2021 -0400 Show --yjit in help message M ruby.c commit 11096da6cc655b301b91e985e9ba1bad748e91bf Author: Alan Wu Date: Fri Oct 15 16:51:57 2021 -0400 Improve YJIT command line option parsing Previously, options such as "--yjit123" would enable YJIT. Additionally, the error message for argument parsing mentioned "--jit-..." instead of "--yjit-...". M ruby.c M test/ruby/test_yjit.rb commit d11ea2520e24fdc7114a6400f00c96d241665bff Author: Maxime Chevalier-Boisvert Date: Fri Oct 15 17:19:17 2021 -0400 Update yjit.md M doc/yjit/yjit.md commit de0af4faada742ca5113318776aa2d96e403a982 Author: Alan Wu Date: Fri Oct 15 15:49:05 2021 -0400 Revert "Disable YJIT while running MJIT tests (#62)" This reverts commit 60f3f25cc421b75b3dbf02fef759c4857bf3ef46. We don't need to pass --disable-yjit when running MJIT tests anymore because we are off by default. M .github/workflows/mjit.yml commit 27358b6ee488a51cfa89a096d287a12a1950967c Author: Alan Wu Date: Fri Oct 15 14:10:10 2021 -0400 Simplify code for YJIT const cache in compile.c Since opt_getinlinecache and opt_setinlinecache point to the same cache struct, there is no need to track the index of the get instruction and then store it on the cache struct later when processing the set instruction. Setting it when processing the get instruction works just as well. This change reduces our diff. M compile.c commit 28632ea7ba583328acc2f91f2de63a476c536c32 Author: Alan Wu Date: Fri Oct 15 13:41:21 2021 -0400 Mention YJIT in Capstone autoconf check M configure.ac commit 63faab3c362941b57295307a381154d03c3b7fc9 Author: Alan Wu Date: Fri Oct 15 13:30:01 2021 -0400 Minimize diff in existing workflow files M .github/workflows/macos.yml M .github/workflows/ubuntu.yml commit 4cad89308027d56b984fec0f9c796637832fb258 Author: eileencodes Date: Thu Oct 14 13:48:24 2021 -0400 Add String#bytesize Fixes: https://github.com/Shopify/yjit/issues/258 Co-authored-by: Aaron Patterson tenderlove@ruby-lang.org M yjit_codegen.c commit 5d2e5218f643917e3add702e48ebe48ce7cb80ba Author: Alan Wu Date: Fri Oct 8 16:50:13 2021 -0400 Use env var to turn on YJIT for test-bundled-gems tool/test-bundled-gems.rb use sub processes for testing bundled gems and doesn't support RUN_OPTS. We weren't enabling YJIT for these tests. Use an include config with RUBY_YJIT_ENABLE to turn on YJIT for these tests. Note that we only test with the default call threshold in this setup, which is the same as before YJIT was off by defauft. The --yjit-call-threshold command line was never passed to the tests. M .github/workflows/yjit-ubuntu.yml commit ec4a79a7466a0670b2b6218be8f59f570fa9bad9 Author: Alan Wu Date: Fri Oct 8 15:26:14 2021 -0400 Remove YJIT CI configs for tests make check runs "make check" runs "make test-spec" and "make test-all", so they don't need to be individual elements of the matrix. M .github/workflows/yjit-ubuntu.yml commit 413397b91e5740f41a0d32f819efe4276f42dc09 Author: Alan Wu Date: Fri Oct 8 15:22:39 2021 -0400 Turn on YJIT for repeat-count=2 runs through env var It wasn't on at all before... Since it's a snowflake "include" matrix element, might as well test the env var with it. M .github/workflows/yjit-ubuntu.yml commit 27661ee8a358626691a39c0ebe405b6bd8f66a2f Author: Alan Wu Date: Fri Oct 8 14:44:02 2021 -0400 Turn on YJIT in macOS workflow It wasn't on at all and the printout of RUBY_DESCRIPTION at the end of `make check` wasn't saying +YJIT. M .github/workflows/yjit-macos.yml commit efed45966b3aac728bbbe2cfc7ec937b7712c146 Author: Alan Wu Date: Thu Oct 7 18:05:10 2021 -0400 Show +YJIT in version string and RUBY_DESCRIPTION There might be code out there that expect `ruby -v` to print only one line. Since MJIT shows +JIT in `ruby -v` and RUBY_DESCRIPTION, let's show +YJIT. The crash report doesn't show anything about MJIT, so adjust the test. The "test_ruby_version" test was unaware of RUBY_YJIT_ENABLE and so was failing when the variable is set and inherited into the children processes it spawns. Explicitly unset the variable in the test. M test/-ext-/bug_reporter/test_bug_reporter.rb M test/ruby/test_rubyoptions.rb M test/ruby/test_yjit.rb M version.c commit 13261f00fbe844261f364d51fc97318758d87c2b Author: Kevin Newton Date: Fri Oct 8 14:40:38 2021 -0400 More simple bootstrap tests for kwargs M bootstraptest/test_yjit.rb commit 32b5125c5eb40422ef8a92a9886986a9ee4dc299 Author: Alan Wu Date: Thu Oct 7 14:59:55 2021 -0400 else if style M yjit_codegen.c commit 35b37c5873d49b7e2ac2d406532635b0871c8dcf Author: Maxime Chevalier-Boisvert Date: Thu Oct 7 11:50:18 2021 -0700 Update yjit_codegen.c Co-authored-by: Alan Wu M yjit_codegen.c commit 201721b713d2cb8b7f7374c9c5ba037c3b8f540d Author: Maxime Chevalier-Boisvert Date: Thu Oct 7 11:50:12 2021 -0700 Update yjit_codegen.c Co-authored-by: Alan Wu M yjit_codegen.c commit 56b1b93a0c504b93f7536effca155c0fdeebeb8e Author: Kevin Newton Date: Thu Oct 7 11:01:37 2021 -0400 Feedback, tests, and rebase for kwargs M bootstraptest/test_yjit.rb M yjit.c M yjit_codegen.c commit c5acbd0208aa61e05718f73a093c7c6bdc142091 Author: Kevin Newton Date: Wed Oct 6 11:15:25 2021 -0400 Bail out if passing keyword arguments to only positional and/or optional methods M yjit_codegen.c commit 06a826b8c88e4d76d90bb5b9c3644387321b5fbc Author: Kevin Newton Date: Tue Oct 5 15:32:58 2021 -0400 Set up the callee stack pointer properly taking into account the bits object M yjit_codegen.c commit 5759d840c3bfc5a2b7a127948a8703c1b584c911 Author: Kevin Newton Date: Tue Oct 5 10:38:41 2021 -0400 Correct for positional required arguments M yjit_codegen.c commit 266e12ac2262db776c6138e144628b9f31d763a8 Author: Kevin Newton Date: Mon Oct 4 13:08:57 2021 -0400 Push the unspecified_bits_value onto the stack M yjit_codegen.c commit 9aed5809e11ab4dc7db044d312d585732cfc1d5f Author: Kevin Newton Date: Wed Sep 29 13:43:26 2021 -0400 Reuse stack swapping logic M yjit_codegen.c commit 2c0891be204f270028e533bd1196a034a599d8f8 Author: Kevin Newton Date: Tue Sep 28 15:51:33 2021 -0400 Get kwargs reordering working M bootstraptest/test_yjit.rb M yjit_codegen.c commit 885bb972bfd80cb1c6ca4e5f521e823a1ae14c4a Author: Kevin Newton Date: Tue Sep 28 14:45:35 2021 -0400 Get kwargs working for all passed in the correct order M yjit_codegen.c commit 1f25bba7b7d8851039df82fe3809387629256c78 Author: Alan Wu Date: Thu Oct 7 17:53:59 2021 -0400 YJIT_STATS instead of RUBY_DEBUG for --yjit-stats in help printout M ruby.c commit d4fae3e390c884f23048d8070d456d9f4f7d3233 Author: Alan Wu Date: Thu Oct 7 17:52:36 2021 -0400 Say YJIT is disabled by default in ruby --help M ruby.c commit d355bf17ba54d608b0dd1eda5a09b35fb3b2a4c6 Author: Alan Wu Date: Thu Oct 7 14:55:46 2021 -0400 Style fix in ruby.c M ruby.c commit 34f1595405f8c709e3c98f66d7e49f2b2c816feb Author: Alan Wu Date: Thu Oct 7 14:49:34 2021 -0400 Enable leaked global tests in YJIT workflows M .github/workflows/yjit-macos.yml M .github/workflows/yjit-ubuntu.yml commit 99facbc07077fb34655a2b132414493dcb0cbe43 Author: Alan Wu Date: Thu Oct 7 14:48:54 2021 -0400 Correct workflow name for YJIT Ubuntu M .github/workflows/yjit-ubuntu.yml commit 4705db6a37db61cb9da90a5c6a57015cb6fda50f Author: Noah Gibbs Date: Thu Oct 7 16:57:10 2021 +0100 Try turning off test-bundler-parallel to see if that fixes all the build errors M .github/workflows/yjit-macos.yml M .github/workflows/yjit-ubuntu.yml commit 21e58acef347bb3891262ab38ac211c8d877efd7 Author: Noah Gibbs Date: Fri Oct 1 13:45:02 2021 +0100 Don't enable YJIT by default. More tests on both Ubuntu and MacOS. Add RUBY_YJIT_ENABLE env var and YJIT_FORCE_ENABLE compile-time constant. Rename YJIT_STATS to RUBY_YJIT_STATS. M .github/workflows/compilers.yml A .github/workflows/yjit-macos.yml A .github/workflows/yjit-ubuntu.yml D .github/workflows/yjit.yml M ruby.c M yjit_iface.c commit 7c08538aa3a366409784f6a8b7aa013b85633803 Author: Alan Wu Date: Wed Oct 6 17:44:19 2021 -0400 Cleanup diff against upstream. Add comments I did a `git diff --stat` against upstream and looked at all the files that are outside of YJIT to come up with these minor changes. M iseq.h M mjit.h M proc.c M tool/ruby_vm/models/instructions.rb M vm.c M vm_core.h M vm_exec.c M vm_insnhelper.c commit 884b6f3dbb33ef98fbfe96e7c70ccc8bb5735829 Author: Alan Wu Date: Wed Oct 6 16:34:16 2021 -0400 Move YJIT internal macros away from yjit.h. Tweak style Since this file is exposed to the rest of the codebase and they don't really need to know about things like PLATFORM_SUPPORTED_P. M yjit.c M yjit.h commit ed723ca76fb9447093d64ef238f76f0e2c116bdd Author: Alan Wu Date: Thu Oct 7 12:57:31 2021 -0400 Remove yjit_backend to help with upstreaming The new backend isn't used at the moment and adds to our diff against upstream so remove it for now. We can reverse the removal later with git history. M common.mk commit 506c037a166e7b06b7dbacba3412a356bead7b16 Author: Alan Wu Date: Wed Oct 6 15:49:56 2021 -0400 Cleanup iseq.c minimize diff with upstream Most of these are vestiges of our old setup where we hack into the interpreter loop. M iseq.c commit 735b3a7748c5dfb1ee5e67962d3b86333fbe5212 Author: Alan Wu Date: Tue Oct 5 16:56:53 2021 -0400 Tweak mjit_exec() to remove YJIT symbol exports We were exporting a couple of symbols in yjit.h because they could be used by code generated by MJIT. We don't want MJIT calling into YJIT code anyways so let's stop exporting them to libruby.so. Also adjust indentation and comments in mjit_exec(). M mjit.h M yjit.h commit b242ea87da6fabba04bc515b7bce26dc1ce0199e Author: Alan Wu Date: Fri Oct 1 19:10:35 2021 -0400 Re-enable leaked global check YJIT should be able to pass this check now. M .github/workflows/macos.yml M .github/workflows/ubuntu.yml commit f6da559d5b88981000d4c575b6384f59d30dec22 Author: Alan Wu Date: Fri Oct 1 18:38:39 2021 -0400 Put YJIT into a single compilation unit For upstreaming, we want functions we export either prefixed with "rb_" or made static. Historically we haven't been following this rule, so we were "leaking" a lot of symbols as `make leak-globals` would tell us. This change unifies everything YJIT into a single compilation unit, yjit.o, and makes everything unprefixed static to pass `make leak-globals`. This manual "unified build" setup is similar to that of vm.o. Having everything in one compilation unit allows static functions to be visible across YJIT files and removes the need for declarations in headers in some cases. Unnecessary declarations were removed. Other changes of note: - switched to MJIT_SYMBOL_EXPORT_BEGIN which indicates stuff as being off limits for native extensions - the first include of each YJIT file is change to be "internal.h" - undefined MAP_STACK before explicitly redefining it since it collide's with a definition in system headers. Consider renaming? M common.mk M test_asm.sh M vm_insnhelper.c M vm_trace.c A yjit.c M yjit.h M yjit_asm.c M yjit_asm.h M yjit_asm_tests.c M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_core.h M yjit_iface.c M yjit_iface.h M yjit_utils.c D yjit_utils.h commit 25eed2848344f19385b39daaac8ca5eef79f9466 Author: Alan Wu Date: Fri Oct 1 17:46:50 2021 -0400 Remove unused function M yjit_iface.c M yjit_iface.h commit 7eea96c7803138776bf2bc3f26a42bdb39ccca8c Author: Alan Wu Date: Tue Oct 5 16:07:57 2021 -0400 Fix gen_getclassvariable We need to reconstruct interpreter state before calling into the routines to be able to raise exceptions. I'm getting a crash in debug build with: make test-all 'TESTS=test/ruby/variable.rb' RUN_OPTS='--yjit-call-threshold=1 --yjit-max-versions=1' M yjit_codegen.c commit 70c5bbf84b569d293c0162c084c99d2ca609d9be Author: Maxime Chevalier-Boisvert Date: Mon Oct 4 11:26:28 2021 -0400 Fix counter names for getblockparamproxy. Print in --yjit-stats. M yjit.rb M yjit_codegen.c M yjit_iface.h commit f021b35273c385ca469ba594527bb1fb53e30f96 Author: Noah Gibbs Date: Mon Oct 4 15:00:08 2021 +0100 Reduce line length for YJIT option descriptions M ruby.c commit fab469b6787220648f6c5bb8104f9a1246d9eadd Author: Noah Gibbs Date: Mon Oct 4 13:52:01 2021 +0100 Document YJIT options in --help M ruby.c commit c8e157bb5c9553e7b444921878044996a1c24ca0 Author: eileencodes Date: Wed Sep 29 16:06:40 2021 -0400 Implement getclassvariable in yjit Co-authored-by: Aaron Patterson M test/ruby/test_yjit.rb M vm_insnhelper.c M yjit_codegen.c commit 4fc20a8c911793d03107e8eae2042deb028d0d75 Author: Noah Gibbs Date: Mon Oct 4 13:11:06 2021 +0100 Move Ruby's README back where it was R100 README_ruby.md README.md commit 3dd4abfcd026442d99742959445eb8a223f569cf Author: Noah Gibbs Date: Mon Oct 4 13:09:33 2021 +0100 Move YJIT's README into doc/yjit/yjit.md R100 README.md doc/yjit/yjit.md commit 6392702375c066cc15b15b47de1603d384690caf Author: Noah Gibbs Date: Mon Oct 4 13:07:46 2021 +0100 Incorporate feedback from the PR into yjit_hacking.md M doc/yjit/yjit_hacking.md commit d4a75dd9766c1f803687bf54f7b8886739b3e867 Author: Noah Gibbs Date: Fri Oct 1 16:45:03 2021 +0100 Add a YJIT hacking doc with some internals; change the README text a bit to reflect its current condition M README.md A doc/yjit/yjit_hacking.md commit f911e264a1d539b6c99542d07f72af10ed91ae87 Author: eileencodes Date: Fri Oct 1 13:43:00 2021 -0400 Add counted side exit to getblockparamproxy This is so we know the specific reason we're exiting this instruction. Co-authored-by: Aaron Patterson tenderlove@ruby-lang.org M yjit_codegen.c M yjit_iface.h commit be06112d48b763da1e3f29b03e5e59d2a44e7b72 Author: Noah Gibbs Date: Fri Oct 1 12:17:09 2021 +0100 Fix changes from rebase M common.mk M compile.c M vm.c M yjit.h M yjit_asm.h M yjit_codegen.c M yjit_core.h M yjit_iface.c commit f36a5a98c02ba38d05d345104b1a6d0c0c1af29b Author: Alan Wu Date: Wed Sep 29 16:11:50 2021 -0400 style: line break before "else" M yjit_asm.c M yjit_codegen.c M yjit_core.c commit ec4998bd69e2d09d89440f27fc15be05f2a63f21 Author: Alan Wu Date: Wed Sep 29 15:38:57 2021 -0400 style: switch statements indent Case labels get half an indent and the opening brace is on the same line as "switch". M yjit_asm.c M yjit_codegen.c M yjit_core.c commit a10cf74e5c727cce2612958dca1c5ac6ece1a098 Author: Alan Wu Date: Wed Sep 29 14:58:01 2021 -0400 style: align pointer "*" to the right M yjit_asm.c M yjit_asm.h M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_iface.c M yjit_iface.h M yjit_utils.c M yjit_utils.h commit 5b68d14c2fcacc2f185a1933ce9b102cb06b1ba5 Author: John Hawthorn Date: Mon Sep 27 22:28:33 2021 -0700 Add optimized Thread.current M yjit_codegen.c commit 5c15850ea622d8ad86fa14cb5b9ba6f03abb232e Author: Alan Wu Date: Mon Sep 27 14:54:09 2021 -0400 Use jit_guard_known_klass() for hashes in opt_aref The old heap object check is not as efficient as the one in jit_guard_known_klass(). Also, the old code saves cfp->sp after popping the operands off the stack, which might cause the operands to be not marked by the GC in some circumstances. M yjit_codegen.c commit 9dce2d51326c7db947507f32a9d33a0d22bbafbd Author: Alan Wu Date: Fri Sep 24 18:09:22 2021 -0400 Also do String#str M yjit_codegen.c commit 1a5109cb5f8945f52f90ee420cde669f117b90c4 Author: Alan Wu Date: Fri Sep 24 18:03:10 2021 -0400 Comment edits and moving functions around in the file M yjit_codegen.c commit a09adac2d76342fd4a0d97905b3397758689c817 Author: Alan Wu Date: Fri Sep 24 16:57:53 2021 -0400 Add specialization for String#to_s on plain strings When calling "to_s" on an instance of String, the method simply returns self. In this situation most of the work comes from setting up the method call. It turns out that both railsbench and liquid-render do this a lot. When generating code for opt_send_without_block, we already generate a known class guard, so we can detect when the receiver is a String instance. Since gen_send_cfunc() is also used for gen_invokesuper(), and gen_invokesuper() doesn't generate a known class guard, a new nullable parameter for specialized codegen function is added. Closes GH-245 M bootstraptest/test_yjit.rb M yjit_codegen.c commit 79015926eb81ac93700146d42c343f568d3ddfbb Author: Maxime Chevalier-Boisvert Date: Fri Sep 24 11:08:23 2021 -0400 Try to get getblockparamproxy to support level > 0 M yjit_codegen.c commit 8edb29e5a013da5a74fba9c2484bd6d3913bfb4b Author: Alan Wu Date: Thu Sep 23 16:27:05 2021 -0400 Reconstruct interpreter state before calling rb_ivar_get() It could raise ractor exceptions. The included test didn't run properly before this change. M bootstraptest/test_yjit.rb M yjit_codegen.c commit d0a213b30d04372d1a1b5012246ac7da3236db31 Author: Alan Wu Date: Wed Sep 22 16:11:45 2021 -0400 Remove a memory load in gen_send_iseq Instead of loading from meory for REG_SP, do a register rename instead. It's cheaper. M yjit_codegen.c commit 0a108601eff5a1e69a4dd5dc170e9eaa807d4788 Author: Alan Wu Date: Wed Sep 22 16:56:42 2021 -0400 Add counters for version invalidation reasons I noticed that there were two st_table iterators that do exactly the same thing so I merged them into one. M yjit.rb M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit e48fc07d11551a9a47034a03219e73c99bc4a38d Author: Noah Gibbs Date: Wed Sep 22 18:04:53 2021 +0100 Fix counter names M yjit_codegen.c commit 7704a6990aad2b9f979ada573497ddb7e46eefab Author: Noah Gibbs Date: Wed Sep 22 17:02:11 2021 +0100 Fix typo in comment M yjit_codegen.c commit a0790e6335094e0124bae3d5b53ed2264fc7a791 Author: Noah Gibbs Date: Wed Sep 22 16:04:37 2021 +0100 Break up callsite_not_simple into multiple cases. M yjit_codegen.c M yjit_iface.h commit 0c1aa17556357ca3cb5802d7a23965ed820973e4 Author: Maxime Chevalier-Boisvert Date: Wed Sep 22 16:16:26 2021 -0400 Remove a few more uses of the global cb/ocb M yjit_codegen.c M yjit_codegen.h M yjit_core.c commit 78b5e95e41cefd36702c37293bab95fdede38369 Author: Alan Wu Date: Tue Sep 21 18:16:23 2021 -0400 Add a slowpath for opt_getinlinecache Before this change, when we encounter a constant cache that is specific to a lexical scope, we unconditionally exit. This change falls back to the interpreter's cache in this situation. This should help constant expressions in `class << self`, which is popular at Shopify due to the style guide. This change relies on the cache being warm while compiling to detect the need for checking the lexical scope for simplicity. M test/ruby/test_yjit.rb M vm_insnhelper.c M yjit.rb M yjit_codegen.c M yjit_iface.h commit f1eb48cb23c949ce8163c6b6d2042cecd0d79ea9 Author: Maxime Chevalier-Boisvert Date: Tue Sep 21 16:09:16 2021 -0400 Step 2 to remove the global cb/ocb objects. M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_core.h commit c55d4cafc241706d1255d8609d3d7c6f04d0706a Author: Maxime Chevalier-Boisvert Date: Tue Sep 21 14:04:02 2021 -0400 Pass the global cb through codegen functions M yjit_codegen.c M yjit_codegen.h commit 0385ca2e97ba29653251dba96ab8cf0f21765bb4 Author: Maxime Chevalier-Boisvert Date: Tue Sep 21 10:59:55 2021 -0400 Try to break the code page refactoring into smaller steps M yjit_asm.c M yjit_asm.h M yjit_iface.c M yjit_iface.h commit c46bda6f191b01121ebbc8afa88b35683b6417a9 Author: Alan Wu Date: Mon Sep 20 14:55:10 2021 -0400 Fix excessive invalidation for opt_getinlinecache YJIT expects the VM to invalidate opt_getinlinecache when updating the constant cache, and the invalidation used to happen even when YJIT can't use the cached value. Once the first invalidation happens, the block for opt_getinlinecache becomes a stub. When the stub is hit, YJIT fails to compile the instruction as the cache is not usable. The stub becomes a block that exits for opt_getinlinecache which can be invalidated again. Some workloads that bust the interpreter's constant cache can create an invalidation loop with this behavior. Check if the cache is usable become doing invalidation to fix this problem. In the test harness, evaluate the test script in a lambda instead of a proc so `return` doesn't return out of the harness. M test/ruby/test_yjit.rb M yjit_codegen.c M yjit_iface.c commit 6ef1609fab0f5bee0592ef9c9cb82e34af8d5efd Author: Alan Wu Date: Mon Sep 20 17:35:34 2021 -0400 Correct margin for stack overflow test In vm_push_frame(), the stack overflow test is done against a decremented cfp. YJIT wasn't accounting for that in its stack overflow tests. M yjit_codegen.c commit 7482744e042992e7d9a00151b6f6f073b185f9ee Author: John Hawthorn Date: Mon Sep 20 11:51:31 2021 -0700 Add jit_obj_info_dump M yjit_codegen.c commit 561882e96ee5d1d7486512d566ffb6d5bf6817a1 Author: John Hawthorn Date: Mon Sep 20 11:43:37 2021 -0700 Add comment explaining argc + 2 M yjit_codegen.c commit 9951a9a8ece77ad8aa2a8871b009e2f1fb776987 Author: John Hawthorn Date: Thu Jul 8 23:33:55 2021 -0700 Implement invokebuiltin M bootstraptest/test_yjit.rb M test/ruby/test_yjit.rb M yjit_codegen.c commit 6055078b24ce9878aafad406fe72711311f9744f Author: Maxime Chevalier-Boisvert Date: Fri Sep 17 14:47:20 2021 -0400 Update README.md M README.md commit e04c3af52253948139c250b25263c992a9b2f23c Author: Maxime Chevalier-Boisvert Date: Fri Sep 17 14:43:12 2021 -0400 Update README.md M README.md commit 5506f2761f6a65ab49f415b57120eb928154625e Author: John Hawthorn Date: Fri Sep 17 08:38:33 2021 -0700 Add test for setlocal M test/ruby/test_yjit.rb commit 82f60df5aa1e25f027a0a3fbd516d1272de39211 Author: John Hawthorn Date: Fri Sep 17 08:26:38 2021 -0700 Implement generic setlocal M yjit_codegen.c commit 90de2dc703adee6432e0ecf68e4c96adf6c9509c Author: John Hawthorn Date: Fri Sep 17 08:26:33 2021 -0700 Extract gen_get_ep M yjit_codegen.c commit 2ff26b9ec28c9a4e0ae7a4a009da99fd200cc5e0 Author: John Hawthorn Date: Fri Sep 17 08:38:14 2021 -0700 Fix opt_aset comptime_key check M bootstraptest/test_yjit.rb M yjit_codegen.c commit a6cf515e6acdc4c308e8fe8f284fd381b0a0285c Author: Maxime Chevalier-Boisvert Date: Thu Sep 16 12:39:53 2021 -0400 Rearrange stats printout for consistency M yjit.rb commit 82405ac48ae457de9b54e18545743ab2a58bf989 Author: Alan Wu Date: Wed Sep 15 13:59:50 2021 -0400 Add counters for tracking invalidations M yjit.rb M yjit_core.c M yjit_iface.c M yjit_iface.h commit 1f09eb66e6cc1019ba88e421f1ba8186c071a6ed Author: Alan Wu Date: Wed Sep 15 11:31:55 2021 -0400 Expand tabs M yjit_codegen.c commit 0ad9d1fa48e4ced310ae70c53f9cf82ebea586b6 Author: Maxime Chevalier-Boisvert Date: Wed Sep 15 08:15:58 2021 -0700 Update yjit_codegen.c M yjit_codegen.c commit 5e37f280d1628152b7bb3e72b009504a20226031 Author: John Hawthorn Date: Tue Sep 14 12:31:08 2021 -0700 Remove vm_opt_aset M vm_insnhelper.c M yjit_codegen.c commit ba9d01b3cf043d52a80af6fc9c377d6b63062442 Author: John Hawthorn Date: Mon Sep 13 14:31:12 2021 -0700 Specialize based on types of opt_aset M test/ruby/test_yjit.rb M yjit_codegen.c commit 121d8f47274d53a013f9306a3e53a6f37e66a8e5 Author: Alan Wu Date: Wed Sep 15 11:36:44 2021 -0400 Compile out declaration for runtime stats on non stats builds Checked on default build, RUBY_DEBUG build, and YJIT_STATS build. M yjit_iface.h commit a71590e6814a488a7bfc7e86a59f6782c8a5d276 Author: Alan Wu Date: Tue Sep 14 11:11:03 2021 -0400 Don't store cfp->pc when doing iseq calls We set it before calling routines and when we are exiting. M yjit_codegen.c commit 1f6641681b216d0de5f89c817ee451a0153fa1d4 Author: Alan Wu Date: Tue Sep 14 11:02:20 2021 -0400 No need to do ec->cfp = reg_cfp on exits It's already up to date. We set it when we do iseq calls and it's set properly on entry. If it's not set properly exceptions wouldn't work. M yjit_codegen.c commit 9fff8fdb59fe79e52bf0985db3edc4d8e1ce54fb Author: Maxime Chevalier-Boisvert Date: Tue Sep 14 16:14:07 2021 -0400 Update suggested ./configure in README M README.md commit bc7652998eb0f05379ba4247ab5202dc853496fa Author: Alan Wu Date: Tue Sep 14 15:13:15 2021 -0400 Fix warnings about redefining YJIT_STATS Follow up for ecb5b383a0c17550b9b27663005049ddac871edb. Now that YJIT_STATS is defined in yjit.h, it shoudl be the only place that defines it. M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit 0ee8c606626cd3f92a07a4b1ae7ab546e22031ab Author: Maxime Chevalier-Boisvert Date: Tue Sep 14 15:06:46 2021 -0400 Add missing percent sign in printout M yjit.rb commit a68e61f08904ecc5a8b551a90894475da2f0ae9b Author: John Hawthorn Date: Tue Sep 14 09:07:35 2021 -0700 Add tests against side exits for non-fixnum M test/ruby/test_yjit.rb commit 7d99e8560135ffb1ddb96368b2eac4a9b5d9964d Author: John Hawthorn Date: Tue Sep 14 08:58:05 2021 -0700 Check for comptime fixnum in gen_fixnum_cmp M yjit_codegen.c commit f1b7568f5ad6f001d848bbe5677b9ff340d58c90 Author: John Hawthorn Date: Tue Sep 14 08:49:22 2021 -0700 Check for comptime fixnums in opt_and and opt_or M yjit_codegen.c commit cb9bc13fcb2f78513338aa463aaf7544ebbfbfba Author: John Hawthorn Date: Mon Sep 13 19:21:26 2021 -0700 Check for comptime integers in opt_plus and opt_minus M yjit_codegen.c commit fd10634b1abb3deeb50a1f09a41404af24cd25d7 Author: John Hawthorn Date: Tue Sep 14 08:57:55 2021 -0700 Move forward declaration up M yjit_codegen.c commit bd8cfb351b8a286af947d0a7c0431026751756cf Author: Maxime Chevalier-Boisvert Date: Tue Sep 14 12:35:47 2021 -0400 Fix misplaced ivar_set_method exit counter M yjit_codegen.c commit 217f7cb16fe466b8be3cdb969655b4512d5e95fa Author: Jean Boussier Date: Tue Sep 14 10:31:34 2021 +0200 Include errno message in mmap failure output It might help figure out why it is failing. M yjit_asm.c commit 96fd8afbf4d93b6831ca119fd8c1f07dfa9abd07 Author: John Hawthorn Date: Sat Jun 19 14:02:53 2021 -0700 Skip opt_case_dispatch M yjit_codegen.c commit fc13ff14a2a78173dd4a1e93c8f4e3665a4e8555 Author: John Hawthorn Date: Fri Sep 10 14:01:49 2021 -0700 Add comments to getspecial M yjit_codegen.c commit bf8557f48719434261f9cf4051582868dca95363 Author: Aaron Patterson Date: Fri Sep 10 15:01:19 2021 -0700 Add comments for new function M vm_insnhelper.c commit 25f8431d46c0b394c6003356cf5f0c78a1cbd122 Author: Aaron Patterson Date: Fri Sep 10 14:25:06 2021 -0700 only compile for T_OBJECT types M yjit_codegen.c commit 5bc0343261cc420d08fb8462ba9ad616c7596b1d Author: Aaron Patterson Date: Fri Sep 10 13:41:38 2021 -0700 Refactor attrset to use a function This new function will do the write barrier / resize the object / check frozen for us M vm_insnhelper.c M yjit_codegen.c commit 5092d6129a9f1d57752a29f4808fe74e1c6a666b Author: John Hawthorn Date: Sat Sep 11 23:29:24 2021 -0700 Fix opt_eq for overridden equality M bootstraptest/test_yjit.rb M yjit_codegen.c commit 554d76afb4ca5cf623fb76bde90fce6f87971be8 Author: Aaron Patterson Date: Wed Sep 8 12:47:39 2021 -0700 Revert "disable yjit when testing mjit" This reverts commit e8622ce5c0a09c7213e4d536ddd0ef3ea68377ef. M test/ruby/test_rubyoptions.rb commit afc5db43ca5d62feefac97f911a5d4ac33e9feda Author: Aaron Patterson Date: Wed Sep 8 11:49:09 2021 -0700 is this right? M ruby.c commit b78c50d800a5afca84a26a7a14b0ecbb04f838e8 Author: Aaron Patterson Date: Wed Sep 8 10:21:03 2021 -0700 Don't check MJIT if it's not enabled M ruby.c commit 9d5beb6fde45c8182d8dc6b8baade2fa5a6f4e07 Author: Aaron Patterson Date: Wed Sep 8 09:47:00 2021 -0700 Disable YJIT by default if MJIT_FORCE_ENABLE is on Compile time flag seems pretty forceful, so let MJIT turn on by default if it is used. M ruby.c commit ea453acf596ba436838ce17809c1cf6dc70fa738 Author: Aaron Patterson Date: Wed Sep 8 09:35:23 2021 -0700 disable MJIT when --enable-all is set M ruby.c commit 44214e8ad9e8ba1adf704c8231b4ecced77d3b7a Author: John Hawthorn Date: Wed Sep 8 18:47:09 2021 -0700 Implement getspecial M test/ruby/test_yjit.rb M yjit_codegen.c commit cc2aa1221f96055c1d1d70ea4407b1ee12ed9a6b Author: Alan Wu Date: Fri Sep 10 11:04:14 2021 -0400 Fix avg_len_in_yjit We weren't counting completing an entire method in YJIT as exits so the avg_len_in_yjit for ./miniruby --yjit-call-threshold=1 --yjit-stats -e'def foo; end; foo' was infinite. M yjit.rb commit cbb0271dd6256601aa6aea669ceac4f82fdb75fe Author: Alan Wu Date: Fri Sep 10 11:22:36 2021 -0400 Deduplicate side exits Send instructions currently generate the exact same side exit twice. Cache the exit the first time we generate it. Also add a comment explaining what side exits do. Closes GH-117. M yjit_codegen.c M yjit_codegen.h commit 6e1f2519cc851961939c4de61613161de3caf998 Author: Benson Muite Date: Fri Sep 10 10:33:16 2021 +0300 Info for Fedora and choosing C compiler M README.md commit 11599e5e1ebed485089a994753a9c3c79416c037 Author: Maxime Chevalier-Boisvert Date: Thu Sep 9 15:35:47 2021 -0400 Add rb_darray_clear() for Kevin. Fix some warnings. M darray.h M yjit_codegen.c commit f380856923f066e02fb1233c720a6abdc645d11f Author: Aaron Patterson Date: Wed Sep 8 10:14:54 2021 -0700 Add fixes for feedback M yjit_codegen.c commit f30f2990601612af9378f1c33b1a1144986ba6f6 Author: John Hawthorn Date: Fri Sep 3 22:15:17 2021 -0700 Use C_ARG_REGS earlier M yjit_codegen.c commit c2b1934475bd2494b47b2441ac89188215fa60cc Author: John Hawthorn Date: Fri Sep 3 17:07:16 2021 -0700 Add tests against opt_eq side exits M test/ruby/test_yjit.rb commit 10f1d808d57ac3e8e5c30385b61300d3cc40b0db Author: John Hawthorn Date: Fri Sep 3 15:25:26 2021 -0700 Remove rb_opt_equality_specialized M vm_insnhelper.c commit 9ebcd576f367280c60064bc98fe35b1f2fb27e2b Author: John Hawthorn Date: Fri Aug 27 18:35:34 2021 -0700 String and fixnum equality M bootstraptest/test_yjit.rb M yjit_codegen.c commit 6db5e80dd7e91fcfaf55727dbe24619d964cfac4 Author: John Hawthorn Date: Thu Aug 12 12:02:43 2021 -0700 Use method dispatch for opt_eq M yjit_codegen.c commit 692f94ba0c878b30ebf96480b0f7e58f7f0ffa08 Author: John Hawthorn Date: Wed Sep 8 17:48:08 2021 -0700 Add jit_rb_obj_equal M yjit_codegen.c commit 4b58d698b14752f4dfd405637df384c758cae396 Author: Alan Wu Date: Wed Sep 8 12:01:39 2021 -0400 Count interpreter instructions when -DYJIT_STATS=1 The interpreter instruction count was enabled based on RUBY_DEBUG as opposed to YJIT_STATS. In builds with YJIT_STATS=1 but RUBY_DEBUG=0, the count was not available. Move YJIT_STATS in yjit.h where declarations are expoed to code outside of YJIT. Also reduce the changes made to the interpreter for calling into YJIT's instruction counting function. M vm.c M vm_insnhelper.h M yjit.h commit 9bd6ce47454a03ad1cec422f36017bcae56790dd Author: Maxime Chevalier-Boisvert Date: Wed Sep 8 11:20:08 2021 -0400 Update README.md M README.md commit 580e1bab18dbf5fd3cb2916372b0dfcfbe3b682c Author: Aaron Patterson Date: Tue Sep 7 13:59:46 2021 -0700 disable yjit when testing mjit M test/ruby/test_rubyoptions.rb commit a1d42c37f4d849db71561e2ca60eb279719f6172 Author: Maxime Chevalier-Boisvert Date: Tue Sep 7 13:04:31 2021 -0700 Update ruby.c M ruby.c commit 234ab816bacd3b9d7895d1acacaee28e0ade4166 Author: Aaron Patterson Date: Tue Sep 7 12:57:33 2021 -0700 Exit if YJIT and MJIT are both enabled YJIT and MJIT can't be running in the same process otherwise they'll clobber each other. We should show an error and exit if they're both enabled. M ruby.c commit 013a4a31d65810c9c1b8d34d12a7b766261440a3 Author: Maxime Chevalier-Boisvert Date: Tue Sep 7 17:06:56 2021 -0400 Prevent stats being enabled late at run-time M yjit.rb M yjit_iface.c commit 640b162b51a704d890c44af9c76fffa4eaf28ca9 Author: Aaron Patterson Date: Fri Sep 3 16:06:32 2021 -0700 Exit when the object is frozen Exit when the object is frozen, also add tests M bootstraptest/test_yjit.rb M test/ruby/test_yjit.rb M yjit_codegen.c commit 376f5ec1a1c744ca6a78726dbf9886e30b3400fa Author: Aaron Patterson Date: Thu Sep 2 17:03:08 2021 -0700 Add a write barrier to ivar set We need to fire the write barrier during ivar set. This function extracts the write barrier function then calls it. Co-Authored-By: John Hawthorn M yjit_codegen.c commit 307a4369e15b65665b1245bc97f465e962543803 Author: eileencodes Date: Thu Aug 26 16:37:47 2021 -0400 Implement setivar method calls M yjit_codegen.c commit ce02aefabbc4536e3b7f8b13e4c9dc1ac3d258b4 Author: John Hawthorn Date: Sat Sep 4 01:35:22 2021 -0700 Allow calling variadic cfuncs with many args We have a check to ensure we don't have to push args on the stack to call a cfunc with many args. However we never need to use the stack for variadic cfuncs, so we shouldn't care about the number of arguments. M test/ruby/test_yjit.rb M yjit_codegen.c commit 922aed92b5e4602571d191e62904304458c9998d Author: John Hawthorn Date: Wed Jun 30 16:53:49 2021 -0700 Add codegen for rb_true and rb_false These are used by .nil? and therefore opt_nil_p M yjit_codegen.c commit fd34c831f6f61691cb9f2d171c690c9769183437 Author: John Hawthorn Date: Sat Sep 4 01:50:25 2021 -0700 Allow special case of expandarray with nil M test/ruby/test_yjit.rb M yjit_codegen.c commit d098c5560b7ae43f6f6798bedd9561f80604986f Author: Alan Wu Date: Mon Aug 30 15:42:04 2021 -0400 Shave a few instructions off of leave The code path for leave that returns to the interpreter (gen_leave() -> yjit_gen_leave_exit()) used to have the logic: ``` cfp->sp++; cfp->sp[-1] = return_val; cfp->sp--; return return_val; ``` The SP changes it made was unnecessary and this change removes it. After this change, `leave` doesn't adjust the `cfp->sp` of the caller and only writes `cfp->sp[0]`. To accomodate this in the JIT-to-JIT return case, return stubs have an `sp_offset` of 1. The change removes sp adjustment from the JIT-to-JIT return case, too, making it more efficient. Also, since the C method case of `send` has an `sp_offset` of 1 after the call, this change enables block version sharing. M yjit_codegen.c commit ed85e8a33ac13c75967f8a893bb5de22b729c1ef Author: Alan Wu Date: Fri Aug 27 15:41:24 2021 -0400 Use reg1 in GEN_COUNTER_INC to avoid clobbering RAX M yjit_codegen.c commit c210fade27c2f39f078c9b1aec71a05532fb832b Author: John Hawthorn Date: Sat Jul 17 03:26:46 2021 -0700 Implement newrange M test/ruby/test_yjit.rb M yjit_codegen.c commit 3a3f7066986b6d0a24a6f7c72d2304381269b30d Author: John Hawthorn Date: Mon Aug 30 20:57:31 2021 -0700 Additional invokesuper tests M bootstraptest/test_yjit.rb commit 3ecc6befcdfb14c6bfd345bd6bebd2e84dc32c27 Author: John Hawthorn Date: Mon Aug 30 20:58:53 2021 -0700 Implement invokesuper using cfp->ep[ME] check This fixes and re-enables invokesuper, replacing the existing guards with a guard on the method entry for the EP. M test/ruby/test_yjit.rb M yjit.rb M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit fbde1d9bee1da0a27ead6ce3ae7bc4411b10198d Author: John Hawthorn Date: Sat Aug 7 22:49:31 2021 -0700 Store block callee_cme in darray This allows a block version to have dependencies on multiple CMEs. M yjit_core.c M yjit_core.h M yjit_iface.c commit 9d5b3e1d0f3d44a52dffb6ec1f09c361c3b419c7 Author: Maxime Chevalier-Boisvert Date: Tue Aug 31 14:26:18 2021 -0400 Add a small test for the code GC M bootstraptest/test_yjit.rb commit e527912fe0188f8dc614bdbef25bfdb724fea9ed Author: John Hawthorn Date: Fri Aug 27 09:11:55 2021 -0700 Use jit_prepare_routine_call M yjit_codegen.c commit 69a2531249f17cb3a3bf0fde85256d5a20324344 Author: John Hawthorn Date: Fri May 21 20:18:58 2021 -0700 Implement gen_putstring M yjit_codegen.c commit 2c93ef7ab33a122f6f37fd7cab0bef48c3965a36 Author: Ufuk Kayserilioglu Date: Fri Aug 27 19:03:33 2021 +0300 Add YJIT logo Adding YJIT logo with a link to https://yjit.org M README.md commit 2bd99d7d7a0537e4ad9fa49ca2c455b78c6045a3 Author: Alan Wu Date: Thu Aug 26 17:11:41 2021 -0400 typo, rename, comment M yjit_codegen.c M yjit_codegen.h commit 812597676ba2b1e3c41c50e9da624441e0c40a6b Author: John Hawthorn Date: Thu Aug 26 11:45:05 2021 -0700 Avoid immediate side exits in checktype Previously checktype only supported heap objects, however it's not uncommon to receive an immediate, for example when string interpolating a Symbol or Integer. M test/ruby/test_yjit.rb M yjit_codegen.c commit 54db64f7a59f1f14b280a80491336a128f792b42 Author: Alan Wu Date: Thu Aug 26 14:58:13 2021 -0400 filter out internal events. add comments. reorder M vm_trace.c M yjit_codegen.c commit 4b815abb373801b94d2471997f1467421620c1e5 Author: Alan Wu Date: Thu Aug 26 14:28:59 2021 -0400 Lock, don't loock. M yjit_codegen.c commit 0ca04e2dd4d8624df09bf9065b4b96266da4771c Author: Aaron Patterson Date: Thu Aug 26 11:41:47 2021 -0700 Only clear the JIT function when we invalidate the entry block We should only clear the JIT function when the entry point is invalidated. Right now we only support compiling functions with a PC offset of zero (functions that take optional parameters can start at non-zero PC), so this patch just checks that the index is 0 before clearing the jit function M yjit_core.c commit b5a0baf1c0f969bba966ca0791f27487de5b1067 Author: Jean Boussier Date: Thu Aug 26 16:11:15 2021 +0200 Allow to toggle YJIT stats collection from runtime For use cases where you want to collect the metrics for a specific piece of code (typically a web request) you can have the stats turned off by default and then turn them on at runtime before executing the code you care about. M yjit.rb M yjit_iface.c commit 924e3ca84fba717f03bea7a4636f623f8e24b484 Author: Alan Wu Date: Wed Aug 25 17:08:00 2021 -0400 fix typo M bootstraptest/test_yjit.rb commit bd876c243aeace00ea312d0a5bbff091ccc84ba2 Author: Alan Wu Date: Wed Aug 25 17:00:45 2021 -0400 TracePoint support This change fixes some cases where YJIT fails to fire tracing events. Most of the situations YJIT did not handle correctly involves enabling tracing while running inside generated code. A new operation to invalidate all generated code is added, which uses patching to make generated code exit at the next VM instruction boundary. A new routine called `jit_prepare_routine_call()` is introduced to facilitate this and should be used when generating code that could allocate, or could otherwise use `RB_VM_LOCK_ENTER()`. The `c_return` event is fired in the middle of an instruction as opposed to at an instruction boundary, so it requires special handling. C method call return points are patched to go to a fucntion which does everything the interpreter does, including firing the `c_return` event. The generated code for C method calls normally does not fire the event. Invalided code should not change after patching so the exits are not clobbered. A new variable is introduced to track the region of code that should not change. M README.md M bootstraptest/test_yjit.rb M common.mk M iseq.c M vm_trace.c M yjit.h M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_iface.c M yjit_iface.h commit 0562459473f44c270784074a09a33ea30d68e457 Author: Maxime Chevalier-Boisvert Date: Wed Aug 25 16:51:41 2021 -0400 Redo the ivtable lookp once the ivar is set M yjit_codegen.c commit b3e993a64bb10e20280a7a5c604f9f0fe3939a4b Author: Maxime Chevalier-Boisvert Date: Wed Aug 25 16:10:05 2021 -0400 Make sure that there is always an index table entry for getivars M yjit_codegen.c M yjit_iface.h commit 7f2828d1c86c5508a49260bcecbfc2e78c00e49f Author: Maxime Chevalier-Boisvert Date: Tue Aug 24 16:11:43 2021 -0400 Update README M README.md commit 0dc3bba6f2b2b1b23e1ec9dd2ec29f932c292db0 Author: Jean Boussier Date: Tue Aug 24 12:32:07 2021 +0200 Allow to compile with --yjit-stats support but not the full RUBY_DEBUG RUBY_DEBUG have a very significant performance overhead. Enough that YJIT with RUBY_DEBUG is noticeably slower than the interpreter without RUBY_DEBUG. This makes it hard to collect yjit-stats in production environments. By allowing to collect JIT statistics without the RUBy_DEBUG overhead, I hope to make such use cases smoother. M yjit_codegen.c M yjit_core.c M yjit_iface.c M yjit_iface.h commit 2ba090a1f9258035b40374f9ff9da3ff920701cd Author: eileencodes Date: Tue Aug 10 09:10:34 2021 -0400 Add toregexp to yjit The FIXME is there so we remember to investigate why insns clears the temporary array. Is this necessary? If it's not we can remove it from both. Co-authored-by: Aaron Patterson M common.mk M test/ruby/test_yjit.rb M yjit_codegen.c commit dd5082d7ca31adc66f885aed1af789adaf262a64 Author: Maxime Chevalier-Boisvert Date: Mon Aug 23 14:53:28 2021 -0400 Use cmov to handle Qundef case in getivar instead of side-exit M yjit_codegen.c M yjit_iface.h commit c4b99d6a427060cadde7f5561c5a3db626bc26ba Author: Maxime Chevalier-Boisvert Date: Mon Aug 23 10:43:39 2021 -0400 Add ASM comment M yjit_codegen.c commit 918668b4a92594675ee0dcbf698b320f015f01e0 Author: Mike Dalessio Date: Wed Aug 18 10:26:29 2021 -0400 update README with correct repository URL M README.md commit e18b0b6ebab74e16774bc6121ffba785564b9fd6 Author: John Hawthorn Date: Sat Jun 19 14:03:06 2021 -0700 Implement putspecialobject M test/ruby/test_yjit.rb M yjit_codegen.c commit 3edf29668ee2f8015d560508accbb35c85568823 Author: John Hawthorn Date: Fri Jun 18 17:32:13 2021 -0700 Add opt_regexpmatch2 M test/ruby/test_yjit.rb M yjit_codegen.c commit 595fdf8d669da043fd0ca4bed7cb0c593595a80c Author: John Hawthorn Date: Mon Aug 9 23:49:44 2021 -0700 Assign directly to C_ARG_REGS now when possible M yjit_codegen.c commit 8fa0ee4d404f7cc9ff64f8bafcd53f43aed64914 Author: John Hawthorn Date: Wed Aug 4 16:17:36 2021 -0700 Use callee-saved regs for REG_SP, REG_EP, REG_CFP M yjit_codegen.c M yjit_core.c M yjit_core.h commit ed8aa3409a606a1c254eb94f7446827a11c66df2 Author: John Hawthorn Date: Tue Aug 10 15:41:27 2021 -0700 Detach mapping to local in ctx_set_local_type Similar to the previous fix to ctx_clear_local_types, we must detach mappings to a local if we are changing its value. M bootstraptest/test_yjit.rb M yjit_core.c commit 6d852e847e163fad0f2ccebe59c57d6921d3c472 Author: John Hawthorn Date: Mon Aug 9 02:11:05 2021 -0700 Fix stack size check for ctx_get_opnd_type Previously all stack operands would become unknown once the stack grew beyond a certain size. This worked, but unnecessarily hid available information. M yjit_core.c commit 48dca3348ae47fec5f2fa39ae899cbf62f2fae44 Author: John Hawthorn Date: Wed Aug 4 15:18:37 2021 -0700 Move yjit_type_of_value into yjit_core.c M yjit_codegen.c M yjit_core.c M yjit_core.h commit d78ea4abec1d030af2c5d99b03b3b4d959bd138c Author: John Hawthorn Date: Tue Jul 27 23:41:29 2021 -0700 Implement verify_ctx for debugging M yjit_codegen.c M yjit_core.c M yjit_core.h commit a02002dc4f051515c0b65c17b2ed797bac454b56 Author: John Hawthorn Date: Tue Jul 27 23:40:51 2021 -0700 More detection of immediate constants M yjit_codegen.c commit 2e707ee66f484c11d4548011911ad17bec2063b9 Author: John Hawthorn Date: Tue Aug 3 10:31:26 2021 -0700 Don't generate entry point when PC != 0 If we hit this at PC > 0 (ie. with an optional argument) the provided types and context are likely incorrect and it is likely this block can't be used. M yjit_core.c commit d2e8b99b5bc485b864d25c4293002214b0c64ced Author: eileencodes Date: Wed Aug 4 13:23:34 2021 -0400 Implement tostring instruction for yjit Co-authored-by: Aaron Patterson M test/ruby/test_yjit.rb M yjit_codegen.c commit 5b4305f71c90d498c91d7b5038758e3557938802 Author: Alan Wu Date: Mon Jul 26 20:19:01 2021 -0400 Simpler fix for -DUSE_EMBED_CI=0 Nobu pointed out that saving the old ci to a local is enough to keep it reachable. M compile.c commit 8cf01dd25c126cf19b9146b71992b53c4541382e Author: Alan Wu Date: Mon Jul 26 20:17:49 2021 -0400 Revert "Fix use-after-free on USE_EMBED_CI=0" This reverts commit 1e0f2e4b09ca9443524acf4b50ffd50a80f330f3. M compile.c commit 641ef34ddec2f8dd9af951f419fb084befea8175 Author: John Hawthorn Date: Sun Aug 1 13:05:51 2021 -0700 Allow upgrading first N types when stack is large M yjit_core.c commit 5d155fc8a1c44087142539d51b27410388552599 Author: John Hawthorn Date: Thu Jul 29 16:40:07 2021 -0700 Improve comments for mapping functions M yjit_core.c commit 786e51217806de2d5ba2eb62154045abdfa9771a Author: John Hawthorn Date: Wed Jul 28 20:05:54 2021 -0700 Add regression test of invalid mapping merge This should have referenced MAX_TEMP_TYPES, not MAX_LOCAL_TYPES. M test/ruby/test_yjit.rb commit 42574768a153bceb303fa74d50eb50a024f98173 Author: John Hawthorn Date: Tue Jul 27 23:38:24 2021 -0700 Fix ctx_clear_local_types M yjit_core.c commit 250b97da9be7d8d62be8055249497d9a93d83302 Author: John Hawthorn Date: Tue Jul 27 23:35:01 2021 -0700 Make ctx_diff aware of mappings M yjit_core.c commit 6c80150d402758fa07470cb88d5a15b1ffd15e6c Author: John Hawthorn Date: Wed Jul 14 11:36:33 2021 -0700 Introduce ctx_{get,set}_opnd_mapping M yjit_codegen.c M yjit_core.c M yjit_core.h commit 4ea69e5c0b6163dbc6cdd75b2a44720d2b84a5f6 Author: John Hawthorn Date: Wed Jul 14 11:52:00 2021 -0700 Rename to ctx_upgrade_opnd_type M yjit_codegen.c M yjit_core.c M yjit_core.h commit 53079ca585161b882b37945b31802f6d477bbb1e Author: John Hawthorn Date: Wed Jul 14 12:42:29 2021 -0700 Return if fixnums impossible M yjit_codegen.c commit f4f940e5a63e542a59fc7510332efb38ccafc10f Author: Alan Wu Date: Thu Jul 29 12:41:59 2021 -0400 Save PC and SP before accessing globals These instructions are marked as not leaf in insns.def, which indicate that they could raise exceptions and/or call Ruby methods. M bootstraptest/test_yjit.rb M yjit_codegen.c commit b91078ea743fda959ad42f17562c4f3091bcf585 Author: eileencodes Date: Tue Jul 27 14:57:30 2021 -0400 Add setglobal to yjit Adds yjit support for setting global variables. Co-authored-by: Aaron Patterson Co-authored-by: John Hawthorn M bootstraptest/test_yjit.rb M test/ruby/test_yjit.rb M yjit_codegen.c commit dd23e4658b8587adf8d6fed96b574a979b169e46 Author: Noah Gibbs Date: Tue Jul 27 16:54:45 2021 +0100 If codeblock is NULL because YJIT is disabled, YJIT.runtime_stats should return Qnil M yjit_iface.c commit 50029fb127c38b345dc781ea8f67bfc372cc5390 Author: eileencodes Date: Tue Jul 27 13:48:33 2021 -0400 Add getglobal to yjit Adds getglobal to yjit and a test for it. Co-authored-by: Aaron Patterson M bootstraptest/test_yjit.rb M common.mk M yjit_codegen.c commit 6aa4637272204b7017a0414393ab05be6fa07672 Author: John Hawthorn Date: Tue Jul 20 10:22:08 2021 -0700 Fix and uncomment getlocal test Previously, under the scraper, this would side-exit because it was returning to a C method. Now that we use the jit_func entrypoint, this test no longer side-exits. M test/ruby/test_yjit.rb commit 1891dcaa9faee3684d6c8abfc34cab5b01a63632 Author: Maxime Chevalier-Boisvert Date: Tue Jul 20 12:34:04 2021 -0400 Add flag so we can easily tell if all stats avail. Comment out broken test. M test/ruby/test_yjit.rb M yjit_iface.c commit 736eb29a3c8f5ee18b76c98428350c8ab8b361a0 Author: Alan Wu Date: Mon Jul 19 20:25:18 2021 -0400 Fix use-after-free on USE_EMBED_CI=0 The old code didn't keep old_operands[0] reachable while allocating. You can crash it by requiring erb under GC stress mode. M compile.c commit a0bb731f4f71ad3e57be57fb0a1a7347107dbf0d Author: Kevin Newton Date: Mon Jul 19 11:26:34 2021 -0400 Add some YJIT runtime tests This is just for helping my own understanding, but could be useful for others as well. M yjit_asm_tests.c commit 71cef74432ef67edfd5635a9b9f8dffbbc33d392 Author: Aaron Patterson Date: Mon Jul 19 11:12:51 2021 -0700 Clear JIT code when tracepoints get enabled Clear out any JIT code on iseqs when tracepoints get enabled. We can't handle tracepoints right now, so we'll just try to recompile later. M bootstraptest/test_yjit.rb M iseq.c commit e8617d0e7ea8039f3757896f547107f51566256b Author: Aaron Patterson Date: Thu Jul 15 15:43:39 2021 -0700 Make sure we can still compile with the JIT disabled If `--disable-jit-support` is passed to configure, then `jit_func` is removed from the iseq body and we can't compile YJIT. This commit detects when the JIT function pointer is gone and disables YJIT in that case. M yjit.h M yjit_core.c M yjit_iface.c commit 41f405c486a01c1a16c3f102c11d41c8fbbafe60 Author: Aaron Patterson Date: Thu Jul 15 14:30:43 2021 -0700 Remove the scraper Now that we're using the jit function entry point, we don't need the scraper. Thank you for your service, scraper. ❤️ M .gitignore M common.mk M template/Makefile.in M tool/ruby_vm/models/instructions.rb D tool/ruby_vm/models/yjit.rb D tool/ruby_vm/models/yjit/example_instructions.rb M tool/ruby_vm/views/vm.inc.erb D tool/ruby_vm/views/yjit_hooks.inc.erb M vm_exec.h M win32/Makefile.sub M yjit_iface.c M yjit_iface.h commit 84a1e04e5873e511c8454983c3c34c6494bc5491 Author: Aaron Patterson Date: Thu Jul 15 13:35:19 2021 -0700 Change register definitions to match the entry point calling convention The JIT entry point passes the CFP as RSI and the EC as RDI. Lets match that so we don't have to shuffle registers around. M yjit_codegen.c M yjit_core.h commit 2a59bd73125053a8f5a8d6ec129ef81f3da82fad Author: Aaron Patterson Date: Thu Jul 15 13:06:39 2021 -0700 Disable YJIT in MJIT tests M test/lib/jit_support.rb commit 5336f6dadab17a511592dc739da4232dc02c2a16 Author: Aaron Patterson Date: Thu Jul 15 12:40:34 2021 -0700 make compiler happy M yjit_iface.c commit 8fd3e0e9ff158205f473cd625298aedfe65fa0af Author: Aaron Patterson Date: Thu Jul 15 11:31:59 2021 -0700 Fix BOP invalidation Instead of mutating the iseqs, just clear the JIT function. M yjit_core.c commit 05b5a7f01139a3c9610b80194e4385928dd4cd55 Author: Aaron Patterson Date: Thu Jul 15 11:09:08 2021 -0700 Add a guard that we start executing on the first PC Methods with optional parameters don't always start executing at the first PC, but we compile all methods assuming that they do. This commit adds a guard to ensure that we're actually starting at the first PC for methods with optional params M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_iface.h commit 0fdcdd267f7c3a482467f60e00049b88da1ae88c Author: Aaron Patterson Date: Tue Jul 13 16:04:56 2021 -0700 fix alignment M yjit_codegen.c M yjit_core.c M yjit_utils.c commit d0174d99c6fcbeae2d5cdaa34908b9ac117bb9c3 Author: Aaron Patterson Date: Wed Jul 7 11:15:40 2021 -0700 Always use `ret` to return to the interpreter Always using `ret` to return to the interpreter means that we never have to check the VM_FRAME_FLAG_FINISH flag. In the case that we return `Qundef`, the interpreter will execute the cfp. We can take advantage of this by setting the PC to the instruction we can't handle, and let the interpreter pick up the ball from there. If we return a value other than Qundef, the interpreter will take that value as the "return value" from the JIT and push that to the SP of the caller The leave instruction puts the return value on the top of the calling frame's stack. YJIT does the same thing for leave instructions. However, when we're returning back to the interpreter, the leave instruction _should not_ put the return value on the top of the stack, but put it in RAX and use RET. This commit pops the last value from the stack pointer and puts it in RAX so that the interpreter is happy with SP. M mjit.h M yjit.h M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit b70383fbea8d4acc49eceed24c83d87637412ff4 Author: Noah Gibbs Date: Mon Jul 19 12:19:25 2021 +0100 YJIT stats should always include the inlined and outlined sizes, regardless of RUBY_DEBUG and --yjit-stats/YJIT_STATS settings M yjit_iface.c commit adfecd8f4d1d9a7f26c3acc309c371839b59ab3d Author: John Hawthorn Date: Thu Jul 15 16:49:47 2021 -0700 Allow asserts on results, rather than stdout M test/ruby/test_yjit.rb commit 9c9e23e2770bef9bc0168957676a2c2aa4f3dc1c Author: John Hawthorn Date: Thu Jul 15 16:38:26 2021 -0700 Add assert_no_exits alias M test/ruby/test_yjit.rb commit 4040ca82938445f8c1959c5b1e8619803ff78b1b Author: John Hawthorn Date: Fri Jun 25 23:50:19 2021 -0700 more testing M test/ruby/test_yjit.rb commit 073e3b2eab769d7ac04092b41704310a094dde81 Author: John Hawthorn Date: Fri Jun 25 14:47:23 2021 -0700 Add test for recursion M test/ruby/test_yjit.rb commit 7ed1e3ff0ba0f4fce1b500f27d1c68d94cc5f3b3 Author: John Hawthorn Date: Wed Jun 23 16:38:37 2021 -0700 Add test of yjit compilation A test/ruby/test_yjit.rb commit 4dc821e643fc8b3356b8c868014d42bdff0f8cee Author: John Hawthorn Date: Fri Jun 25 13:14:39 2021 -0700 Add YJIT.enabled? M common.mk M yjit.rb commit 9a436da064b966c1278ac530c6d6f2d02b0636dc Author: Kevin Newton Date: Thu Jul 15 15:35:20 2021 -0400 Ensure we guard the value before we return Otherwise you can end up not implicitly calling `to_ary`, which if it has side-effects will result in different behavior. M bootstraptest/test_yjit.rb M yjit_codegen.c commit 1943b27fe9f7ad237a1c5119550d2d71958cf4cd Author: Maxime Chevalier-Boisvert Date: Thu Jul 15 14:57:27 2021 -0400 Update yjit.rb M yjit.rb commit 84920fe8eeab41d44dbe3c6b8ca076471694c3be Author: Maxime Chevalier-Boisvert Date: Thu Jul 15 14:56:17 2021 -0400 Update yjit.rb Co-authored-by: Rafael França M yjit.rb commit a9c96222a980970de865958f3d1b9a4fde6efed1 Author: Aaron Patterson Date: Tue Jul 13 14:43:13 2021 -0700 Dup strings so we can mutate them I guess the strings are frozen, so we need to dup before mutating M yjit.rb commit 27681f269463b65b566eb857c36a504db9190618 Author: Maxime Chevalier-Boisvert Date: Thu Jul 15 12:29:49 2021 -0400 It's RUN_OPTS, not RUNOPTS!!! via @tenderlove M README.md commit 341d5bdcb229858935300056695f178a0ee4f8ff Author: Kevin Newton Date: Wed Jul 14 13:46:18 2021 -0400 Code review for expandarray and tests M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_iface.h commit 97025db90eaaa44770e4627ea3edc918086f3c0d Author: Kevin Newton Date: Wed Jul 14 13:02:13 2021 -0400 Convert jumps to cmov M yjit_codegen.c commit bfde30c326788c614ea72c76b9ae22cfb5eef950 Author: Kevin Deisz Date: Wed Jul 7 14:45:48 2021 -0400 Implement expandarray M yjit.rb M yjit_codegen.c M yjit_iface.h commit be648e0940054a693105b1a3da6c2675ee724499 Author: Kevin Newton Date: Wed Jul 14 15:16:56 2021 -0400 Implement splatarray M bootstraptest/test_yjit.rb M vm_insnhelper.c M yjit_codegen.c commit cb5571eece818b33d2f6a33b892e7cda31231e69 Author: John Hawthorn Date: Mon Jul 12 13:35:09 2021 -0700 Flatten mappings when clearing locals We clear locals when we know their values might change (ex. when performing a method call). However previously values on the stack which were originally pushed from a local would still point back to that local. With this commit, when clearing locals, we'll now iterate over the mappings of the stack and copy the known type from the local to the stack mapping, removing the association to the local. This should mean both that we'll retain any information we already know about the local type, and that if a local is modified we won't incorrectly infer it's new type from the existing value on the stack. M yjit_core.c commit d5f18f7845f0f0fb3024ada63a552deac9c11ad7 Author: Maxime Chevalier-Boisvert Date: Wed Jul 14 10:08:33 2021 -0400 Add (void) for no arg functions M yjit_asm.h M yjit_iface.c commit 350b686a2c6cc8f27466222cf8520a8fda931ea2 Author: Maxime Chevalier-Boisvert Date: Tue Jul 13 14:56:02 2021 -0400 First pass at code page GC object. M yjit_asm.c M yjit_asm.h M yjit_core.h M yjit_iface.c commit 2440fafba00b6646b312a0c74798523bfa44bfe9 Author: Aaron Patterson Date: Mon Jul 12 15:38:56 2021 -0700 rb_struct_define_under needs a trailing NULL The last parameter to rb_struct_define_under needs to be NULL otherwise we can get a SEGV. M yjit_iface.c commit dc8aca1883ebc76e02ff7097405d48f489c3535f Author: John Hawthorn Date: Mon Jul 12 12:33:24 2021 -0700 Use push and pop in jit_rb_obj_not to avoid corrupting types M yjit_codegen.c commit 0c390e99652a2a8880f06be17c663d3408e97772 Author: John Hawthorn Date: Mon Jul 12 12:28:03 2021 -0700 Add assertions of types in jit_guard_known_klass M yjit_codegen.c commit 51c84f003391a45460d188be155a3e85057234fd Author: Maxime Chevalier-Boisvert Date: Wed Jul 7 15:26:58 2021 -0400 Code page allocation code M yjit_asm.c M yjit_asm.h commit 09679f486c4e0d1bb09c98239c29620ea45533c5 Author: Aaron Patterson Date: Wed Jul 7 12:43:47 2021 -0700 Add an lldb script to print YJIT comments This script is an lldb helper that just loops through all the comments stored and prints out the comment along with the address corresponding to the comment. For example, I'm crashing in JIT code at address 0x0000000110000168. Using the `lc` helper I can see that it's probably crashing inside the exit back to the interpreter ``` (lldb) bt 5 * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x22220021) frame #0: 0x0000000110000168 * frame #1: 0x00000001002b5ff5 miniruby`invoke_block_from_c_bh [inlined] invoke_block(ec=0x0000000100e05350, iseq=0x0000000100c1ff10, self=0x0000000100c76cc0, captured=, cref=0x0000000000000000, type=, opt_pc=) at vm.c:1268:12 frame #2: 0x00000001002b5f7d miniruby`invoke_block_from_c_bh [inlined] invoke_iseq_block_from_c(ec=, captured=, self=0x0000000100c76cc0, argc=2, argv=, kw_splat=0, passed_block_handler=0x0000000000000000, cref=0x0000000000000000, is_lambda=, me=0x0000000000000000) at vm.c:1340 frame #3: 0x00000001002b5e14 miniruby`invoke_block_from_c_bh(ec=, block_handler=, argc=, argv=, kw_splat=0, passed_block_handler=0x0000000000000000, cref=0x0000000000000000, is_lambda=, force_blockarg=0) at vm.c:1358 frame #4: 0x000000010029860b miniruby`rb_yield_values(n=) at vm_eval.c:0 (lldb) lc 0x11000006d "putobject_INT2FIX_1_" 0x110000083 "leave" 0x110000087 "check for interrupts" 0x110000087 "RUBY_VM_CHECK_INTS(ec)" 0x110000098 "check for finish frame" 0x1100000ed "getlocal_WC_0" 0x110000107 "getlocal_WC_1" 0x11000012a "opt_send_without_block" 0x110000139 "opt_send_without_block" 0x11000013c "exit to interpreter" ``` A misc/lldb_yjit.py commit ba9aa1f8efb77c6cf58ec4ea6bb81ced17acbc2b Author: Kevin Deisz Date: Tue Jul 6 16:26:56 2021 -0400 Implement opt_div M bootstraptest/test_yjit.rb M yjit_codegen.c commit b0ae4fdcfbe0004908adcc44f0ae0e3a3762917b Author: Kevin Deisz Date: Tue Jul 6 14:45:36 2021 -0400 Implement opt_mult Basically the same thing as opt_mod, but for multiplying. M bootstraptest/test_yjit.rb M yjit_codegen.c commit 4bea8af69f153b78ccac2d7b2bb7248fbd8d1c38 Author: Maxime Chevalier-Boisvert Date: Tue Jul 6 16:14:34 2021 -0400 Update deps M common.mk commit 6cb4edd73ff23809887a72293b670d9c9de2a8fe Author: Maxime Chevalier-Boisvert Date: Wed Jun 30 16:04:25 2021 -0400 Implement swap instruction M yjit_codegen.c commit 9e0a56fb24ed741d2215a4c4f7e560fa7b88dc8b Author: John Hawthorn Date: Thu Jun 24 08:15:53 2021 -0700 Add FLONUM detection M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_core.h commit dfc5e5e35b927bcfc26af0b59d4952e97bdfb0f7 Author: John Hawthorn Date: Tue Jun 22 19:22:30 2021 -0700 Support guards against symbols and integers This adds guards M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_core.h commit c3f264b62cfee09a90fd3f75de9eaa36bc06645d Author: John Hawthorn Date: Sat Jun 26 00:06:58 2021 -0700 Allow chaining on immediate guard In jit_guard_known_klass whenever we encounter a new class should recompile the current instruction. However, previously once jit_guard_known_klass had guarded for a heap object it would not recompile for any immediate (special const) objects arriving afterwards and would take a plain side-exit instead of a chain guard. This commit uses jit_chain_guard inside jit_guard_known_klass instead of the plain side exit, so that we can recompile for any special constants arriving afterwards. M yjit_codegen.c commit 6998246233e42a05883a7bfc9364bb5918456107 Author: Noah Gibbs Date: Wed Jun 30 10:00:07 2021 +0100 Use snprintf rather than double strncpy. M yjit_iface.c commit e2fe7e4aff27f498d56e44586276558355da34dd Author: Noah Gibbs Date: Wed Jun 30 09:41:19 2021 +0100 Percentages should be out of 100.0%, not 1.0%. M yjit.rb commit db02d73e5e0489dd2028ea4b9572361ed5aa2cc9 Author: Noah Gibbs Date: Tue Jun 29 19:34:05 2021 +0100 Change strcpy of a static string to strncpy M yjit_iface.c commit 5e164a77d536e0eea9c76ade036a3ff4d14176c3 Author: Noah Gibbs Date: Tue Jun 29 18:25:33 2021 +0100 Better comments where we add exits-by-opcode to the stats hash, plus a presumably-unneeded strncpy just to be sure. M yjit_iface.c commit 89ae21a09222c54ada556c449fd58a3e0e6f9816 Author: Noah Gibbs Date: Tue Jun 29 16:52:09 2021 +0100 Add back ifdefs for RUBY_DEBUG, accidentally removed M yjit_iface.c commit d2e9932908cf1a1075d07157bfa520a1714d43b0 Author: Noah Gibbs Date: Tue Jun 29 16:36:05 2021 +0100 Convert YJIT stats reporting on exit from C to Ruby. M yjit.rb M yjit_iface.c commit 33227b1094d349bd64a2a588825cdf530ea5c459 Author: Noah Gibbs Date: Tue Jun 29 15:37:12 2021 +0100 Add exit counters and inline/outlined code size to stats hash M yjit.rb M yjit_iface.c commit 0d63600e4f9d45e9814191e5ca7aecf9ef28a9df Author: Aaron Patterson Date: Mon Jun 28 15:00:35 2021 -0700 Partial revert of ceebc7fc98d I'm looking through the places where YJIT needs notifications. It looks like these changes to gc.c and vm_callinfo.h have become unnecessary since 84ab77ba592. This commit just makes the diff against upstream smaller, but otherwise shouldn't change any behavior. M gc.c M vm_callinfo.h M vm_method.c commit b385f311882be75e81ec9ce7ab74d2368fec1560 Author: Noah Gibbs Date: Mon Jun 28 17:35:20 2021 +0100 Remove seven YJIT counters that are no longer used. M yjit_iface.h commit 25792c17d44f4097ad5aedee87b4369cfdbef9f7 Author: Noah Gibbs Date: Mon Jun 28 18:06:03 2021 +0100 Convert yjit static stat variables to counters M yjit_core.c M yjit_iface.c M yjit_iface.h commit 94cb5a6b1e9243526af341b420ac1cb9c4de56c0 Author: John Hawthorn Date: Wed Jun 23 13:15:28 2021 -0700 Implement opt_neq M yjit_codegen.c commit 3996e0ab07d06b7685eecd56a542e9672702dee2 Author: Alan Wu Date: Wed Jun 23 20:28:42 2021 -0400 Add tests, comments, and an assert for invokesuper M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_iface.c commit 6883aeda77c09c4982080f968491eacbc43a47e1 Author: Alan Wu Date: Wed Jun 23 21:19:10 2021 -0400 Add a macro for tweaking default call threshold For use in development for writing `test.rb` and running with `make run`. M yjit_iface.c M yjit_iface.h commit 71560f8804d30509b5d0be6547469b089c63ab9a Author: John Hawthorn Date: Fri Jun 18 16:56:39 2021 -0700 Add opt_size and opt_length M yjit_codegen.c commit e4bf905a2863a8ff1e3455e462dff0c8657aaa8e Author: John Hawthorn Date: Fri Jun 18 13:30:07 2021 -0700 Use an st_table for optimized method codegen We recently added the ability to optimize a known cfunc with custom code generation for it. Previously we performed this lookup with a switch statement on the address of the c function being called. This commit swaps that out for a hash lookup on the method definition. For now I've kept this limited this to cfuncs, but it wouldn't take significant changes to make this work for other method types. This implemenation is similar to how the interpreter keeps track of which BOPs (basic operations) are redefined This has a few advantages: - Doesn't the C function's symbol to be exported (they're often static) - This could support VM_METHOD_TYPE_OPTIMIZED in the future. - This could support VM_METHOD_TYPE_ISEQ in the future. Kernel#class would be a good candidate for this since to yjit it will just be a constant push as we already know the class through BBV. - Slightly cleaner to declare - Less tightly coupled to each method's implementation And a couple minor trade-offs: - The looser coupling could be seen as a disadvantage (I don't think so, - If a cfunc is defined multiple times we would need to declare it on each definition. ex. BasicObject#== and BasicObject#equal?. This is rare compared to using an alias. M yjit_codegen.c commit 7030cae969085f2849bc265047397fadff8b97e3 Author: Maxime Chevalier-Boisvert Date: Wed Jun 23 13:55:34 2021 -0400 Try running with more YJIT options in CI to surface more bugs M .github/workflows/yjit.yml M README.md M ruby.c M yjit.h M yjit_core.c M yjit_iface.c commit b63fcafbc953205a6547bff74cbfcb906f1f87fe Author: Aaron Patterson Date: Tue Jun 22 14:33:46 2021 -0700 Make jumps dashed and falls solid M yjit.rb commit 089ad6dc784977d2deaacc8061a8a54888b8699d Author: Aaron Patterson Date: Mon Jun 21 16:48:03 2021 -0700 Clean graph formatting M yjit.rb commit 46d5e10279b6f1cea46682b5a5da3a09c5ce0c07 Author: Aaron Patterson Date: Thu Jun 10 13:16:58 2021 -0700 Add graphviz output This adds a method to blocks to get outgoing ids, then uses the outgoing ids to generate a graphviz graph. Two methods were added to the Block object. One method returns an id for the block, which is just the address of the underlying block. The other method returns a list of outgoing block ids. We can use Block#id in conjunction with Block#outgoing_ids to construct a graph of blocks M yjit.rb M yjit_iface.c commit f54e6e131099b5502f7d9be57f29bab11c70d841 Author: Maxime Chevalier-Boisvert Date: Tue Jun 22 16:37:48 2021 -0400 Update comment M yjit_core.c commit 30f20d7c3867d6e06d78efb5d7e99b4b4260c2ac Author: Aaron Patterson Date: Mon Jun 21 15:16:13 2021 -0700 Remove some MicroJIT vestiges Just happened to run across this, so lets fix them M template/Makefile.in M tool/ruby_vm/models/instructions.rb R099 tool/ruby_vm/models/micro_jit.rb tool/ruby_vm/models/yjit.rb R095 tool/ruby_vm/models/micro_jit/example_instructions.rb tool/ruby_vm/models/yjit/example_instructions.rb M tool/ruby_vm/views/vm.inc.erb M tool/ruby_vm/views/yjit_hooks.inc.erb commit 0cd3b97e027332236625835578329580be12023c Author: Alan Wu Date: Mon Jun 21 20:18:54 2021 -0400 Handle non-material empty singleton class properly As an optimization, multiple objects could share the same singleton class. The optimization introduced in 6698e433934d810b16ee3636b63974c0a75c07f0 wasn't handling this correctly so was generating guards that never pass for the inputs we defer compilation to wait for. After generating identical code multiple times and failing, the call site is falsely recognized as megamorphic and it side exits. See disassembly for the following before this commit: def foo(obj) obj.itself end o = Object.new.singleton_class foo(o) puts YJIT.disasm(method(:foo)) See also: comment in rb_singleton_class_clone_and_attach(). M bootstraptest/test_yjit.rb M yjit_codegen.c commit 89110590a3864e4af1fd62df0182396b86ab17f3 Author: Alan Wu Date: Mon Jun 21 19:26:50 2021 -0400 Disable invokesuper codegen for now. Add test The added test fails with SystemStackError with --yjit-call-threshold=1. M bootstraptest/test_yjit.rb M yjit_codegen.c commit da20ff1644a274aff4d5ad22c649c85d83e7e311 Author: Alan Wu Date: Fri Jun 18 19:05:02 2021 -0400 Fix bug in generic case for gen_checktype When checking for T_HASH, which is Qnil and when the type check succeeds we were outputting to the stack a Qnil instead of a Qtrue. M bootstraptest/test_yjit.rb M yjit_codegen.c commit 7d252186fe803aa5e1fa37c953609266a2d8ba1d Author: John Hawthorn Date: Thu Jun 17 11:29:28 2021 -0700 Simplify known class check for singletons Singleton classes should only ever be attached to one object. This means that checking for the object should be the same as checking for the class. This should be slightly faster by avoiding one memory acccess as well as allowing us to skip checking if the receiver is a heap object. This will be most common for calling class methods. M bootstraptest/test_yjit.rb M yjit_codegen.c commit 8c68f112d8ec9f5a9a416fc69602855bf43c4dd6 Author: Alan Wu Date: Wed Jun 16 16:55:13 2021 -0400 Delay and be selective about when to discard local types jit_rb_obj_not() wants to access the type information of the receiver, but we were discarding type info of locals before jit_rb_obj_not() runs unncessarily. There are also cases we are unncessarily discarding local type info. For example, ivar reader and setter methods can never change local variables. M yjit_codegen.c commit 936ee5556280162da3016bf62ebe74ef07caf882 Author: Alan Wu Date: Wed Jun 16 18:06:06 2021 -0400 Improve opt_not by expanding cfunc codegen This commit improves opt_not by making it correct when TrueClass#! and/or FalseClass#! is defined and genearting better code when the receiver is a heap object. guard_known_class() can now handle true, false, and nil, and we introduce a codegen function reimplementing rb_obj_not(), used when we know we are calling into rb_obj_not(). Co-authored-by: Maxime Chevalier-Boisvert Co-authored-by: Noah Gibbs M bootstraptest/test_yjit.rb M yjit_codegen.c commit 78f64d14d47f49e7fe68aab202a056cec7b86218 Author: John Hawthorn Date: Mon Jun 14 16:44:08 2021 -0700 Add invokebuiltin_delegate_leave invokebuiltin_delegate can be run in place of invokebuiltin_delegate_leave because there is always a leave instruction afterwards (the interpreter takes advantage of this as well when rewriting iseqs for tracing). M yjit_codegen.c commit b93f59ced0a1dbab6b18839e8664a02ea7b3b1aa Author: John Hawthorn Date: Sat Jun 12 14:02:51 2021 -0700 Implement invokebuiltin_delegate invokebuiltin_delegate is a special version of invokebuiltin used for sending a contiguous subset of the current method's locals. In some cases YJIT would already handle this for trivial cases it could be inlined, implementing this OP allows it to work when the method isn't inlinable (not marked as 'inline', does more than just call, not called from yjit, etc). M bootstraptest/test_yjit.rb M yjit_codegen.c commit d416a15c86f0641f5dda3d32c05a30fd5510ccf6 Author: Jean Boussier Date: Wed Jun 16 14:02:41 2021 +0200 Warn rather than raise when --yjit-stats is ignored M yjit_iface.c commit f16ec70e4fe90028d8584b5447f447c429024dde Author: John Hawthorn Date: Mon Jun 14 18:02:32 2021 -0700 Allow yjit.rb to work with frozen strings M yjit.rb commit d1d3d2c0aab39511258c5c75b34396601a94f6f5 Author: Noah Gibbs Date: Mon Jun 14 12:07:27 2021 +0100 If --yjit-stats is given without RUBY_DEBUG, that should be an error. M yjit_iface.c commit 364cdda0f1b63ac0e541ed73a3185a26d309e4da Author: Maxime Chevalier-Boisvert Date: Fri Jun 11 14:30:30 2021 -0400 Fix compiler warning M yjit_codegen.c commit 3365e1d719d83235fdea1e95086f1e96ef8fa5bd Author: Jean Boussier Date: Fri Jun 11 17:40:14 2021 +0200 Allow to enable `--yjit-stats` via a env variable M yjit_iface.c commit 9043ad3d74413823e62b11923652d272e41dc230 Author: Aaron Patterson Date: Thu Jun 10 09:40:30 2021 -0700 Implement topn instruction This commit implements the topn instruction Co-Authored-By: Maxime Chevalier-Boisvert Co-Authored-By: Noah Gibbs M bootstraptest/test_yjit.rb M yjit_codegen.c commit 986b9b47d11829f1071f7d3bab78f847ea4543bf Author: John Hawthorn Date: Wed Jun 9 17:01:57 2021 -0700 Better comments M yjit_codegen.c commit 0a3ee8b2e314ee0950dbdb39e9dd0da58f63f16f Author: John Hawthorn Date: Wed Jun 9 19:04:22 2021 -0700 Avoid looping on invokesuper on module included multiple times M yjit_codegen.c commit 3fedf8329d0b0916be1cf6ec27ca76e3b2233d03 Author: John Hawthorn Date: Wed Jun 9 19:03:11 2021 -0700 Check for refinements in gen_invokesuper M yjit_codegen.c commit 0fb292609788efed17f482bf9b2474cfc0a7e2fb Author: John Hawthorn Date: Wed Jun 9 16:31:32 2021 -0700 Guard against implicitly forwarded block M yjit_codegen.c commit ecd4487a48eb125515ab3e1e739803f7a1895e6a Author: Maxime Chevalier-Boisvert Date: Wed Jun 9 13:49:14 2021 -0400 Remove #define MAX_VERSIONS, now using command-line option M yjit_core.c commit 83c7f27adec684d16fb01f3b098d694ab15e9295 Author: John Hawthorn Date: Wed Jun 9 10:22:09 2021 -0700 Add invokesuper M yjit_codegen.c commit 99341d4a18805db6426c833da0a1d7e1e1f05bd4 Author: Maxime Chevalier-Boisvert Date: Tue Jun 8 14:15:02 2021 -0400 Fix issue in yjit_free_block causing segfault This addresses issue #55 M yjit_core.c commit 67c2cdc59a5fc8a82804c72a30a2d23ba36f2366 Author: John Hawthorn Date: Tue Jun 8 07:52:57 2021 -0700 Implement gen_getlocal This extracts the generation code from getlocal_wc1, since this is the same just with more loops inside vm_get_ep. M bootstraptest/test_yjit.rb M yjit_codegen.c commit 5432f46f6a7a35a8d2a924eae7b1e29289a58292 Author: Maxime Chevalier-Boisvert Date: Mon Jun 7 16:12:19 2021 -0400 Can't add comments to the outlined code block M yjit_codegen.c commit ed636b59edf18199c9a3477bfb7b514c7756778a Author: John Hawthorn Date: Mon Jun 7 09:35:11 2021 -0700 Add duparray to YJIT codegen M yjit_codegen.c commit d77c989ac73274a0908746c0f861fb8936f64dfc Author: John Hawthorn Date: Fri Jun 4 16:49:50 2021 -0700 Fix check for leaf invokebuiltin Also added a comment when inlining a leaf builtin M yjit_codegen.c commit 9a55fd37c926f7297e2039a0436aae755a06ce78 Author: Maxime Chevalier-Boisvert Date: Thu Jun 3 15:25:53 2021 -0400 Update README.md M README.md commit 43acb9d7f0d96caec6c517d3e9097b956bc91dd9 Author: Maxime Chevalier-Boisvert Date: Thu Jun 3 12:54:12 2021 -0400 Update README.md M README.md commit cdc9cb6e97ca0868057465b11e8b498035931f69 Author: Alan Wu Date: Thu Jun 3 12:04:05 2021 -0400 Stylize macOS correctly Yes, it's all very confusing. M README.md commit 7dc497e15874beab7f6b495303a19dd62b65b340 Author: Maxime Chevalier-Boisvert Date: Thu Jun 3 11:47:11 2021 -0400 Update README.md M README.md commit b1fab663eb21fdab23bd15131a3021e2011a1e6f Author: Maxime Chevalier-Boisvert Date: Thu Jun 3 11:09:32 2021 -0400 Update README.md M README.md commit 860589c7fa63faa837e0922f581ef8b1af7837d4 Author: Maxime Chevalier-Boisvert Date: Thu Jun 3 08:39:52 2021 -0400 Use builtin_inline_p to avoid pushing a frame for primitive C methods (#63) * Use builtin_inline_p to skip a frame of C methods * Fix bugs in primitive cfunc call code * Remove if (push_frame) {} * Remove if (push_frame) {} * Push Aaron's fix to avoid hardcoding insn lengths Co-authored-by: Takashi Kokubun M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit 9f46e6e64b826f555dd9cf80839f1aa89fdc36fd Author: Aaron Patterson Date: Wed Jun 2 10:02:42 2021 -0700 Disable YJIT while running MJIT tests (#62) Two JITs running at once may result in strange interactions. Lets disable YJIT while running the MJIT tests. M .github/workflows/mjit.yml commit ea33b0a9baa26e96b1a34d7823ec0235d0e0bd90 Author: John Hawthorn Date: Wed Jun 2 08:15:39 2021 -0700 Add concatstrings to yjit codegen (#58) * Add ETYPE_TRUE and ETYPE_FALSE * Implement checktype * Implement concatstrings * Update deps M bootstraptest/test_yjit.rb M common.mk M yjit_codegen.c M yjit_core.h commit eb6e5be038a94c622f09188c957370d86650628c Author: John Hawthorn Date: Thu May 27 10:59:41 2021 -0700 Add newhash and newarray instructions to yjit codegen (#48) * Implement gen_newarray * Implement newhash for n=0 * Add yjit tests for newhash/newarray * Fix integer size warning on clang * Save PC and SP in newhash and newarray Co-authored-by: Maxime Chevalier-Boisvert M bootstraptest/test_yjit.rb M yjit_codegen.c commit d01204a15da9afcd4ddcc48ec022f9bf92db0a70 Author: Maxime Chevalier-Boisvert Date: Thu May 27 11:30:38 2021 -0400 Disable extra T_OBJECT check added because of Nokogiri M yjit_codegen.c commit 546ca8167d341bca2b7a1927950a0369b5185bf0 Author: John Hawthorn Date: Wed May 26 13:09:32 2021 -0700 Guard for T_OBJECT at compile time (#53) Previously this could crash on Nokogiri when JITing the getivar instruction because we would attempt to treat Nokogiri::XML::Document's T_DATA as a T_OBJECT in calling rb_iv_index_tbl_lookup. This commit also checks for T_OBJECT at compile time and emits the rb_ivar_get fallback in that case. Co-authored-by: HParker Co-authored-by: Dinah Shi Co-authored-by: HParker Co-authored-by: Dinah Shi M yjit_codegen.c commit 9283fc1bb554da800fe02bdd1653520f8b743344 Author: John Hawthorn Date: Wed May 26 12:40:50 2021 -0700 Implement opt_freeze and opt_uminus (#49) M yjit_codegen.c commit b415ceb92e464011a9326c9cb5e15a84c39da330 Author: Maxime Chevalier-Boisvert Date: Wed May 26 15:25:50 2021 -0400 Increase default YJIT call threshold to 10. Add exec mem size arg. (#52) M README.md M ruby.c M yjit.h M yjit_codegen.c M yjit_iface.c commit 764740c6615292dc994707b964c135871149fb2b Author: John Hawthorn Date: Tue May 25 13:12:48 2021 -0700 Merge pull request #50 from jhawthorn/detect_type Detect types from putobject and getinlinecache M yjit_codegen.c M yjit_core.h commit 844067f7ee40a406314c6b570df82fc43d519131 Author: Maxime Chevalier-Boisvert Date: Fri May 21 17:51:38 2021 -0400 Update README.md M README.md commit 6ecb007f6eb612d7d7b2ee12fbcb65c834fc3359 Author: John Hawthorn Date: Fri May 21 12:33:37 2021 -0700 Recommend installing libcapstone M README.md commit 1aace65dc045909b6c33491fe3f5218c33117e0a Author: Maxime Chevalier-Boisvert Date: Tue May 18 17:54:34 2021 -0400 Add comment M yjit_codegen.c commit 03da234eb019902176f8d456fceaefee11858a59 Author: Maxime Chevalier-Boisvert Date: Tue May 18 15:37:11 2021 -0400 Add T_OBJECT check to getivar M yjit_codegen.c commit a66dce146a1ea2c38a8f4133f598d4316c39c910 Author: Maxime Chevalier-Boisvert Date: Thu May 13 20:09:05 2021 -0400 Implement opt_not with deferred compilation (#44) M yjit_codegen.c commit da30f21ab5122b55f69fb41290f587aadd4fb8f7 Author: Maxime Chevalier-Boisvert Date: Thu May 13 13:25:12 2021 -0400 Try to fix MJIT symbol clash with cargo cult M vm_insnhelper.c commit 0db85218aa6d398222ffeb25a0b6858c378fd59e Author: Maxime Chevalier-Boisvert Date: Wed May 12 15:22:55 2021 -0400 Avoid interrupt checks for forward branches (#41) M yjit_codegen.c commit 6b5d26dc788bfcf1d39db0bfe25645173507299c Author: Maxime Chevalier-Boisvert Date: Wed May 12 10:18:46 2021 -0400 Implement basic encodings for xchg M yjit_asm.c M yjit_asm.h M yjit_asm_tests.c commit 5c2f74fc32951fc038dca465985a4859c517ef47 Author: Maxime Chevalier-Boisvert Date: Tue May 11 16:33:28 2021 -0400 Fix encoding of test x86 instruction M yjit_asm.c M yjit_asm_tests.c commit 54fe43b45ce65f0e2cde4d4e950303893a721ebd Author: Maxime Chevalier-Boisvert Date: Tue May 11 16:06:07 2021 -0400 Implement defined bytecode (#39) M vm_insnhelper.c M yjit_codegen.c commit 7ce6d1f0c2683b5d70b2c8055d893fd3052a266a Author: Maxime Chevalier-Boisvert Date: Tue May 11 13:14:12 2021 -0400 Update README.md M README.md commit 3677b233ddc5c0410b71590e709bb9e940e58fa3 Author: Maxime Chevalier-Boisvert Date: Tue May 11 12:51:05 2021 -0400 Implement opt_nil_p and opt_empty_b by delegating to send (#35) M yjit_codegen.c commit d6412126bcafb4a123aebe4f614e45d5d1064948 Author: Maxime Chevalier-Boisvert Date: Mon May 10 19:43:30 2021 -0400 Implement setivar with a plain old function call (#34) * Implement setivar with a plain old function call * Remove return M vm_insnhelper.c M yjit_codegen.c commit 7eef8f09c09d054b0554a304456a0bbd9df40d86 Author: Alan Wu Date: Mon May 10 17:05:12 2021 -0400 Implement getblockparamproxy * Implement getblockparamproxy * Parallel runner: wait for timeout thread to terminate after killing Or else the leak cheaker could sees the thread as running and cause test failures in test-tool. * Add a comment, use jne * Comment about where 0x3 comes from M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_core.h commit ce928473d054b3fcbe2b05a1432b770dccd54bef Author: Maxime Chevalier-Boisvert Date: Mon May 10 15:32:43 2021 -0400 Deletate to opt_send_without_block for opt_ltlt (#33) M yjit_codegen.c commit 0c3842d154185d498f468b068c5702ceb5ddb216 Author: Maxime Chevalier-Boisvert Date: Mon May 10 11:50:21 2021 -0400 Implement opt_aset as interpreter handler call M vm_insnhelper.c M yjit_codegen.c commit c9feb72b650a2e8f2ab0eab164e1ffd52f739396 Author: Maxime Chevalier-Boisvert Date: Fri May 7 16:10:09 2021 -0400 Implement opt_mod as call to interpreter function (#29) M bootstraptest/test_yjit.rb M vm_insnhelper.c M yjit_codegen.c commit e2c1d69331a037b7c26508d69d6e1ed0f6e70961 Author: Maxime Chevalier-Boisvert Date: Fri May 7 14:08:16 2021 -0400 Implement opt_eq by calling interpreter function (#28) M vm_insnhelper.c M yjit_codegen.c commit e22657b88708d594720b40f7d9a350b4bace42ff Author: Maxime Chevalier-Boisvert Date: Thu May 6 17:12:17 2021 -0400 Implement branchnil bytecode (#26) M yjit_codegen.c commit 6c793a2fed4592d2196d9e43df58fba9274faafb Author: Maxime Chevalier-Boisvert Date: Thu May 6 15:39:28 2021 -0400 Update README.md M README.md commit 4f24f3afc7baed2294614357486e10e1f055c661 Author: Maxime Chevalier-Boisvert Date: Thu May 6 15:31:38 2021 -0400 Update README.md M README.md commit 0d64f5e8a89a0ca5caba5289249ba9ee34fa4303 Author: Alan Wu Date: Thu May 6 12:24:50 2021 -0400 Check for easy-to-handle cases of block param (#24) In some cases, methods taking block parameters don't require extra paramter setup. They are fairly popular in railsbench. M bootstraptest/test_yjit.rb M yjit_codegen.c commit ad601cef8af4bc93a53c8437be4fe8749191f621 Author: Maxime Chevalier-Boisvert Date: Wed May 5 16:36:36 2021 -0400 Update README.md Add section documenting command-line arguments M README.md commit e5f8b417862cf7a7d03c82067b9870151cd6ce28 Author: Maxime Chevalier-Boisvert Date: Wed May 5 16:06:19 2021 -0400 Implement send with alias method (#23) * Implement send with alias method * Add alias_method tests M bootstraptest/test_yjit.rb M vm_insnhelper.c M yjit_codegen.c commit 0758115d112a1ff452876d3689d20e84d5ff1e37 Author: Alan Wu Date: Tue May 4 12:35:51 2021 -0400 Implement send with blocks * Implement send with blocks Not that much extra work compared to `opt_send_without_block`. Moved the stack over flow check because it could've exited after changes are made to cfp. * rename oswb counters * Might as well implement sending block to cfuncs * Disable sending blocks to cfuncs for now * Reconstruct interpreter sp before calling into cfuncs In case the callee cfunc calls a method or delegates to a block. This also has the side benefit of letting call sites that sometimes are iseq calls and sometimes cfunc call share the same successor. * only sync with interpreter sp when passing a block Co-authored-by: Maxime Chevalier-Boisvert Co-authored-by: Aaron Patterson M bootstraptest/test_yjit.rb M yjit.rb M yjit_codegen.c M yjit_codegen.h M yjit_iface.c M yjit_iface.h commit 59e5f6b83b3d55fb4a2e4d9669c31d5f31b1fda0 Author: Maxime Chevalier-Boisvert Date: Thu Apr 29 17:15:50 2021 -0400 Implement dupn for n==2 (only case used in RDoc/railsbench) (#20) * Implement dupn for n==2 (only case used in RDoc/railsbench) * Implement adjuststack bytecode M yjit_codegen.c commit 8249f6ef57df76d2789b728f0646a34dbf207c94 Author: Maxime Chevalier-Boisvert Date: Thu Apr 29 15:09:31 2021 -0400 Print top-20 common exit reasons instead of just top-10 (#19) M yjit_iface.c commit 684e84df7cdfd47d2b66d717369121337a2bd32d Author: Alan Wu Date: Thu Apr 29 11:47:19 2021 -0400 Use rb_ivar_get() for general case of getivar (#17) * Use rb_ivar_get() for general case of getivar Pretty straight forward. Buys about 1% coverage on railsbench. * Update yjit_codegen.c Co-authored-by: Maxime Chevalier-Boisvert M bootstraptest/test_yjit.rb M yjit_codegen.c commit 62c1297e246966bd3b309d3a3ce3cd0dc78c389d Author: Maxime Chevalier-Boisvert Date: Wed Apr 28 16:55:56 2021 -0400 Implement setn bytecode (#15) M yjit_codegen.c commit 36134f7d293b3f02e85599a3374d670aa575aeb0 Author: Alan Wu Date: Wed Apr 28 12:59:26 2021 -0400 Implement calls to methods with simple optional params * Implement calls to methods with simple optional params * Remove unnecessary MJIT_STATIC See comment for MJIT_STATIC. I added it not knowing whether it's required because the function next to it has it. Don't use it and wait for problems to come up instead. * Better naming, some comments * Count bailing on kw only iseqs On railsbench: ``` opt_send_without_block exit reasons: bmethod 59729 (27.7%) optimized_method 59137 (27.5%) iseq_complex_callee 41362 (19.2%) alias_method 33346 (15.5%) callsite_not_simple 19170 ( 8.9%) iseq_only_keywords 1300 ( 0.6%) kw_splat 1299 ( 0.6%) cfunc_ruby_array_varg 18 ( 0.0%) ``` M bootstraptest/test_yjit.rb M vm_insnhelper.c M yjit_codegen.c M yjit_iface.h commit bce6dea72d0081e4777b80e1de3b76fbfcde9f0a Author: Maxime Chevalier-Boisvert Date: Tue Apr 27 16:27:56 2021 -0400 Fix assertions in `invalidate_block_version()`, add small repro (#14) * Fix block invalidation assertions * Add Alan's small repro for double invalidation bug M bootstraptest/test_yjit.rb M yjit_core.c commit cfaf6013036bf1294d4dead83155daeb5a95308e Author: Maxime Chevalier-Boisvert Date: Tue Apr 27 15:05:02 2021 -0400 Update README.md M README.md commit cf2b508375c0b1d3c67f108861afb454a5110790 Author: Maxime Chevalier-Boisvert Date: Tue Apr 27 11:37:06 2021 -0400 Try to alloc executable memory within rel32 range on Linux machines (#12) * Use INT32_MIN, INT32_MAX, etc. constants in yjit_asm.c * Print warning on stderr when code past rel32 jump range * Fix preprocessor snafu * Move rel32 warning into --yjit-stats * Try to allocate within rel32 offset on Linux machines * Update yjit_asm.c Co-authored-by: Alan Wu * On Linux, use sysconf to get the page size Co-authored-by: Alan Wu M yjit_asm.c M yjit_iface.c commit 34dcd0b3e642778b34c354cee503826f1fc373fc Author: Maxime Chevalier-Boisvert Date: Tue Apr 27 11:25:00 2021 -0400 Update README.md M README.md commit 31ab35309b12db2d7d4c0b387dc6fbb531068e70 Author: Maxime Chevalier-Boisvert Date: Mon Apr 26 11:14:00 2021 -0400 Update common.mk M common.mk commit 8bd3e5015b52713753b06879155615e101a1e467 Author: Maxime Chevalier-Boisvert Date: Mon Apr 26 10:41:35 2021 -0400 Update README.md M README.md commit 96f4f918b04fad1401d4f41cd11d97d9d4d28c7d Author: Maxime Chevalier-Boisvert Date: Sat Apr 24 00:16:48 2021 -0400 Implement greedy versioning. Refactor versioning logic. (#10) * Implement eager versioning. Refactor versioning logic. * Add --version-limit and --greedy-versioning command-line args M README.md M ruby.c M yjit.h M yjit_codegen.c M yjit_codegen.h M yjit_core.c M yjit_iface.c commit 4c7afa64b49d792da586709b2bbc1aa2f04b5712 Author: Alan Wu Date: Thu Apr 22 22:11:44 2021 -0400 Make gen_opt_aref() delegate to gen_opt_send_without_block() (#9) Basically mirroring the interpreter for the general case. M yjit_codegen.c commit eaf039af982b19a854ad705cd441144ae648b791 Author: Maxime Chevalier-Boisvert Date: Thu Apr 22 18:24:45 2021 -0400 Create GitHub workflow to run ASM tests (#8) * Create GitHub workflow to run ASM tests * Specify path * Attempt #3 * Set bash flags to print commands, stop on first error * Remove clear command from test_asm.sh * Use clang A .github/workflows/asm_tests.yml M test_asm.sh commit f1b11fa454551403ca74362329d6a0843363fce5 Author: Alan Wu Date: Thu Apr 22 12:15:52 2021 -0400 Comment edits M yjit_codegen.c commit 3e80104024b8663ab99d2571f2cf1cdf054a89f6 Author: Maxime Chevalier-Boisvert Date: Thu Apr 22 11:55:30 2021 -0400 Aesthetic changes and add missing counter M yjit_codegen.c commit 8106a95efb19fa0a11e2cc7ecc4889b216239896 Author: Alan Wu Date: Mon Apr 19 18:52:55 2021 -0400 English M yjit_codegen.c commit 10c0275b114d05631e649caaf7b2ddce893b5692 Author: Alan Wu Date: Mon Apr 19 18:50:56 2021 -0400 Use jmp with memory operand for smaller code size M yjit_codegen.c commit 1610dc0864a330006085ac9e9d6428b89d6c0ccd Author: Alan Wu Date: Mon Apr 19 18:23:07 2021 -0400 YJIT: use a context-free landing pad to optimize `leave` This allows gen_leave to always do an indirect to cfp->jit_return. M yjit_codegen.c commit 9bd779cbf96fc6abc6135502d8580a4765d4b28d Author: Maxime Chevalier-Boisvert Date: Thu Apr 22 10:10:15 2021 -0400 Don't check if value is immediate if context has type info M yjit_codegen.c commit e66c9f8c621eb710085b45a4274e2a2135de57d5 Author: Maxime Chevalier-Boisvert Date: Wed Apr 21 23:36:53 2021 -0400 Remove redundant mov M yjit_codegen.c commit adbd7ff332a34e674d7e6281134248b1292fe60f Author: Maxime Chevalier-Boisvert Date: Wed Apr 21 17:24:49 2021 -0400 Fix frozen check (use jnz) and move heap object check. M yjit_codegen.c commit 38e67ccd157497e228b22cd4cd1f9416b61cf0b4 Author: Maxime Chevalier-Boisvert Date: Wed Apr 21 17:16:44 2021 -0400 Add setivar exit reasons to --yjit-stats M yjit.rb commit 435d7c5088295be99d83464f2c924401844f03af Author: Aaron Patterson Date: Wed Apr 21 13:01:03 2021 -0700 Improve set instance variable This commit improves the set ivar implementation. M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_iface.h commit 035b5ac3bb3e1e9414aee3c285414c739c9c54d2 Author: Maxime Chevalier-Boisvert Date: Wed Apr 21 10:33:32 2021 -0400 Remove token_paste.h dep from common.mk M common.mk commit ac88c61ed8a4740335e856617704b3959daac33c Author: Aaron Patterson Date: Tue Apr 20 13:47:38 2021 -0700 cYjitCodeComment is only defined if we're not in debugging mode This commit fixes a build error. If we build in release mode (IOW *without* RUBY_DEBUG), then this constant isn't defined. Release mode builds are required by yjit-bench M yjit_iface.c commit 60496b6666765ab8cb63816ca1d525fcfbcf7abc Author: Maxime Chevalier-Boisvert Date: Tue Apr 20 16:14:35 2021 -0400 Pass self type through method calls M README.md M yjit_codegen.c M yjit_core.c commit ef5cfcae0dd8de244333b52ff3cc80afb8ddbcb4 Author: Maxime Chevalier-Boisvert Date: Tue Apr 20 13:57:33 2021 -0400 Delete codeql-analysis-2.yml D .github/workflows/codeql-analysis-2.yml commit 852ffe2627076fcac0b8d50731637c59ba8e259a Author: Maxime Chevalier-Boisvert Date: Tue Apr 20 13:52:31 2021 -0400 Create codeql-analysis-2.yml A .github/workflows/codeql-analysis-2.yml commit 10217d147c17bcf3c092ff192911fdb254cef236 Author: Maxime Chevalier-Boisvert Date: Tue Apr 20 11:36:37 2021 -0400 Rename YJIT readme to README.md R100 doc/yjit.md README.md commit 51e46eac5f225227460bd203104886d77828cd34 Author: Maxime Chevalier-Boisvert Date: Tue Apr 20 11:36:01 2021 -0400 Rename Ruby README to README_ruby.md R100 README.md README_ruby.md commit 0cc73ca2a9a2aa5276cd022be9891475a15ecee3 Author: Maxime Chevalier-Boisvert Date: Mon Apr 19 17:07:27 2021 -0400 Malloc branch entries (#112) * Malloc branch entries * Add ASM comment for stack overflow check * WIP * Fix branch GC code. Add rb_darray_remove_unordered(). * Fix block end_pos after branch rewriting. Remove dst_patched bits. M darray.h M yjit_codegen.c M yjit_core.c M yjit_core.h M yjit_iface.c commit 33c975b813a2be9fb02e526b7a63096dff385614 Author: Maxime Chevalier-Boisvert Date: Mon Apr 19 15:29:48 2021 -0400 Merge pull request #114 from Shopify/yjit-dup-comments YJIT: Avoid adding duplicate code comments M yjit_codegen.c M yjit_iface.h commit 23f88957e691cbc11375627bbc26a35cd3a3465c Author: Maxime Chevalier-Boisvert Date: Mon Apr 19 13:50:47 2021 -0400 Switch to 2-comparison heap object check M yjit_codegen.c commit f2530f884eff1910fb69201cb0a009332fa1b150 Author: Maxime Chevalier-Boisvert Date: Thu Apr 15 15:00:07 2021 -0400 Improve codegen and type tracking in putobject M yjit_codegen.c commit 6250506de2f11bc45d1d7a0cfb2a4d15390c16ca Author: Maxime Chevalier-Boisvert Date: Thu Apr 15 14:24:39 2021 -0400 Remove debug prints M yjit_codegen.c commit edaf12def626a2b06fc2cf9bf53db9b0f45b88ac Author: Maxime Chevalier-Boisvert Date: Thu Apr 15 14:16:55 2021 -0400 Fix local type tracking in getlocal, setlocal. Add test. M bootstraptest/test_yjit.rb M yjit_codegen.c commit 791f20af6e9a5db37e69ed33c6b91fc15d9fe824 Author: Maxime Chevalier-Boisvert Date: Thu Apr 15 12:21:51 2021 -0400 WIP M yjit_codegen.c commit b69951cf55a3bbd50a4d6e84185ee0f687946530 Author: Alan Wu Date: Fri Apr 9 19:08:23 2021 -0400 add a couple of getivar tests for symbols M bootstraptest/test_yjit.rb commit 476a3f4be783d021a4a8b9aacd9486498d155ec8 Author: Alan Wu Date: Fri Apr 9 18:47:27 2021 -0400 Use a insn_opnd instead of a bool M yjit_codegen.c commit 646c7b3ff69af10d5155263d80b0ed21852a1dab Author: Maxime Chevalier-Boisvert Date: Tue Apr 13 14:37:04 2021 -0400 Temporarily increase MAX_BRANCHES until we have a better solution M yjit_core.c commit dac830553ef486a97beb57d1531ccc9a0a4bdd9b Author: Maxime Chevalier-Boisvert Date: Tue Apr 13 14:32:21 2021 -0400 Diff the local types in ctx_diff() M yjit_core.c commit 4442029ec496754fcad38fa05c3d03553a38107e Author: Alan Wu Date: Fri Apr 9 12:16:56 2021 -0400 move assert. opnd.idx doesn't make sense for OPND_SELF M yjit_codegen.c M yjit_core.c commit 4ea2e753f65e1e7f4c62330abda256b3b56e72d4 Author: Alan Wu Date: Thu Apr 1 14:31:57 2021 -0400 YJIT: implement calls to ivar getter methods M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_iface.h commit 53ff2d791d5e2c303a61d5873bcd03007366be88 Author: Maxime Chevalier-Boisvert Date: Fri Apr 9 14:48:02 2021 -0400 Fix bug in ctx_set_local_type() M yjit_core.c commit 6164274c76d31bc447a92c59c8d277670a93f229 Author: Maxime Chevalier-Boisvert Date: Fri Apr 9 11:44:35 2021 -0400 Re-enable local type tracking, until first call M yjit_codegen.c M yjit_core.c M yjit_core.h commit 0805cba73572a5150975a0dfdc4461ae0872e90c Author: Maxime Chevalier-Boisvert Date: Fri Apr 9 14:46:58 2021 -0400 Update yjit_codegen.c M yjit_codegen.c commit 31acd22d3be745966abc8ded145f03d4114caf63 Author: Alan Wu Date: Fri Apr 9 14:29:43 2021 -0400 Assert for running out of branches in all builds M yjit_core.c commit 2404ff691d81183dc7d1bdc844fd7d556edf6837 Author: Maxime Chevalier-Boisvert Date: Fri Apr 9 14:01:27 2021 -0400 Factor our guard_two_fixnums(). Implement opt_or. M yjit_codegen.c commit 7ee3636f61631429fe39d2d213efe1b711babbab Author: Maxime Chevalier-Boisvert Date: Fri Apr 9 10:14:06 2021 -0400 Remove unnamed enums because MSVC sux M yjit_core.h commit f6e3f75c2b7503eb89f517c57ac4ea97dc2752b4 Author: Maxime Chevalier-Boisvert Date: Thu Apr 8 16:40:08 2021 -0400 Introduce concept of YJIT instruction operands M yjit_codegen.c M yjit_core.c M yjit_core.h commit 40b329096660c55f9f30069a1b72aec026ee19b1 Author: Alan Wu Date: Thu Apr 8 18:25:28 2021 -0400 Use autogen.sh in YJIT's CI setup See d825e34962540d345eb3c5a70eb264b415e915a5 M .github/workflows/yjit.yml commit b626dd7211b9d45f1dab6f82057445781f34f20f Author: Alan Wu Date: Wed Mar 24 18:07:26 2021 -0400 YJIT: Fancier opt_getinlinecache Make sure `opt_getinlinecache` is in a block all on its own, and invalidate it from the interpreter when `opt_setinlinecache`. It will recompile with a filled cache the second time around. This lets YJIT runs well when the IC for constant is cold. M compile.c M vm_core.h M vm_insnhelper.c M yjit.h M yjit_codegen.c M yjit_core.c M yjit_core.h M yjit_iface.c M yjit_iface.h commit e81d1f4ae31086c19b936bb8d0bf4650b0c36f44 Author: Alan Wu Date: Thu Apr 8 17:55:31 2021 -0400 Fix stack-use-after-scope in gen_direct_jump() ASAN can catch these type of things for us, but the scraper can't handle ASAN :/. To be more resilient to refactoring, extend the lifetime of `generic_ctx` in branch_stub_hit() too. M yjit_core.c commit 032b2ecf4b026d2945659d8de325ad3ef6ad4734 Author: Maxime Chevalier-Boisvert Date: Thu Apr 8 15:18:18 2021 -0400 Compute percentage of exits for top-10 exit ops M yjit_iface.c commit 7108da16e9ec39d682572c47ac3e99035c0683f0 Author: Maxime Chevalier-Boisvert Date: Thu Apr 8 14:31:27 2021 -0400 Fix two stats bugs, refactor stats code, add total_insn_count print M yjit.rb M yjit_iface.c commit 04243533fc3f9b1ac71160dbe235da9995a994ea Author: Maxime Chevalier-Boisvert Date: Thu Apr 8 13:12:04 2021 -0400 Update yjit.md M doc/yjit.md commit 515fb988fe3c3ad28fdcaea4f043ea6a445c5213 Author: Alan Wu Date: Wed Apr 7 15:27:05 2021 -0400 YJIT: add comments to disassembly Introduce a new macro `ADD_COMMENT(cb, comment)` that records a comment for the current write position in the code block. Co-authored-by: Maxime Chevalier-Boisvert Co-authored-by: Aaron Patterson M yjit.rb M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit 543bdde6c21f071e673aa8090086e1045ee4f2d9 Author: Maxime Chevalier-Boisvert Date: Wed Apr 7 13:10:14 2021 -0400 Update yjit_iface.c M yjit_iface.c commit 7f4b9e8e6103c039f1f73e6d51f956f8c662b49a Author: Alan Wu Date: Tue Apr 6 16:28:41 2021 -0400 YJIT: make ratio_in_yjit more accurate Don't count instructions that take exit to the interpreter. M yjit_codegen.c M yjit_iface.c commit 42af04efee38de4435a04ea0487fce483db10dee Author: Maxime Chevalier-Boisvert Date: Wed Apr 7 15:36:02 2021 -0400 Add flag bits to avoid compiling stubs multiple times. Fixes bug involving ractors and branch stubs. M yjit_core.c M yjit_core.h commit 54312d777cc22a52cfafcce0a0a20ed48375b82e Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 15:15:06 2021 -0400 Disable local type tracking for now M yjit_codegen.c commit cbbae12a96e1857c414b4592376886fc8bb5da1a Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 14:44:28 2021 -0400 Keep track of local types in the context M yjit_codegen.c M yjit_core.c M yjit_core.h commit e98d2c5ec818abe9a274055c2308bf3488358529 Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 12:00:09 2021 -0400 Add ctcx_stack_push_local() M yjit_core.c M yjit_core.h commit ad5cc39dcfd25e62ee92f7e82d4913631ab42355 Author: Aaron Patterson Date: Wed Apr 7 12:52:42 2021 -0700 update deps M common.mk commit 681e76c6bca0ddc6db3cd4d332720e3b411e23d2 Author: Aaron Patterson Date: Thu Mar 25 13:42:43 2021 -0700 Fix case M yjit.rb commit 4faaa8e5dc28f31f71f3ed145e834b94cd9f84d5 Author: Aaron Patterson Date: Wed Apr 7 12:51:50 2021 -0700 Collect statistics about binding allocations / local variable set This commit collects statistics about how many binding objects are allocated as well as the number of local variables set on bindings. Statistics are output along with other YJIT stats. Here is an example of the output: ``` ***YJIT: Printing runtime counters from yjit.rb*** Number of Bindings Allocated: 195 Number of locals modified through binding: 0 opt_send_without_block exit reasons: ivar_get_method 7515891 (40.4%) se_cc_klass_differ 3081330 (16.6%) iseq_argc_mismatch 1564578 ( 8.4%) se_receiver_not_heap 1557663 ( 8.4%) ic_empty 1407064 ( 7.6%) optimized_method 995823 ( 5.4%) iseq_not_simple 819413 ( 4.4%) alias_method 706972 ( 3.8%) bmethod 685253 ( 3.7%) callsite_not_simple 225983 ( 1.2%) kw_splat 25999 ( 0.1%) ivar_set_method 902 ( 0.0%) cfunc_toomany_args 394 ( 0.0%) refined_method 42 ( 0.0%) cfunc_ruby_array_varg 29 ( 0.0%) invalid_cme 4 ( 0.0%) leave exit reasons: se_finish_frame 4067107 (100.0%) se_interrupt 24 ( 0.0%) getinstancevariable exit reasons: undef 121177 (100.0%) idx_out_of_range 5 ( 0.0%) opt_aref exit reasons: (all relevant counters are zero) compiled_iseq_count: 3944 main_block_code_size: 1.1 MiB side_block_code_size: 0.6 MiB vm_insns_count: 1137268516 yjit_exec_insns_count: 414015644 ratio_in_yjit: 26.7% avg_len_in_yjit: 7.5 total_exit_count: 55491789 most frequent exit op: opt_send_without_block: 18587628 (33.5%) opt_getinlinecache: 11075822 (20.0%) send: 4949300 (8.9%) leave: 4067131 (7.3%) defined: 3975196 (7.2%) setinstancevariable: 3567315 (6.4%) invokesuper: 2982163 (5.4%) getblockparamproxy: 2168852 (3.9%) opt_nil_p: 2104524 (3.8%) opt_aref: 2013858 (3.6%) ``` Running RailsBench allocates 195 binding objects but doesn't set any local variables. M proc.c M yjit.h M yjit.rb M yjit_iface.c M yjit_iface.h commit 0881e018b567362ba6405eeb788d76d770653978 Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 12:19:45 2021 -0400 Add comments and asserts for clarity M yjit_core.c commit d1e9e4566f93e219314f361b88b4a0e003a25241 Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 11:26:20 2021 -0400 Update yjit_asm.c M yjit_asm.c commit 3d53ee17616d9c028d2b537989c4cd2e1d08261b Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 11:24:58 2021 -0400 Fill uninitialized memory with int3 M yjit_asm.c commit 131fc9c074d464c6baa548ab89a1d1d1dcc5c571 Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 11:03:50 2021 -0400 Readd const arguments M yjit_core.c commit 5b613938eb63d3dd82feb32b4eefbe345beaf199 Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 10:36:00 2021 -0400 Fix branch rewrite issue M yjit_core.c commit 2b522ad9f5a5a3baa1fc16b1b45d5d28773d5f67 Author: Maxime Chevalier-Boisvert Date: Tue Apr 6 09:38:24 2021 -0400 Update yjit_core.c M yjit_core.c commit 21a63450236af6eaae954b367385c071231dc03f Author: Alan Wu Date: Mon Apr 5 17:59:25 2021 -0400 YJIT: adjust branch shape properly when target already exists The old code decides branch->shape based on the write position of the native code block, which is unsound in case the block already exists and no new code is written to the write position. Make this decision with the start address of the target block instead. Also handle when the branch becomes smaller after patching. M yjit_core.c M yjit_core.h commit e56bd95ca05fa8ff07455e62143b260bcda74926 Author: Maxime Chevalier-Boisvert Date: Mon Apr 5 14:07:50 2021 -0400 Rename first call => threshold one M .github/workflows/yjit.yml commit c299112fd7eb4432f3fdc83a9f5716e8e79249f4 Author: Maxime Chevalier-Boisvert Date: Thu Apr 1 16:56:20 2021 -0400 use ctx_stack_push_self() M yjit_codegen.c M yjit_core.h commit 215a2f401068fe0afc18a22377082d0d3d8644fd Author: Maxime Chevalier-Boisvert Date: Thu Apr 1 10:43:54 2021 -0400 Fix type_diff logic after Alan pointed out errors M yjit_core.c commit aee44e4f2bcd795b5a81c72cb75d742103bb070b Author: Maxime Chevalier-Boisvert Date: Wed Mar 31 15:54:46 2021 -0400 Part 1 of improved type tracking logic M yjit_codegen.c M yjit_core.c M yjit_core.h commit e47dd8bb88a10eb20afb8dc37f19ae6ee8e56f4b Author: Maxime Chevalier-Boisvert Date: Tue Mar 30 16:40:26 2021 -0400 WIP M yjit_core.h commit c5f31264287a1c587448e9a437603da1b8497e67 Author: Maxime Chevalier-Boisvert Date: Tue Mar 30 15:37:20 2021 -0400 Commit WIP M yjit_core.h commit ac1aa84c1a866ee58c1f75874ceb226b297d676d Author: Maxime Chevalier-Boisvert Date: Tue Mar 30 10:59:53 2021 -0400 First sketch at temp type mapping M yjit_codegen.c M yjit_core.h commit cb46a17ca16935c61bdc82e44cad0c6450e8a4ad Author: Maxime Chevalier-Boisvert Date: Thu Apr 1 15:04:21 2021 -0400 Log code size in bytes instead of MiB M yjit_iface.c commit 983bcd5ac2b0fe41f0cf05cd2ce0e1d2d1d73ada Author: Alan Wu Date: Thu Apr 1 10:44:45 2021 -0400 Fix improper use of st_foreach_with_replace Replacing the key was only okay if the new key hashes to the same thing as the old key. That doesn't hold for YJIT's table when the keys move. M yjit_iface.c commit d03b7f77d45105bfe613b986bfddaaa6c1de6831 Author: Alan Wu Date: Wed Mar 31 18:27:34 2021 -0400 Fix GCC warnings Mostly unused and uninitialized warnings here and there M mjit.h M yjit_asm.c M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit 9911f486a7d9902a900f91cfa607e8cacdda6494 Author: Alan Wu Date: Wed Mar 31 12:50:16 2021 -0400 Stop all other ractors when patching machine code M yjit_core.c commit 784ef4cbbd563053bfc77b3e367f1c74bc89ab37 Author: Alan Wu Date: Tue Mar 30 15:24:29 2021 -0400 Add a CI check for --yjit-call-threshold=1 Mostly copied from mjit.yml. Thank you Kokubun-san! A .github/workflows/yjit.yml commit 2b09e2fe7bc9ebcc6e6678317b789d8a35f587e6 Author: Alan Wu Date: Tue Mar 30 14:57:41 2021 -0400 Add a comment M yjit_codegen.c commit 5ec94e0d4ad49cd249312c29cbbe9369637b9b48 Author: Maxime Chevalier-Boisvert Date: Tue Mar 30 17:05:20 2021 -0400 Fix issue with version matching logic M yjit_core.c commit fe784d1449ac6a9c2280ce1b29b19fa86d108fe9 Author: Maxime Chevalier-Boisvert Date: Mon Mar 29 16:17:14 2021 -0400 Track interpreter return as an exit reason for leave instr M yjit_codegen.c M yjit_iface.h commit 0e5c3d66b8e6c3d1d828ce76a4c2caab3d1b71c1 Author: Maxime Chevalier-Boisvert Date: Mon Mar 29 14:46:28 2021 -0400 Implement opt_gt M yjit_codegen.c commit 98e93d6a8fbf1070e1b334dd1b1cf313c221bb17 Author: Maxime Chevalier-Boisvert Date: Fri Mar 26 10:05:22 2021 -0400 Update yjit.md M doc/yjit.md commit 63f875b841e23c7233394a8a266dc772aa9320d2 Author: Alan Wu Date: Tue Mar 23 12:53:29 2021 -0400 Factor out protected callee guard, check for private callees We didn't need the private check before because we were lifting from the interpreter's cache, and the interpreter only caches when visibility checks go through. M yjit_codegen.c commit 8173d54020e2128e5d02f50b66ad953aac528714 Author: Alan Wu Date: Tue Mar 23 11:47:52 2021 -0400 Factor out jit_jump_to_next_insn M yjit_codegen.c commit fbb514f67ec2d455359f8ea7b86ce23b66c60292 Author: Alan Wu Date: Mon Mar 22 21:04:00 2021 -0400 Introduce yjit_guard_known_klass() M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit a8f7eb2f3566194ead1d5aa541cec32b968855cf Author: Alan Wu Date: Mon Mar 22 20:12:34 2021 -0400 Polymorphic opt_send_without_block M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_core.c M yjit_iface.c commit ec1cbbb07d00828e6265074ca4977a8dae6b8b29 Author: Alan Wu Date: Wed Mar 17 19:07:20 2021 -0400 Get rid of dependency on rb_call_cache M common.mk M vm_method.c M yjit.h M yjit_codegen.c M yjit_core.c M yjit_core.h M yjit_iface.c M yjit_iface.h commit 0cd9120f177b153126a093e4beabb5784cd0ab99 Author: Alan Wu Date: Thu Mar 11 14:46:19 2021 -0500 YJIT: hash specialization for opt_aref Make it lazy and add a hash specialization in addition to the array specialization. M bootstraptest/test_yjit.rb M yjit.rb M yjit_codegen.c M yjit_iface.h commit db53decad6db5eedf9d9090e14f7d2216549f9d0 Author: Alan Wu Date: Thu Mar 11 11:25:19 2021 -0500 Exit reason breakdown for opt_aref M yjit.rb M yjit_codegen.c M yjit_iface.h commit c04e5188d582a3921f44594e88b29ae96abd82a4 Author: Alan Wu Date: Thu Mar 18 09:13:13 2021 -0400 YJIT: use a flat array for finding codegen functions Simpler and faster. M yjit_codegen.c commit 927ead9f7510ff536eea2010e007a92a2bba61c8 Author: Alan Wu Date: Wed Mar 17 11:54:49 2021 -0400 YJIT: unify exits. Patch iseqs only when necessary * YJIT: unify exits. Patch iseqs only when necessary This fixes the gotcha that returning YJIT_CANT_COPMILE for an instruction at entry position leading to infinite loop. Also, iseq patching is only done only when necessary, which should make most exits faster. * Now that exits are the same, return YJIT_CANT_COMPILE M yjit_codegen.c commit f505446d1f03cb24eeb771959efece2e5d89df73 Author: Alan Wu Date: Wed Mar 17 11:00:36 2021 -0400 Yjit: rename context struct M yjit_core.h commit 4b80358e5d0c83cd2925fd458f2c83136f804e5c Author: Dylan Thacker-Smith Date: Mon Mar 15 00:19:08 2021 -0700 Fix condition in cb_align_pos which should return early when aligned M yjit_asm.c commit aba4047955b26a8408a92ad4b0739fe89f1a44fe Author: Marc Feeley Date: Sat Mar 13 07:43:53 2021 -0500 Update yjit.md Fix a typo in the bibtex. M doc/yjit.md commit f4c04a9595d348d20100c17339b9185d9ed1ee71 Author: Alan Wu Date: Fri Mar 12 12:54:54 2021 -0500 Tweak include order in yjit_core.c This is playing it safe. Ruby headers rely on some macros generated by autoconf that affect what system headers behave. We should take care to bring in those configs before including systme headers to stay consistent with the rest of Ruby. M yjit_core.c commit 5d834bcf9fb9596fd15f9e657a94caa8716b3f10 Author: Alan Wu Date: Fri Mar 12 12:22:19 2021 -0500 YJIT: lazy polymorphic getinstancevariable Lazily compile out a chain of checks for different known classes and whether `self` embeds its ivars or not. * Remove trailing whitespaces * Get proper addresss in Capstone disassembly * Lowercase address in Capstone disassembly Capstone uses lowercase for jump targets in generated listings. Let's match it. * Use the same successor in getivar guard chains Cuts down on duplication * Address reviews * Fix copypasta error * Add a comment M bootstraptest/test_yjit.rb M common.mk M tool/ruby_vm/models/instructions.rb M vm_insnhelper.c M yjit.rb M yjit_codegen.c M yjit_core.c M yjit_iface.c M yjit_iface.h commit 439db7b81b588a1ee12475568cab7b8dab4e2cd3 Author: Maxime Chevalier-Boisvert Date: Fri Mar 12 10:41:58 2021 -0500 Add metric for average # of insns spent in yjit before exiting M yjit_iface.c commit cee597bd01ef999d5b8b86b639260282aa594467 Author: Alan Wu Date: Fri Mar 12 12:25:58 2021 -0500 Include ruby/ruby.h before vm_core.h This is how vm.c does it, and if we don't follow it in yjit compilation units, rb_vm_t would have a conflicting size. M yjit_core.c M yjit_iface.c M yjit_iface.h commit fe3bd570072b35e47e03ea23e2bc42a4d8a7681d Author: Maxime Chevalier-Boisvert Date: Thu Mar 11 14:15:01 2021 -0500 Remove trailing whitespaces M bootstraptest/test_yjit.rb M darray.h M tool/ruby_vm/models/instructions.rb commit cf011b66761cb942899110117f56001e849733da Author: Alan Wu Date: Thu Mar 11 11:19:02 2021 -0500 Check for null Sometimes you bop before you init, you know? M yjit_iface.c commit c6156e511338450db2f39abc45e1ee1b5508bd6b Author: Maxime Chevalier-Boisvert Date: Wed Mar 10 11:18:17 2021 -0500 Fix trailing spaces M yjit_codegen.c M yjit_core.c commit 4ccfbfe6fa9676f4c177fdbd217cecc361c9aa0f Author: Maxime Chevalier-Boisvert Date: Tue Mar 9 16:31:31 2021 -0500 Update yjit.md M doc/yjit.md commit c15a577eda78f1944ade1e9ae1bdadeaeee3c8d7 Author: Aaron Patterson Date: Tue Mar 9 11:01:16 2021 -0800 Make Blocks depend on BOPS When a BOP is redefined, the BOP redefinition callback will invalidate any blocks that depend on BOPS. This allows us to eliminate runtime checks for BOP redefinition. M bootstraptest/test_yjit.rb M yjit_codegen.c M yjit_iface.c M yjit_iface.h commit 46874b8fb979d0bf46d5d3b6e1523293201441e8 Author: Maxime Chevalier-Boisvert Date: Mon Mar 8 11:04:35 2021 -0500 Update yjit.md M doc/yjit.md commit c56243dab4a2e07d3ba4942fdd8ec72a3b56218a Author: Maxime Chevalier-Boisvert Date: Mon Mar 8 11:02:49 2021 -0500 Update yjit.md M doc/yjit.md commit 4e2eb7695e9b45cb5d2ae757bdb5c2043d78be78 Author: Jose Narvaez Date: Sat Mar 6 23:46:56 2021 +0000 Yet Another Ruby JIT! Renaming uJIT to YJIT. AKA s/ujit/yjit/g. M .gitignore M common.mk M inits.c M iseq.c M iseq.h M mjit.h M ractor.c M ruby.c M template/Makefile.in M test_asm.sh M tool/ruby_vm/models/micro_jit.rb M tool/ruby_vm/models/micro_jit/example_instructions.rb M tool/ruby_vm/views/vm.inc.erb R093 tool/ruby_vm/views/ujit_hooks.inc.erb tool/ruby_vm/views/yjit_hooks.inc.erb M tool/runruby.rb D ujit.h M version.c M vm.c M vm_core.h M vm_exec.h M vm_insnhelper.h M vm_method.c M win32/Makefile.sub A yjit.h R088 ujit.rb yjit.rb R099 ujit_asm.c yjit_asm.c R099 ujit_asm.h yjit_asm.h R099 ujit_asm_tests.c yjit_asm_tests.c R089 ujit_codegen.c yjit_codegen.c R071 ujit_codegen.h yjit_codegen.h R093 ujit_core.c yjit_core.c R091 ujit_core.h yjit_core.h R073 ujit_iface.c yjit_iface.c R074 ujit_iface.h yjit_iface.h R097 ujit_utils.c yjit_utils.c R074 ujit_utils.h yjit_utils.h commit 7f7e79d80221949f93c7ded7cbd8d26afd3dea1d Author: Alan Wu Date: Sat Mar 6 11:05:55 2021 -0500 YJIT: handle when all counters are zero in printout code Also filter with not equal to zero instead of greater than zero, in case there is memory corruption and counters are negative. Fixes Shopify/ruby#70 M ujit.rb commit eaab6605b75a2510f5cf0ae781817de3b7d6e39f Author: Maxime Chevalier-Boisvert Date: Fri Mar 5 15:55:10 2021 -0500 Update ujit_core.h M ujit_core.h commit 0a160407dad305d18a28bb34f72fec8dcd6bfc6b Author: Maxime Chevalier-Boisvert Date: Fri Mar 5 15:54:21 2021 -0500 Update ujit_core.h Co-authored-by: Alan Wu M ujit_core.h commit 7f4000b1f430c22fd35c50201271d0abd4fff358 Author: Maxime Chevalier-Boisvert Date: Fri Mar 5 15:45:44 2021 -0500 Machinery to implement deferred compilation M bootstraptest/test_yjit.rb M ujit_codegen.c M ujit_core.c M ujit_core.h M version.c commit f8b4082be4e63876b6bf7d1aa66eaaa9bcb5d4ca Author: Alan Wu Date: Thu Mar 4 15:56:34 2021 -0500 YJIT: fix leak, remove unused field on block_t This field was never used and is now covered by jit_mov_gc_ptr. M ujit_codegen.c M ujit_core.c M ujit_core.h M ujit_iface.c commit 7de8ce4efcfd23515d4e4b6a6f80e142438df758 Author: Alan Wu Date: Thu Mar 4 15:31:37 2021 -0500 YJIT: Use 2D array to group block versions For deferred compilation, we sometimes want to care about the order of the block versions. Use an array instead of a linked list to do that. M darray.h M ujit_core.c M ujit_iface.c commit d6d58795a90d338ac8fb308c8a79044172778485 Author: Maxime Chevalier-Boisvert Date: Thu Mar 4 15:16:33 2021 -0500 Rename test files R100 bootstraptest/test_ujit.rb bootstraptest/test_yjit.rb R100 bootstraptest/test_ujit_30k_ifelse.rb bootstraptest/test_yjit_30k_ifelse.rb R100 bootstraptest/test_ujit_30k_methods.rb bootstraptest/test_yjit_30k_methods.rb commit 4a99990b36e29f24f2e0cb12531fa4de65cce071 Author: Maxime Chevalier-Boisvert Date: Thu Mar 4 14:13:54 2021 -0500 Update yjit.md M doc/yjit.md commit e4e453c7d0bd93e3d76879285a29f0bbb7edfab4 Author: Maxime Chevalier-Boisvert Date: Thu Mar 4 14:13:10 2021 -0500 Update yjit.md M doc/yjit.md commit 7b38bf189ef208039df84324e6df72479a0af878 Author: Maxime Chevalier-Boisvert Date: Thu Mar 4 14:12:35 2021 -0500 Update yjit.md M doc/yjit.md commit f2b170b01d36f3cab2671cc575e75c916bc95bfa Author: Maxime Chevalier-Boisvert Date: Thu Mar 4 13:35:58 2021 -0500 Update and rename ujit.md to yjit.md R098 doc/ujit.md doc/yjit.md commit abc016ad2c85a15ad6a512be57f47d893bc81e27 Author: Maxime Chevalier-Boisvert Date: Thu Mar 4 12:05:18 2021 -0500 WIP refactor block lists to use darray M ujit_codegen.c M ujit_core.c M ujit_core.h M ujit_iface.c M vm_core.h commit 5c497dfd7f86c88c9730dda397fecb3aa943e84d Author: Maxime Chevalier-Boisvert Date: Thu Mar 4 11:07:27 2021 -0500 Update ujit.md M doc/ujit.md commit eccf4bcd91c2f10b156f07187267040f866e6a0f Author: Alan Wu Date: Wed Mar 3 18:06:49 2021 -0500 uJIT: support 64 bit operands for TEST. Use it to check for zero It's one byte shorter than `cmp reg64, 0`. To illustrate: ``` 48 83 f9 00 cmp rcx, 0x0 48 85 c9 test rcx, rcx ``` M ujit_asm.c M ujit_asm_tests.c M ujit_codegen.c commit 8302eb57b0492a5ebd021536f0f3a00b95694bf8 Author: Alan Wu Date: Wed Mar 3 16:56:24 2021 -0500 Add UJIT.reset_stats! To allow analyzing sections of the application. M ujit.rb M ujit_iface.c commit 699bf974937464c5e131859bb632ff4414971289 Author: Alan Wu Date: Wed Mar 3 17:31:20 2021 -0500 uJIT: Add exit counters for leave and refactor stats printout code Filter out counters that are zero and make it easier to have multiple printout groups. On `railsbench`: ``` opt_send_without_block exit reasons: se_finish_frame 184809 (100.0%) ``` M ujit.rb M ujit_codegen.c M ujit_iface.h commit 8a9ee00a318d25145b3262277864c5599271bb6a Author: Alan Wu Date: Wed Mar 3 16:29:54 2021 -0500 uJIT: add guards for protected opt_send_without_block calls These account for about 12% of the time when we were bailing from calls in railsbench. `ratio_in_ujit` went up 0.1% with this change. M ujit_codegen.c M ujit_iface.h commit b3b3a8c62020caca849e4b3a1325eb53811e6f7a Author: Maxime Chevalier-Boisvert Date: Wed Mar 3 14:58:42 2021 -0500 At jit_at_current_insn, jit_peek_at_stack functions M ujit_codegen.c M ujit_core.c M ujit_core.h commit 316f757c44513b43a831f44a1a9b64337b69b181 Author: Alan Wu Date: Tue Mar 2 18:27:50 2021 -0500 Runtime counters for bailing from opt_send_without_block This allows counting things in generated code such as side exits or different reasons for failing to compile. Runtime counters are exposed to Ruby as `UJIT.runtime_stats` for ease of reporting and analysis. M ujit.rb M ujit_asm.c M ujit_asm.h M ujit_codegen.c M ujit_iface.c M ujit_iface.h commit 2e8db8c35e5bb00a2a27657e2d091edf9e27cacd Author: Maxime Chevalier-Boisvert Date: Tue Mar 2 12:03:11 2021 -0500 Update ec->cfp->pc when hitting a stub. M ujit_codegen.c M ujit_core.c M ujit_iface.c M ujit_iface.h commit 824fea684f8346386db0391fb8575ced07ae01d6 Author: Maxime Chevalier-Boisvert Date: Mon Mar 1 20:43:58 2021 -0500 Thread EC through jit state. Add codegen status enum. M mjit.h M ujit.h M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h M ujit_iface.c commit f63cdae3a30df5cd39fbbc064fef0bbc95fc9bd5 Author: Max Bernstein Date: Fri Feb 26 19:11:27 2021 -0800 Support memory operands to pop M ujit_asm.c M ujit_asm_tests.c commit 831ac473faae9cfb184752e5db2bc9b309a78eeb Author: Maxime Chevalier-Boisvert Date: Fri Feb 26 13:08:54 2021 -0500 Update ujit.md M doc/ujit.md commit 6f437d5b30355070f15921a421c5c4ea7a3147d8 Author: Maxime Chevalier-Boisvert Date: Fri Feb 26 11:57:59 2021 -0500 Update ujit.md M doc/ujit.md commit 0888d9c9d52c7021ac39f712b0111fe43dce81b0 Author: Maxime Chevalier-Boisvert Date: Fri Feb 26 11:54:47 2021 -0500 Update ujit.md M doc/ujit.md commit 3a365afaf555e3c1b6758df4431b8f659ff310a2 Author: Max Bernstein Date: Thu Feb 25 23:22:01 2021 -0800 Support memory operands to push M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 799d248e314d98b28837b921c9e0fc97ae93b574 Author: Maxime Chevalier-Boisvert Date: Thu Feb 25 17:01:52 2021 -0500 Fix jmp encoding. Rename conditional jumps jxx() to jxx_label() M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_codegen.c commit 57977ba30d35f6f9de3d2802d1894e1f0d23286d Author: Alan Wu Date: Thu Feb 25 15:10:38 2021 -0500 uJIT: Implement opt_getinlinecache * ujit: implement opt_getinlinecache Aggressively bet that writes to constants don't happen and invalidate all opt_getinlinecache blocks on any and all constant writes. Use alignment padding on block_t to track this assumption. No change to sizeof(block_t). * Fix compile warnings when not RUBY_DEBUG * Fix reversed condition * Switch to st_table to keep track of assumptions Co-authored-by: Aaron Patterson Co-authored-by: Maxime Chevalier-Boisvert M common.mk M ractor.c M ujit.h M ujit_codegen.c M ujit_core.c M ujit_core.h M ujit_iface.c M ujit_iface.h commit f93f3d6aa164ea5bc01e596c84b7c525c41bb852 Author: Maxime Chevalier-Boisvert Date: Thu Feb 25 12:09:29 2021 -0500 Implement support for variadic C functions M bootstraptest/test_ujit.rb M ujit_codegen.c commit 8e5222c887e05685f34b819e913de5ab5d7a0c39 Author: Maxime Chevalier-Boisvert Date: Thu Feb 25 10:40:33 2021 -0500 Update ujit.md M doc/ujit.md commit 028e017e955692bb508ea3b2661906429df3422c Author: Maxime Chevalier-Boisvert Date: Thu Feb 25 10:34:29 2021 -0500 Update ujit.md M doc/ujit.md commit 47900e10e3a7e9f7fd25248c30ad9897d1071641 Author: Maxime Chevalier-Boisvert Date: Thu Feb 25 10:33:08 2021 -0500 Update ujit.md M doc/ujit.md commit 6100b52ecfdcb63de51bf52657259c2ab81ee440 Author: Maxime Chevalier-Boisvert Date: Wed Feb 24 10:20:45 2021 -0500 Update ujit.md M doc/ujit.md commit 0d6ed3128a748705c6e2ed933125aaba8b062851 Author: Maxime Chevalier-Boisvert Date: Tue Feb 23 16:38:03 2021 -0500 Update ujit_iface.c M ujit_iface.c commit 2a99743056aaecbb77cd1b17bf9f7e9e7460ab8b Author: Maxime Chevalier-Boisvert Date: Tue Feb 23 15:57:58 2021 -0500 Update ujit_iface.c M ujit_iface.c commit 0710bec01e405af596fa3e8e29ba38bb8176e39d Author: Maxime Chevalier-Boisvert Date: Tue Feb 23 15:22:20 2021 -0500 Implement --ujit-call-threshold M mjit.h M ruby.c M ujit.h M ujit_iface.c commit 58657b33e751ec0718f539bc9fa62f0ffa02801f Author: Alan Wu Date: Mon Feb 22 19:23:28 2021 -0500 Remove dead code M ujit_core.c commit 9ce27716972951ed610d048fbf42db9b1c9f42b4 Author: Alan Wu Date: Fri Feb 19 11:02:09 2021 -0500 darray: fix strict aliasing issue M darray.h commit 0658ab73eed9bb5b0a867424492a51120c83de41 Author: Alan Wu Date: Tue Feb 16 21:03:20 2021 -0500 Use rb_darray_make in ujit M ujit_core.c commit 2240932b6421d15208c85f199199f686ff3b5690 Author: Alan Wu Date: Tue Feb 16 20:49:28 2021 -0500 Add rb_darray_make M darray.h commit 47e05fca10e4a759283849d7ce73ffa1eee40306 Author: Alan Wu Date: Tue Feb 16 20:48:14 2021 -0500 darray: fix buffer size calculation for element with strict alignment M darray.h commit fff6d642b3fb0ef551dd67dafe896a0b18670144 Author: Maxime Chevalier-Boisvert Date: Mon Feb 22 11:30:33 2021 -0500 Added ujit_save_regs() and ujit_load_regs() helper functions M ujit_codegen.c commit 1a937dd1964cf8f1f02093d5d2a53f00792668f3 Author: Maxime Chevalier-Boisvert Date: Fri Feb 19 16:04:23 2021 -0500 Use darray for incoming branches M ujit_codegen.c M ujit_core.c M ujit_core.h commit df451752c1469dff23aef025a038666c6f086775 Author: Alan Wu Date: Fri Feb 19 15:49:23 2021 -0500 Free your memories! M ujit_core.c commit b87962eb04f6cc25f97203662e04c3ca39bbb795 Author: Alan Wu Date: Fri Feb 19 15:44:53 2021 -0500 Stop using UJIT.install_entry in btest CI runs on some platforms uJIT doesn't support. They don't have UJIT.install_entry. Maybe we want something like `install_entry_if_possible`. M bootstraptest/test_ujit.rb commit 48b8c5106ccdd4deb22035b9989e9feb86e199f7 Author: Alan Wu Date: Fri Feb 19 15:03:12 2021 -0500 Mark and update object references in generated code Co-authored-by: Maxime Chevalier-Boisvert M bootstraptest/test_ujit.rb M ujit_codegen.c M ujit_core.c M ujit_core.h M ujit_iface.c commit 064e3450536ad4c4fe49cb282d13713775d4ba8a Author: Alan Wu Date: Fri Feb 19 11:20:55 2021 -0500 Check for ::Array, not T_ARRAY in opt_aref M bootstraptest/test_ujit.rb M ujit_codegen.c commit 9d62ab303c118eb4f21f8147fac33e187902e339 Author: Maxime Chevalier-Boisvert Date: Thu Feb 18 21:11:28 2021 -0500 Update ujit.md M doc/ujit.md commit 7fbbd0c67cfbae1a690a176395768d5eeaebc362 Author: Maxime Chevalier-Boisvert Date: Thu Feb 18 20:42:32 2021 -0500 Update ujit.md M doc/ujit.md commit 2babfeb858894cbcb28ce763dcad12ffab67a222 Author: Maxime Chevalier-Boisvert Date: Thu Feb 18 19:00:57 2021 -0500 Update ujit.md M doc/ujit.md commit 701a802a4278ea7393d7a63b465e610eb6b47d3f Author: Maxime Chevalier-Boisvert Date: Thu Feb 18 17:26:42 2021 -0500 Create ujit.md A doc/ujit.md commit 1279236ff8880c5aea428751446493b8e4f0e711 Author: Maxime Chevalier-Boisvert Date: Thu Feb 18 14:09:28 2021 -0500 Fix opt_aref SNAFU M ujit_codegen.c commit faabe2b0ad0917ac5cf88c2683c22c533ad6ddb9 Author: Alan Wu Date: Thu Feb 18 11:54:37 2021 -0500 Ujit bug fixes * uJIT: don't compile tailcalls * Don't compile calls to protected methods We need to generate extra code to check whether the call goes through if we want to support these. * Fix copy pasta * Update blockids in branches * Update dependencies M common.mk M ujit_codegen.c M ujit_core.c M ujit_core.h M ujit_iface.c commit 15b088bd6ed2c0b2116d5608fef6afc3b0b04940 Author: Alan Wu Date: Wed Feb 17 13:30:05 2021 -0500 ujit.h instead in the rest of Ruby ujit_iface.h is meant for uJIT internal use only. M version.c commit 03af6ad9951bf5fa28583068a566493c970603ea Author: Alan Wu Date: Wed Feb 17 13:17:52 2021 -0500 Should fix builds without mjit support M iseq.c commit 1e573775bf190188c42e61da01314f8fc5481c7b Author: Alan Wu Date: Wed Feb 17 13:08:53 2021 -0500 Stop printing when invalidating uJIT blocks M ujit_core.c commit d3c9e31104ab60177c9b4f97e8a0a393f41ad70c Author: Alan Wu Date: Tue Feb 16 16:50:09 2021 -0500 Fix empty struct M ujit_iface.c commit 73bcd263546750eb4cc6a4533104d6b205cd9ad0 Author: Alan Wu Date: Tue Feb 16 16:36:52 2021 -0500 Fix build on MSVC Use compiler protable way of delcaring function as maybe unused. M ujit_codegen.c commit 0ebb072f9f988139ae158e648df3eeef0679153e Author: Alan Wu Date: Tue Feb 16 15:28:21 2021 -0500 Add regression test for extended table bounds check M bootstraptest/test_ujit.rb commit 980aa329b648f3412d3584575481181b8d42cd60 Author: Mike Dalessio Date: Tue Feb 16 14:40:16 2021 -0500 fix: ujit getinstancevariable code checks ivar extended table size Co-authored-by: Maxime Chevalier-Boisvert Co-authored-by: Alan Wu M ujit_codegen.c commit ddd1a5ce790717d8606d3aba17cd1aaae266819f Author: Maxime Chevalier-Boisvert Date: Tue Feb 16 12:16:00 2021 -0500 Add op-not-redefined check to opt_aref M ujit_codegen.c commit 48736599ace66fe6bd205e3df2979563f04e0a30 Author: Maxime Chevalier-Boisvert Date: Tue Feb 16 11:15:29 2021 -0500 Fix compiled iseq count stat M ujit_core.c M ujit_iface.c M ujit_iface.h commit c02517bacb0a9441161342a5973a418039955764 Author: Alan Wu Date: Fri Feb 12 17:12:18 2021 -0500 Tie lifetime of uJIT blocks to iseqs * Tie lifetime of uJIT blocks to iseqs Blocks weren't being freed when iseqs are collected. * Add rb_dary. Use it for method dependency table * Keep track of blocks per iseq Remove global version_tbl * Block version bookkeeping fix * dary -> darray * free ujit_blocks * comment about size of ujit_blocks M common.mk A darray.h M ext/coverage/depend M ext/objspace/depend M iseq.c M ujit.h M ujit_core.c M ujit_core.h M ujit_iface.c M ujit_iface.h M vm_core.h commit 148ab79cd7a3d17f310c444041e93f30c1f1acac Author: Alan Wu Date: Fri Feb 12 14:52:08 2021 -0500 oops M ujit_asm.c commit 0b8473c4b4cb8d2d70d7e0db3178f80557ea8cc7 Author: Alan Wu Date: Fri Feb 12 14:49:17 2021 -0500 Fix pedantic returning void M ujit_asm.c commit d192b149ba5b6f0bb8222519793a59b60c637f78 Author: Maxime Chevalier-Boisvert Date: Fri Feb 12 14:35:57 2021 -0500 Added more tests to `make btest` M bootstraptest/test_ujit.rb commit 8ed77f96fc7df4ff0a1a91507cd7bf11e1f6788e Author: Maxime Chevalier-Boisvert Date: Fri Feb 12 12:16:48 2021 -0500 Add another torture test to `make btest` A bootstraptest/test_ujit_30k_ifelse.rb R100 bootstraptest/test_ujit_many_funs.rb bootstraptest/test_ujit_30k_methods.rb commit c2f6552af40b5aa08d727085403b8928121f068a Author: Alan Wu Date: Thu Feb 11 17:18:14 2021 -0500 Copy right number of bytes in add_incoming M ujit_core.c commit e7d20e6616546c9b26ce3c8eb9663e6805d0d0bf Author: Maxime Chevalier-Boisvert Date: Thu Feb 11 15:27:33 2021 -0500 Free block->incoming in invalidate_block_version() D misc/gen_call_test.rb M ujit_core.c commit a7c1bc61d2becac74743d8ab6efd6d5649b92311 Author: Maxime Chevalier-Boisvert Date: Thu Feb 11 13:59:59 2021 -0500 Add missing VM_CHECK_INTS() for correctness M ujit_codegen.c commit faafe716af5ea2d31eb175885032a6fe46b92834 Author: Maxime Chevalier-Boisvert Date: Thu Feb 11 12:46:46 2021 -0500 Add jit_print_loc() for debugging, based on Alan Wu's snippet M ujit_codegen.c commit 7a75e9bbaf47ce597361f7a9e7c8550a5d7e15ed Author: Mike Dalessio Date: Thu Feb 11 12:13:14 2021 -0500 ujit_asm: if mmap() fails with the address hint, try without valgrind doesn't seem to support the address hint, and so the fallback to using NULL will allow valgrind to run. M ujit_asm.c commit 05d36f31ca919a2cc1c2db210dd70639457dca35 Author: Maxime Chevalier-Boisvert Date: Wed Feb 10 23:09:44 2021 -0500 Fix bug in putobject found by @tenderlove M ujit_codegen.c commit 2eac297f9f9edc3ec61d087924b30ce40c84b772 Author: Maxime Chevalier-Boisvert Date: Wed Feb 10 20:01:18 2021 -0500 Optimize gen_dup M ujit_codegen.c commit 3d026adb613f2e27a5c84f3db8f5ddc6896ba5a3 Author: Maxime Chevalier-Boisvert Date: Wed Feb 10 19:57:06 2021 -0500 Add failing test identified by Aaron Patterson M bootstraptest/test_ujit.rb commit a267f45502358114fa37b0390f894eb480624b67 Author: Maxime Chevalier-Boisvert Date: Wed Feb 10 19:56:50 2021 -0500 Remove superfluous instruction in opt_send_without_block M ujit_codegen.c commit 75b623776b920b0711c0c458997467d19a32ef8e Author: Maxime Chevalier-Boisvert Date: Wed Feb 10 15:51:07 2021 -0500 Fix jit_return bug, return address on wrong frame M ujit_codegen.c commit c1c5fd5a8dbfce64067961a4051646ed62a50f89 Author: Maxime Chevalier-Boisvert Date: Wed Feb 10 15:38:20 2021 -0500 Fix REG_SP writeback bug in gen_exit M ujit_codegen.c commit f9e16b0e078b6b6c876c4dbfea868bb0199d5382 Author: Maxime Chevalier-Boisvert Date: Wed Feb 10 12:18:35 2021 -0500 Fix context push/pop in Ruby-to-Ruby calls M ujit_codegen.c commit 69d27e3f97f1e75773a81cda411bb67a9159d107 Author: Mike Dalessio Date: Wed Feb 10 09:49:26 2021 -0500 fix: allow make to complete when DEBUG_RUBY is not set M ujit_codegen.c commit 99d285a75c8fd1c3b5662982286d4026f9bed190 Author: Mike Dalessio Date: Wed Feb 10 09:24:04 2021 -0500 fix: ensure add_incoming allocates the proper length memory Without this fix, valgrind reports for zero-length blocks: ==149294== Invalid write of size 4 ==149294== at 0x408121: add_incoming (ujit_core.c:173) ==149294== by 0x408121: gen_block_version (ujit_core.c:286) ==149294== by 0x40873C: gen_entry_point (ujit_core.c:303) ==149294== by 0x3609DF: rb_ujit_compile_iseq (ujit_iface.c:319) ==149294== by 0x33BD2F: mjit_exec (mjit.h:158) ==149294== by 0x33BD2F: rb_vm_exec (vm.c:2167) ... ==149294== Address 0x11278850 is 0 bytes inside a block of size 1 alloc'd ==149294== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==149294== by 0x40811B: add_incoming (ujit_core.c:171) ==149294== by 0x40811B: gen_block_version (ujit_core.c:286) ==149294== by 0x40873C: gen_entry_point (ujit_core.c:303) ==149294== by 0x3609DF: rb_ujit_compile_iseq (ujit_iface.c:319) ==149294== by 0x33BD2F: mjit_exec (mjit.h:158) ==149294== by 0x33BD2F: rb_vm_exec (vm.c:2167) M ujit_core.c commit a8827e5c5fb1e3218e7f0d5ac792482c0d65f8f3 Author: Maxime Chevalier-Boisvert Date: Tue Feb 9 17:34:02 2021 -0500 Added failing test to `make btest` M bootstraptest/test_ujit.rb commit 9d8cc01b758f9385bd4c806f3daff9719e07faa0 Author: Maxime Chevalier-Boisvert Date: Tue Feb 9 16:24:06 2021 -0500 WIP JIT-to-JIT returns M ujit_codegen.c M ujit_core.c M ujit_core.h M vm.c M vm_core.h M vm_insnhelper.c commit 6341fc21b2e15dca82253da41047ce37409508fc Author: Maxime Chevalier-Boisvert Date: Mon Feb 8 15:40:36 2021 -0500 Don't increment instr/exit counters if stats not requested M ujit_codegen.c M version.c commit 21c4dd037d3f9c20dda281883b8d43fc2226d550 Author: Maxime Chevalier-Boisvert Date: Fri Feb 5 15:49:02 2021 -0500 Fix bug unnecessarily causing version limit hit M ujit_core.c commit d2ad0a1175a83392710a4248dc541492ba151e61 Author: Maxime Chevalier-Boisvert Date: Fri Feb 5 15:07:06 2021 -0500 Added synthetic torture test with 30K tiny methods A bootstraptest/test_ujit_many_funs.rb A misc/gen_call_test.rb commit 8357e8e5142b97c452929aade0c24f59c7a34833 Author: Maxime Chevalier-Boisvert Date: Fri Feb 5 12:18:55 2021 -0500 Fixed two bugs in JIT-to-JIT calls (thanks Alan!) M bootstraptest/test_ujit.rb M ujit_codegen.c commit 0f53c216d2e46049d30eb82b66c9ab4c946911ed Author: Maxime Chevalier-Boisvert Date: Thu Feb 4 16:37:14 2021 -0500 Pop stack operands in opt_aref M ujit_codegen.c commit a391684159b5f967f159657b0237ef5100720f51 Author: Alan Wu Date: Thu Feb 4 13:00:29 2021 -0500 Check for iseq wrapper instead of iseq imemo M ujit_iface.c commit 2fcb17d655143845083117b199c991fcf66c48f7 Author: Alan Wu Date: Thu Feb 4 12:29:36 2021 -0500 Make UJIT.disasm accept Procs M ujit.rb M ujit_iface.c commit ab5760307b730f3b418b3eae016c442ca4f57d14 Author: Aaron Patterson Date: Wed Feb 3 15:09:34 2021 -0800 add a callback for when method cache changes M ujit.h M ujit_iface.c M vm_method.c commit d2d564be1db247f21e15c847584b0ec2cae4428d Author: Maxime Chevalier-Boisvert Date: Wed Feb 3 17:39:38 2021 -0500 Moved ujit code invalidation test into bootstraptest A bootstraptest/test_ujit.rb D test/ruby/test_microjit.rb commit 56ce40e8becc26afd089802cee7c09e8c3d698ce Author: Alan Wu Date: Wed Feb 3 16:54:25 2021 -0500 Only compile iseqs with simple parameters. Enable get_local_wc1 M ujit_codegen.c commit e85e0e2fa98d7835163e3470ca322b11a0f67c67 Author: Maxime Chevalier-Boisvert Date: Wed Feb 3 16:09:03 2021 -0500 Commit WIP setlocal_WC_1 implementation M ujit_codegen.c commit 439e1089b72ebb11314b3f548c8bb5bdf02a91a1 Author: Maxime Chevalier-Boisvert Date: Wed Feb 3 11:25:34 2021 -0500 Implement opt_le, opt_ge in ujit M ujit_codegen.c commit 020f745041d8555ccd287553a098402c04f9e248 Author: Maxime Chevalier-Boisvert Date: Tue Feb 2 14:31:02 2021 -0500 Fix overflow check in ujit M ujit_codegen.c M ujit_core.c commit 7f73948c3ada1a906dd90cff23dfd8c6193137e4 Author: Alan Wu Date: Mon Feb 1 17:17:26 2021 -0500 Add code side info to --ujit-stats shopify/ruby#23 M ujit_iface.c commit c734405ccd3dfba58dffbb6413c36eec04dc1f36 Author: Alan Wu Date: Mon Feb 1 17:03:50 2021 -0500 Add stats for number of ujit entry points installed shopify/ruby#23 M ujit_iface.c commit 6a29131439b88f696b54d4d732f5bffae9a56aac Author: Maxime Chevalier-Boisvert Date: Mon Feb 1 16:57:38 2021 -0500 Implement Ruby-to-Ruby calls in ujit (opt_send_without_block) M ujit_codegen.c commit 27a44436433a0072f62aaae6e8d6f12a1f0a1bf8 Author: Maxime Chevalier-Boisvert Date: Mon Feb 1 14:18:43 2021 -0500 Add total exit count to stats M ujit_iface.c commit 9453267689fdc405aa3d2eb0bb27e52addf982ec Author: Aaron Patterson Date: Mon Feb 1 09:23:06 2021 -0800 add bop to redefinition callback M ujit.h M ujit_iface.c M vm.c commit 53bd13edf3b41b965297d4ed425a96b9b57dd053 Author: Maxime Chevalier-Boisvert Date: Mon Feb 1 11:51:47 2021 -0500 Implement opt_and in ujit M ujit_codegen.c commit 863ff14997b8ffd3d3cbf52cf62d671788420c12 Author: Aaron Patterson Date: Fri Jan 29 14:31:18 2021 -0800 Add a callback in to microjit when a BOP is redefined This commit adds a callback `rb_ujit_bop_redefined` when a basic operation is redefined. M ujit.h M ujit_iface.c M vm.c commit 05c72d40b7ee907f62701948e1249891a1d008b0 Author: Maxime Chevalier-Boisvert Date: Fri Jan 29 12:07:18 2021 -0500 Alan & Max at Tanagra M ujit_core.c M ujit_core.h M ujit_iface.c commit a6d0c61c3c4a9bb117e5c1bf4da02662f58a50a2 Author: Maxime Chevalier-Boisvert Date: Thu Jan 28 22:56:38 2021 -0500 Add percentages to exit op counts in --ujit-stats M ujit_iface.c commit 2e561ff255ea69e50f2d53240332cfd96463ef06 Author: Maxime Chevalier-Boisvert Date: Thu Jan 28 16:58:20 2021 -0500 Restore interpreter regs in ujit hook. Implement leave bytecode. M iseq.c M iseq.h M tool/ruby_vm/models/micro_jit.rb M tool/ruby_vm/models/micro_jit/example_instructions.rb M tool/ruby_vm/views/vm.inc.erb M ujit_codegen.c M vm_exec.h commit 3c7251b41b8850aab7c64c4885669e9c099d2465 Author: Alan Wu Date: Wed Jan 27 16:13:27 2021 -0500 Tally instructions when taking side exists for --ujit-stats shopify/ruby#29 Co-authored-by: Maxime Chevalier-Boisvert M tool/runruby.rb M ujit_asm.c M ujit_asm.h M ujit_codegen.c M ujit_iface.c M ujit_iface.h commit 09479c33f54423910674780d1fcb7834e98ef561 Author: Maxime Chevalier-Boisvert Date: Wed Jan 27 13:02:55 2021 -0500 Implement block version limit M ujit_core.c M ujit_core.h commit 81c57ab9b8a55c3572facd1fa62c4b5c38a160e0 Author: Maxime Chevalier-Boisvert Date: Tue Jan 26 16:51:44 2021 -0500 Reduce size of ctx_t M ujit_codegen.c M ujit_core.h commit a14015e9b5594bde3ee802eb8c39d08d5b8e8249 Author: Maxime Chevalier-Boisvert Date: Tue Jan 26 16:19:29 2021 -0500 Report unknown --ujit-* options M ruby.c M ujit_codegen.c commit b7f93e81dfe6864273707172be92896b54b6053e Author: Alan Wu Date: Tue Jan 26 15:21:47 2021 -0500 Implement --ujit-stats and instructoin counting VM and ujit instruction counting in debug builds. shopify/ruby#19 M ruby.c M ujit.h M ujit_codegen.c M ujit_iface.c M ujit_iface.h M vm.c M vm_insnhelper.h commit 36232a48a63923e6d3bd3ccad30a12a02b20e89b Author: Maxime Chevalier-Boisvert Date: Mon Jan 25 18:49:54 2021 -0500 Set T_FIXNUM type tags in opt_plus, opt_minus M ujit.rb M ujit_codegen.c commit c61238a2761ca8d9bbe56dc3b06aa07da5784c96 Author: Maxime Chevalier-Boisvert Date: Mon Jan 25 17:11:10 2021 -0500 Optimize putobject codegen M ujit_codegen.c commit e7909467df181641b1753512cba3f49c0f0f6583 Author: Maxime Chevalier-Boisvert Date: Mon Jan 25 16:42:42 2021 -0500 Eliminate type checks in opt_lt M ujit_codegen.c commit 63e85de33a6b3cf4dbb2f7873c968576e201f0b6 Author: Maxime Chevalier-Boisvert Date: Mon Jan 25 15:28:49 2021 -0500 Fix bug, block added with wrong blockid. M ujit.rb M ujit_codegen.c M ujit_core.c M ujit_iface.c commit b0b1bc1684a845ae07df474f6a7e86ada501dadf Author: Maxime Chevalier-Boisvert Date: Mon Jan 25 14:33:35 2021 -0500 Tweak ujit disasm output M ujit.rb commit 4f47181be689e9cfc2cbce332aa4d538afd35da1 Author: Maxime Chevalier-Boisvert Date: Sun Jan 24 23:08:11 2021 -0500 Keep track of multiple versions per blockid M ujit_core.c commit 9def269b470f74d8ea4bb7919f927d16efb35cfa Author: Maxime Chevalier-Boisvert Date: Sun Jan 24 18:21:18 2021 -0500 Fix issue with block address accessor. Print absolute addresses. M ujit.rb M ujit_iface.c commit 79d6e9618d8215f936a3c938d192753906412c02 Author: Maxime Chevalier-Boisvert Date: Fri Jan 22 16:54:43 2021 -0500 Make find_block_version() do list search M ujit_core.c commit 8a61e848c09779312dab159e8a625872de034272 Author: Maxime Chevalier-Boisvert Date: Fri Jan 22 15:24:04 2021 -0500 Minor changes to disasm output. Fix GCC warning. M ujit.rb M ujit_iface.c commit 25234f8a1c75f57f2e5bdb757d96156cb4275ecf Author: Alan Wu Date: Fri Jan 22 15:26:12 2021 -0500 Update dependencies M common.mk commit 042c6aab548f41b8979ff7d1d10d310b359af7df Author: Alan Wu Date: Fri Jan 22 15:18:05 2021 -0500 Fix cast warning M ujit_iface.c commit f68ddaa54aee1d1470372c8f38f61e58bf61d55a Author: Alan Wu Date: Fri Jan 22 15:06:51 2021 -0500 Declare instead of define data varaibles in header M ujit_codegen.h commit 738160db0a7fb32d609133fb68fbdff02ff315f2 Author: Maxime Chevalier-Boisvert Date: Fri Jan 22 14:57:44 2021 -0500 Write ctx_diff() function to compate ctx_t objects M ujit_core.c M ujit_core.h commit 7efde1bfb486aa7bb57f5f355a13be040a6973ff Author: Aaron Patterson Date: Fri Jan 22 11:26:20 2021 -0800 conditionally add libcapstone M configure.ac M ujit.rb M ujit_iface.c commit e427fdff0af907faec8771b98e9cabeaadd05f12 Author: Aaron Patterson Date: Fri Jan 22 10:43:26 2021 -0800 Directly link libcapstone for easier development This lets us use libcapstone directly from miniruby so we don't need a Ruby Gem to to dev work. Example usage: ```ruby def foo(x) if x < 1 "wow" else "neat" end end iseq = RubyVM::InstructionSequence.of(method(:foo)) puts UJIT.disasm(iseq) 100.times { foo 1 } puts UJIT.disasm(iseq) ``` Then in the terminal ``` $ ./miniruby test.rb == disasm: # (catch: FALSE) local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1]) [ 1] x@0 0000 getlocal_WC_0 x@0 ( 2)[LiCa] 0002 putobject_INT2FIX_1_ 0003 opt_lt 0005 branchunless 10 0007 putstring "wow" ( 3)[Li] 0009 leave ( 7)[Re] 0010 putstring "neat" ( 5)[Li] 0012 leave ( 7)[Re] == ISEQ RANGE: 10 -> 10 ======================================================== 0x0: movabs rax, 0x7fe816e2d1a0 0xa: mov qword ptr [rdi], rax 0xd: mov r8, rax 0x10: mov r9, rax 0x13: mov r11, r12 0x16: jmp qword ptr [rax] == ISEQ RANGE: 0 -> 7 ========================================================== 0x0: mov rax, qword ptr [rdi + 0x20] 0x4: mov rax, qword ptr [rax - 0x18] 0x8: mov qword ptr [rdx], rax 0xb: mov qword ptr [rdx + 8], 3 0x13: movabs rax, 0x7fe817808200 0x1d: test byte ptr [rax + 0x3e6], 1 0x24: jne 0x3ffff7b 0x2a: test byte ptr [rdx], 1 0x2d: je 0x3ffff7b 0x33: test byte ptr [rdx + 8], 1 0x37: je 0x3ffff7b 0x3d: mov rax, qword ptr [rdx] 0x40: cmp rax, qword ptr [rdx + 8] 0x44: movabs rax, 0 0x4e: movabs rcx, 0x14 0x58: cmovl rax, rcx 0x5c: mov qword ptr [rdx], rax 0x5f: test qword ptr [rdx], -9 0x66: jne 0x3ffffd5 ``` Make sure to `brew install pkg-config capstone` M common.mk M configure.ac M inits.c D misc/ujit_disasm.rb A ujit.rb M ujit_iface.c commit dea4db16c03b3befc14a0de9b51489d9382258a3 Author: Maxime Chevalier-Boisvert Date: Fri Jan 22 13:29:09 2021 -0500 Add support for multiple versions per block M ujit_codegen.c M ujit_core.c M ujit_core.h M ujit_iface.c commit d528cf4fd5551c323484c2ffb79b56af0c6f50c4 Author: Maxime Chevalier-Boisvert Date: Fri Jan 22 12:22:34 2021 -0500 Added comments. Fixed compiler warning. M misc/ujit_disasm.rb M ujit_core.c M ujit_core.h M ujit_iface.c commit 11512a80fce8bfac3adf7038e9d9e3839e5cbbfb Author: Aaron Patterson Date: Thu Jan 21 14:05:11 2021 -0800 add a helper script for ujit disasm A misc/ujit_disasm.rb commit d9176d9fca1af8750f9d8f97586e150d9261cc7f Author: Aaron Patterson Date: Wed Jan 20 10:50:13 2021 -0800 Expose methods for inspecting Micro JIT code blocks This commit adds a module `UJIT`. The module allows you to insert the initial Micro JIT instruction in to an arbitrary iseq like this: ```ruby def foo(x) if x < 1 "less than one" else "something else" end end iseq = RubyVM::InstructionSequence.of(method(:foo)) UJIT.insert(iseq) # Add initial jump ``` After the initial jump is added, we can make Micro JIT do some work: ```ruby 100.times { foo(0) } ``` The `UJIT` module also exposes a method for finding all compiled blocks for a given iseq, like this: ```ruby blocks = UJIT.blocks_for(iseq) ``` We can sort the blocks by address and use the Crabstone gem (which is a wrapper around `capstone`) to disassemble the generated code. Here is the full code example: ```ruby def foo(x) if x < 1 "less than one" else "something else" end end iseq = RubyVM::InstructionSequence.of(method(:foo)) UJIT.insert(iseq) # Add initial jump 100.times { foo(0) } blocks = UJIT.blocks_for(iseq) # brew install capstone # gem install crabstone require "crabstone" cs = Crabstone::Disassembler.new(Crabstone::ARCH_X86, Crabstone::MODE_64) puts iseq.disasm blocks.sort_by(&:address).reverse.each do |block| puts "== ISEQ RANGE: #{block.iseq_start_index} -> #{block.iseq_end_index} ".ljust(80, "=") cs.disasm(block.code, 0).each do |i| printf( "\t0x%
x:\t%s\t%
s\n", address: i.address, instruction: i.mnemonic, details: i.op_str ) end end ``` Here is the output: ``` $ ./ruby test.rb == disasm: # (catch: FALSE) local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1]) [ 1] x@0 0000 getlocal_WC_0 x@0 ( 2)[LiCa] 0002 putobject_INT2FIX_1_ 0003 opt_lt 0005 branchunless 10 0007 putstring "less than one" ( 3)[Li] 0009 leave ( 7)[Re] 0010 putstring "something else" ( 5)[Li] 0012 leave ( 7)[Re] == ISEQ RANGE: 7 -> 7 ========================================================== 0x0: movabs rax, 0x7fcd014cd518 0xa: mov qword ptr [rdi], rax 0xd: mov r8, rax 0x10: mov r9, rax 0x13: mov r11, r12 0x16: jmp qword ptr [rax] == ISEQ RANGE: 0 -> 7 ========================================================== 0x0: mov rax, qword ptr [rdi + 0x20] 0x4: mov rax, qword ptr [rax - 0x18] 0x8: mov qword ptr [rdx], rax 0xb: mov qword ptr [rdx + 8], 3 0x13: movabs rax, 0x7fcd0180ac00 0x1d: test byte ptr [rax + 0x3e6], 1 0x24: jne 0x3ffe0da 0x2a: test byte ptr [rdx], 1 0x2d: je 0x3ffe0da 0x33: test byte ptr [rdx + 8], 1 0x37: je 0x3ffe0da 0x3d: mov rax, qword ptr [rdx] 0x40: cmp rax, qword ptr [rdx + 8] 0x44: movabs rax, 0 0x4e: movabs rcx, 0x14 0x58: cmovl rax, rcx 0x5c: mov qword ptr [rdx], rax 0x5f: test qword ptr [rdx], -9 0x66: je 0x3ffe111 0x6c: jmp 0xffffffffffffffa3 ``` M ujit_iface.c commit ce233c95dbd7c9b6ea871947a269f3ce714b2e57 Author: Alan Wu Date: Thu Jan 21 15:28:09 2021 -0500 Remove assert that doesn't compile M ujit_core.c commit 0a42428098e4dd4c348dd09a8566d643efb59e1c Author: Maxime Chevalier-Boisvert Date: Thu Jan 21 15:05:44 2021 -0500 Implement branchif in ujit M ujit_codegen.c commit 331f662ddb3a6b824df6ab045a9ec004993a6b5e Author: Alan Wu Date: Thu Jan 21 14:24:00 2021 -0500 Update dependencies M common.mk commit 0a6e824ad2cc22315b32d1a11dc094c528b32acb Author: Maxime Chevalier-Boisvert Date: Wed Jan 20 16:58:09 2021 -0500 Prototype type-specialization for temp values M ujit_codegen.c M ujit_core.c M ujit_core.h commit cf4021ca780d460dc351b30260532c158a5c8a5e Author: Maxime Chevalier-Boisvert Date: Wed Jan 20 12:44:24 2021 -0500 Take VM lock in branch_stub_hit(), fix ractor deadlock. M ujit.h M ujit_codegen.c M ujit_core.c M ujit_core.h commit dde69ab5c63a01c20c9bc19b7a11d9c64f6dab2a Author: Maxime Chevalier-Boisvert Date: Tue Jan 19 14:17:51 2021 -0500 Fix ujit block hash table bug M ujit_core.c commit 136bf983beaf46bebd13026890eda8dafff279ce Author: Maxime Chevalier-Boisvert Date: Tue Jan 19 13:28:52 2021 -0500 Fix bug with ujit code invalidation M ujit_core.c commit 37ad374607ae69637bc87bedd809466a6a71d4f4 Author: Maxime Chevalier-Boisvert Date: Tue Jan 19 11:11:11 2021 -0500 Added gen_direct_jump() for unary branches M ujit_codegen.c M ujit_core.c M ujit_core.h commit 187435c11757748af37c59ced54d4ee04f442ffe Author: Maxime Chevalier-Boisvert Date: Mon Jan 18 17:03:04 2021 -0500 Complete refactoring to eliminate recursion in ujit's compilation M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit 02a97004751eae471e00b2b6c3ce86c9dd6ae259 Author: Maxime Chevalier-Boisvert Date: Fri Jan 15 17:10:52 2021 -0500 End current block after opt_send_without_block M ujit_codegen.c M ujit_iface.c M ujit_iface.h commit 79331368b94b297a0653152cb568a9b998af7fee Author: Maxime Chevalier-Boisvert Date: Thu Jan 14 19:36:07 2021 -0500 Added block end index M ujit_codegen.c M ujit_core.h commit 59eb98fbaa4762a935ef57a6777042068b186278 Author: Maxime Chevalier-Boisvert Date: Thu Jan 14 16:58:20 2021 -0500 Fix ujit cc/cme invalidation code for opt_send_without_block M ujit.h M ujit_codegen.c M ujit_core.c M ujit_iface.c M ujit_iface.h M version.c commit 4a5710769609c35a32a071cc4cd3bcebdc3ec908 Author: Maxime Chevalier-Boisvert Date: Thu Jan 14 13:33:19 2021 -0500 Sketch code to invalidate basic blocks. Rename version_t to block_t. M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit 92e9b2458665617d6d05b968a4f8bd08afdb65a4 Author: Maxime Chevalier-Boisvert Date: Wed Jan 13 15:18:35 2021 -0500 Keep track of incoming branches in ujit M ujit_codegen.c M ujit_core.c M ujit_core.h commit 2cf32e5505d8da85f31df3a0bff7b0fd38054503 Author: Maxime Chevalier-Boisvert Date: Wed Jan 13 14:14:16 2021 -0500 Refactor ujit logic for generating iseq entry points M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h M ujit_iface.c commit ef08af93769982047e59356d76c7e72a67970335 Author: Maxime Chevalier-Boisvert Date: Tue Jan 12 17:03:54 2021 -0500 Progress on code invalidation M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit 3a74011ff8e5b9b4bf07ef72d249d08b8c13c57e Author: Maxime Chevalier-Boisvert Date: Tue Jan 12 14:56:43 2021 -0500 Introduce version_t struct. Will be needed for code invalidation. M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit a251059070a4d42ac1a70fb3ce747cd791bfbe92 Author: Maxime Chevalier-Boisvert Date: Tue Jan 12 12:30:11 2021 -0500 Fix hash map key issue M ujit_codegen.c M ujit_core.c commit 7e60ce357b7061ea6e638cab2ff656df031f7d90 Author: Maxime Chevalier-Boisvert Date: Mon Jan 11 14:58:40 2021 -0500 Fix uint cast bug caught by Alan M ujit_codegen.c commit 2cc0db12fee25b23d689a9a9936db470d0fa0433 Author: Maxime Chevalier-Boisvert Date: Fri Jan 8 15:18:03 2021 -0500 Refactorings in ujit. Implement Ruby jump instruction. M ujit_codegen.c M ujit_core.c M ujit_core.h commit 1744c15578cf1955dfdaf5bc02db13a05a8d6970 Author: Maxime Chevalier-Boisvert Date: Thu Jan 7 17:09:25 2021 -0500 Avoid generating redundant interpreter exit code after branches M ujit_codegen.c M ujit_codegen.h M ujit_core.c commit 97cffcf79a5586765d0046d3dc0d004a101f73ad Author: Maxime Chevalier-Boisvert Date: Thu Jan 7 13:32:46 2021 -0500 Fix sneaky ujit side-exit bug. Reduce ujit call threshold to 1. M ujit.h M ujit_codegen.c commit 542f2ba09e1904fb7f43af34bc1527073daae964 Author: Maxime Chevalier-Boisvert Date: Fri Dec 18 15:52:13 2020 -0500 Use a versioning context when compiling blocks M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit df16bf97ece9c3f943750954c19d1caace089215 Author: Maxime Chevalier-Boisvert Date: Fri Dec 18 15:02:43 2020 -0500 Split out context object into jitstate_t and ctx_t M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h M ujit_iface.c commit 5e39d83fbd560a5151facba10e95889aff84c93e Author: Maxime Chevalier-Boisvert Date: Fri Dec 18 13:49:53 2020 -0500 Split out compile_entry() from compile_block() M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h M ujit_iface.c commit 4592ef9d76c5ef1bf7f99119a126a1b700c88f1f Author: Maxime Chevalier-Boisvert Date: Thu Dec 17 15:45:38 2020 -0500 Fixed one bug in compile_block. M ujit_codegen.c M ujit_core.c commit e9344ae4089503341b8546beb4f53e654b3e3f4f Author: Maxime Chevalier-Boisvert Date: Thu Dec 17 14:51:56 2020 -0500 Stub logic working for fib test, but still crashing in other cases M ujit_codegen.c M ujit_core.c M ujit_core.h commit 7d7e58d3521c797d772fdb5f974061c8a3758594 Author: Maxime Chevalier-Boisvert Date: Wed Dec 16 21:45:51 2020 -0500 Implement branch stub logic M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit 40b70ef7c762701d26539e5a401449d7f3733b5a Author: Maxime Chevalier-Boisvert Date: Wed Dec 16 17:07:18 2020 -0500 WIP branch generation code M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit bd7cc9ed98056d01dbdd592156e07ae6c6eff516 Author: Maxime Chevalier-Boisvert Date: Mon Dec 14 15:57:55 2020 -0500 Thread insn_idx through context object M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h commit 868a6809e7d15b95f14bff822268e2962747fb06 Author: Maxime Chevalier-Boisvert Date: Mon Dec 14 13:26:33 2020 -0500 Add sign-extended mode for test() instruction M ujit_asm.c M ujit_asm_tests.c commit 8ae354e9bedbe5995e97206b170f3e406fc5b617 Author: Maxime Chevalier-Boisvert Date: Fri Dec 11 13:22:37 2020 -0500 Implemented opt_lt. Prelude to branch instructions. M ujit_codegen.c commit 20f5b7426e839c90819f223c1a30992fd8d4023c Author: Maxime Chevalier-Boisvert Date: Thu Dec 10 16:59:13 2020 -0500 Start implementing BBV primitives M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h M ujit_iface.c commit f7717b1d463548414e607498e84815ac641ce3dc Author: Maxime Chevalier-Boisvert Date: Thu Dec 10 00:06:10 2020 -0500 Start refactoring JIT engine M ujit_codegen.c M ujit_codegen.h M ujit_core.c M ujit_core.h M ujit_iface.c commit f761e9ee641cb4bf9250fa97d119a444d239e7b7 Author: Maxime Chevalier-Boisvert Date: Tue Dec 8 17:19:28 2020 -0500 Move code into ujit_iface.c M ujit_codegen.c M ujit_iface.c M ujit_iface.h commit e4c65ec49c5e2cba537f2d9ee00888c5dfbcac34 Author: Maxime Chevalier-Boisvert Date: Tue Dec 8 16:54:41 2020 -0500 Refactor uJIT code into more files for readability M .gitignore M common.mk M compile.c M mjit.h M ruby.c M template/Makefile.in R100 tool/ruby_vm/views/ujit_examples.inc.erb tool/ruby_vm/views/ujit_hooks.inc.erb R053 ujit_compile.h ujit.h R073 ujit_compile.c ujit_codegen.c A ujit_codegen.h A ujit_core.c A ujit_core.h A ujit_iface.c A ujit_iface.h M version.c M vm_method.c M win32/Makefile.sub commit 7be67a6c080dd7d0d571c50d01bb0195e0d3262d Author: Maxime Chevalier-Boisvert Date: Fri Nov 20 15:25:21 2020 -0500 Implemented opt_plus in MicroJIT M ujit_compile.c commit ec42378196db02936cd521305dc5940f598370d0 Author: Maxime Chevalier-Boisvert Date: Fri Nov 20 14:05:36 2020 -0500 Rename function and variable M ujit_compile.c commit fa04478e9e2e478e6a66e1b4b0bb4fd762a367f8 Author: Alan Wu Date: Fri Nov 20 11:35:17 2020 -0500 MicroJIT: coalesce heap pointer check on self M ujit_compile.c commit 4d964e25823fdbaae28cea7b0416902f7afd7cdc Author: Maxime Chevalier-Boisvert Date: Tue Nov 17 15:04:36 2020 -0500 Implemented setinstancevariable M ujit_compile.c commit e2e70f69f3af939b0ba687424b6a30043de2ea9e Author: Maxime Chevalier-Boisvert Date: Thu Nov 12 14:25:11 2020 -0500 Add comment wrt getivar and allocators M ujit_compile.c commit be91995a5e91c2ad0136e44f553ffdd80342d090 Author: Aaron Patterson Date: Thu Nov 12 09:25:14 2020 -0800 Remove T_OBJECT runtime check If the cached class uses the default allocator, then all instances coming from the class should be T_OBJECT instances. Meaning we can just check the allocator function at compile time, then skip the runtime T_OBJECT check M ujit_compile.c commit e17053c72090dd8d732742386303f9964b6326ce Author: Maxime Chevalier-Boisvert Date: Tue Nov 10 15:35:55 2020 -0500 Basic implementation of getivar for MicroJIT M ujit_compile.c commit 1cd4c8b294acd2b4d34c2c830ee2b541a87a0e6f Author: Maxime Chevalier-Boisvert Date: Mon Nov 9 16:54:29 2020 -0500 Deoptimize on side-exit M ujit_compile.c commit 64072dd3a6a321b674255f44632f2c34ac196507 Author: Maxime Chevalier-Boisvert Date: Mon Nov 9 16:38:50 2020 -0500 Rename variables for clarity M ujit_compile.c commit b75169a44071b978b21e6e1815a25fef00d31ded Author: Alan Wu Date: Fri Nov 6 18:13:53 2020 -0500 Fix typo M tool/ruby_vm/models/micro_jit.rb commit 6a9a516dc5c253c5609386ae70e2ac5c53423e2a Author: Maxime Chevalier-Boisvert Date: Thu Nov 5 11:37:55 2020 -0500 Print to stderr in ujit_utils.c M ujit_utils.c commit 50d8c3d4430cc8726b0d2745440e9de01eb4dfb9 Author: Alan Wu Date: Wed Nov 4 12:03:39 2020 -0500 MicroJIT: Count number of compiled instructions better M ujit_compile.c commit ba92d40d9bc48ab57bec7afbf7e900c1f211b4b6 Author: Maxime Chevalier-Boisvert Date: Mon Nov 2 12:36:52 2020 -0500 Fix warning M ujit_utils.c commit 68b0f69a0db99bad754d5d0387922830b6bd40b9 Author: Alan Wu Date: Thu Oct 29 17:40:58 2020 -0400 Make a bunch of functions compilation unit local M ujit_compile.c commit 5f9beb9b1b931a90b314f6adcf9ca5b7447471aa Author: Alan Wu Date: Thu Oct 29 17:37:40 2020 -0400 Include disassembly in MicroJIT scraper output M tool/ruby_vm/models/micro_jit.rb M tool/ruby_vm/views/ujit_examples.inc.erb M ujit_compile.c commit 188c54428c46c1098cda0e366ee8c974f25ac07b Author: Alan Wu Date: Thu Oct 29 17:26:49 2020 -0400 MicroJIT: avoid having to invalidate running output code A test/ruby/test_microjit.rb M ujit_compile.c M ujit_compile.h commit 9ce9f613b0b3a1b222055fac93969f588cfd7e7b Author: Alan Wu Date: Thu Oct 29 14:45:53 2020 -0400 Update comment for `ujit_compile_insn` M ujit_compile.c commit c378c7a7cb937cd9fe5814f2838b1d6cd1d177b2 Author: Alan Wu Date: Tue Oct 27 18:49:17 2020 -0400 MicroJIT: generate less code for CFUNCs Added UJIT_CHECK_MODE. Set to 1 to double check method dispatch in generated code. It's surprising to me that we need to watch both cc and cme. There might be opportunities to simplify there. M gc.c M ujit_asm.c M ujit_asm.h M ujit_compile.c M ujit_compile.h M vm_callinfo.h M vm_method.c commit 0c52371c47d8b65f91ed5d2a7e2c14c96d286f57 Author: Maxime Chevalier-Boisvert Date: Tue Oct 27 15:58:26 2020 -0400 Don't create a stack frame for Hash#key? M ujit_compile.c commit 5413d0918b89ee46f8500ba2731ff3a7a22c6276 Author: Maxime Chevalier-Boisvert Date: Tue Oct 27 14:30:33 2020 -0400 Fix GCC warning M ujit_compile.c M ujit_utils.c commit 81e7091862d76ef660363f3463820b5ecd214c87 Author: Maxime Chevalier-Boisvert Date: Tue Oct 27 14:25:00 2020 -0400 Added stack overflow check to MicroJIT CFUNC calls M ujit_compile.c commit 8b8470d098607548ff33792b831a2290c12248ed Author: Maxime Chevalier-Boisvert Date: Tue Oct 27 11:10:19 2020 -0400 Added RUBY_VM_CHECK_INTS to CFUNC calls M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 5b6a963b710db6bacb64d17c32666f3db935b0ac Author: Maxime Chevalier-Boisvert Date: Fri Oct 23 16:49:59 2020 -0400 Fix compiler warnings M ujit_compile.c M ujit_utils.c commit b761f5c96ff1635aeeb26bb7ba6cb2b30adcddaf Author: Maxime Chevalier-Boisvert Date: Fri Oct 23 10:59:22 2020 -0400 Implemented mechanism for rel32 call M ujit_asm.c M ujit_asm.h M ujit_compile.c commit 498fe0fb52c4b3f7c8a4abdc9da1fffb2aa8c69b Author: Alan Wu Date: Thu Oct 22 14:16:39 2020 -0400 Move MicroJIT compilation threshold into MicroJIT's header M mjit.h M ujit_compile.h commit 809ecfb1266fac21019f0264f060f408c2946fdd Author: Maxime Chevalier-Boisvert Date: Thu Oct 22 12:11:29 2020 -0400 Fixed two CFUNC call bugs thanks to Alan & Aaron! M ujit_compile.c commit c2cb6a6fd38eea3ce91d3370a62aaf6ba15e410a Author: Alan Wu Date: Wed Oct 21 18:15:43 2020 -0400 MicroJIT: Read pointer to call cache from call data The call cache changes when the call site becomes polymophic and can result in the generated code falsely assuming cd->cc->cme is not NULL. Here is a crasher: def body(thing) thing.strip end str = "" 10.times { body(str) } body(0) rescue p 'not found' body(str) M ujit_compile.c commit d49edada2eeb0e2fa25c2f36c06e9836e9288f56 Author: Maxime Chevalier-Boisvert Date: Wed Oct 21 16:10:19 2020 -0400 Fix MicroJIT argument copying for CFUNC calls M ujit_compile.c commit 37e4350e80c0b9dfeee7e7ea461bcb65fe385bdd Author: Maxime Chevalier-Boisvert Date: Tue Oct 20 16:55:49 2020 -0400 Fixed two issues with MicroJIT CFUNC calls M ujit_compile.c commit 35c0768473d18a83c50cf7f175d301a614987527 Author: Maxime Chevalier-Boisvert Date: Tue Oct 20 15:03:06 2020 -0400 First pass at CFUNC calls complete. Not yet functional. M ujit_asm.h M ujit_compile.c commit ff73762bda4f2c5c7aa2a04b39282c3755d69841 Author: Maxime Chevalier-Boisvert Date: Tue Oct 20 11:11:47 2020 -0400 Refactor ujit, define named register constants, code cleanup M ujit_compile.c commit 6ca360aa4762c7eaaa587eed79384052d8453552 Author: Alan Wu Date: Mon Oct 19 20:31:11 2020 -0400 MicroJIT: switch to example that passes ec as second argument opt_send_without_block needs it. Ideally we would use this example only when an instruction in the compiled sequence needs `ec`. We can worry about that later. M ujit_compile.c commit 1ef2887bc118cc810d2103940504a802dcd74d45 Author: Alan Wu Date: Mon Oct 19 18:04:16 2020 -0400 MicroJIT: Use R9 in generated code for Ruby stack pointer M ujit_compile.c commit 11c1daea172df21af30be24d645040d8de9d461d Author: Alan Wu Date: Mon Oct 19 17:45:43 2020 -0400 Add to the MicroJIT scraper an example that passes ec M iseq.c M iseq.h M tool/ruby_vm/models/micro_jit.rb M tool/ruby_vm/models/micro_jit/example_instructions.rb M tool/ruby_vm/views/ujit_examples.inc.erb M tool/ruby_vm/views/vm.inc.erb commit 008551decb7481c8d8a7c870a43e0ea450041aa5 Author: Maxime Chevalier-Boisvert Date: Tue Oct 20 10:37:47 2020 -0400 Commit before merge. M ujit_compile.c commit a88d6207dd87b53f54debb1a3cf044da60b82fb3 Author: Maxime Chevalier-Boisvert Date: Mon Oct 19 16:31:15 2020 -0400 Updated C function call sketch M ujit_compile.c commit 770f3929b31da37c06e015b292c3b7ec3dfc969c Author: Maxime Chevalier-Boisvert Date: Mon Oct 19 11:56:58 2020 -0400 Remove comment. Commit before rebase. M ujit_compile.c commit 595e3a94fd11a435eccd3356492ee775b622ce2b Author: Alan Wu Date: Mon Oct 19 11:42:05 2020 -0400 Fix MicroJIT logic in MJIT exec M mjit.h commit 6f4d17d62236460fd5aa9d07fea4d6794f27c397 Author: Alan Wu Date: Mon Oct 19 10:41:26 2020 -0400 Never compile with MicroJIT when MJIT is enabled There is a crash in there that we don't want to worry about for now. M mjit.h commit 12ba0c0815bf75c6774b149b71304df3b10d0088 Author: Alan Wu Date: Mon Oct 19 10:27:16 2020 -0400 Declare extern with RUBY_EXTERN for MJIT M ujit_compile.h commit d9ab1e9563dae0d4d1859e84733fb0341037aa68 Author: Alan Wu Date: Mon Oct 19 10:26:38 2020 -0400 Update dependencies M common.mk commit 93f6ac39f20f64a879507db98a16177530e9f3d4 Author: Alan Wu Date: Mon Oct 19 09:47:39 2020 -0400 MicroJIT: Don't compile trace instructions M iseq.c M iseq.h M ujit_compile.c commit ba45aff16b1246a3c6b31e9cebb0096fb4e1fcae Author: Alan Wu Date: Fri Oct 16 13:45:25 2020 -0400 Don't call MicroJIT from MJIT output M mjit.h commit a245db8df8d69feca7c36b4824f26ee6f802721a Author: Alan Wu Date: Fri Oct 16 13:44:09 2020 -0400 Export MicroJIT global used in MJIT M ujit_compile.h commit e677ca4af08070a73a30816dfe6e80c776f91d25 Author: Maxime Chevalier-Boisvert Date: Fri Oct 16 16:57:56 2020 -0400 Fixed is-object check in opt_send_without_block M ujit_compile.c commit 7c9fdb5dc9cb1431f16e67d206971db3e27f9e82 Author: Maxime Chevalier-Boisvert Date: Fri Oct 16 14:46:46 2020 -0400 Check receiver type and klass in MicroJIT M ujit_compile.c commit 7650352868a4f56c9225dff58d1ba9aeedadee76 Author: Alan Wu Date: Thu Oct 15 09:06:42 2020 -0400 Take the VM lock when recompiling M ujit_compile.c commit 8bda11f69065d08284b5990097c45a05076d36bd Author: Alan Wu Date: Tue Oct 13 11:15:22 2020 -0400 MicroJIT: compile after ten calls M compile.c M mjit.h M ujit_compile.c M ujit_compile.h commit ef9eb83cbecb3d7add699c41f713a42c296fe65a Author: Maxime Chevalier-Boisvert Date: Fri Oct 16 13:42:14 2020 -0400 Commit before merge M ujit_compile.c commit 2cb376a53f2f165415f36fba4b2230bcbd1e3848 Author: Maxime Chevalier-Boisvert Date: Thu Oct 15 15:15:31 2020 -0400 Started refactoring opt_send_without_block with codegen-time checks M ujit_compile.c commit 32a66b99f657f872924ae16d64316af4a3533ef0 Author: Maxime Chevalier-Boisvert Date: Thu Oct 15 11:46:37 2020 -0400 Add system to implement codegen preconditions in JIT M ujit_compile.c commit 6f81bd2c76c9eec7a95db92f552405cc68367e4d Author: Maxime Chevalier-Boisvert Date: Wed Oct 14 14:03:31 2020 -0400 Added print_ptr() util function for debugging M ujit_compile.c M ujit_utils.c M ujit_utils.h commit e5751768baeb7c1e0a48c466c98014667058d2c3 Author: Maxime Chevalier-Boisvert Date: Wed Oct 14 13:48:26 2020 -0400 Added int3() to x86 asm M ujit_asm.c M ujit_asm.h commit beab644408c3ed82dcaaea81b1400ad13eec7f61 Author: Alan Wu Date: Mon Oct 5 17:11:50 2020 -0400 Anonymous union is a C11 feature unavailable to us M ujit_asm.c M ujit_asm.h commit e84083593cb58a99757f23c1810663b9631b4034 Author: Alan Wu Date: Mon Oct 5 16:12:28 2020 -0400 oops Direct threading should be default M vm_opts.h commit bab308b923f9297e4c4a2f9c12e664d95c710e3f Author: Alan Wu Date: Mon Oct 5 14:30:04 2020 -0400 Explicitly convert function pointer to void pointer M ujit_asm.c commit 7662653b4c122f638b323d667be93ba516cd535d Author: Alan Wu Date: Mon Oct 5 16:08:02 2020 -0400 Fix compilation for OPT_THREADED_CODE=2 M tool/ruby_vm/views/vm.inc.erb M vm_opts.h commit edede7733d2a16872918081c1dad2c1ed096dc36 Author: Alan Wu Date: Mon Oct 5 14:30:04 2020 -0400 Explicitly convert function pointer to void pointer M ujit_utils.c commit b8dff14afa050c1550094420be904e00342f227b Author: Alan Wu Date: Mon Oct 5 14:28:29 2020 -0400 _GNU_SOURCE has to be before includes M ujit_asm.c commit 3c8a9da7efef89a058f0838afae436231265cef8 Author: Alan Wu Date: Mon Oct 5 13:38:17 2020 -0400 Bump executable memory allocation size We run out it on CI in test-all. M ujit_compile.c commit a132d69757486d080b94d7f2e416de6396e7f894 Author: Alan Wu Date: Mon Oct 5 13:34:22 2020 -0400 Get access to MAP_ANONYMOUS in pedantic compile mode M ujit_asm.c commit df15dfa6fd5e84df4e7d0aa02106d28e8d214055 Author: Alan Wu Date: Mon Oct 5 12:52:43 2020 -0400 Don't put MicroJIT status in RUBY_DESCRIPTION That messes with tests too much. M version.c commit 2790428e55f4e6113dcd60c716d464d4c2193903 Author: Alan Wu Date: Mon Oct 5 12:46:14 2020 -0400 Zero sized array are not standard C M tool/ruby_vm/models/micro_jit.rb commit 7e400ddc791fc4111cbfb273574657c41ca5b22e Author: Alan Wu Date: Mon Oct 5 11:45:08 2020 -0400 Try to fix Windows build M ujit_compile.c M win32/Makefile.sub commit 805f49630dcfc57a58ac809f7ef4477183baa9d2 Author: Alan Wu Date: Mon Oct 5 11:31:24 2020 -0400 Fix MicroJIT's putobject against GC copmaction M ujit_compile.c commit e9ecf80d209ee32c2606b625ad73d48f4103ee51 Author: Alan Wu Date: Mon Oct 5 11:19:11 2020 -0400 Respect redefinition in MicroJIT's opt_minus M ujit_asm.h commit f500c1e3219c97cf6a31460d1961d157248ff738 Author: Alan Wu Date: Mon Oct 5 10:30:21 2020 -0400 Update dependency M common.mk commit 040cfdb1392beb0a1e45431c1825a71fc7334ae5 Author: Alan Wu Date: Mon Oct 5 08:09:58 2020 -0400 Small build fixes M iseq.c M ujit_asm.c M ujit_utils.c commit 7d1546ece5e3678a8b8eb196c81c3f4972c51f0a Author: Alan Wu Date: Mon Oct 5 07:41:46 2020 -0400 Try to fix Windows build M iseq.c M ujit_asm.c M ujit_compile.c commit a3e58f4df827f36681e4fdebfef8e05a6ceb5c10 Author: Alan Wu Date: Mon Oct 5 07:21:45 2020 -0400 Compile with MicroJIT disabled when scrape fails This is just so we can build successfully on -O0 and other cases that are not supported by the code scraper. M tool/ruby_vm/models/micro_jit.rb M tool/ruby_vm/views/ujit_examples.inc.erb M ujit_compile.c commit 726bdd4d35861f0373d7508ab4ac7b2c781edf51 Author: Alan Wu Date: Mon Oct 5 06:56:33 2020 -0400 Show whether MicroJIT is enabled in the version string M ruby.c M version.c commit 12283c58dab63eb9f8e916a8647758260a3e699b Author: Maxime Chevalier-Boisvert Date: Sat Oct 3 20:35:14 2020 -0400 Removed inc/dec instructions because usage not recommended. M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 5f4e30be666af8cb8b0265b8dc68124cec4ef047 Author: Alan Wu Date: Sat Oct 3 19:47:15 2020 -0400 Run ruby tool/update-deps --fix M common.mk commit 7fbf6d4019cfb738095e06c3b017725a0eb1baf0 Author: Alan Wu Date: Sat Oct 3 18:35:15 2020 -0400 Move registers into header and make them static We were leaking these as global symbols and were having linking errors with Clang 12. M ujit_asm.c M ujit_asm.h commit e3cd43e2bc44fdd358f8ea1c373125ce4320f972 Author: Maxime Chevalier-Boisvert Date: Fri Oct 2 12:12:28 2020 -0400 Implemented opt_minus in MicroJIT M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 4e9a62c963292cec76c6011e9e18987f64d8257d Author: Alan Wu Date: Thu Oct 1 15:17:24 2020 -0400 Comment out jnl to fix Linux build again M ujit_asm.h commit 1159034cae1b6cd96639247a2e4892b32aae25dc Author: Alan Wu Date: Thu Oct 1 15:16:23 2020 -0400 Fix compilation for -DUSE_INSNS_COUNTER M vm_exec.h commit 851ea463512529390133e656540bb3e287ca6fdd Author: Maxime Chevalier-Boisvert Date: Wed Sep 30 16:57:54 2020 -0400 Added member_opnd() convenience macro M ujit_asm.h M ujit_compile.c commit d7f012666d4931c64fbb6175eab3837088e4f0ea Author: Aaron Patterson Date: Wed Sep 30 12:17:13 2020 -0700 Partially implement opt_send_without_block It will read and check the inline cache now, but we need to actually call the method. Co-Authored-By: Maxime Chevalier-Boisvert M ujit_compile.c commit e99e3daace542cbfd045ae76c435a4f6e163f1d5 Author: Maxime Chevalier-Boisvert Date: Wed Sep 30 13:32:15 2020 -0400 Added jmp_ptr() to ujit_asm.h M ujit_asm.c M ujit_asm.h commit a8d784888dd75abefa468e7b0a266be06c31248c Author: Alan Wu Date: Mon Sep 28 17:05:07 2020 -0400 Fix mistake in ujit command line parsing M ruby.c commit 2c866ce8f0ff45e8d6d2941df174a2effe12a2dc Author: Maxime Chevalier-Boisvert Date: Mon Sep 28 17:01:26 2020 -0400 Check if outlined code block has enough space too M ujit_compile.c commit e8c914c2502f6049ebc5bd93e8db0c62dd14400e Author: Alan Wu Date: Mon Sep 28 07:03:28 2020 -0400 Implement the --disable-ujit command line option M compile.c M ruby.c M ujit_compile.c M ujit_compile.h commit f3c961f273d3fa305c9ebea57e5d1ff96f241e19 Author: Alan Wu Date: Thu Sep 24 19:26:21 2020 -0400 endbr64 is fine M tool/ruby_vm/models/micro_jit.rb commit e0c5d4ecd9e864fa531ecceb29ed0e195bf08644 Author: Maxime Chevalier-Boisvert Date: Mon Sep 28 15:50:41 2020 -0400 Implemented side-exits to interpreter. setlocal_WC_0 M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 4d72b9a2f7890a36f221f256b62250df4baebc1a Author: Maxime Chevalier-Boisvert Date: Thu Sep 24 15:57:53 2020 -0400 Start implementing setlocal_wc0 M ujit_asm_tests.c M ujit_compile.c commit 5ed7e59365592e56320213aef6593260e0d9b576 Author: Alan Wu Date: Thu Sep 24 03:27:59 2020 -0400 Comment out jnl to avoid conflict with system header This is specific to Linux M ujit_asm.h commit 453218b272e694b10ca3ad781001600df0a1c3d9 Author: Alan Wu Date: Thu Sep 24 03:07:53 2020 -0400 Preliminary GNU/Linux support for code scraper Let's see if this works on CI M tool/ruby_vm/models/micro_jit.rb commit 3d87eadf16a086d2f3bec0b556760c0ebfe1e7cd Author: Alan Wu Date: Wed Sep 23 03:02:01 2020 -0400 Refactor ujit_examples.h generator. Remove dwarfdump dependency M common.mk D gen_ujit_examples.rb M template/Makefile.in M tool/ruby_vm/models/instructions.rb A tool/ruby_vm/models/micro_jit.rb A tool/ruby_vm/models/micro_jit/example_instructions.rb A tool/ruby_vm/views/ujit_examples.inc.erb M tool/ruby_vm/views/vm.inc.erb M ujit_compile.c commit 2eaf55fcf1f7afbd0190e47ffe352b29047e6144 Author: Alan Wu Date: Tue Sep 22 19:05:33 2020 -0400 Update PC in memory when exiting jitted code Without this, the allocation tracker was inaccurate and was causing a failure in `test/objspace/test_objspace.rb`. M ujit_compile.c commit 86c438d12990d94fcd6ca1853423e19026de2a7f Author: Alan Wu Date: Tue Sep 22 18:25:29 2020 -0400 Revert "Add workaround for inserting into addr2insn mapping" This reverts commit 6b765b7ca0dad82ffbdeea76c63a0cac5fdc4bfd. It made things much slower and didn't fix the crash. M ujit_compile.c commit 265c5ca8b1ec599f609ea690bfd41f93f4d38cb1 Author: Alan Wu Date: Tue Sep 22 18:24:55 2020 -0400 Avoid triggering GC while translating threaded code M compile.c M iseq.c commit 5bcba2a5ee5d331f6979fcaff11ac00ee15d7508 Author: Alan Wu Date: Tue Sep 22 17:02:15 2020 -0400 Add workaround for inserting into addr2insn mapping M ujit_compile.c commit 38601da27dde73c75ec052d2d6ca555da71ee00e Author: Maxime Chevalier-Boisvert Date: Tue Sep 22 11:39:04 2020 -0400 Added 8-bit and 16-bit general-purpose registers, more tests. M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 25acbaf4f603a0df1ab121a3d3140a1f7ab1a2b4 Author: Alan Wu Date: Mon Sep 21 18:24:00 2020 -0400 Don't assume srcdir is cwd M common.mk commit 304adba717b30df17b4db3c76993a649c3efec0e Author: Maxime Chevalier-Boisvert Date: Mon Sep 21 16:46:57 2020 -0400 Add location hint to code block mmap call M ujit_asm.c M ujit_compile.c commit c20066b24cf1c1c235d1f9402b7986b5085cad53 Author: Maxime Chevalier-Boisvert Date: Sun Sep 20 14:23:14 2020 -0400 Added method to align code block write position M ujit_asm.c M ujit_asm.h M ujit_compile.c commit 30c4237b06573d068624739f6f6d5aaf59a675e1 Author: Maxime Chevalier-Boisvert Date: Fri Sep 18 12:40:05 2020 -0400 Fixed bug with ctx_stack_pop. Implemented dup bytecode. M ujit_compile.c commit d1c9ca86c191ef92d9bcd1242aeb7eaa35381e6c Author: Maxime Chevalier-Boisvert Date: Fri Sep 18 12:20:43 2020 -0400 Port print_int, movsx. Implement putself. M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c M ujit_utils.c M ujit_utils.h commit b8a3f2ed6177c753a35feaa4239a47de0a97ee77 Author: Maxime Chevalier-Boisvert Date: Thu Sep 17 17:09:42 2020 -0400 Add function to print strings from generated code M common.mk M ujit_asm.c M ujit_asm.h M ujit_compile.c A ujit_utils.c A ujit_utils.h commit 77cfdb24d4d7445a6e8f4a110d4e2159360f3c2b Author: Maxime Chevalier-Boisvert Date: Thu Sep 17 13:40:50 2020 -0400 Implemented delayed stack pointer adjustment optimization M ujit_compile.c commit 038f5d964ffdfcce7c1acbeb4c6ae4ad01a09014 Author: Maxime Chevalier-Boisvert Date: Thu Sep 17 11:49:53 2020 -0400 Avoid recompiling overlapping instruction sequences in ujit M compile.c M ujit_asm_tests.c M ujit_compile.c M ujit_compile.h commit 1665bbacc16d7ea18625f5a8b5c7474a873dffb4 Author: Alan Wu Date: Wed Sep 16 17:40:48 2020 -0400 Fix typo M common.mk commit 4d959a25e46427990cd443298302ec0533be6595 Author: Alan Wu Date: Wed Sep 16 17:20:32 2020 -0400 Fix dependency for ujit_examples.h Once this works on GNU/Linux this could be done semi automatically. M common.mk commit 132f7e11fd6715a9e2e09b06441de8d399728049 Author: Maxime Chevalier-Boisvert Date: Wed Sep 16 15:30:23 2020 -0400 Compile putnil M ujit_compile.c commit 8a5ced8eb5ed96ba3d806b2a30790c87c453a9a0 Author: Maxime Chevalier-Boisvert Date: Wed Sep 16 13:52:35 2020 -0400 Chain compilation of adjacent instructions M ujit_compile.c commit 7eb192d644996cb2c79663d34e3364adb7dface5 Author: Maxime Chevalier-Boisvert Date: Wed Sep 16 12:37:59 2020 -0400 Testing lea instruction properly M ujit_asm_tests.c M ujit_compile.c commit 16ddb422eb83cc8223a8e93297aef4d6ab273238 Author: Maxime Chevalier-Boisvert Date: Wed Sep 16 10:33:34 2020 -0400 Complete refactoring to codegen functions M ujit_compile.c commit b0b7d0a87e3d9f6dce2eded0f45c95b125f569c3 Author: Maxime Chevalier-Boisvert Date: Tue Sep 15 17:04:33 2020 -0400 Refactor MicroJIT codegen to use hash table of codegen functions M ujit_compile.c commit 2811792f91d9651a40d1e41de8c85a9b347e6377 Author: Maxime Chevalier-Boisvert Date: Tue Sep 15 15:12:31 2020 -0400 Compiling getlocal_WC_0 M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 2e319492254e529a2f5673038ec6c3ea44087199 Author: Maxime Chevalier-Boisvert Date: Tue Sep 15 10:44:46 2020 -0400 Ported xor and cmovcc instructions M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 090255456aa137f28cc254c609ff95fb7fd3d71b Author: Maxime Chevalier-Boisvert Date: Mon Sep 14 16:59:39 2020 -0400 Ported neg, and, or instructions M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 3739588811a621ccfd00aa7f8ad804cd1c60f92d Author: Maxime Chevalier-Boisvert Date: Mon Sep 14 14:36:39 2020 -0400 Remove PC argument from ujit instructions M gen_ujit_examples.rb M iseq.c M iseq.h M tool/ruby_vm/views/vm.inc.erb M ujit_asm.c M ujit_asm.h M ujit_compile.c commit ca47899ccf9547223f4c64fc4b0837796bee09af Author: Maxime Chevalier-Boisvert Date: Mon Sep 14 13:31:34 2020 -0400 Small refactorings in ujit_compile.c M ujit_asm.c M ujit_asm.h M ujit_compile.c commit 1879a123caeb9caced2eeb2bb7a7a91a4a8e1930 Author: Maxime Chevalier-Boisvert Date: Mon Sep 14 11:54:25 2020 -0400 Added cmp, not. Generate code for nop instruction. M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 7d0df31d7ab834526a0b5450128602c04fddb2b0 Author: Maxime Chevalier-Boisvert Date: Fri Sep 11 16:42:51 2020 -0400 Ported inc/dec instructions M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 26fecc723699a56e27fefb6fef2b3a13d8a95e51 Author: Maxime Chevalier-Boisvert Date: Fri Sep 11 15:36:40 2020 -0400 Removed native_pop_code, ported call with label M iseq.c M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c M ujit_compile.c commit 4929ba0a5ce2ea697bad4b8a33ce6047e99da04a Author: Alan Wu Date: Fri Sep 11 14:58:32 2020 -0400 Generate multiple copies of native code for `pop` Insert generated addresses into st_table for mapping native code addresses back to info about VM instructions. Export `encoded_insn_data` to do this. Also some style fixes. M compile.c M iseq.c M ujit_compile.c commit 6a12fb2067e1d0a9ce610b0affd6a3113d13ff1c Author: Maxime Chevalier-Boisvert Date: Fri Sep 11 15:10:16 2020 -0400 Ported label linking and conditional jumps M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 1c8fb90f6bde0c630f5dc532dfe198218bc9f910 Author: Maxime Chevalier-Boisvert Date: Thu Sep 10 17:20:46 2020 -0400 Add new files, ujit_compile.c, ujit_compile.h M common.mk M compile.c A ujit_compile.c A ujit_compile.h commit 566d4abee5e8e59ce6e080f28a25b7c3431c5b3b Author: Maxime Chevalier-Boisvert Date: Thu Sep 10 14:31:45 2020 -0400 Added shift instructions M compile.c M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit fe1cd076da74be8077509fab5a401060ce1c17a4 Author: Maxime Chevalier-Boisvert Date: Thu Sep 10 11:20:30 2020 -0400 Added test for lea M ujit_asm_tests.c commit 251531bdf06b03a6531ca6863d19c693fc62631a Author: Maxime Chevalier-Boisvert Date: Thu Sep 10 11:09:45 2020 -0400 Reimplement Alan's pop instruction with the new assembler M iseq.c commit efcaa49a7be1ea016a57bed5080c02df3f88f884 Author: Maxime Chevalier-Boisvert Date: Thu Sep 10 10:57:29 2020 -0400 Added sub instruction, 32-bit registers, more tests M iseq.c M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 1392a6f2a499f7400320b87d0bf53d3ef0e26d93 Author: Maxime Chevalier-Boisvert Date: Wed Sep 9 17:16:21 2020 -0400 Added jmp R/M instruction M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit a3b411b9c82010d480ce3bf203dcc8b8600722ce Author: Maxime Chevalier-Boisvert Date: Wed Sep 9 16:45:28 2020 -0400 add and mov instruction encoding ported and tested M test_asm.sh M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 8f40a62647cd7b961faac6b810053b87502d3994 Author: Maxime Chevalier-Boisvert Date: Tue Sep 8 16:45:35 2020 -0400 Progress on x86 assembler. Encode a few simple instructions. M common.mk M test_asm.sh M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 5cf7ccd24a9303b2a591bc0289159517cee6e851 Author: Maxime Chevalier-Boisvert Date: Fri Sep 4 17:10:11 2020 -0400 Started porting instruction encoding M ujit_asm.c M ujit_asm.h M ujit_asm_tests.c commit 0a5dcc056e22bab849d8d7877928d300201af823 Author: Maxime Chevalier-Boisvert Date: Fri Sep 4 15:56:00 2020 -0400 Progress on porting x86 assembler for MicroJIT M common.mk A test_asm.sh A ujit_asm.c A ujit_asm.h A ujit_asm_tests.c commit 07dd5f22a5d3127981eea7602bd3d6c221f5d12e Author: Alan Wu Date: Thu Sep 3 14:18:02 2020 -0400 Scraper touch-ups - Support older Ruby versions - Catch rip-relative jmp. Happens in -O0 M .gitignore M gen_ujit_examples.rb commit 410323bd6d54c9f66f1d0af91d64102426191776 Author: Alan Wu Date: Thu Sep 3 13:55:41 2020 -0400 Try to convince get better code out of Clang M vm_exec.c commit 16c5ce863c06dd3ae5562f4ed86fb40ced670c69 Author: Alan Wu Date: Thu Sep 3 12:06:53 2020 -0400 Yeah, this actually works! M common.mk M compile.c R079 gen-ujit-example-header.rb gen_ujit_examples.rb M iseq.c M iseq.h M tool/ruby_vm/views/vm.inc.erb commit cec197696f3edcff553373e9597130fde2d1f7be Author: Alan Wu Date: Thu Sep 3 11:08:16 2020 -0400 Add example handler for ujit and scrape it from vm.o A gen-ujit-example-header.rb M iseq.c M iseq.h M tool/ruby_vm/models/instructions.rb M tool/ruby_vm/views/vm.inc.erb commit b0c3f18ec519d505527e1929e25ec264c831a89e Author: Aaron Patterson Date: Wed Oct 20 12:42:40 2021 -0700 Print errno when mprotect fails Trying to figure out the problem on s390x. M gc.c commit 030b1892d5cc6f4c14b08d67d4ee60c202edc183 Author: Benoit Daloze Date: Wed Oct 20 21:57:05 2021 +0200 Update to ruby/spec@254c380 M spec/ruby/core/array/sum_spec.rb M spec/ruby/core/enumerable/sum_spec.rb M spec/ruby/core/file/utime_spec.rb M spec/ruby/core/module/autoload_spec.rb M spec/ruby/core/module/const_set_spec.rb M spec/ruby/library/ipaddr/new_spec.rb M spec/ruby/library/stringio/ungetbyte_spec.rb commit 500ba248826fea96c93dbc76199dd331f0a43eb2 Author: git Date: Thu Oct 21 04:43:39 2021 +0900 * 2021-10-21 [ci skip] M version.h commit 6aa1acb03d2cb1ddc9ff63c6006eb3c5f8a1e4d6 Author: Benoit Daloze Date: Wed Oct 20 21:43:00 2021 +0200 Add extra files from ruby/spec which were skipped due to .gitignore A spec/ruby/fixtures/code/a/load_fixture.dylib A spec/ruby/fixtures/code/load_fixture.dylib A spec/ruby/fixtures/code/load_fixture.ext.dylib commit a6c6eef04aaa075f4bbd0eef740d011737afec91 Author: Benoit Daloze Date: Wed Oct 20 21:41:46 2021 +0200 Update to ruby/spec@d6921ef A spec/ruby/command_line/backtrace_limit_spec.rb A spec/ruby/command_line/fixtures/backtrace.rb M spec/ruby/core/array/shared/slice.rb M spec/ruby/core/binding/eval_spec.rb R100 spec/ruby/library/conditionvariable/broadcast_spec.rb spec/ruby/core/conditionvariable/broadcast_spec.rb R100 spec/ruby/library/conditionvariable/marshal_dump_spec.rb spec/ruby/core/conditionvariable/marshal_dump_spec.rb R100 spec/ruby/library/conditionvariable/signal_spec.rb spec/ruby/core/conditionvariable/signal_spec.rb R100 spec/ruby/library/conditionvariable/wait_spec.rb spec/ruby/core/conditionvariable/wait_spec.rb M spec/ruby/core/dir/shared/glob.rb M spec/ruby/core/env/shift_spec.rb M spec/ruby/core/file/utime_spec.rb M spec/ruby/core/float/comparison_spec.rb M spec/ruby/core/hash/transform_keys_spec.rb A spec/ruby/core/integer/zero_spec.rb M spec/ruby/core/kernel/clone_spec.rb M spec/ruby/core/kernel/eval_spec.rb M spec/ruby/core/kernel/fixtures/classes.rb M spec/ruby/core/module/autoload_spec.rb M spec/ruby/core/module/const_set_spec.rb M spec/ruby/core/module/constants_spec.rb M spec/ruby/core/range/each_spec.rb M spec/ruby/language/hash_spec.rb M spec/ruby/language/method_spec.rb M spec/ruby/language/pattern_matching_spec.rb M spec/ruby/language/proc_spec.rb M spec/ruby/language/range_spec.rb M spec/ruby/language/singleton_class_spec.rb M spec/ruby/language/yield_spec.rb M spec/ruby/library/ipaddr/new_spec.rb A spec/ruby/library/set/comparison_spec.rb A spec/ruby/library/set/initialize_clone_spec.rb A spec/ruby/library/set/join_spec.rb A spec/ruby/library/set/sortedset/sortedset_spec.rb M spec/ruby/library/socket/tcpsocket/initialize_spec.rb D spec/ruby/library/socket/tcpsocket/new_spec.rb M spec/ruby/library/socket/tcpsocket/shared/new.rb M spec/ruby/library/stringio/ungetbyte_spec.rb M spec/ruby/security/cve_2010_1330_spec.rb M spec/ruby/security/cve_2013_4164_spec.rb M spec/ruby/security/cve_2014_8080_spec.rb M spec/ruby/security/cve_2018_16396_spec.rb M spec/ruby/security/cve_2018_8778_spec.rb M spec/ruby/security/cve_2019_8323_spec.rb M spec/ruby/security/cve_2019_8325_spec.rb commit 207a5a5bc13018344dc2ab7913fdcaeaeca01292 Author: Benoit Daloze Date: Wed Oct 20 21:41:45 2021 +0200 Update to ruby/mspec@08e1275 M spec/mspec/tool/sync/sync-rubyspec.rb M spec/mspec/tool/tag_from_output.rb commit 5322745b29b23d4776345ee5bfa3a976497b49ee Author: Hiroshi SHIBATA Date: Wed Oct 20 20:13:09 2021 +0900 Added entries about default gems and bundled gems M NEWS.md commit ca989537a9664ff6ffcd6ba22c269ccc6665a5fe Author: git Date: Wed Oct 20 07:07:22 2021 +0000 Update bundled_gems at 2021-10-20 M gems/bundled_gems commit 0c15752556513f99c5275c8ca05808221eb56248 Author: Nobuyoshi Nakada Date: Sun Oct 3 16:22:53 2021 +0900 Use `RUBY_FUNCTION_NAME_STRING` for old Visual C++ Probably `__func__` is supported since Visual C++ 2015 (= 14.0, `_MSC_VER` = 1900). M ractor.c M vm_debug.h commit 768ceb4ead2c1a78b2af047e8f54f2472b34e849 Author: Nobuyoshi Nakada Date: Sun Oct 3 12:02:58 2021 +0900 Cast to void pointer for `%p` in commented out code [ci skip] M addr2line.c M compile.c M ractor.c commit 7c01cf49083992bc61ec9703b6fb4bc588701c00 Author: Yusuke Endoh Date: Wed Oct 20 11:05:05 2021 +0900 NEWS.md: Add error_highlight section M NEWS.md commit 07b87f79797c8716f0ee36f3c32879194717ccd6 Author: Koichi Sasada Date: Wed Oct 20 10:18:54 2021 +0900 add NEWS entries about debug.gem M NEWS.md commit 8bf33a6fbbad99882a77d5374d461bd870ce2ef2 Author: Nobuyoshi Nakada Date: Sun Oct 3 00:54:27 2021 +0900 Ensure the format argument of RUBY_DEBUG_LOG is a string literal M vm_debug.h commit 9b18f1bffe056f9f3e0c37b7c847ecb3ca942307 Author: Kazuhiro NISHIYAMA Date: Tue Sep 28 18:00:03 2021 +0900 Supress `warning: data argument not used by format string [-Wformat-extra-args]` M ractor.c M transient_heap.c M vm_debug.h M vm_sync.c commit 79f9f8326a34e499bb2d84d8282943188b1131bd Author: git Date: Wed Oct 20 02:00:42 2021 +0900 * 2021-10-20 [ci skip] M version.h commit 3e96b94eba0d5374fe69a7c87b9bc0dc060ecf9c Author: Burdette Lamar Date: Tue Oct 19 12:00:22 2021 -0500 Enhanced RDoc for Numeric (#4991) Treated: #@- #fdiv #div #abs #zero? #nonzero? #to_int #positive? #negative? M numeric.c commit 6b1efc54c8407e5f6bc1ca1ed3e0e5e79ab9c930 Author: Hiroshi SHIBATA Date: Tue Oct 19 21:13:16 2021 +0900 [ruby/racc] Bump up racc version to 1.6.0 https://github.com/ruby/racc/commit/0c5fe2637c M lib/racc/info.rb commit de68de87ea87a15d32ab9f42ac6207d190e1273d Author: Hiroshi SHIBATA Date: Tue Oct 19 21:08:04 2021 +0900 [ruby/logger] Bump up logger version to 1.4.4 https://github.com/ruby/logger/commit/82a59c8d3f M lib/logger/version.rb commit a7d07ee90dc1fe650ba40e94d7a1ae64018a98f1 Author: Hiroshi SHIBATA Date: Tue Oct 19 20:35:33 2021 +0900 [ruby/tempfile] Bump up tempfile version to 0.1.2 https://github.com/ruby/tempfile/commit/e5ec902256 M lib/tempfile.gemspec commit 847eeafd65318166fb0277e13bdbe6b2fd09837a Author: Hiroshi SHIBATA Date: Tue Oct 19 20:51:17 2021 +0900 [ruby/etc] Bump up etc version to 1.3.0 https://github.com/ruby/etc/commit/85ca541d0b M ext/etc/etc.c commit b482a516d2dfb6502db478d370a0fca63957786f Author: Hiroshi SHIBATA Date: Tue Oct 19 20:28:40 2021 +0900 [ruby/zlib] Bump up zlib version to 2.1.1 https://github.com/ruby/zlib/commit/82e9a636a6 M ext/zlib/zlib.c commit ae25313e80fcd71ea58721ab5ec50f84701862eb Author: Nobuyoshi Nakada Date: Tue Oct 19 00:29:57 2021 +0900 [ruby/etc] Remove unnecessary declaration Fix https://github.com/ruby/etc/pull/12 https://github.com/ruby/etc/commit/7cbf03d22d M ext/etc/extconf.rb commit 8d6dbecc80d998c0d801c42aa38c5713e8b53572 Author: Nobuyoshi Nakada Date: Tue Oct 19 17:09:32 2021 +0900 Remove useless casts M vm_insnhelper.c commit ec021e469d227d3f4e9c95ebb8c52b4a2526870a Author: Nobuyoshi Nakada Date: Tue Oct 19 17:08:25 2021 +0900 Get rid of type-punning cast M vm_insnhelper.c commit 1d9e12925594be3d06230dc05e8b015f2928b491 Author: Nobuyoshi Nakada Date: Tue Oct 19 16:41:09 2021 +0900 Fill pid and error in the status M process.c commit 012cafa5c7274ef50e6306cf5c3e09c2fb64f44d Author: Burdette Lamar Date: Mon Oct 18 18:35:06 2021 -0500 Enhanced RDoc for numerics (#4982) Treats: Numeric#coerce Numeric#clone Numeric#dup Numeric#@+ (unary plus) Numeric#i Float#coerce M numeric.c commit 8bc24438038e7beb92b5bd07e104b4077f32bb64 Author: git Date: Tue Oct 19 01:09:24 2021 +0900 * 2021-10-19 [ci skip] M version.h commit fac2c0f73cafb5d65bfbba7aa8018fa427972d71 Author: Jeremy Evans Date: Mon Oct 18 07:09:07 2021 -0900 Fix evaluation order of hash values for duplicate keys Fixes [Bug #17719] Co-authored-by: Nobuyoshi Nakada Co-authored-by: Ivo Anjo M parse.y M test/ruby/test_literal.rb M test/ruby/test_syntax.rb commit 59bec48e48f7fc68a5bcff66642cceec0076e509 Author: Nobuyoshi Nakada Date: Mon Oct 18 17:56:10 2021 +0900 Remove declarations unused since a95262356ef5 M complex.c commit 57bf354c9a878bb67c294408400fd029f9b5a353 Author: Aaron Patterson Date: Sat Oct 16 11:20:30 2021 -0700 Eliminate some redundant checks on `num` in `newhash` The `newhash` instruction was checking if `num` is greater than 0, but so is [`rb_hash_new_with_size`](https://github.com/ruby/ruby/blob/82e2443d8b1e3edd2607c78dddf5aac79a13492d/hash.c#L1564) as well as [`rb_hash_bulk_insert`](https://github.com/ruby/ruby/blob/82e2443d8b1e3edd2607c78dddf5aac79a13492d/hash.c#L4764). If we know the size is 0 in the instruction, we can just directly call `rb_hash_new` and only check the size once. Unfortunately, when num is greater than 0, it's still checked 3 times. M insns.def commit dfe944bfbed3cae47e3874de4ed0d2a96c047738 Author: David CARLIER Date: Sun Oct 17 11:19:26 2021 +0000 haiku configure fix (again). M configure.ac commit 6c74976aef2b6f3eeecf6bdcb9b2ac2d9105308e Author: Nobuyoshi Nakada Date: Mon Oct 18 15:43:52 2021 +0900 Remove `Test::Unit::TestCase.make_my_diffs_pretty!` `Test::Unit::CoreAssertions#mu_pp` is defined always using `pretty_inspect`. M tool/lib/test/unit/testcase.rb commit d1b8544b4df4d5620b05090f1bdd4234d4c2e2b5 Author: Nobuyoshi Nakada Date: Mon Oct 18 15:42:11 2021 +0900 Remove `Test::Unit::Assertions#exception_details` Never used since fa0f3eff228bb26de6d5b0e1238b1f358165dbd0. M tool/lib/test/unit/assertions.rb commit 9d2abb8e924158d0324dd3790dd457dc984eddf2 Author: git Date: Mon Oct 18 07:11:44 2021 +0000 Update bundled_gems at 2021-10-18 M gems/bundled_gems commit 0bbfb6a37b6fa65c2aeb7a587ef75ce2fa4a4ec3 Author: Nobuyoshi Nakada Date: Mon Oct 18 10:29:51 2021 +0900 Fix error when srcdir not found So that `spec/mspec/bin/mspec --help` works at least. M spec/default.mspec commit e1e3657746b935e8c9ab6f4beccd0aaed45db9dc Author: Nobuyoshi Nakada Date: Mon Oct 18 10:13:15 2021 +0900 Simplify srcdir fallback M spec/default.mspec commit 0381d10533b5d51a075b0c6505e63bad60c9d1c9 Author: git Date: Mon Oct 18 00:24:20 2021 +0900 * 2021-10-18 [ci skip] M version.h commit 0871652f21c6b7c74e67ba300175ff2a278aee6e Author: Nobuyoshi Nakada Date: Mon Oct 18 00:23:59 2021 +0900 Not all environment variables can be convertible to IBM-437 M spec/ruby/core/env/shift_spec.rb commit c7eac1be518912bde3e2f22623b1398eb1b950f2 Author: Nobuyoshi Nakada Date: Sun Oct 17 22:34:23 2021 +0900 Retry hung up tests verbosely M tool/lib/test/unit.rb M tool/test/testunit/test_parallel.rb commit 13716898df666210b9067c8a3d05a162c2a6ed66 Author: Nobuyoshi Nakada Date: Wed Oct 6 11:31:38 2021 +0900 Retry hung tests after parallel runs M tool/lib/test/unit.rb M tool/lib/test/unit/parallel.rb M tool/test/testunit/test_parallel.rb A tool/test/testunit/tests_for_parallel/test4test_hungup.rb commit 478187e9a33b7af5b11e570f5133c963af6e1165 Author: Nobuyoshi Nakada Date: Tue Oct 5 09:09:15 2021 +0900 Timeout parallel test worker processes M tool/lib/test/unit.rb commit 1831693c1fe4d891112c877dd52d662de66965e7 Author: David CARLIER Date: Sat Oct 16 20:53:51 2021 +0000 haiku build update stack overflow check in libroot (haiku's libc) now M configure.ac commit 82e2443d8b1e3edd2607c78dddf5aac79a13492d Author: git Date: Sun Oct 17 01:34:39 2021 +0900 * 2021-10-17 [ci skip] M version.h commit 5de6e25144b5c5c72bb9ee1980b976704e07f3d3 Author: Nobuyoshi Nakada Date: Sun Oct 17 00:46:25 2021 +0900 Replace unpack with unpack1 M tool/lib/test/unit.rb M tool/lib/test/unit/parallel.rb M tool/test/testunit/test_parallel.rb commit cc8ff8b50d445b0621fef9f3dce0da02ec3d406f Author: Kazuki Yamaguchi Date: Wed Oct 13 14:24:53 2021 +0900 [ruby/openssl] require Ruby 2.6 or later Drop support for Ruby 2.3, 2.4, and 2.5. As of 2021-10, Ruby 2.6 is the oldest version that still receives security fixes from the Ruby core team, so it doesn't make much sense to keep code for those ancient versions. https://github.com/ruby/openssl/commit/3436bd040d M ext/openssl/depend M ext/openssl/lib/openssl/buffering.rb M ext/openssl/openssl.gemspec M ext/openssl/ossl.h M ext/openssl/ossl_pkey_ec.c D ext/openssl/ruby_missing.h M test/openssl/utils.rb commit 4991dabdd07a596fe815768438f7103bb51ff411 Author: Kazuki Yamaguchi Date: Sat Oct 16 18:47:11 2021 +0900 [ruby/openssl] bump version number to 3.0.0.pre https://github.com/ruby/openssl/commit/baa83a8a57 M ext/openssl/lib/openssl/version.rb M ext/openssl/openssl.gemspec commit cea3c55d58a6ca85582e728c32ff4a359427530c Author: Kazuki Yamaguchi Date: Sat Oct 16 16:59:59 2021 +0900 [ruby/openssl] Ruby/OpenSSL 2.2.1 https://github.com/ruby/openssl/commit/65e7207a07 M ext/openssl/History.md M ext/openssl/lib/openssl/version.rb M ext/openssl/openssl.gemspec commit 75e72baba1650f68ad028d121c6728793cc7cd10 Author: Kazuki Yamaguchi Date: Sat Oct 16 16:56:40 2021 +0900 [ruby/openssl] Ruby/OpenSSL 2.1.3 https://github.com/ruby/openssl/commit/e8ee01b22c M ext/openssl/History.md commit e36906f9abcc8f5f9cd4b5a52dae2ddd0aef8e9d Author: Kazuki Yamaguchi Date: Tue Sep 28 17:49:04 2021 +0900 [ruby/openssl] test/openssl/test_ssl: use TLS 1.2 for finished_messages on LibreSSL LibreSSL 2.2.x has a bug in the Finished message handling with TLS 1.3. This is fixed by LibreSSL 3.3.2. https://github.com/ruby/openssl/commit/0bea59d245 M test/openssl/test_ssl.rb commit c1147f7f713f82d5c20dc8dfe4062f7bf671515a Author: Kazuki Yamaguchi Date: Thu Oct 14 15:53:00 2021 +0900 [ruby/openssl] ssl: avoid directly storing String object in NPN callback On the server side, the serialized list of protocols is stored in SSL_CTX as a String object reference. We utilize a hidden instance variable to prevent it from being GC'ed, but this is not enough because it can also be relocated by GC.compact. https://github.com/ruby/openssl/commit/5eb68ba778 M ext/openssl/ossl_ssl.c commit f6612203fa6ea240d83b85aa561258ece11fa48b Author: Kazuki Yamaguchi Date: Thu Oct 14 15:52:39 2021 +0900 [ruby/openssl] x509store: explicitly call rb_gc_mark() against Store/StoreContext We store the reverse reference to the Ruby object in the OpenSSL struct for use from OpenSSL callback functions. To prevent the Ruby object from being relocated by GC.compact, we must "pin" it by calling rb_gc_mark(). https://github.com/ruby/openssl/commit/a6ba9f894f M ext/openssl/ossl_x509store.c commit ca28545b517057613f57e4814622e553d6fae442 Author: Kazuki Yamaguchi Date: Thu Oct 14 15:50:02 2021 +0900 [ruby/openssl] ssl: explicitly call rb_gc_mark() against SSLContext/SSLSocket objects We store the reverse reference to the Ruby object in the OpenSSL struct for use from OpenSSL callback functions. To prevent the Ruby object from being relocated by GC.compact, we must "pin" it by calling rb_gc_mark(). https://github.com/ruby/openssl/commit/022b7ceada M ext/openssl/ossl_ssl.c commit c6c2190c4c546743981944c9ff258a94a6ea7a09 Author: Kazuki Yamaguchi Date: Tue Oct 12 18:19:55 2021 +0900 [ruby/openssl] digest: load digest library using Kernel#require The digest library is a default gem now, too. Therefore we can't simply use rb_require() to load it, but we should use Kernel#require instead. This change is based on the suggestion by David Rodríguez in https://github.com/ruby/digest/commit/16172612d56ac42f57e5788465791329303ac5d0#commitcomment-57778397 https://github.com/ruby/openssl/commit/157f80794b M ext/openssl/ossl_digest.c commit f88401f38e918c0bdc4d7c6b22f25e0a7eef04bb Author: Nobuhiro IMAI Date: Tue Sep 29 00:05:36 2020 +0900 [ruby/openssl] fix segv in Timestamp::{Request,Response,TokenInfo}.new prevent `ossl_ts_*_free()` from calling when `d2i_TS_*_bio()` failed. https://github.com/ruby/openssl/commit/b29e215786 M ext/openssl/ossl_ts.c M test/openssl/test_ts.rb commit 6dcc74155f8b2951b7fed55cafae9cd27a73f090 Author: David Carlier Date: Sat Sep 4 16:03:49 2021 +0100 [ruby/openssl] ts: libressl build fix warning TS_time_cb on libressl expects an long long/time_t 64 bits long instead. https://github.com/ruby/openssl/commit/4c99f577b2 M ext/openssl/ossl_ts.c commit daeb914a525dd7b9faf6ba9f4596deafa22b065a Author: Kazuki Yamaguchi Date: Mon Aug 30 18:55:10 2021 +0900 [ruby/openssl] ssl: temporary lock string buffer while reading Similarly to SSLSocket#syswrite, the blocking SSLSocket#sysread allows context switches. We must prevent other threads from modifying the string buffer. We can use rb_str_locktmp() and rb_str_unlocktmp() to temporarily prohibit modification of the string. https://github.com/ruby/openssl/commit/d38274949f M ext/openssl/ossl_ssl.c commit 5828807626b91a5d8036f9c351f8844d724f8804 Author: Kazuki Yamaguchi Date: Mon Aug 30 16:09:04 2021 +0900 [ruby/openssl] ssl: create a temporary frozen string buffer when writing Since a blocking SSLSocket#syswrite call allows context switches while waiting for the underlying socket to be ready, we must freeze the string buffer to prevent other threads from modifying it. Reference: https://github.com/ruby/openssl/issues/452 https://github.com/ruby/openssl/commit/aea874bc6e M ext/openssl/ossl_ssl.c commit ed7ea35d7450a5c2b7794f56050eb34c071dd34b Author: Nobuyoshi Nakada Date: Fri Dec 20 12:19:45 2019 +0900 [ruby/openssl] Fixed misspellings [ This is a backport to the 2.1 branch. ] Fixed misspellings reported at [Bug #16437], for default gems. (cherry picked from commit ruby/ruby@e68999c82c4863d33a6f893661fba1b7538c5671) https://github.com/ruby/openssl/commit/0f43789503 M test/openssl/test_config.rb commit 6105ef7629c297c94f9e85f26adf7c0426089ca5 Author: Kazuki Yamaguchi Date: Thu Mar 18 20:04:59 2021 +0900 [ruby/openssl] ssl: add SSLContext#tmp_dh= Provide a wrapper of SSL_set0_tmp_dh_pkey()/SSL_CTX_set_tmp_dh(), which sets the DH parameters used for ephemeral DH key exchange. SSLContext#tmp_dh_callback= already exists for this purpose, as a wrapper around SSL_CTX_set_tmp_dh_callback(), but it is considered obsolete and the OpenSSL API is deprecated for future removal. There is no practical use case where an application needs to use different DH parameters nowadays. This was originally introduced to support export grade ciphers. RDoc for #tmp_dh_callback= is updated to recommend the new #tmp_dh=. Note that current versions of OpenSSL support automatic ECDHE curve selection which is enabled by default. SSLContext#tmp_dh= should only be necessary if you must allow ancient clients which don't support ECDHE. https://github.com/ruby/openssl/commit/aa43da4f04 M ext/openssl/extconf.rb M ext/openssl/lib/openssl/ssl.rb M ext/openssl/ossl_ssl.c M test/openssl/test_ssl.rb commit 49217086adf262f63078c65e693796dc892c5216 Author: Kazuki Yamaguchi Date: Thu Mar 18 18:40:58 2021 +0900 [ruby/openssl] ssl: remove private method SSLSocket#tmp_ecdh_callback Commit ee037e146037 ("ssl: remove SSL::SSLContext#tmp_ecdh_callback", 2020-08-12) forgot to remove the method. https://github.com/ruby/openssl/commit/bef9ea84e4 M ext/openssl/lib/openssl/ssl.rb commit 4ffc3fb019bd1373991ca9278299f6d7c44c3024 Author: Mike Dalessio Date: Mon Sep 20 10:09:14 2021 -0400 [ruby/rdoc] fix: alias to method with call-seq This change fixes alias call-seq to return nil if the method's call-seq does not specify the alias. Previously, the alias's call-seq would be an empty string in this case which broke darkfish rendering. This change also backfills test coverage for 0ead786 which moved call-seq deduplication into AnyMethod. https://github.com/ruby/rdoc/commit/5ce2789b6f M lib/rdoc/any_method.rb M test/rdoc/test_rdoc_any_method.rb commit 5d975684da6d7b8ce309c2b176698b37eac5cabb Author: Burdette Lamar Date: Fri Oct 15 16:20:52 2021 -0500 Enhanced RDoc for remainder (#4975) Treats Numeric#remainder and Integer#remainder. M numeric.c commit 2a5c3a4d0f693ad0fe7b76dd99155e57149d2cac Author: Jeremy Evans Date: Fri Oct 15 13:54:03 2021 -0700 Update documentation for String and Symbol to discuss differences Implements [Feature #14347] M string.c commit 37ea909f426db2c548f7d79139c0eb924b68ef77 Author: Burdette Lamar Date: Fri Oct 15 12:51:37 2021 -0500 Enhanced RDoc for divmod (#4973) Treats: Integer#divmod Float#divmod Numeric#divmod M numeric.c commit 2043c2e7e493ce44e66e62968c7ace237c137cb5 Author: Burdette Lamar Date: Fri Oct 15 11:57:49 2021 -0500 Enhanced RDoc for numeric.c (#4964) Treats Integer#% and Float#%. M numeric.c commit 4c42540da2c26f2d83b43c7a3c61e17d610896e8 Author: Mike Dalessio Date: Mon Oct 11 10:47:12 2021 -0400 [ruby/rdoc] Support linking #== See related commits: - ebc66662 for #=== - 4943d208 for #[], #[]=, #<<, and #>> https://github.com/ruby/rdoc/commit/8e47f7840a M lib/rdoc/cross_reference.rb M test/rdoc/test_rdoc_cross_reference.rb commit 7aec65add42d20ba8d70ad33c7b1e8978007e29e Author: Mike Dalessio Date: Mon Oct 11 13:44:37 2021 -0400 [ruby/rdoc] feat: add support for :category: on C functions https://github.com/ruby/rdoc/commit/45c92005fe M lib/rdoc/any_method.rb M lib/rdoc/markup/pre_process.rb M lib/rdoc/parser/c.rb M test/rdoc/test_rdoc_parser_c.rb commit c322069a670a1ea2077429d9e7146e93e8e92eae Author: git Date: Sat Oct 16 01:39:22 2021 +0900 * 2021-10-16 [ci skip] M version.h commit fbd0516afc2bb7219716aa4f810f83af8112ca49 Author: Mike Dalessio Date: Mon Oct 11 17:01:52 2021 -0400 [ruby/rdoc] fix: comments in C files use the global markup option Previously, Parser::C comments all defaulted to "rdoc" format, even when the user had set a different default with the `--markup=` option. https://github.com/ruby/rdoc/commit/4643b08a26 M lib/rdoc/parser/c.rb M test/rdoc/test_rdoc_parser_c.rb commit d4894e81c0a2acb826686f178e4b1b1ed88adefa Author: Mike Dalessio Date: Mon Oct 11 16:47:36 2021 -0400 [ruby/rdoc] extract Comment creation in Parser::C This is a prefactor for fixing comment format handling. https://github.com/ruby/rdoc/commit/a3d366feed M lib/rdoc/parser/c.rb commit 9225f3c1c6304904a33ffaa608c77424441621e9 Author: Mike Dalessio Date: Mon Oct 11 16:46:27 2021 -0400 [ruby/rdoc] test: add coverage for comment format in a C file https://github.com/ruby/rdoc/commit/3b8334a796 M test/rdoc/test_rdoc_parser_c.rb commit 19beb028e70d6e6893b0fb1107eb95428256588b Author: Nobuyoshi Nakada Date: Fri Oct 15 19:43:39 2021 +0900 Make explicit opening files M lib/mkmf.rb commit 855db8e9ce613d0bec19960eb875498d74b53756 Author: Nobuyoshi Nakada Date: Fri Oct 15 19:42:39 2021 +0900 Use `__dir__` M tool/test/testunit/test_parallel.rb commit 370fff98ce93f51e2727b92b0b7b6afb4576cc98 Author: Nobuyoshi Nakada Date: Fri Oct 15 18:47:17 2021 +0900 Prefer `require_relative` M tool/lib/test/unit.rb M tool/lib/test/unit/parallel.rb M tool/lib/test/unit/testcase.rb commit 027a3379d67922738d503511c2123989229f8d9b Author: Sutou Kouhei Date: Tue Oct 5 16:43:21 2021 +0900 [ruby/zlib] Fix a bug that GZipReader#gets may return incomplete line See also: https://github.com/ruby/csv/issues/117#issuecomment-933289373 How to reproduce with x.csv.gz in the issue comment: Zlib::GzipReader.open("x.csv.gz") do |rio| rio.gets(nil, 1024) while line = rio.gets(nil, 8192) raise line unless line.valid_encoding? end end Reported by Dimitrij Denissenko. Thanks!!! https://github.com/ruby/zlib/commit/b1f182e98f M ext/zlib/zlib.c commit 679054208e320d4e639aa3dc1f16ad1a4945ac72 Author: Nobuyoshi Nakada Date: Fri Oct 15 01:23:36 2021 +0900 Use `__dir__` M tool/lib/test/unit.rb commit 46291a29fbb92a6e04aa1b8555efb30cca2ab6dc Author: Jack Schuss Date: Thu Oct 14 14:09:09 2021 -0400 [rubygems/rubygems] Update broken link in Bundler::Fetcher::CertificateFailureError https://github.com/rubygems/rubygems/commit/11b5d479cb M lib/bundler/fetcher.rb commit c658834c43af8a349baf2b29aee45713c43a1f73 Author: git Date: Fri Oct 15 01:26:26 2021 +0900 * 2021-10-15 [ci skip] M version.h commit e057b9eea9021046a43dd59f45fe0cf34d69e8cb Author: Nobuyoshi Nakada Date: Thu Oct 14 20:09:37 2021 +0900 Prefer the reentrant versions of gmtime and localtime M ext/socket/ancdata.c M time.c commit fc9f9231cf6ce911df37256faf22e6e8e23cb988 Author: Kazuhiro NISHIYAMA Date: Thu Oct 14 23:17:20 2021 +0900 Update bundled_gems M gems/bundled_gems commit c19685e208401594c1a21256382eacfadc22d53a Author: Nobuyoshi Nakada Date: Thu Oct 14 22:56:42 2021 +0900 Reap rarely leaked threads M test/ruby/test_thread_cv.rb commit 2fa0d51ac9b505a836369a5613e2d0359ee918cf Author: Hiroshi SHIBATA Date: Thu Oct 14 21:15:23 2021 +0900 [ruby/date] Bump up date version to 3.2.0 https://github.com/ruby/date/commit/e0a4cbc8f6 M ext/date/date.gemspec commit befb37c2c4f202f13276ff8750612ea464b64457 Author: Hiroshi SHIBATA Date: Thu Oct 14 21:03:19 2021 +0900 [ruby/drb] Bump up drb version to 2.1.0 https://github.com/ruby/drb/commit/e4b7b68d67 M lib/drb/version.rb commit 20bd9e7c61450e93aec80e3106dbb27d5a649903 Author: Hiroshi SHIBATA Date: Thu Oct 14 20:59:02 2021 +0900 [ruby/drb] Bump up drb version to 2.0.5 https://github.com/ruby/drb/commit/7edf67654c M lib/drb/version.rb commit e6b3eab1b70434485a4b9e1115bf8454f34cf5c2 Author: Hiroshi SHIBATA Date: Thu Oct 14 20:42:13 2021 +0900 [ruby/time] Bump up time version to 0.2.0 https://github.com/ruby/time/commit/b9dd593b23 M lib/time.gemspec commit 9c96bcf07dc804e6c1e3a3cdcd60542c072dcaf7 Author: Hiroshi SHIBATA Date: Thu Oct 14 20:37:34 2021 +0900 [ruby/open-uri] Bump up open-uri version to 0.2.0 https://github.com/ruby/open-uri/commit/ec4275a1eb M lib/open-uri.gemspec commit b7f557178d4e1fac7d627d3b64e3a0ae15458111 Author: Hiroshi SHIBATA Date: Thu Oct 14 21:07:41 2021 +0900 [ruby/pathname] Bump up pathname version to 0.2.0 https://github.com/ruby/pathname/commit/e6b3b3ed25 M ext/pathname/pathname.gemspec commit d13c6c56dd1a07403517564b7a8c1d91e289d4f4 Author: Hiroshi SHIBATA Date: Thu Oct 14 20:35:47 2021 +0900 [ruby/base64] Bump up base64 version to 0.1.1 https://github.com/ruby/base64/commit/b9e23b27f9 M lib/base64.gemspec commit f88628014a02fa3b8a3bb9900d9e25a1d517b2f1 Author: Hiroshi SHIBATA Date: Thu Oct 14 20:28:42 2021 +0900 [ruby/nkf] Bump up nkf version to 0.1.1 https://github.com/ruby/nkf/commit/9aa7c6b841 M ext/nkf/nkf.gemspec commit b6e5264783aec6ebbd3b5f7b414ededfa8f2ddb8 Author: Hiroshi SHIBATA Date: Thu Oct 14 20:25:36 2021 +0900 [ruby/find] Bump up find version to 0.1.1 https://github.com/ruby/find/commit/90c35c477a M lib/find.gemspec commit 9ed125040292df38d8ce53464940341d4a77011c Author: Hiroshi SHIBATA Date: Thu Oct 14 20:14:48 2021 +0900 [ruby/yaml] Bump up yaml version to 0.2.0 https://github.com/ruby/yaml/commit/cef5360823 M lib/yaml/yaml.gemspec commit 391ebfc35df90207d0660cc4564bc8433bed7604 Author: Nobuyoshi Nakada Date: Tue Oct 12 18:10:47 2021 +0900 Disable install-doc at CodeQL M .github/workflows/codeql-analysis.yml commit 4cf367b8352d85becdddfdd2af5a045a9dedff21 Author: Nobuyoshi Nakada Date: Tue Oct 12 17:44:19 2021 +0900 Set GNUMAKEFLAGS at CodeQL M .github/workflows/codeql-analysis.yml commit 2c75fc915ee3a784433775959459256e59a3e5d7 Author: Hiroshi SHIBATA Date: Thu Oct 14 20:11:55 2021 +0900 [ruby/timeout] Bump up timeout version to 0.2.0 https://github.com/ruby/timeout/commit/02e792ddd8 M lib/timeout.rb commit 6f67a78ad6ddc3e910326648e862c27b75fff3ae Author: Hiroshi SHIBATA Date: Thu Oct 14 20:06:52 2021 +0900 [ruby/cgi] Bump up cgi version to 0.3.0 https://github.com/ruby/cgi/commit/95324433b4 M lib/cgi.rb commit caf34400c00205671442b53d412cfb5f8150c96c Author: Hiroshi SHIBATA Date: Thu Oct 14 19:45:06 2021 +0900 [ruby/benchmark] Bump up benchamark version to 0.2.0 https://github.com/ruby/benchmark/commit/eea1657fa2 M lib/benchmark/version.rb commit d210950196bb24a2ff5f8afdd02b1ee95abbaf5f Author: Nobuyoshi Nakada Date: Thu Oct 14 13:17:13 2021 +0900 [ruby/etc] Get rid of alloca in the loop https://github.com/ruby/etc/commit/c989bacc4c M ext/etc/etc.c commit 1d6a490c2c67d4796c52335bdb28038960c29d9d Author: Nobuyoshi Nakada Date: Thu Oct 14 14:27:30 2021 +0900 Cast up to get rid of the potential overflow posibility M regcomp.c commit 1220556f33e21b4ba76e982f1a3b18cb47403bfb Author: Hiroshi SHIBATA Date: Thu Oct 14 17:16:32 2021 +0900 [ruby/fcntl] Bump up fcntl version to 1.0.1 https://github.com/ruby/fcntl/commit/0bcc0c4518 M ext/fcntl/fcntl.gemspec commit 91c2069dcfba46c3fd0d56f999bba395015b4c86 Author: Hiroshi SHIBATA Date: Thu Oct 14 16:44:36 2021 +0900 [flori/json] Bump up json version to 2.6.0 https://github.com/flori/json/commit/1942689b67 M ext/json/VERSION commit 6b1344804047b0ffb29033bc918c0c5f727b3f30 Author: Hiroshi SHIBATA Date: Thu Oct 14 16:03:32 2021 +0900 [ruby/zlib] Bump up zlib version to 2.1.0 https://github.com/ruby/zlib/commit/dd593acaee M ext/zlib/zlib.c commit db500f05c2887999c10969e9d9e12ea24ae0d56b Author: Hiroshi SHIBATA Date: Thu Oct 14 15:40:01 2021 +0900 [ruby/zlib] Bump version to v2.0.0 https://github.com/ruby/zlib/commit/434eba55ae M ext/zlib/zlib.c commit 724c6577006be743259823c90b1fdfeeb1c31ccf Author: 180909 Date: Thu Oct 14 14:05:44 2021 +0800 Remove repeated 'the' (#4966) M array.c commit 9e86a603063dc564810bff209913365f894e00e7 Author: Hiroshi SHIBATA Date: Thu Oct 14 13:58:10 2021 +0900 Removed redundant digest namespace R100 ext/digest/sha2/lib/digest/sha2.rb ext/digest/sha2/lib/sha2.rb R100 ext/digest/sha2/lib/digest/sha2/loader.rb ext/digest/sha2/lib/sha2/loader.rb M tool/sync_default_gems.rb commit 3265af2f9e5ff9355c5e1ed90aeb0497d10f611e Author: Hiroshi SHIBATA Date: Thu Oct 14 13:31:45 2021 +0900 separate pure ruby location under the digest/* extensions R100 ext/digest/lib/digest/sha2.rb ext/digest/sha2/lib/digest/sha2.rb R100 ext/digest/lib/digest/sha2/loader.rb ext/digest/sha2/lib/digest/sha2/loader.rb M tool/sync_default_gems.rb commit 13772caee21345f688a65ca1fdef27c34f055b80 Author: Hiroshi SHIBATA Date: Thu Oct 14 13:23:45 2021 +0900 Move pure ruby files under the ext/gemname/lib directory. R100 ext/digest/sha2/lib/sha2.rb ext/digest/lib/digest/sha2.rb M tool/sync_default_gems.rb commit 3099bb6e3c66ce52e1e2c1c93d4193d415d3c911 Author: U.Nakamura Date: Thu Oct 14 10:22:55 2021 +0900 rb_encoding is already const - this change get rid of a warning of mswin build. see include/ruby/internal/encoding/encoding.h(116) M file.c commit fa12e3e2f7df205db5f5e179f845c7d758aee86c Author: David Rodríguez Date: Thu Oct 7 11:27:21 2021 +0200 [ruby/fileutils] Remove counterproductive optimization I think it's debatable which is the most common usage of `FileUtils.mkdir_p`, but even assuming the most common use case is creating a folder when it doesn't previously exist but the parent does, this optimization doesn't seem to have a noticiable effect there while harming other use cases. For benchmarks, I created this script ```ruby require "benchmark/ips" Benchmark.ips do |x| x.report("old mkdir_p - exists") do FileUtils.mkdir_p "/tmp" end x.report("new_mkdir_p - exists") do FileUtils.mkdir_p_new "/tmp" end x.compare! end FileUtils.rm_rf "/tmp/foo" Benchmark.ips do |x| x.report("old mkdir_p - doesnt exist, parent exists") do FileUtils.mkdir_p "/tmp/foo" FileUtils.rm_rf "/tmp/foo" end x.report("new_mkdir_p - doesnt exist, parent exists") do FileUtils.mkdir_p_new "/tmp/foo" FileUtils.rm_rf "/tmp/foo" end x.compare! end Benchmark.ips do |x| x.report("old mkdir_p - doesnt exist, parent either") do FileUtils.mkdir_p "/tmp/foo/bar" FileUtils.rm_rf "/tmp/foo" end x.report("new_mkdir_p - doesnt exist, parent either") do FileUtils.mkdir_p_new "/tmp/foo/bar" FileUtils.rm_rf "/tmp/foo" end x.compare! end Benchmark.ips do |x| x.report("old mkdir_p - more levels") do FileUtils.mkdir_p "/tmp/foo/bar/baz" FileUtils.rm_rf "/tmp/foo" end x.report("new_mkdir_p - more levels") do FileUtils.mkdir_p_new "/tmp/foo/bar/baz" FileUtils.rm_rf "/tmp/foo" end x.compare! end ``` and copied the method with the "optimization" removed as `FileUtils.mkdir_p_new`. The results are as below: ``` Warming up -------------------------------------- old mkdir_p - exists 15.914k i/100ms new_mkdir_p - exists 46.512k i/100ms Calculating ------------------------------------- old mkdir_p - exists 161.461k (± 3.2%) i/s - 811.614k in 5.032315s new_mkdir_p - exists 468.192k (± 2.9%) i/s - 2.372M in 5.071225s Comparison: new_mkdir_p - exists: 468192.1 i/s old mkdir_p - exists: 161461.0 i/s - 2.90x (± 0.00) slower Warming up -------------------------------------- old mkdir_p - doesnt exist, parent exists 2.142k i/100ms new_mkdir_p - doesnt exist, parent exists 1.961k i/100ms Calculating ------------------------------------- old mkdir_p - doesnt exist, parent exists 21.242k (± 6.7%) i/s - 107.100k in 5.069206s new_mkdir_p - doesnt exist, parent exists 19.682k (± 4.2%) i/s - 100.011k in 5.091961s Comparison: old mkdir_p - doesnt exist, parent exists: 21241.7 i/s new_mkdir_p - doesnt exist, parent exists: 19681.7 i/s - same-ish: difference falls within error Warming up -------------------------------------- old mkdir_p - doesnt exist, parent either 945.000 i/100ms new_mkdir_p - doesnt exist, parent either 1.002k i/100ms Calculating ------------------------------------- old mkdir_p - doesnt exist, parent either 9.689k (± 4.4%) i/s - 49.140k in 5.084342s new_mkdir_p - doesnt exist, parent either 10.806k (± 4.6%) i/s - 54.108k in 5.020714s Comparison: new_mkdir_p - doesnt exist, parent either: 10806.3 i/s old mkdir_p - doesnt exist, parent either: 9689.3 i/s - 1.12x (± 0.00) slower Warming up -------------------------------------- old mkdir_p - more levels 702.000 i/100ms new_mkdir_p - more levels 775.000 i/100ms Calculating ------------------------------------- old mkdir_p - more levels 7.046k (± 3.5%) i/s - 35.802k in 5.087548s new_mkdir_p - more levels 7.685k (± 5.5%) i/s - 38.750k in 5.061351s Comparison: new_mkdir_p - more levels: 7685.1 i/s old mkdir_p - more levels: 7046.4 i/s - same-ish: difference falls within error ``` I think it's better to keep the code simpler is the optimization is not so clear like in this case. https://github.com/ruby/fileutils/commit/e842a0e70e M lib/fileutils.rb commit d8d97872a1e0f2785b7666b8efa009a00e237965 Author: David Rodríguez Date: Thu Oct 7 11:26:11 2021 +0200 [ruby/fileutils] Simplify loop to find out segments to be created Doing it this way is simpler and it doesn't end up adding "/" to the list of folders, so it doesn't need to be removed later. https://github.com/ruby/fileutils/commit/df08e124ce M lib/fileutils.rb commit a4f2aafd3a9bc2e10fc68558ba1835d7419c4e45 Author: Nobuyoshi Nakada Date: Thu Oct 14 00:17:35 2021 +0900 [rubygems/rubygems] Remove save_loaded_features https://github.com/rubygems/rubygems/commit/f5e408f83d M test/rubygems/helper.rb M test/rubygems/test_gem.rb M test/rubygems/test_gem_specification.rb commit 3f0150f2fd408421c4625976d0c88df27b6753d3 Author: Nobuyoshi Nakada Date: Wed Oct 13 22:19:25 2021 +0900 [rubygems/rubygems] Keep loaded features Now `$LOADED_FEATURES` list is being maintained by `setup` and `teardown` and, only libaries under the temporary directory will be removed. As `save_loaded_features` removes the rest libraries other than this test directory, ordinary libraries loaded from files under rubygems also removed, and often causes constant redefinition warnings. https://github.com/rubygems/rubygems/commit/9e1f92aafd M test/rubygems/helper.rb commit 1aa9fcca7679afe31d273a61808d210a3d702ea5 Author: Nobuyoshi Nakada Date: Thu Oct 14 01:11:31 2021 +0900 Fix STATIC_SYM2ID for large ID on IL32LLP64 platforms M symbol.c commit c44f7a6c43509b4ad4ad37b9e8e459ad586705fb Author: git Date: Thu Oct 14 00:20:31 2021 +0900 * 2021-10-14 [ci skip] M version.h commit 8f480eafabebc55249f1436ab0ca059c239a8134 Author: Nobuyoshi Nakada Date: Mon Oct 11 23:35:26 2021 +0900 rb_group_member: Simplify M file.c commit 9a3333986f76522fd6e0b9ca92045895a1aa45e0 Author: Nobuyoshi Nakada Date: Mon Oct 11 23:17:05 2021 +0900 Add more `grpowned?` tests M test/ruby/test_file_exhaustive.rb commit 058cd3a6dfab3b357e001a44456889d72b099a18 Author: David Rodríguez Date: Thu Aug 26 13:00:16 2021 +0200 [rubygems/rubygems] Remove unnecessary method https://github.com/rubygems/rubygems/commit/97241e0ea4 M lib/bundler/gem_helper.rb commit 621fe09016b06ee8bfb05511416e7138a24b3b37 Author: David Rodríguez Date: Thu Aug 26 12:57:42 2021 +0200 [rubygems/rubygems] Reuse `sh` helper for `git push` too https://github.com/rubygems/rubygems/commit/32aa540163 M lib/bundler/gem_helper.rb commit df21600b98dfe58528e1ace9961b8eb6bbad5b46 Author: David Rodríguez Date: Wed Aug 25 14:49:49 2021 +0200 [rubygems/rubygems] Simplify some code This method always receives an array, and we require `shellwords` unconditionally at the top of the file, so `shelljoin` will always be available. https://github.com/rubygems/rubygems/commit/05c8ac641d M lib/bundler/gem_helper.rb commit e97c671b3a21aeb1b2813f44487b6232cb39a205 Author: David Rodríguez Date: Wed Aug 25 11:40:01 2021 +0200 [rubygems/rubygems] Reuse `sh` helper https://github.com/rubygems/rubygems/commit/c218d4d79e M lib/bundler/gem_helper.rb commit 30b6df41440ea2a0421efd0f3146750e872760fc Author: David Rodríguez Date: Wed Aug 25 11:30:41 2021 +0200 [rubygems/rubygems] Improve error messages in gem helpers Previously they were printing the original command that was run, and telling the user to rerun it. However, the command sometimes would not match the exact command that was run (for example, when using the `--local` flag), and in any case, it's simpler and more useful to print the underlying error anyways. https://github.com/rubygems/rubygems/commit/5bc0d51b58 M lib/bundler/gem_helper.rb M spec/bundler/bundler/gem_helper_spec.rb commit 853004e04d86502e1df509302a4c5dce03d9d40e Author: David Rodríguez Date: Wed Sep 29 21:11:23 2021 +0200 [rubygems/rubygems] Fix `bundle install` crash due to an incorrectly incomplete resolve In case we have a corrupted lockfile that claims to support a platform, but it's missing platform specific gems for it, bundler has a check that detects the situation and forces a re-resolve. The result of this check is kept under the `@locked_specs_incomplete_for_platformn` instance variable in `Definition`. The installer, however, calls `Definition#nothing_changed?` before this instance variable has been filled, so the result of it is actually incorrect here since it will claim that nothing has changed, but something has changed (locked specs are incomplete for the current platform). The consequence of this incorrect result is that the installer thinks it can go on without re-resolving, resulting in the incomplete resolution from the lockfile being used, and in a crash being triggered due to that. The solution is to make sure the `@locked_specs_incomplete_for_platform` instance variable is filled before `nothing_changed?` gets called. Moving it to `initialize` makes the most sense, not because it's the best place for it (we can refactor this later), but because all of the other "outdated definition" checks are already set there. https://github.com/rubygems/rubygems/commit/708afdd789 M lib/bundler/definition.rb M spec/bundler/commands/install_spec.rb commit d1e6f2226bccebaf5dfd20d64b794d3caa08e52f Author: David Rodríguez Date: Wed Sep 29 20:53:29 2021 +0200 [rubygems/rubygems] No need to use converged dependencies either This is exclusively about the lockfile. https://github.com/rubygems/rubygems/commit/d6c6d040cd M lib/bundler/definition.rb commit ec5f732b7d48b557c9d8974709f7175bd9f99323 Author: David Rodríguez Date: Wed Sep 29 20:07:08 2021 +0200 [rubygems/rubygems] Extract `locked_dependencies` helper https://github.com/rubygems/rubygems/commit/7326d47530 M lib/bundler/definition.rb commit 15f50d3bedbae76d7774601a4f7d93a330280098 Author: David Rodríguez Date: Wed Sep 29 20:04:12 2021 +0200 [rubygems/rubygems] Simplify the incomplete locked specs for platform check It doesn't really need converged specs, since it's only about the lockfile. https://github.com/rubygems/rubygems/commit/9cd6224b5e M lib/bundler/definition.rb commit 275b55aea486a244f035e7591208a50f00ea1411 Author: Nobuyoshi Nakada Date: Wed Oct 13 19:04:46 2021 +0900 Revert "Shallow clone on TravisCI" This reverts commit 10d2341640c57544ca81bd21cfa60a6aff015692. TravisCI clones the head of the target branch, and it may not be the target commit at that time. M .travis.yml commit 0f1f95a3e3011b6c61fdc455e4078e5e231548e3 Author: David Rodriguez Date: Sat Oct 9 13:42:05 2021 +0200 [rubygems/rubygems] Fix `bundle install` to force reinstallation of deleted gems https://github.com/rubygems/rubygems/commit/8950631f02 M lib/bundler/cli/info.rb M lib/bundler/rubygems_ext.rb M lib/bundler/source/rubygems.rb M spec/bundler/commands/install_spec.rb commit bd87397f73c36f1428b4cf8de24918b98fa71c8a Author: David Rodríguez Date: Mon Oct 11 19:59:46 2021 +0200 [rubygems/rubygems] Use correct way to detect default gems The other way, in particular matching a substring in the gemspec summary, is brittle and no longer used since Ruby 2.0. This needed rewriting the specs that depended on that way. https://github.com/rubygems/rubygems/commit/059dbfa971 M lib/bundler/source/rubygems.rb M spec/bundler/cache/gems_spec.rb commit d6627ab85c7e29a45ee61af350a38c37ea2bd83b Author: David Rodríguez Date: Mon Oct 11 19:58:24 2021 +0200 [rubygems/rubygems] Remove unnecessary code All supported rubygems versions implement this. https://github.com/rubygems/rubygems/commit/2130782ef6 M lib/bundler/rubygems_integration.rb M lib/bundler/runtime.rb M spec/bundler/commands/binstubs_spec.rb commit ad4e7308d2c269ee3bd88fbc3a153d76fc3e9910 Author: David Rodriguez Date: Sat Oct 9 13:21:55 2021 +0200 [rubygems/rubygems] Make spec more realistic The spec was just faking an installed gemspec without any installed gem backing it up, resulting in `bundle install` claiming that the gem was already installed when it was not. https://github.com/rubygems/rubygems/commit/c35531d1c7 M spec/bundler/install/gemspecs_spec.rb commit 10d2341640c57544ca81bd21cfa60a6aff015692 Author: Nobuyoshi Nakada Date: Wed Oct 13 14:11:19 2021 +0900 Shallow clone on TravisCI M .travis.yml commit 5deb273a1ac4dcb0751e695a2a20ce2d0d02b99c Author: Kazuhiro NISHIYAMA Date: Wed Oct 13 15:04:16 2021 +0900 Fix a typo M spec/ruby/library/stringio/ungetbyte_spec.rb commit 1b35808a13cc69f2014ffa849de8be15139d8e4e Author: Nobuyoshi Nakada Date: Wed Oct 13 13:00:57 2021 +0900 Moved the common code M vm.c commit bad61d34bed71ff3b68c6b1b29f038b305723cc0 Author: Nobuyoshi Nakada Date: Wed Oct 13 12:07:57 2021 +0900 Qundef is not for ID M id_table.c commit aa5759a22b675d05d1f8cbfe4558eb37915c27fb Author: Nobuyoshi Nakada Date: Wed Oct 13 11:27:09 2021 +0900 `rb_id_serial_to_id` is used in `key2id` since 4c2d014e9216 M symbol.c commit 5c646ca0a09c5249b20cf5645e27ee75fe4dff04 Author: Kaíque Kandy Koga Date: Sun Oct 10 16:30:42 2021 -0300 [ruby/irb] Ignore parenthesis during completion Rename method https://github.com/ruby/irb/commit/619aecb412 M lib/irb/completion.rb M test/irb/test_completion.rb commit 38d255d023373a665ce0d2622ed6e25462653a2a Author: Jun Aruga Date: Tue Oct 12 19:30:34 2021 +0200 .travis.yml: Comment out the 2nd arm64 pipeline. The 2nd arm64 pipeline is unstable now in Travis. As Cirrus CI has arm64 pipelines, it's not a problem to drop the arm64 pipeline in Travis. M .travis.yml commit a7fe7cf65752c53731470b67659ee10b824c9b1e Author: git Date: Wed Oct 13 02:24:25 2021 +0900 * 2021-10-13 [ci skip] M version.h commit 41db84aa304e48f1b5082bb8a7b1536501b50c79 Author: Nobuyoshi Nakada Date: Wed Oct 13 02:07:16 2021 +0900 [ruby/reline] Skip when unable to set input `Reline::Windows` always reads from the console by Windows API using fiddle. https://github.com/ruby/reline/commit/c3bf85f5af M test/reline/test_reline.rb commit 013bac15b01b69b8f556074bc30333dc913b9118 Author: Nobuyoshi Nakada Date: Tue Oct 12 22:32:42 2021 +0900 Fix libraries under digest R100 lib/digest.rb ext/digest/lib/digest.rb R100 lib/digest/sha2.rb ext/digest/sha2/lib/sha2.rb commit bb66729b5ffb0e59825503d5d5b703d60c8a3f85 Author: Burdette Lamar Date: Tue Oct 12 08:06:05 2021 -0500 Enhanced RDoc for Numeric#% (#4954) M numeric.c commit 58ae1efb49e2ba10960a62b4f4e1c01811b71e59 Author: Akinori MUSHA Date: Fri Oct 1 11:07:19 2021 +0900 [ruby/digest] Avoid the constant redefinition warning The gem and bundle commands first load digest via openssl, so loading the digest gem would cause this warning every time one of these commands is run: ``` .../lib/ruby/gems/3.0.0/gems/digest-3.1.0/lib/digest.rb:11: warning: already initialized constant Digest::REQUIRE_MUTEX .../lib/ruby/3.0.0/digest.rb:7: warning: previous definition of REQUIRE_MUTEX was here ``` https://github.com/ruby/digest/commit/16172612d5 M lib/digest.rb commit 01dc55ffad7f8b28865d7c1138f92b70348436ff Author: Akinori MUSHA Date: Fri Oct 1 02:29:37 2021 +0900 [ruby/digest] Bump version to 3.1.0.pre2 https://github.com/ruby/digest/commit/5184207611 M ext/digest/digest.gemspec commit ab787c493b99f1c5195ebb7f29e8d5602ecc60f4 Author: Akinori MUSHA Date: Fri Oct 1 02:04:28 2021 +0900 [ruby/digest] Bump version to 3.1.0.pre1 https://github.com/ruby/digest/commit/56679008cf M ext/digest/digest.gemspec commit 10a0fac7e4270fbbaca5458636bbc49a6887e6c9 Author: Pavel Rosický Date: Thu Sep 30 17:22:07 2021 +0200 [ruby/digest] include jars https://github.com/ruby/digest/commit/c15cbcd978 M ext/digest/digest.gemspec commit e94bcda02539e1695cdda9550ace45c1890e541c Author: Akinori MUSHA Date: Thu Sep 30 23:54:25 2021 +0900 [ruby/digest] Bump version to 3.1.0.pre0 https://github.com/ruby/digest/commit/594cc4d548 M ext/digest/digest.gemspec commit b245b67d9e325824f3869d839a16d06c6a1e8392 Author: Akinori MUSHA Date: Mon Sep 27 16:31:55 2021 +0900 [ruby/digest] Place common parts in lib and engine specific parts under ext/**/lib https://github.com/ruby/digest/commit/8d7496c3be D ext/digest/bubblebabble/lib/bubblebabble.rb M ext/digest/digest.gemspec A ext/digest/lib/digest/loader.rb A ext/digest/lib/digest/sha2/loader.rb D ext/digest/md5/lib/md5.rb D ext/digest/rmd160/lib/rmd160.rb D ext/digest/sha1/lib/sha1.rb R096 ext/digest/lib/digest.rb lib/digest.rb R097 ext/digest/sha2/lib/sha2.rb lib/digest/sha2.rb commit 5e1d2c5c9770118713857499c28cd55a2c483631 Author: Pavel Rosický Date: Wed Jul 7 14:29:57 2021 +0200 [ruby/digest] relicence under the Ruby license and the BSD 2-clause https://github.com/ruby/digest/commit/154d461e91 M ext/digest/digest.gemspec commit 94882df3a215a3de16fa7ca18cf5c160f904c904 Author: Pavel Rosický Date: Sat Jun 12 18:49:57 2021 +0200 [ruby/digest] jruby support https://github.com/ruby/digest/commit/2e9dc14693 A ext/digest/bubblebabble/lib/bubblebabble.rb M ext/digest/digest.gemspec M ext/digest/lib/digest.rb A ext/digest/md5/lib/md5.rb A ext/digest/rmd160/lib/rmd160.rb A ext/digest/sha1/lib/sha1.rb M ext/digest/sha2/lib/sha2.rb M tool/lib/core_assertions.rb commit ff1f696d300cdf2a7073ddec91846cd3aee103d8 Author: Nobuyoshi Nakada Date: Mon Sep 6 12:59:14 2021 +0900 [ruby/digest] Move digest.rb back under ext as the extension bundled library https://github.com/ruby/digest/commit/026ba7f361 M ext/digest/digest.gemspec commit 97302a362b75aef8e8ef14afe0c9803a4aa00ec9 Author: Nobuyoshi Nakada Date: Tue Oct 12 19:05:18 2021 +0900 [ruby/reline] Close working pipes https://github.com/ruby/reline/commit/ac519f57ea M test/reline/test_reline.rb commit f310c19544ca2bf1805edcb83a15ae49817259b3 Author: Kazuhiro NISHIYAMA Date: Tue Oct 12 18:07:55 2021 +0900 Suppress some messages on building mjit header M common.mk commit 2143de251d668a33b09c12f2df863d205f034316 Author: Nobuyoshi Nakada Date: Mon Oct 11 22:24:28 2021 +0900 Extract precompile_inlinable_child_iseq to separate alloca for each iseq M mjit_compile.c commit 8dd6d58543cc9ebab7569a0b48ed96469d9de2f7 Author: Kazuhiro NISHIYAMA Date: Tue Oct 12 15:24:37 2021 +0900 Add more socket constants from http://manpages.ubuntu.com/manpages/focal/en/man2/socket.2.html M ext/socket/mkconstants.rb commit a48dc89547e3c235350394b4a735c9d50892c152 Author: Nobuyoshi Nakada Date: Tue Oct 12 10:42:53 2021 +0900 [ruby/reline] Check the result of GetConsoleScreenBufferInfo https://github.com/ruby/reline/commit/42edf7b3aa M lib/reline/windows.rb commit 1009fd7ee3d04c5cc4ca4a8b523a6d4d56a0da88 Author: Nobuyoshi Nakada Date: Tue Oct 12 10:05:58 2021 +0900 [ruby/reline] Revert "Fix zero division when the screen width is not available" This reverts commit 0dce9da083541f42c31822a91c72f339934c3986. https://github.com/ruby/reline/commit/f71471cdde M lib/reline/line_editor.rb commit ec4d536d420d0071778d80f55695f285b5d92faf Author: Kazuhiro NISHIYAMA Date: Tue Oct 12 12:53:56 2021 +0900 Update bundled_gems M gems/bundled_gems commit 373b399823e0c5ab315df76f82467fca27ec40d6 Author: Nobuyoshi Nakada Date: Mon Oct 11 17:33:59 2021 +0900 bary_mul_balance_with_mulfunc: move working buffer allocation Move the allocation of working buffer before the loop. M bignum.c commit 6fa1af7ee5ab88d0be5ae61f5956f7b51b552ee0 Author: Nobuyoshi Nakada Date: Mon Oct 11 13:28:17 2021 +0900 bary_mul_balance_with_mulfunc: consitify invariant variables M bignum.c commit fdf5798fa18374ec85fc63732917643bf17290e0 Author: git Date: Tue Oct 12 00:40:39 2021 +0900 * 2021-10-12 [ci skip] M version.h commit 60689f0f20cf54ea85aea6ec7e07e3b8bb7c7119 Author: Nobuyoshi Nakada Date: Mon Oct 11 20:34:55 2021 +0900 [ruby/reline] Fix zero division when the screen width is not available https://github.com/ruby/reline/commit/0dce9da083 M lib/reline/line_editor.rb commit e212d051d0358734f78b5c402dddd9b631a12fe1 Author: aycabta Date: Mon Oct 11 21:24:19 2021 +0900 [ruby/reline] Rescue LoadError to require 'fiddle' https://github.com/ruby/reline/commit/fe504bb6b9 M lib/reline/terminfo.rb commit 89556a6555abc508cced1189c02cf4ea8e9a661b Author: aycabta Date: Mon Oct 11 20:57:59 2021 +0900 [ruby/reline] Remove a comment for debug https://github.com/ruby/reline/commit/5f3ccda3d5 M lib/reline/windows.rb commit 4b024234b2141d5fd024639b4ce6feeb95fb3f14 Author: aycabta Date: Mon Oct 11 21:06:28 2021 +0900 [ruby/rdoc] Update SourceCodePro font files https://github.com/ruby/rdoc/commit/d3201d0d47 M lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf M lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf commit 77320527180018a3083a287afee99ac6549b0d0d Author: aycabta Date: Mon Oct 11 20:40:44 2021 +0900 [ruby/irb] Add help about extra doc dir option https://github.com/ruby/irb/commit/5018f2cb99 M lib/irb/lc/help-message M man/irb.1 commit 866a09dd9ea2775a3231c0e9833f3bca48947f30 Author: aycabta Date: Mon Oct 11 20:35:27 2021 +0900 [ruby/irb] Add --extra-doc-dir option to show doc dialog https://github.com/ruby/irb/commit/3f79cb506f M lib/irb/context.rb M lib/irb/init.rb M lib/irb/input-method.rb commit dcaaf79ca06a1825a0e489d1c9d188d8c0d6f36f Author: aycabta Date: Mon Oct 11 20:34:01 2021 +0900 [ruby/irb] Add periods to doc https://github.com/ruby/irb/commit/6330601629 M lib/irb/context.rb commit 9f94a07e741facccb6b9038ae82922ff1e9c408e Author: Nobuyoshi Nakada Date: Mon Oct 11 20:29:05 2021 +0900 [ruby/reline] Fix test class not to overwrite https://github.com/ruby/reline/commit/1e78984c49 M test/reline/test_reline_key.rb commit 0c3ac8734558232c5287ea737edfbe5a3ab4f290 Author: David Rodriguez Date: Sat Oct 9 11:29:11 2021 +0200 [rubygems/rubygems] Show a warning in `bundle info` if gem has been deleted https://github.com/rubygems/rubygems/commit/ff86cd7dd2 M lib/bundler/cli/info.rb M spec/bundler/commands/info_spec.rb commit 607efe91540057ef0ca3be4a829869df018ee94a Author: David Rodriguez Date: Sat Oct 9 11:28:05 2021 +0200 [rubygems/rubygems] Show the exact name of the gem that was deleted If a non exact name (matched as a regexp) is passed to `bundle info`, these strings might not match. https://github.com/rubygems/rubygems/commit/831edf1edf M lib/bundler/cli/info.rb M spec/bundler/commands/info_spec.rb commit 62d1deb0d12b2a2ff77d7b5dfda57a32b1a0ac1c Author: David Rodriguez Date: Sat Oct 9 11:32:44 2021 +0200 [rubygems/rubygems] Match a more exact warning message https://github.com/rubygems/rubygems/commit/80158e9d75 M spec/bundler/commands/info_spec.rb commit 990e079b996fd4637e8c3ba4b67f3d6d712b625d Author: aycabta Date: Mon Oct 11 18:17:22 2021 +0900 [ruby/reline] Reline doesn't have Reline.editing_mode https://github.com/ruby/reline/commit/90c61d8188 M test/reline/test_reline.rb commit 5895b4a7d9571ca970b02b68b42e39eafde86fb7 Author: aycabta Date: Mon Oct 11 17:49:54 2021 +0900 [ruby/reline] Add I/O test https://github.com/ruby/reline/commit/bca9b9012f M test/reline/test_reline.rb commit 5987bcaa2d106d40d078787ced553e237ef36891 Author: aycabta Date: Mon Oct 11 17:30:02 2021 +0900 [ruby/reline] Use single quotes to match the others https://github.com/ruby/reline/commit/58a7ca4101 M test/reline/test_reline.rb commit b7ac9a2445a0b217ec4c2db9b712bba84ebff575 Author: aycabta Date: Mon Oct 11 17:28:43 2021 +0900 [ruby/reline] Add a test for Reline.delete_text https://github.com/ruby/reline/commit/d1c5700fa3 M test/reline/test_reline.rb commit 60d20e3537134321d4fea82a226227acbeddbe4b Author: aycabta Date: Mon Oct 11 17:16:31 2021 +0900 [ruby/reline] Add assertions for Reline.point https://github.com/ruby/reline/commit/a8c7b207f0 M test/reline/test_reline.rb commit 706239fcc1c8f2980c363a791158b29666070a9d Author: aycabta Date: Mon Oct 11 17:14:22 2021 +0900 [ruby/reline] Add a test for Reline.insert_text and Reline.line_buffer https://github.com/ruby/reline/commit/ae828208e1 M test/reline/test_reline.rb commit 6f41cab704d1b3dd44910e0e943dceebde6fcb1a Author: aycabta Date: Mon Oct 11 16:21:50 2021 +0900 [ruby/reline] Suppress warning, "instance variable @ambiguous_width not initialized" https://github.com/ruby/reline/commit/368f7e2f78 M lib/reline.rb commit b5f0e209362bd62f9d1b2258eeff9649ef051b61 Author: Takashi Kokubun Date: Sun Oct 10 23:48:45 2021 -0700 Add comments in sync_default_gems.rb to ease the maintenance of ruby-commit-hook/bin/update-default-gem.sh M tool/sync_default_gems.rb commit 340fabca2c8abe29efe5c5a5c0f3ddc9b2ba8035 Author: aycabta Date: Mon Oct 11 15:31:58 2021 +0900 [ruby/irb] Set default return_format https://github.com/ruby/irb/commit/7ee15bc668 M lib/irb/context.rb M test/irb/test_context.rb commit 69cedee2a65882c637a815f1d39bf02fa0756114 Author: Takashi Kokubun Date: Sun Oct 10 23:37:48 2021 -0700 chmod +x tool/sync_default_gems.rb I'm too lazy to start the command with `ruby`. M tool/sync_default_gems.rb commit 82b87a8dc4d4bfe6436d86d78536cbc79d5f7c5c Author: Takashi Kokubun Date: Sun Oct 10 23:24:52 2021 -0700 [ruby/irb] Clean up a duplicated definition I simply forgot deleting it. https://github.com/ruby/irb/commit/65399d5e9f M test/irb/test_cmd.rb commit 2e183c62736bed809e8edbcf054f5c9d6a837751 Author: Takashi Kokubun Date: Sun Oct 10 23:18:43 2021 -0700 [ruby/irb] trufflruby fails on the show_source test https://github.com/ruby/irb/commit/460bd12b87 M test/irb/test_cmd.rb commit b33caa5bbc1ff6cb2ea1656419e1fa09e3e60690 Author: Takashi Kokubun Date: Sun Oct 10 23:02:50 2021 -0700 [ruby/irb] Add a test of find_end for show_source command https://github.com/ruby/irb/commit/68e6ca95a0 M test/irb/test_cmd.rb commit cf74755921623225b30d592a83792c43677b9f52 Author: Takashi Kokubun Date: Sun Oct 10 22:47:30 2021 -0700 [ruby/irb] Revert "Optimize show_source command further" This reverts commit 27dd2867cda5c789efaa5078214ad2fd82adcebf. This is to fix the test I added. (I separated commits to test a new behavior of ruby-commit-hook) https://github.com/ruby/irb/commit/fe055d521a M lib/irb/cmd/show_source.rb commit 3112e876a17aa750a75d56a7841902bff799b796 Author: aycabta Date: Sun Oct 10 18:58:46 2021 +0900 [ruby/reline] Add tests for dialog with fullwidth chars and corner cases https://github.com/ruby/reline/commit/35ab5d47a8 M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 391d6ab4f7c3070d0c46dbd7496255d8269f6c1f Author: Jeremy Evans Date: Thu Oct 7 08:02:46 2021 -0700 [ruby/ipaddr] Fix include? and ipv4_mapped to allow drb tests to pass include? should return false if comparing an IPv4 address to an IPv6 address. ipv4_mapped needs to set the correct netmask on the mapped addresses. https://github.com/ruby/ipaddr/commit/da22ef8e6c M lib/ipaddr.rb commit 9a321dd9b2fb929873a6b50b41efdf3bd3119536 Author: Jeremy Evans Date: Thu Oct 31 10:06:13 2019 -0700 [ruby/ipaddr] Make IPAddr#include? consider range of argument It would be nice to use Range#cover? here, but it doesn't work correctly before Ruby 2.6. Switch to manual checks of the beginning of end of the ranges. Fixes Ruby Bug 14119 https://github.com/ruby/ipaddr/commit/f45630da31 M lib/ipaddr.rb M test/test_ipaddr.rb commit b9f7286fe95827631b11342501e471e5e6f13bbb Author: Nobuyoshi Nakada Date: Mon Oct 11 10:47:51 2021 +0900 [ruby/io-console] Skip Interrupt test on Solaris too https://github.com/ruby/io-console/commit/48db3616da M test/io/console/test_io_console.rb commit e0c20485db62f1c764b9902ad4e64658a9027632 Author: David Rodriguez Date: Sun Oct 10 17:10:49 2021 +0200 [ruby/rubygems] Prefer `require_relative` for internal requires https://github.com/rubygems/rubygems/commit/51796f257a M lib/rubygems/commands/setup_command.rb M lib/rubygems/query_utils.rb M lib/rubygems/remote_fetcher.rb M lib/rubygems/s3_uri_signer.rb M lib/rubygems/source.rb M lib/rubygems/util.rb commit 10c650628a0c0137fbe09e5631db8e0624dfbcc4 Author: git Date: Mon Oct 11 00:24:09 2021 +0900 * 2021-10-11 [ci skip] M version.h commit 9072228a26d0b737c6b9ca2f7a3e7dd7d41bb4ea Author: David Rodriguez Date: Sat Oct 9 12:12:13 2021 +0200 [ruby/rubygems] Get specs green on arm64-darwin-20 https://github.com/rubygems/rubygems/commit/7a0bd9801d M spec/bundler/bundler/definition_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/runtime/platform_spec.rb M spec/bundler/support/platforms.rb commit a4876a563d6c8011914504e186de8173f481e543 Author: Nobuyoshi Nakada Date: Fri Sep 17 01:20:10 2021 +0900 Pass the VM pointer as an argument M load.c commit 6c39a272af7dc3c1df95ae16a2b8904bd67ffcf6 Author: David Rodríguez Date: Wed Oct 6 19:00:46 2021 +0200 [ruby/rubygems] We no longer need to check realpaths Since symlinks and absolute paths are already checked. https://github.com/rubygems/rubygems/commit/de19bc4c7e M lib/rubygems/package.rb commit bbcf8f87ac50be423991ccbb2d83ac09ebecf46a Author: David Rodríguez Date: Wed Oct 6 18:17:37 2021 +0200 [ruby/rubygems] Check safety of packaged symlinks If we explicitly disallow the creation of symlinks that point to files outside of the destination directory, we can avoid any other safety checks while creating directories, because we can be sure they will always fall under the destination directory as well. https://github.com/rubygems/rubygems/commit/555692b8de M lib/rubygems/package.rb M test/rubygems/test_gem_package.rb commit a5289bfa71d85d7c3ab1ebf94237edecd847851b Author: David Rodríguez Date: Tue Oct 5 13:14:17 2021 +0200 [ruby/rubygems] Install location safety should consider casing https://github.com/rubygems/rubygems/commit/0a0ad34af3 M lib/rubygems/package.rb commit 6c878731c1b0de974e071d532e7708e1a1ce9d71 Author: David Rodríguez Date: Fri Oct 1 16:16:32 2021 +0200 [ruby/rubygems] Remove redundant `File.expand_path` `File.realpath` already expands paths. https://github.com/rubygems/rubygems/commit/25524ebbeb M lib/rubygems/package.rb commit 05e3d7b9674c1008af85ad9f177d18ebf8d699b1 Author: David Rodríguez Date: Wed Oct 6 19:27:34 2021 +0200 [ruby/rubygems] Explicit check file not created outside of destination https://github.com/rubygems/rubygems/commit/1e363dbbcb M test/rubygems/test_gem_package.rb commit 48e4dea4cdeeb6e1ba79287399b0b0288df2d720 Author: David Rodríguez Date: Thu Sep 30 15:06:22 2021 +0200 [ruby/rubygems] Refactor symlink attack specs https://github.com/rubygems/rubygems/commit/9180b390aa M test/rubygems/test_gem_package.rb commit 59c24f054e6cc6fa08136435d7382739f73ec699 Author: David Rodríguez Date: Fri Oct 1 16:14:33 2021 +0200 [ruby/rubygems] Simplify `File.expand_path` usage https://github.com/rubygems/rubygems/commit/02e3cf44bf M lib/rubygems/package.rb commit 11720818f68181cee38590d8c69a9003393f2363 Author: David Rodríguez Date: Thu Sep 30 15:52:05 2021 +0200 [ruby/rubygems] Don't make duplicated checks on directory safety This seems to speed up `gem install` on Windows by more than 50%. https://github.com/rubygems/rubygems/commit/1970b1296d M lib/rubygems/package.rb commit ef352c58659eaecdcb1e5dc384de7dc1e1205a6c Author: Nobuyoshi Nakada Date: Sun Oct 10 21:58:56 2021 +0900 Shorten register names on arm64-darwin not to be truncated M vm_dump.c commit b16d876ac2d20b3c17a6906860d3a3f279aecf65 Author: Nobuyoshi Nakada Date: Sun Oct 10 20:28:14 2021 +0900 Needs time.rb for `Time#iso8601` `Gem::Request.verify_certificate_message` used this method without "time" which defines it. M lib/rubygems/request.rb commit b56bb0cf9bbf402a5ece342a77991b8f623d6248 Author: Kazuhiro NISHIYAMA Date: Sun Oct 10 20:14:37 2021 +0900 Update bundled_gems M gems/bundled_gems commit cec61d16d2fb50812a003338a719f186a6bd88ef Author: Nobuyoshi Nakada Date: Sun Oct 10 19:23:52 2021 +0900 Run JIT tests first when random order instead of no-sort M tool/lib/test/unit.rb commit fb9ea391cf36f103a960ccb476271dcc912f2e69 Author: Nobuyoshi Nakada Date: Sun Oct 10 18:30:33 2021 +0900 Default the test order to random M tool/lib/test/unit.rb commit e2017f8c7cc2066286ab8047d4de47704f871a28 Author: Nobuyoshi Nakada Date: Sun Oct 10 11:45:50 2021 +0900 Unify iteration arguments M range.c commit 2293547d9b59e0641e26837500986e78f9ba891b Author: Nobuyoshi Nakada Date: Sun Oct 10 11:41:26 2021 +0900 Update iteration step in step_i_iter M range.c commit afb95d1004676f71beb0dab389b19695728726e5 Author: S.H Date: Sun Oct 10 11:40:04 2021 +0900 Refactor sym_step_i function M range.c commit f6048e592c520e20ba498ba4d553f07f02213a61 Author: Nobuyoshi Nakada Date: Sun Oct 10 10:15:21 2021 +0900 Run the failing readline test on arm32-linux separately M .travis.yml commit 3817d1823c9a0f729a8a796afa46314b9385a1d8 Author: Nobuyoshi Nakada Date: Sun Oct 10 10:14:31 2021 +0900 Remove `RUN_SEPARATED_TESTS` which seems unnecessary M .travis.yml commit 72797acf6e16911a4a0345d23685070a0f993732 Author: Nobuyoshi Nakada Date: Sun Oct 10 10:03:21 2021 +0900 Set `TEST_ALL` options first to show in the summary page M .travis.yml commit 9cd9eca3793ecf47f0e5971efaf99b514b72be94 Author: S-H-GAMELINKS Date: Sun Sep 26 21:50:38 2021 +0900 Refactor rb_proc_call function M proc.c commit d25af1f44e8920e15c5cab7808757e28fa9f6492 Author: S-H-GAMELINKS Date: Sun Oct 3 17:16:58 2021 +0900 Add flo_ndigits function M numeric.c commit 6678bb66795a7d851698b4e78035d113b985d415 Author: git Date: Sun Oct 10 01:24:32 2021 +0900 * 2021-10-10 [ci skip] M version.h commit 7f3786c3e86a685a1a6332a1e0c9290f9b9df414 Author: Nobuyoshi Nakada Date: Sun Oct 10 01:20:40 2021 +0900 Use an isolated class The number of all instances of `Class` may be affected by GC-able anonymous classes created by other tests. M spec/ruby/library/objectspace/memsize_of_all_spec.rb commit 5805b1472a0456b6f1536dfad0840f61e5cdf1b6 Author: aycabta Date: Sat Oct 9 23:28:46 2021 +0900 [ruby/irb] Version 1.3.8.pre.11 https://github.com/ruby/irb/commit/49b9f644c2 M lib/irb/version.rb commit 98d9a7e435e0e310ef49920ab6088dfa7c72cc9a Author: aycabta Date: Sat Oct 9 23:27:45 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.11 https://github.com/ruby/irb/commit/4f686afbca M lib/irb/irb.gemspec commit 56140bc7af61059de18ab9dc88567dd9ddc54104 Author: aycabta Date: Sat Oct 9 23:25:31 2021 +0900 [ruby/reline] Version 0.2.8.pre.11 https://github.com/ruby/reline/commit/de858ee1ac M lib/reline/version.rb commit d0f2c4d053f90b95e20aa32aa09100e64cf576b7 Author: aycabta Date: Sat Oct 9 23:19:59 2021 +0900 [ruby/reline] Fix tests to show dialog to the right edge https://github.com/ruby/reline/commit/6a0d0ada94 M test/reline/yamatanooroti/test_rendering.rb commit bf1f6a696fbd96379d3d5b85afbe5639ecea2f14 Author: aycabta Date: Sat Oct 9 23:07:18 2021 +0900 [ruby/reline] Add a test for full-width scrollbar https://github.com/ruby/reline/commit/cff83e68f8 M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 9cb7ba2f21aac6356089de949ef59ca42974b24b Author: aycabta Date: Sat Oct 9 22:20:26 2021 +0900 [ruby/reline] Add RELINE_ALT_SCROLLBAR env to use alternative text for scrollbar The setting to use '::' instead of block elements. https://github.com/ruby/reline/commit/4afbc98e2c M lib/reline/line_editor.rb commit e6ba2953e98f7feff90d767106b0a35560582ca0 Author: aycabta Date: Sat Oct 9 22:19:05 2021 +0900 [ruby/reline] Fix calculating dialog width with full-width scrollbar https://github.com/ruby/reline/commit/93bc9b5277 M lib/reline/line_editor.rb commit c423cc932ee16f64a845e710d92baf79729eae63 Author: Nobuyoshi Nakada Date: Sat Oct 9 17:44:01 2021 +0900 Refactor `Test::Unit::CoreAssertions#assert_nothing_raised` * Separate exception classes to be rescued or reraised * Use the filtered backtrace in the failure message * Raise a new `AssertionFailedError` with the original backtrace M tool/lib/core_assertions.rb commit fc913ad21dcb04bd3d3786f9a3072a6717a52a9a Author: Nobuyoshi Nakada Date: Sat Oct 9 16:17:37 2021 +0900 Exclude also core_assertions.rb from backtraces M tool/lib/test/unit.rb commit 3932227d96ada8d63873d1b5a66c6f4b2df188aa Author: Nobuyoshi Nakada Date: Sat Oct 9 16:17:01 2021 +0900 Unify `Test::Unit::Assertions#message` Merge `Test::Unit::CoreAssertions#message`. M tool/lib/core_assertions.rb commit 489c22b17f347d15500931397a1a4c8b66b023dd Author: Nobuyoshi Nakada Date: Sat Oct 9 14:22:18 2021 +0900 Let `Test::Unit::CoreAssertions::AllFailures#for` yield the key Similar to `Test::Unit::CoreAssertions::AllFailures#foreach`. M tool/lib/core_assertions.rb commit 7e506716d2c7085c6f243705a0b6eb79b2176c49 Author: OKURA Masafumi Date: Mon Sep 20 23:18:14 2021 +0900 Newly generated gems require Ruby 2.6.0 In 2021, Ruby 2.5 and older are EOL. We can set the default required Ruby version to 2.6.0 to encourage people to use newer Ruby. If the command is executed with old Ruby, it falls back to 2.3.0. It's still possible to create a gem for older Ruby just by changing two lines of code (one in gemspec and another is in rubocop.yml). M lib/bundler/cli/gem.rb M spec/bundler/commands/newgem_spec.rb M spec/bundler/support/path.rb M tool/bundler/rubocop_gems.rb.lock M tool/bundler/standard_gems.rb.lock commit 91f794b5160e9253410d06b0811451d7db448720 Author: David Rodríguez Date: Fri Oct 8 13:07:07 2021 +0200 [rubygems/rubygems] I see no harm in this, allow it https://github.com/rubygems/rubygems/commit/01feb40283 M spec/bundler/support/builders.rb commit 991a3aad058fc6b05c7d73fd240b2ad2d8325afd Author: David Rodríguez Date: Fri Oct 8 13:06:21 2021 +0200 [rubygems/rubygems] `git commit` no longer needs to be allowed to fail https://github.com/rubygems/rubygems/commit/12af03d32f M spec/bundler/support/builders.rb commit a5bae843ff2b2fe9b46de8766c135489ccda8d9e Author: David Rodríguez Date: Fri Oct 8 13:05:31 2021 +0200 [rubygems/rubygems] Let `update_git` work with whatever branch is checkout out Unless the `:branch` option is passed. It's more efficient, and it results in less hardcoding of "master". https://github.com/rubygems/rubygems/commit/aa5c3409ab M spec/bundler/support/builders.rb M spec/bundler/update/git_spec.rb commit 5a34b639fc8f51f2464f36e59f32eff8b3fd2e0f Author: David Rodríguez Date: Fri Oct 8 13:04:34 2021 +0200 [rubygems/rubygems] Make adding files and committing into a single command For efficiency. https://github.com/rubygems/rubygems/commit/979d1634dd M spec/bundler/support/builders.rb commit b857a8765338b76afd00691be29bdffdcc92991a Author: David Rodríguez Date: Fri Oct 8 13:03:17 2021 +0200 [rubygems/rubygems] Keep different code in custom branch in dummy repo This doesn't affect the outcome of the test, but it makes the `git commit` command inside `update_git` not fail because of not having anything to commit. https://github.com/rubygems/rubygems/commit/ad0160ed97 M spec/bundler/install/gemfile/git_spec.rb commit 70066196a087f82f6505456167bd1bdac8cc1e5a Author: David Rodríguez Date: Fri Oct 8 13:01:47 2021 +0200 [rubygems/rubygems] Fix typo We want to update the original repo, not a fresh one. This went undetected because the `git commit` command inside the `update_git` method ignores failures, and in this case it was failing because all files are untracked in the new repo. I will fix that later but for now fix the typo. https://github.com/rubygems/rubygems/commit/c889f1d715 M spec/bundler/commands/clean_spec.rb commit d03d122ba1851156c93ea21a9006a7d921ad073e Author: Masataka Pocke Kuwabara Date: Sun Oct 3 01:30:55 2021 +0900 [rubygems/rubygems] Improve performance of Specification#missing_extensions? https://github.com/rubygems/rubygems/commit/90c1919f94 M lib/rubygems/defaults.rb M lib/rubygems/specification.rb M spec/bundler/support/hax.rb M test/rubygems/helper.rb commit ad92651d6428d59b7f4dbee7014f4d1127bbdbe8 Author: gabriele renzi Date: Thu Sep 30 13:51:08 2021 +0200 [rubygems/rubygems] Add glob infomation to Bundler::Source::Git#to_s The glob information was not specified in the string representation for a source, which led to non-deterministic behaviour when generating the lockfile, since sources are sorted by this value. https://github.com/rubygems/rubygems/commit/493b880abc M lib/bundler/source/git.rb M spec/bundler/bundler/source/git_spec.rb commit 06c3e80611b81ec8f251957328486e9b6dd18d3b Author: Jeremy Evans Date: Fri Aug 13 08:16:24 2021 -0700 Do not allow configuration where neither static or shared library is installed Fixes [Bug #18000] M configure.ac commit b4afedb0dd6395ea18135e87351b02e99a12d8a3 Author: git Date: Sat Oct 9 06:54:40 2021 +0900 * 2021-10-09 [ci skip] M version.h commit 08759edea8fb75d46c3e75217e6613465426a0d2 Author: Jeremy Evans Date: Fri Oct 8 12:54:26 2021 -0900 Remove autoload for constant if the autoload fails Previously, if an autoload failed (the file was loaded, but the constant was not defined by the autoloaded file). Ruby will try to autoload again if you delete the autoloaded file from $LOADED_FEATURES. With this change, the autoload and the constant itself are removed as soon as it fails. To handle cases where multiple threads are autoloading, when deleting an autoload, handle the case where another thread already deleted it. Fixes [Bug #15790] M spec/ruby/core/module/autoload_spec.rb M spec/ruby/core/module/const_set_spec.rb M test/ruby/test_autoload.rb M variable.c commit ded5a66cb994c5731a17bc9a2420042248a2f1fe Author: aycabta Date: Fri Oct 8 10:51:49 2021 +0900 [ruby/reline] Use alternate text for scrollbar in non-UTF-8 env https://github.com/ruby/reline/commit/69e365edcc M lib/reline/line_editor.rb commit 076f2e9d3eb1cee7e64e6fc666698060d08f25c9 Author: Nobuyoshi Nakada Date: Fri Oct 8 15:44:47 2021 +0900 Make `volatile` the variable will be taken out from `EC_EXEC_TAG` M load.c commit 78ff9b719c236b56956d446053256f8e30edf0c3 Author: Nobuyoshi Nakada Date: Fri Oct 8 14:08:03 2021 +0900 Add tests for the edge caces of `String#end_with?` Also, check if a suffix is empty, to guarantee the assumption of `onigenc_get_left_adjust_char_head` that `*s` is always accessible, even in the case of `SHARABLE_MIDDLE_SUBSTRING`. M string.c M test/ruby/test_string.rb commit d0268c5ec20784cf5ed42caf43b076846ae6255a Author: Nobuyoshi Nakada Date: Thu Oct 7 20:11:48 2021 +0900 Collect symbols instead of strings and get rid of rb_str_intern M vm.c commit 55d7f63bdeda993696c2700bd1a2a3b02b0b6d30 Author: Jeremy Evans Date: Wed Oct 6 12:56:31 2021 -0700 [ruby/reline] Better fix for non-UTF-8 default external encoding Previous fix didn't show the cursor or dialogs. This allows the dialogs to continue to work. https://github.com/ruby/reline/commit/651c5f63cc M lib/reline/line_editor.rb commit eb4682b3c6dd703b073614fa10dec9f968e98df3 Author: Jeremy Evans Date: Wed Oct 6 10:38:21 2021 -0700 [ruby/reline] Only show dialogs if default external encoding is UTF-8 Fixes a crash in IRB if a dialog is displayed and the default external encoding is not UTF-8: /home/jeremy/tmp/reline/lib/reline/line_editor.rb:731:in `write': U+2588 from UTF-8 to US-ASCII (Encoding::UndefinedConversionError) https://github.com/ruby/reline/commit/f570525ecd M lib/reline/line_editor.rb commit 1251edd1db3fe89b5198422949af4595192113db Author: aycabta Date: Fri Oct 8 10:28:44 2021 +0900 [ruby/irb] Add tests for truncated show doc dialog But pending them now because they need dummy document data to show doc. https://github.com/ruby/irb/commit/ac471ee14e M test/irb/yamatanooroti/test_rendering.rb commit 1507cb084cebdeb4d7f298e1ff677135b13d85ef Author: aycabta Date: Fri Oct 8 10:26:23 2021 +0900 [ruby/irb] Determine left and right when the width of either side is zero correctly https://github.com/ruby/irb/commit/5df6e1f027 M lib/irb/input-method.rb commit 576eccf76de65828e7c68960f59b855f32093ee0 Author: aycabta Date: Fri Oct 8 10:24:55 2021 +0900 [ruby/irb] Calculate right side doc dialog width correctly https://github.com/ruby/irb/commit/f34da7fa04 M lib/irb/input-method.rb commit 374efa8e302c8cd19bf41e3f6f87582532cce79c Author: aycabta Date: Fri Oct 8 10:21:55 2021 +0900 [ruby/irb] Specify whether to show the doc dialog on the left or right side by using variable names https://github.com/ruby/irb/commit/a23a88b8c9 M lib/irb/input-method.rb commit 5c02df829665ea2063c674fba93d3025817718cf Author: aycabta Date: Fri Oct 8 03:43:21 2021 +0900 [ruby/irb] Display doc dialog in gaps on narrow screen https://github.com/ruby/irb/commit/4d7cefcaa4 M lib/irb/input-method.rb commit 36bf378363519f70ee7955fd86b6281224ce051a Author: aycabta Date: Wed Oct 6 03:25:53 2021 +0900 [ruby/reline] Add a test for narrow screen without scrollbar https://github.com/ruby/reline/commit/44cd35e65d M test/reline/yamatanooroti/test_rendering.rb commit 374b15a84a777701f61c7cc105f7db5af27cc9ff Author: aycabta Date: Wed Oct 6 02:56:14 2021 +0900 [ruby/reline] Cut off the excess on narrow screen https://github.com/ruby/reline/commit/972cc993ca M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit a2f55679f0baed3ad99321032734f7e81e4137bc Author: aycabta Date: Wed Oct 6 00:09:03 2021 +0900 [ruby/reline] Rename DIALOG_HEIGHT with DIALOG_DEFAULT_HEIGHT https://github.com/ruby/reline/commit/996bfec64b M lib/reline/line_editor.rb commit 217df51f0e5d9824ed712a4d175f555d932e44d8 Author: Aaron Patterson Date: Wed Oct 6 13:55:02 2021 -0700 Dump outer variables tables when dumping an iseq to binary This commit dumps the outer variables table when dumping an iseq to binary. This fixes a case where Ractors aren't able to tell what outer variables belong to a lambda after the lambda is loaded via ISeq.load_from_binary [Bug #18232] [ruby-core:105504] M compile.c M test/ruby/test_iseq.rb commit cb5a3b198e2a196c701d82842b3eb06ed0527110 Author: git Date: Fri Oct 8 00:15:42 2021 +0900 * 2021-10-08 [ci skip] M version.h commit 8057129da61e7fc920b0cd1cb09105125819c10f Author: Nobuyoshi Nakada Date: Fri Oct 8 00:10:32 2021 +0900 Remove duplicate value checks on `mrhs` which always has the value M parse.y M test/ruby/test_parse.rb commit 80e2242da6c4d7f1760cb08af72140e178642639 Author: Kaíque Kandy Koga Date: Tue Oct 5 14:44:22 2021 -0300 [ruby/irb] Update descriptions of methods From Reidline to Reline Update description used in take_corresponding_syntax_to_kw_do and is_the_in_correspond_to_a_for methods Use possessive noun correctly Second element https://github.com/ruby/irb/commit/4fa9714d6f M lib/irb.rb M lib/irb/input-method.rb M lib/irb/ruby-lex.rb commit 896626fa02f00831de5db2e3e75aa349a5a84102 Author: Jeremy Evans Date: Wed Oct 6 08:55:29 2021 -0700 [ruby/irb] Make IRB::Context#exit call super if UncaughtThrowError Fixes calling exit after binding.irb. Fixes [Bug #18234] https://github.com/ruby/irb/commit/4ea8d376f2 M lib/irb/context.rb commit 606e785fa8ec26c2819caca8b1f238e3ef5d8ff0 Author: Nobuyoshi Nakada Date: Thu Oct 7 17:59:16 2021 +0900 Reuse ractor stderr M io.c commit a706c09fa64e4e1e2e6e08e74bafbdd39050bdc1 Author: Nobuyoshi Nakada Date: Thu Oct 7 17:56:57 2021 +0900 Adjust styles [ci skip] M io.c commit ae5dffd66652752e3a7dfb3a6befa1df6cac7c74 Author: Hiroshi SHIBATA Date: Thu Oct 7 18:34:29 2021 +0900 Followed up bd6e1a0f0883dba7b02f30cefe5ebec96d02cb90 M spec/ruby/library/ipaddr/new_spec.rb commit bd6e1a0f0883dba7b02f30cefe5ebec96d02cb90 Author: Jeremy Evans Date: Mon Jul 13 09:36:06 2020 -0700 [ruby/ipaddr] Support zone identifiers in IPv6 addresses These are supported by Ruby's socket library if the operating system supports zone indentifiers, so they should be supported by ipaddr. See RFCs 4007 and 6874 for additional information. Implements Ruby Feature #10911 https://github.com/ruby/ipaddr/commit/09a6408fb2 M lib/ipaddr.rb M test/test_ipaddr.rb commit 74ed881e109ee2480854f5d47e8ef4a84b0cc1c5 Author: Bogdan Irimie Date: Wed Oct 9 13:23:27 2019 +0300 [ruby/ipaddr] Add netmask method that returns net mask as string. https://github.com/ruby/ipaddr/commit/283d16f3a3 M lib/ipaddr.rb M test/test_ipaddr.rb commit abad5e10e80c06f2e756667cd2d7f7d9b6e78ba5 Author: Jeremy Evans Date: Tue Jun 4 18:58:15 2019 -0700 [ruby/ipaddr] Disallow leading zeros in mask https://github.com/ruby/ipaddr/commit/f49d2d49a4 M lib/ipaddr.rb M test/test_ipaddr.rb commit 38da84296c0e50c4285d8a8c146af5fc3c8afc7d Author: Nobuyoshi Nakada Date: Tue May 7 08:39:42 2019 +0900 [ruby/ipaddr] Raise if extra slashes follow https://bugs.ruby-lang.org/issues/15832 https://github.com/ruby/ipaddr/commit/de9805d6fa M lib/ipaddr.rb M test/test_ipaddr.rb commit 54ee22be5308ee958a73bd546bc867d2337d74d8 Author: Jeremy Evans Date: Tue May 7 18:44:42 2019 -0700 [ruby/ipaddr] Avoid reraising exceptions Instead of raising a new exception with a modified message, just use the correct message to begin with. This avoids the issue with both exceptions being displayed at error exit. https://github.com/ruby/ipaddr/commit/09edfd4a7f M lib/ipaddr.rb commit b23fba91ae60c71649cb5e5f8b63c87e6a63020f Author: Espartaco Palma Date: Sat Oct 27 17:13:31 2018 -0700 [ruby/ipaddr] Removing superfluos assingments & return Also adding test for ntop https://github.com/ruby/ipaddr/commit/0ba16cca10 M lib/ipaddr.rb M test/test_ipaddr.rb commit 323e7a6744a18a729d8011e237e64291cb6c02bd Author: S-H-GAMELINKS Date: Wed Oct 6 20:18:35 2021 +0900 Merge if statement M variable.c commit 273673aeafd5e5a40a6212de17c788c2c029865e Author: Yusuke Endoh Date: Thu Oct 7 10:40:40 2021 +0900 test/ruby/test_process (test_no_curdir): tentatively skipped on Solaris The test gets stuck on Solaris CI. http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20211006T050007Z.fail.html.gz#test-all ``` [14558/21042] TestProcess#test_no_curdirtimeout: output interval exceeds 1800.0 seconds. timeout: the process group 3857 is alive. ``` Related to ee89543e09a2d4e4c503267c248ba7bfffa668cb M test/ruby/test_process.rb commit 7caeead36fc6589f07d91e9c45e69181d3b30640 Author: Burdette Lamar Date: Wed Oct 6 19:06:17 2021 -0500 Accommondate earlier reviews of RDoc for Enumerable (#4943) M enum.c commit fb122042e004c799d4ed7080785c86a57db0ee9c Author: Burdette Lamar Date: Wed Oct 6 15:51:49 2021 -0500 Enhanced RDoc for Enumerable (#4941) Treated: #sum #uniq #compact M enum.c commit 121424a097a654084ef016bcc88cdb49c528d3ed Author: git Date: Thu Oct 7 04:38:52 2021 +0900 * 2021-10-07 [ci skip] M version.h commit 76228191474c76810043b294a74bbb2f1808b3d9 Author: Alan Wu Date: Wed Oct 6 15:38:33 2021 -0400 Fix Ractor.make_shareable changing locals for Procs env_copy() uses rb_ary_delete_at() with a loop counting up while iterating through the list of read only locals. rb_ary_delete_at() can shift elements in the array to an index lesser than the loop index, causing locals to be missed and set to Qfalse in the returned environment. Iterate through the locals in reverse instead, this way the shifting never happens for locals that are yet to be visited and we process all the locals in the array. [Bug #18023] M bootstraptest/test_ractor.rb M vm.c commit d53493715cd1a1463b98291e0ad92e2723236698 Author: Nobuyoshi Nakada Date: Wed Oct 6 15:42:37 2021 +0900 Add the dependency of GNUmakefile itself [ci skip] M template/GNUmakefile.in commit 702a58e9e5b20a2450e753227112842bea8e7df6 Author: Nobuyoshi Nakada Date: Wed Oct 6 13:54:53 2021 +0900 Remove duplicate type qualifiers `rb_encoding` is defined as `const OnigEncodingType`. Fix lots of C4114 warnings for each files by MSVC. M include/ruby/internal/encoding/ctype.h M include/ruby/internal/encoding/encoding.h commit 7ed1180e004f6c415915aaa0fa71a7e9e6bf3e98 Author: Nobuyoshi Nakada Date: Wed Oct 6 12:19:52 2021 +0900 Remove the useless platform guard M spec/ruby/core/file/utime_spec.rb commit ddca0c66867b09106a835f28600edefac7e785ce Author: Nobuyoshi Nakada Date: Wed Oct 6 11:38:47 2021 +0900 Fix filesystem dependent tests Ruby cannot guarantee the resolutions of underlying filesystems. M spec/ruby/core/file/utime_spec.rb commit abd473928ec54e2ee990d178e42f2f544f21b041 Author: Burdette Lamar Date: Tue Oct 5 18:57:06 2021 -0500 Enhanced RDoc for Enumerable (#4938) Treats: #slice_after #slice_when #chunk_while M enum.c commit b9f34062f00d1d2548ca9b6af61a6447c2d0f8e3 Author: Benoit Daloze Date: Tue Oct 5 19:41:44 2021 +0200 Update to ruby/spec@ccf0d85 M spec/ruby/core/dir/fixtures/common.rb M spec/ruby/core/dir/shared/glob.rb M spec/ruby/core/encoding/default_external_spec.rb M spec/ruby/core/enumerable/shared/collect.rb M spec/ruby/core/file/utime_spec.rb M spec/ruby/core/kernel/shared/sprintf.rb M spec/ruby/core/marshal/shared/load.rb M spec/ruby/core/objectspace/garbage_collect_spec.rb M spec/ruby/core/string/lstrip_spec.rb M spec/ruby/core/string/partition_spec.rb M spec/ruby/core/string/reverse_spec.rb M spec/ruby/core/string/rpartition_spec.rb M spec/ruby/core/string/rstrip_spec.rb M spec/ruby/core/string/scrub_spec.rb A spec/ruby/core/string/shared/partition.rb A spec/ruby/core/string/shared/strip.rb M spec/ruby/core/string/strip_spec.rb M spec/ruby/language/defined_spec.rb M spec/ruby/language/predefined_spec.rb M spec/ruby/library/net/http/http/fixtures/http_server.rb M spec/ruby/library/rbconfig/rbconfig_spec.rb A spec/ruby/library/socket/basicsocket/local_address_spec.rb A spec/ruby/library/socket/basicsocket/remote_address_spec.rb A spec/ruby/library/socket/shared/address.rb M spec/ruby/library/stringio/ungetbyte_spec.rb M spec/ruby/library/stringscanner/check_spec.rb M spec/ruby/optional/capi/ext/string_spec.c M spec/ruby/optional/capi/string_spec.rb commit afcbb501ac17ba2ad5370ada5fd26e8dda9a5aaa Author: Jean Boussier Date: Sat Sep 18 15:34:15 2021 +0200 marshal.c Marshal.load accepts a freeze: true option. Fixes [Feature #18148] When set, all the loaded objects are returned as frozen. If a proc is provided, it is called with the objects already frozen. M .document M common.mk M inits.c M marshal.c A marshal.rb M spec/ruby/core/marshal/shared/load.rb M test/ruby/test_marshal.rb commit 279b2b5b600f0bb16f7ebb08aa4a299cf7b023a8 Author: Burdette Lamar Date: Tue Oct 5 10:52:51 2021 -0500 Enhanced RDoc for Enumerable#slice_before (#4932) * Enhanced RDoc for Enumerable#slice_before * Enhanced RDoc for Enumerable#slice_before M enum.c commit f883f550f2c0a2a726e510acdaf7ee9aa7c76978 Author: git Date: Wed Oct 6 00:41:05 2021 +0900 * 2021-10-06 [ci skip] M version.h commit 1bf3f3f4da9df58ac32de76036f9e66e5013a142 Author: git Date: Wed Oct 6 00:40:54 2021 +0900 * remove trailing spaces. [ci skip] M string.c commit c6706f15af123bdbb3b39a21903d85c78462d047 Author: Jeremy Evans Date: Tue Oct 5 08:39:27 2021 -0700 Fix documentation for String#{<<,concat,prepend} These methods mutate and return the receiver, they don't create and return a new string. Fixes [Bug #18241] M string.c commit f2ca65266f203da8a8c3afa734bb6e76a088c581 Author: Koichi Sasada Date: Tue Oct 5 22:19:22 2021 +0900 debug.gem v1.2.4 This version fixes test failures on MacOS enviornment. M gems/bundled_gems commit dc8fa2691b4a3a908cb5f93429754457f063ea49 Author: aycabta Date: Mon Oct 4 22:46:03 2021 +0900 [ruby/reline] Reduce window size so that it can be displayed in my desktop https://github.com/ruby/reline/commit/22359d50ab M test/reline/yamatanooroti/test_rendering.rb commit f625645a37cd2c31f32078def8442598aff357f7 Author: aycabta Date: Mon Oct 4 22:40:35 2021 +0900 [ruby/reline] The width of block elements is 1 on Windows https://github.com/ruby/reline/commit/5f4a75c7a0 M lib/reline/line_editor.rb commit 2c2a017fe82b3079ae7936856afaaa680eac0ce6 Author: aycabta Date: Mon Oct 4 03:27:24 2021 +0900 [ruby/reline] Cyrillic chars are now forced to be displayed in full-width on Windows So testing is no longer necessary. https://github.com/ruby/reline/commit/c59589548b M test/reline/yamatanooroti/test_rendering.rb commit 6966c3ff442d80e24afc56df450297ee3cd89416 Author: aycabta Date: Mon Oct 4 00:15:18 2021 +0900 [ruby/reline] Change struct size correctly https://github.com/ruby/reline/commit/df2a1b4e08 M lib/reline/windows.rb commit 7c98e673d7828f36682a013c90120b41ab842a1f Author: Nobuyoshi Nakada Date: Tue Oct 5 18:18:29 2021 +0900 Fix a typo since 688f2e1a893e04457a1a5aa3577b13f74b2bc080 M tool/lib/test/unit.rb commit cd182c5ee14c7a799a0ce422021d6ecb6a0b166e Author: Nobuyoshi Nakada Date: Tue Oct 5 17:14:29 2021 +0900 Adjust types to rb_enc_left_char_head I dislike unnatural casts. M include/ruby/internal/encoding/encoding.h M string.c commit a15996c752cccbdcad2065b9b0a22271c3bbbb99 Author: Nobuyoshi Nakada Date: Tue Oct 5 16:59:35 2021 +0900 Split parser_yyerror0 from parser_yyerror The former uses the current location, while the latter takes a non-null location. M parse.y commit 1f544d671580dab465df56f42e142db4667f782e Author: Nobuyoshi Nakada Date: Tue Oct 5 16:44:43 2021 +0900 Show the last line at unexpected end-of-input error M parse.y M test/ruby/test_parse.rb commit 5a961c37682383d5d439a16b912be62cd2d0a7f0 Author: Nobuyoshi Nakada Date: Tue Oct 5 15:56:34 2021 +0900 Remove a redundant cast between the exact same types M string.c commit 126122bb6c83cca5eac6c71e3e75e3f647397d94 Author: Nobuyoshi Nakada Date: Tue Oct 5 13:42:17 2021 +0900 Replace inaccurate error messages When Bison reports "memory exhausted", it means the parser stack depth reached the limit `YYMAXDEPTH` which is defaulted to 10_000, but not memory allocation failed. M parse.y commit 0553494ad7ccbc75ac954c2cb0e7ea50443bad0c Author: Koichi Sasada Date: Tue Oct 5 12:20:18 2021 +0900 debug.gem 1.2.3 This version uses tempdir instead of homedir to store UNIX domain socket. M gems/bundled_gems commit f032c09bca96d82ce5fe935c99afed4c3fc2dbea Author: 卜部昌平 Date: Tue Oct 5 11:39:05 2021 +0900 rb_enc_left_char_head(): take void* Nobu doesn't like (char*) cast. M include/ruby/internal/encoding/encoding.h M string.c commit 499660b04f22c0b7203dbd1de31a85443d4290b4 Author: 卜部昌平 Date: Thu Sep 30 15:32:34 2021 +0900 downcase_single/upcase_single: assume ASCII These functions assume ASCII compatibility. That has to be ensured in their caller. M string.c commit 5c167a9778366c8d348f00debc479777626ef252 Author: 卜部昌平 Date: Wed Sep 29 15:23:45 2021 +0900 ruby tool/update-deps --fix M common.mk M enc/depend M ext/-test-/exception/depend M ext/-test-/file/depend M ext/-test-/printf/depend M ext/-test-/string/depend M ext/-test-/wait/depend M ext/cgi/escape/depend M ext/date/depend M ext/etc/depend M ext/fiddle/depend M ext/io/console/depend M ext/io/nonblock/depend M ext/io/wait/depend M ext/json/generator/depend M ext/json/parser/depend M ext/nkf/depend M ext/objspace/depend M ext/openssl/depend M ext/pathname/depend M ext/psych/depend M ext/pty/depend M ext/readline/depend M ext/ripper/depend M ext/socket/depend M ext/stringio/depend M ext/strscan/depend M ext/zlib/depend commit 5112a548467e04ebdb386f0cc7bacb29f38d3fd2 Author: 卜部昌平 Date: Wed Sep 29 12:58:26 2021 +0900 include/ruby/encoding.h: convert macros into inline functions Less macros == huge win. M encoding.c M include/ruby/internal/encoding/coderange.h M include/ruby/internal/encoding/ctype.h M include/ruby/internal/encoding/encoding.h M include/ruby/internal/encoding/string.h M string.c M template/Doxyfile.tmpl commit 312668cf031ce5e018f78d6a7cad9bcdcdac6ae6 Author: 卜部昌平 Date: Fri Sep 24 10:34:32 2021 +0900 split include/ruby/encoding.h 2,291 lines are too much! include/ruby/encoding.h became the biggest header file once it had doxygen comments. Let us split it into smaller parts, so that we can better organise their contents. M include/ruby/encoding.h A include/ruby/internal/encoding/coderange.h A include/ruby/internal/encoding/ctype.h A include/ruby/internal/encoding/encoding.h A include/ruby/internal/encoding/pathname.h A include/ruby/internal/encoding/re.h A include/ruby/internal/encoding/sprintf.h A include/ruby/internal/encoding/string.h A include/ruby/internal/encoding/symbol.h A include/ruby/internal/encoding/transcode.h commit 2fa4715bf264f1c800ae058bd6d5240241e226eb Author: 卜部昌平 Date: Tue Sep 28 16:51:09 2021 +0900 rb_ractor_shareable_p(): fix doxygen My bad. The document is clearly broken. Maybe I pressed my delete key too much. [ci skip] M include/ruby/ractor.h commit e42c8c160d17e302f56fdc4af4d54043ed2499df Author: 卜部昌平 Date: Tue Sep 28 10:49:07 2021 +0900 add undeclared variables Why did they even exist? M string.c commit ee89543e09a2d4e4c503267c248ba7bfffa668cb Author: Jeremy Evans Date: Mon Oct 4 14:13:47 2021 -0700 Fix regression on Solaris after change to use realpath on loaded features After the change to use realpath on loaded features, Solaris CI started failing in test_no_curdir (which tests behavior for running ruby without a working directory). I was able to trace the problem to the following call chain: rb_call_inits->Init_Thread->Init_thread_sync->rb_provide-> get_loaded_features_index->rb_check_realpath->rb_dir_getwd_ospath-> ruby_getcwd This will throw an exception, but because Ruby hasn't been fully initialized at the point the exception is thrown, it just exits with a status of 1. The bug here is that rb_check_realpath should not raise an exception, it should return nil. This bug is hit on Solaris because Solaris uses the realpath emulation instead of native realpath, and the realpath emualation raised instead of returning nil if the mode was RB_REALPATH_CHECK. Use rb_rescue in the realpath emulation if the mode is RB_REALPATH_CHECK, and swallow any exceptions raised and return nil. M file.c M test/ruby/test_process.rb commit 16ce578da1aee4f4a365a4010dc904bc2f3c4ff9 Author: Rei Odaira Date: Mon Oct 4 23:06:43 2021 -0500 Enable inline assembly of SET_MACHINE_STACK_END on AIX M gc.h commit e4d85d3a2d0c7d4a1abf981fb1ba557e21cad968 Author: Jeremy Evans Date: Mon Oct 4 10:51:29 2021 -0700 Revert rescue around internal realpath call on Solaris Solaris CI still has a problem even with these commits, so it doesn't appear to fix the issue. Reverting both 84e8e2a39bba874433b661bd378165bd03c9d6aa and bfd2f159f0c60ef8ac5bce6042edd25a571769b7. M load.c M test/ruby/test_process.rb commit bc96a45f12503956e323e6c2a47aa550ca1da3dc Author: Koichi Sasada Date: Fri Oct 1 03:13:00 2021 +0900 introduce debug.gem For the `test-bundled-gems`, make `debug.so` with extconf.rb and `make` command directly because `rake-compiler` assume ruby is installed (but `test-bundled-gems` can run without installation). M common.mk M gems/bundled_gems M tool/rbinstall.rb M tool/test-bundled-gems.rb commit ae1da7e1f76cabc6c2d9b45a6c56b1607200147a Author: Koichi Sasada Date: Fri Oct 1 02:56:59 2021 +0900 remove lib/debug.rb D lib/debug.gemspec D lib/debug.rb commit cbb115213c42f15638ef119eb20c4d3106eb8b1a Author: Hiroshi SHIBATA Date: Tue Aug 24 20:46:18 2021 +0900 Enabled to build extensions with the bundled gems M tool/rbinstall.rb commit 3381fa5458d26fee1a5d109ba65e87212f644ac0 Author: Jeremy Evans Date: Mon Oct 4 07:44:51 2021 -0700 Only rescue realpath calls during require on Solaris Remove temporary skip of test_no_curdir to see if this fixes the problem. M load.c M test/ruby/test_process.rb commit d9b7403746249b532ac57ca80112d7e63a417d86 Author: Jeremy Evans Date: Mon Oct 4 07:35:39 2021 -0700 Use a rescue around the internal realpath call for each loaded feature This appears to be only necessary on Solaris, but this commit enables it unconditionally to test breakage. The following commit will switch to only enabling it on Solaris. M load.c commit b44c5187b4d05d8644242e532f2243210d0b74df Author: Nobuyoshi Nakada Date: Wed Jul 7 12:22:40 2021 +0900 Expose instruction information for debuggers [Feature #18026] M tool/ruby_vm/views/_insn_len_info.erb M tool/ruby_vm/views/_insn_name_info.erb M tool/ruby_vm/views/_insn_operand_info.erb commit aa2a1fb04719a819b21a2c4ae30cf50008901eeb Author: git Date: Tue Oct 5 00:41:33 2021 +0900 * 2021-10-05 [ci skip] M version.h commit 8dc546b6b6c77de3a3ea85171f63e88d21c8a3be Author: Burdette Lamar Date: Mon Oct 4 10:41:12 2021 -0500 Enhanced RDoc for Enumerable#chunk (#4930) M enum.c commit c4570acc86837fefa542a678dfdaba73cdd1fd03 Author: Nobuyoshi Nakada Date: Sat Sep 18 16:05:26 2021 +0900 Refactor ordering of tests * Split the sorting types into classes. * Apply the same sorting to method sorting under the parallel test. M tool/lib/test/unit.rb M tool/lib/test/unit/testcase.rb M tool/test/testunit/test_minitest_unit.rb M tool/test/testunit/test_sorting.rb commit 44b2e32fb670e5e704f5721cf973cdc77d54a315 Author: Nobuyoshi Nakada Date: Wed Aug 25 13:12:50 2021 +0900 Fix a typo M tool/rbinstall.rb commit 3842e723da61ca80ed7f8ec7fd74dd71b812c3cd Author: Nobuyoshi Nakada Date: Mon Oct 4 17:56:37 2021 +0900 Leave builddir absolute So that rubygems installer will work to build extension gems. M tool/fake.rb commit bac6e8ca5d8f6bc45984d12ddad55d3d876d4324 Author: Nobuyoshi Nakada Date: Mon Oct 4 17:55:59 2021 +0900 Stop building extension gems for now Extension gems will be installed by the installed standard libraries. M template/configure-ext.mk.tmpl commit e8dde4635928b3a3ac7d94530ae643fbac595d26 Author: Nobuyoshi Nakada Date: Mon Oct 4 12:37:11 2021 +0900 Relax time-out for bundler M .github/workflows/macos.yml commit 28392d30451bbf13cdacf6b745eb4f5147741bdf Author: Nobuyoshi Nakada Date: Mon Oct 4 12:15:27 2021 +0900 The same warning for static symbol literal M parse.y M test/ruby/test_syntax.rb commit da139317a59acb2d79f460bf92331450efa310fe Author: Nobuyoshi Nakada Date: Mon Oct 4 12:14:27 2021 +0900 Fix the warning message for dynamic symbol literal in condition M parse.y M test/ruby/test_syntax.rb commit e25ad5475c235b51395fe14edf212c85fe3e17fe Author: Nobuyoshi Nakada Date: Mon Oct 4 11:58:32 2021 +0900 Shorten timeouts on macOS and MinGW From recent results, `check` and `test-all` will finish within 10 minutes on macOS or 30 minutes on MinGW, otherwise time out. M .github/workflows/macos.yml M .github/workflows/mingw.yml commit 31332cf469b4e63b7469971e2ae546e59621bc37 Author: aycabta Date: Mon Oct 4 09:36:38 2021 +0900 [ruby/irb] Fix typo of variable https://github.com/ruby/irb/commit/692eb9b9b5 M lib/irb.rb commit e54d1e99e96fd2bbf6154f7eb2928b1e2d63596e Author: S.H Date: Mon Oct 4 08:21:40 2021 +0900 Move rb_ractor_p definition M gc.c M ractor_core.h commit 3f5b52bfda3dff7d7ec0cc1909428c45d26b0d72 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Sun May 2 14:11:28 2021 +0900 Function `w32_error` does not return M thread_win32.c commit 0cf9197988a72f0defb670a8f03f8427d41c4bec Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Sun May 2 15:45:42 2021 +0900 Clang never evaluates expr in `__builtin_assume` M win32/win32.c commit 761383166e62f19f895f42b85b2a04638b4f4e42 Author: git Date: Mon Oct 4 00:14:25 2021 +0900 * 2021-10-04 [ci skip] M version.h commit 1e9714cf34234d7af93814a398ff858377c2c0f3 Author: aycabta Date: Sun Oct 3 23:02:24 2021 +0900 [ruby/reline] Use default background color to erase on Windows https://github.com/ruby/reline/commit/852e855d82 M lib/reline/windows.rb commit dc9112cf10e63b5272e9469d080d5d1ced30276e Author: S.H Date: Sun Oct 3 22:34:45 2021 +0900 Using NIL_P macro instead of `== Qnil` M array.c M compile.c M dir.c M enum.c M error.c M gc.c M io.c M iseq.c M marshal.c M range.c M re.c M struct.c M thread.c M transcode.c M vm.c M vm_args.c M vm_backtrace.c M vm_insnhelper.c commit fb03598666ddbb9f8b35eb4f599e75654ca7ca06 Author: Jörg W Mittag Date: Sun Oct 3 15:16:08 2021 +0200 Remove unnecessary checks in `Range#each` [Bug #18237] In commit:7817a438eb1803e7b3358f43bd1f38479badfbdc, the implementation of `Time#succ`, which had been deprecated for 10 years, was finally removed. During that time, there was an explicit `instance_of?` check in source:range.c#L350 with a comment that the check should be removed once `Time#succ` is removed. Since `Time#succ` is now gone, this check should be removed. Note: this should be coordinated with adding a version guard to the corresponding check in ruby/spec as well. M range.c commit 19f9d9cf739e7fc185ef90d5da5b4b12cf902a52 Author: Nobuyoshi Nakada Date: Sun Oct 3 20:03:24 2021 +0900 Remove extraneous conversion to float [Bug #18236] M test/ruby/test_thread.rb M thread.c commit 853ca5ccebc71f3eb2235e8847f3b20a949943a2 Author: Masataka Pocke Kuwabara Date: Sat Sep 25 18:16:13 2021 +0900 [ruby/irb] Remove `require` in signal handler to avoid ThreadError `rdoc` has been required so it looks unnecessary https://github.com/ruby/irb/commit/5f749c613c M lib/irb/input-method.rb commit 64e96d6b4100cd7ef53ed1a7d14c1298ccb0eb23 Author: aycabta Date: Sun Oct 3 18:25:26 2021 +0900 [ruby/reline] Re-calc the scroll pos when the content in dialog is shortened https://github.com/ruby/reline/commit/12ea63e6e0 M lib/reline/line_editor.rb M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 208b7b81990edea6e220a4e2e4e0995c4ec0aad1 Author: aycabta Date: Sun Oct 3 21:50:18 2021 +0900 [ruby/irb] Version 1.3.8.pre.10 https://github.com/ruby/irb/commit/15bcbbb284 M lib/irb/version.rb commit a5c58e88deedba2f4643963eb93f4baae15341bb Author: aycabta Date: Sun Oct 3 21:49:53 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.10 https://github.com/ruby/irb/commit/800e83eabd M lib/irb/irb.gemspec commit 7f02cc50ddac5200d81dfa636ff2a6c9fa9044b5 Author: aycabta Date: Sun Oct 3 21:47:46 2021 +0900 [ruby/reline] Version 0.2.8.pre.10 https://github.com/ruby/reline/commit/1c6c0c82f0 M lib/reline/version.rb commit 6cb37d41362c2233a745a2c69bb5930771b3eab5 Author: aycabta Date: Sun Oct 3 21:37:48 2021 +0900 [ruby/reline] Initialize @trap_key to suppress warning https://github.com/ruby/reline/commit/b42c0980d9 M lib/reline/line_editor.rb commit bf4f3ef5ad9759df17e670c926c1a716e624b59c Author: aycabta Date: Sun Oct 3 18:41:22 2021 +0900 [ruby/reline] Add a comment to use "private alias_method" idiom after drop Ruby 2.5 https://github.com/ruby/reline/commit/1b00cae0fd M lib/reline/line_editor.rb commit ea64e742f5feddbdfb6526cd0a54a9986097a34d Author: Nobuyoshi Nakada Date: Sun Oct 3 16:35:10 2021 +0900 Revert "mkmf.rb: try linking at try_var" [Bug #18235] This reverts commit 524513be399e81bb170ec88aa0d501f33cbde8c3, which can return false positive by existing but unusable symbol, including functions. M lib/mkmf.rb D test/mkmf/test_have_var.rb commit b91b3000bdb4e62fc059de709dbf9eb805c08d70 Author: aycabta Date: Sun Oct 3 15:31:41 2021 +0900 [ruby/reline] Add code block notation in doc https://github.com/ruby/reline/commit/b283791dc5 M lib/reline/line_editor.rb commit bc5407f00c3898f7cd6f0b010b396532b4b4c3af Author: aycabta Date: Sun Oct 3 15:22:47 2021 +0900 [ruby/reline] Add doc for ed-unassigned and ed-insert macro https://github.com/ruby/reline/commit/7fe9ecf945 M lib/reline/line_editor.rb commit d31279fe6f54f0d9571c978912c3fb566c8abd45 Author: aycabta Date: Fri Oct 1 14:16:42 2021 +0900 [ruby/reline] Add a test for rerendering arg prompt after pasting https://github.com/ruby/reline/commit/5414a42b0e M test/reline/yamatanooroti/test_rendering.rb commit 95522ef8b97b27fb6ada357f835491a42f75400c Author: aycabta Date: Thu Sep 30 21:15:39 2021 +0900 [ruby/reline] Rerender whole buffer when argument editing finished If the argument prompt disappears when pasting is finished, rerender the whole buffer. https://github.com/ruby/reline/commit/996bbf8797 M lib/reline/line_editor.rb commit bf0a8a746228cbf06ce8ec3e2841d0b315409d6b Author: aycabta Date: Fri Oct 1 14:25:43 2021 +0900 [ruby/reline] Call LineEditor#resize on Windows https://github.com/ruby/reline/commit/65b27dd2ff M lib/reline/windows.rb commit ef350b3a5645a97270cbc72356eba671a1a41c20 Author: TOMITA Masahiro Date: Sun Sep 26 15:39:45 2021 +0900 [ruby/reline] Simplify SIGWINCH handler to avoid aborting when resizing. https://github.com/ruby/reline/commit/481add0537 M lib/reline/ansi.rb M lib/reline/line_editor.rb commit 2a3d0fbe172d52be9a64e0bd366c5f74177bd881 Author: aycabta Date: Thu Sep 30 20:55:50 2021 +0900 [ruby/reline] Add newlines for readability https://github.com/ruby/reline/commit/2a60aacebb M test/reline/yamatanooroti/multiline_repl commit 4401bbe8a7d9677cd3347073cf3a36b371b3ad62 Author: aycabta Date: Thu Sep 30 20:49:42 2021 +0900 [ruby/reline] Use String#unpack1 https://github.com/ruby/reline/commit/179c52bca8 M lib/reline/windows.rb commit a2d2f00e4a5cf74d6f2ceb74f8074cea75886dd3 Author: aycabta Date: Thu Sep 30 20:33:45 2021 +0900 [ruby/reline] Adjust border of scrollbar rendering calculation https://github.com/ruby/reline/commit/737b23beae M lib/reline/line_editor.rb commit 1d2edda9f8427a36eaa12005267b10dcf4bb882e Author: aycabta Date: Thu Sep 30 20:07:26 2021 +0900 [ruby/reline] The @block_elem_width shouldn't be used for height calculation https://github.com/ruby/reline/commit/da35902d78 M lib/reline/line_editor.rb commit 7c6ef27d6c774d626eeffd9cbdf2618796d7f96b Author: aycabta Date: Thu Sep 30 19:36:19 2021 +0900 [ruby/reline] Stop using Ctrl+j to test on Windows Because Ctrl+j and Enter are the same on Windows. https://github.com/ruby/reline/commit/fa885ed449 M test/reline/yamatanooroti/test_rendering.rb commit ff480f29533432dc03a22072d76f42bf8b641e76 Author: Nobuyoshi Nakada Date: Sun Oct 3 11:42:31 2021 +0900 Cast to void pointer to suppress -Wformat-pedantic in RUBY_DEBUG_LOG M gc.c M ractor.c M thread.c commit ceeae31901275c9a3fde19aa05b343fbcf6187d1 Author: Rei Odaira Date: Sat Oct 2 21:22:37 2021 -0500 Avoid using the altzone variable in AIX In AIX, altzone exists in the standard library but is not declared in time.h. By 524513be399e81bb170ec88aa0d501f33cbde8c3, have_var and try_var in mkmf recognizes a variable that exists in a library even when it is not declared. As a result, in AIX, HAVE_ALTZONE is defined, but compile fails due to the lack of the declaration. M ext/date/date_core.c commit 2962c421e1433bffc85130385b1e9ced263a356e Author: mitsu-ksgr Date: Sun Oct 3 11:09:08 2021 +0900 [DOC] fix small mistake in doc/marshal.rdoc [ci skip] M doc/marshal.rdoc commit c5ff9544107796fee2a6cccafdd1da5181e53b87 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Sun May 9 10:32:11 2021 +0900 Get rid of unused function warning for `_WIN32` M file.c commit 842673240bb949f698bdc2bfd814441d5c7791ac Author: git Date: Sun Oct 3 08:05:00 2021 +0900 * 2021-10-03 [ci skip] M version.h commit 4f65e6ce2a6950a0cbe077ca5d7869e28c132c3f Author: Jeremy Evans Date: Sat Oct 2 15:55:13 2021 -0700 Temporarily skip test_no_curdir test to avoid CI failures on Solaris M test/ruby/test_process.rb commit 79a4484a072e9769b603e7b4fbdb15b1d7eccb15 Author: Jeremy Evans Date: Wed Jun 30 13:50:19 2021 -0700 Do not load file with same realpath twice when requiring This fixes issues with paths being loaded twice in certain cases when symlinks are used. It took me multiple attempts to get this working. My original attempt tried to convert paths to realpaths before adding them to $LOADED_FEATURES. Unfortunately, this doesn't work well with the loaded feature index, which is based off load paths and not realpaths. While I was able to get require working, I'm fairly sure the loaded feature index was not being used as expected, which would have significant performance implications. Additionally, I was never able to get that approach working with autoload when autoloading a non-realpath file. It also broke some specs. This takes a more conservative approach. Directly before loading the file, if the file with the same realpath has been required, the loading of the file is skipped. The realpaths are stored as fstrings in a hidden hash. When rebuilding the loaded feature index, the hash of realpaths is also rebuilt. I'm guessing this makes rebuilding process slower, but I don think that is a hot path. In general, modifying loaded features is only done when reloading, and that tends to be in non-production environments. Change test_require_with_loaded_features_pop test to use 30 threads and 300 iterations, instead of 4 threads and 1000 iterations. I saw only sporadic failures with 4/1000, but consistent failures 30/300 threads. These failures were due to the fact that the concurrent deletions from $LOADED_FEATURES in other threads can result in rb_ary_entry returning nil when rebuilding the loaded features index. To avoid concurrency issues when rebuilding the loaded features index, the building of the index itself is left alone, and afterwards, a separate loop is done on a copy of the loaded feature snapshot in order to rebuild the realpaths hash. Fixes [Bug #17885] M load.c M test/ruby/test_require.rb M vm.c M vm_core.h commit 3f7da458a77f270d96e6a9f82177d6c90476c34d Author: Jeremy Evans Date: Thu Sep 23 12:31:32 2021 -0700 Make encoding loading not issue warning Instead of relying on setting an unsetting ruby_verbose, which is not thread-safe, restructure require_internal and load_lock to accept a warn argument for whether to warn, and add rb_require_internal_silent to require without warnings. Use rb_require_internal_silent when loading encoding. Note this does not modify ruby_debug and errinfo handling, those remain thread-unsafe. Also silent requires when loading transcoders. M encoding.c M load.c M transcode.c commit e0ef4899f3ef2561ae32275c2c3d11914e7343c7 Author: Nobuyoshi Nakada Date: Fri Sep 24 17:06:10 2021 +0900 [Win32] Prefer Cryptography Next Generation API [BCryptGenRandom] is available since Windows Vista / Windows Server 2008. Regarding [CryptGenRandom]: > This API is deprecated. New and existing software should start > using Cryptography Next Generation APIs. Microsoft may remove > this API in future releases. [BCryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom [CryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptgenrandom M configure.ac M random.c M win32/Makefile.sub commit b8327fb8b10615ddb3f5e1978d6d83be465503a9 Author: manga_osyo Date: Sat Oct 2 08:44:22 2021 +0900 [ruby/reline] Refactoring Reline::Key.match? and add test. https://github.com/ruby/reline/commit/90e8999ae4 M lib/reline.rb A test/reline/test_reline_key.rb commit abc0304cb28cb9dcc3476993bc487884c139fd11 Author: Jeremy Evans Date: Wed Aug 11 13:50:59 2021 -0700 Avoid race condition in Regexp#match In certain conditions, Regexp#match could return a MatchData with missing captures. This seems to require at the least, multiple threads calling a method that calls the same block/proc/lambda which calls Regexp#match. The race condition happens because the MatchData is passed from indirectly via the backref, and other threads can modify the backref. Fix the issue by: 1. Not reusing the existing MatchData from the backref, and always allocating a new MatchData. 2. Passing the MatchData directly to the caller using a VALUE*, instead of indirectly through the backref. It's likely that variants of this issue exist for other Regexp methods. Anywhere that MatchData is passed implicitly through the backref is probably vulnerable to this issue. Fixes [Bug #17507] M re.c M test/ruby/test_regexp.rb commit d08721465850a6e6954b43bbfebe2ed5a7256dec Author: Nobuyoshi Nakada Date: Thu Sep 23 01:36:27 2021 +0900 Restore Hash#compare_by_identity mode [Bug #18171] M common.mk M hash.c M internal/hash.h M marshal.c M test/ruby/test_marshal.rb commit 806e7947fec775ce27aa783ee00dbd8f52685db8 Author: Nobuyoshi Nakada Date: Sat Oct 2 08:40:37 2021 +0900 Add rb_ident_hash_new_with_size M hash.c M internal/hash.h commit 601c67e42ccdd0cab10c8e1097401876f24308b0 Author: Nobuyoshi Nakada Date: Fri Oct 1 22:03:48 2021 +0900 Suppress maybe-uninitialized warning on mingw The compilation time pragma seems not applied to inline functions expanded by the link time optimization. The local variable `mi` in thread_win32.c:native_thread_init_stack is warned. M cygwin/GNUmakefile.in commit 8c10fd2583a949b131a69e639444cd264936164d Author: Burdette Lamar Date: Fri Oct 1 17:51:39 2021 -0500 Enhanced RDoc for Enumerable (#4922) Treated: #drop #drop_while #cycle M enum.c commit 27d9935d516a77a7b8c245398befd8b2dd059dcd Author: Burdette Lamar Date: Fri Oct 1 13:44:28 2021 -0500 Enhanced RDoc for Enumerable (#4918) Treats: #zip #take #take_while M enum.c commit eaeb0a008ba13ba0e531f3ccf589c44351cddbfe Author: git Date: Sat Oct 2 02:13:05 2021 +0900 * 2021-10-02 [ci skip] M version.h commit e8d6076fbd0dd537cce38eaf9417cafb03b4fd92 Author: Jeremy Evans Date: Thu Sep 30 12:36:00 2021 -0700 Fix typo in static function name M vm_method.c commit 9b04909a85b07004ce4aa133c567fd78aa43f2ee Author: Jeremy Evans Date: Thu Sep 30 12:35:27 2021 -0700 Introduce rb_vm_call_with_refinements to DRY up a few calls M vm_eval.c M vm_insnhelper.c commit 0ad3ed5e0e6e6239fbc348f730b3f298ef4e944c Author: Nobuyoshi Nakada Date: Fri Oct 1 20:25:30 2021 +0900 Checks for CPU specific header on universal build M configure.ac M tool/m4/ruby_universal_arch.m4 commit c7414f517fb4a0b829e3385ef7e6a6a041e23e38 Author: Nobuyoshi Nakada Date: Fri Oct 1 11:32:39 2021 +0900 Prefer `printf` like the recent autoconf M tool/m4/ruby_define_if.m4 commit 3e46117d3fb12d1428c97daf9e8d6bce36b90240 Author: Nobuyoshi Nakada Date: Wed Sep 29 20:01:14 2021 +0900 Associate the encoding to the found path M file.c commit 842b0008c132dd587f09766a228041afb7fed24f Author: Nobuyoshi Nakada Date: Wed Sep 29 19:59:31 2021 +0900 Skip broken strings as the locale encoding M internal/string.h M ruby.c M string.c commit 409dbc951b9875d27bd73748c88e15386473cffb Author: Nobuyoshi Nakada Date: Tue Sep 28 23:25:51 2021 +0900 Replace expanded load path only when modified M ruby.c commit b6534691a16d751d59fc572d5dddebcaeb21f007 Author: Nobuyoshi Nakada Date: Tue Sep 28 23:24:40 2021 +0900 Copy path strings as interned strings M ruby.c commit 60d0421ca861944459f52292d65dbf0ece26e38a Author: Nobuyoshi Nakada Date: Tue Sep 28 01:32:50 2021 +0900 Fix the encoding of loaded feature names [Bug #18191] The feature names loaded from the default load paths should also be in the file system encoding. M ruby.c M test/ruby/test_require.rb commit 8e9d696ed01d782ad49f2e7b351802ec244ee1bf Author: Kazuhiro NISHIYAMA Date: Fri Oct 1 10:34:50 2021 +0900 Use macos-11 instead of macos-latest M .github/workflows/check_dependencies.yml commit 77804be4577f53f3f151bc6cf7ec754c928207f5 Author: Kazuhiro NISHIYAMA Date: Fri Oct 1 10:14:43 2021 +0900 Use macos-10.15 and macos-11 instead of macos-latest https://github.blog/changelog/2021-09-29-github-actions-jobs-running-on-macos-latest-are-now-running-on-macos-big-sur-11/ M .github/workflows/macos.yml commit ca3cc677b31897e7306ac3b4565a0dd928168b08 Author: Nobuyoshi Nakada Date: Fri Oct 1 10:41:54 2021 +0900 Define ACTION-IF-UNIVERSAL of `AC_C_BIGENDIAN` [Bug #18156] As we do not use config.h.in, just define the helper macro instead. M configure.ac commit 1f5f8a187adb746b01cc95c3f29a0a355f513374 Author: Jeremy Evans Date: Thu Sep 30 13:18:14 2021 -0900 Make Array#min/max optimization respect refined methods Pass in ec to vm_opt_newarray_{max,min}. Avoids having to call GET_EC inside the functions, for better performance. While here, add a test for Array#min/max being redefined to test_optimization.rb. Fixes [Bug #18180] M insns.def M test/ruby/test_optimization.rb M test/ruby/test_refinement.rb M vm_insnhelper.c commit a55a5fc68426ed701dace6bc166d18de06d8dcb2 Author: Burdette Lamar Date: Thu Sep 30 15:46:54 2021 -0500 Enhanced RDoc for Enumerable (#4917) Treats: #each_with_index #reverse_each #each_entry #each_slice #each_cons #each_with_object M enum.c commit 40ef034599fa576cd28903f5b831bcd87424c304 Author: git Date: Fri Oct 1 05:07:10 2021 +0900 * 2021-10-01 [ci skip] M version.h commit bb488a1a7f844bb4f2b9fd561b29a0560a7bf06a Author: John Hawthorn Date: Tue Sep 28 19:13:24 2021 -0700 Use faster any_hash logic in rb_hash From the documentation of rb_obj_hash: > Certain core classes such as Integer use built-in hash calculations and > do not call the #hash method when used as a hash key. So if you override, say, Integer#hash it won't be used from rb_hash_aref and similar. This avoids method lookups in many common cases. This commit uses the same optimization in rb_hash, a method used internally and in the C API to get the hash value of an object. Usually this is used to build the hash of an object based on its elements. Previously it would always do a method lookup for 'hash'. This is primarily intended to speed up hashing of Arrays and Hashes, which call rb_hash for each element. compare-ruby: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux] built-ruby: ruby 3.1.0dev (2021-09-29T02:13:24Z fast_hash d670bf88b2) [x86_64-linux] # Iteration per second (i/s) | |compare-ruby|built-ruby| |:----------------|-----------:|---------:| |hash_aref_array | 1.008| 1.769| | | -| 1.76x| A benchmark/hash_aref_array.rb M hash.c commit 529fc204af84f825f98f83c34b004acbaa802615 Author: Jean byroot Boussier Date: Thu Sep 30 16:50:31 2021 +0200 marshal.c: don't call the proc with partially initialized objects. (#4866) For cyclic objects, it requires to keep a st_table of the partially initialized objects. M marshal.c M spec/ruby/core/marshal/shared/load.rb M test/ruby/test_marshal.rb commit 912a8dcfc5369d840dcd6bf0f88ee0bac7d902d6 Author: Nobuyoshi Nakada Date: Thu Sep 30 18:24:37 2021 +0900 Needs `AC_PROG_CC` Although `AC_PROG_CC_C99` has been obsolete, `AC_PROG_CC` is not and the latter is necessary not to make C++ compiler mandatory. M configure.ac commit 90f2ab9d62860d7b3413fb363403c1d16b4a860e Author: 卜部昌平 Date: Thu Sep 30 13:26:56 2021 +0900 rb_fiber_raise(): add doxygen Must not be a bad idea to improve documents. M cont.c M include/ruby/internal/intern/cont.h commit 565649cfe86ce7ec7e1f558c6b91787c343ee570 Author: git Date: Thu Sep 30 08:04:49 2021 +0900 * 2021-09-30 [ci skip] M version.h commit 49edaa061fc2a910a167fd02c01b4be8845d25cc Author: Burdette Lamar Date: Wed Sep 29 18:04:29 2021 -0500 Enhanced RDoc for Enumerable (#4910) Treats: #min #max #minmax #min_by #max_by #minmax_by #include? M enum.c commit bbf98b572e1dde9b882ded516db7a01b4867005e Author: Nobuyoshi Nakada Date: Wed Sep 29 22:31:24 2021 +0900 lldb: Get rid of error at unpreserved encodings [ci skip] M misc/lldb_cruby.py commit 5eb8b6d1bd1b711a47541de41a2747af82cb0aea Author: aycabta Date: Tue Sep 28 19:21:31 2021 +0900 [ruby/reline] Support ed_argument_digit by M+num The vi mode can handle "argument number" before an operator or a motion, such as, "3x" (equals "xxx"), and "3l" (equals "lll"). In the emacs mode, GNU Readline can handle argument number with meta key, like "Meta+3 x" (equals "xxx"). https://github.com/ruby/reline/commit/9183cc2e8b M lib/reline/line_editor.rb M test/reline/test_key_actor_emacs.rb commit 0182bf615a6ef3fb0401a31b4f6840221af00db7 Author: Burdette Lamar Date: Tue Sep 28 18:20:58 2021 -0500 Enhanced RDoc for Enumerable (#4908) Treated: #none? #one? #min M enum.c commit d3bd73823b6431f9037d1b72142971d3204ba565 Author: S-H-GAMELINKS Date: Tue Sep 28 22:46:47 2021 +0900 Refactor rb_add_event_hook function M vm_trace.c commit fd76117a5de3b561475a4a8261c6a4d37a8bea1f Author: git Date: Wed Sep 29 01:38:55 2021 +0900 * 2021-09-29 [ci skip] M version.h commit 1e10099e0919eda9464ef454b4920213eca658f3 Author: Burdette Lamar Date: Tue Sep 28 11:38:35 2021 -0500 Enhanced RDoc for Enumerable (#4906) Treats: #partition #group_by #tally #first #sort #sort_by #all? #any? M enum.c commit 545e01645f7350c255f79b90f184a1317d3d55fb Author: Nobuyoshi Nakada Date: Tue Sep 28 19:55:07 2021 +0900 lldb: Show encoding of String [ci skip] M common.mk M debug.c M misc/lldb_cruby.py commit 8bdaaeb99a7e737f9cde38889b94b2bd83d9d2dc Author: Nobuyoshi Nakada Date: Tue Sep 28 19:58:13 2021 +0900 [ruby/ostruct] Strip trailing spaces https://github.com/ruby/ostruct/commit/df1109c18f M lib/ostruct.rb commit 2f19f4d1d8f944a012c691533aeb82151359dfcc Author: Hiroshi SHIBATA Date: Tue Sep 28 19:15:12 2021 +0900 Followed up behavior change of set https://github.com/ruby/ruby/commit/f360ebb30606a4143029996073d29d007069428d M spec/ruby/library/set/pretty_print_spec.rb commit 395da04aa6d2c8043b82b257a76aecba48dac755 Author: Hiroshi SHIBATA Date: Tue Sep 28 19:14:02 2021 +0900 Followed up ruby/spec examples for date. https://github.com/ruby/ruby/commit/f9f7f3a75ec5af4a70e3332f8f5aa300c13432e2 M spec/ruby/library/date/strftime_spec.rb M spec/ruby/library/datetime/strftime_spec.rb commit be51f4ce839c8a008178a1d757e7541922a00f7a Author: Yusuke Endoh Date: Tue Aug 17 10:52:10 2021 +0900 [ruby/did_you_mean] Disable error_highlight when testing did_you_mean Fixes #160 https://github.com/ruby/did_you_mean/commit/93df310873 M test/did_you_mean/test_verbose_formatter.rb commit fcaa918445c85c7b21d83f8eda2d237eace4b315 Author: Ellen Marie Dash Date: Fri Sep 24 17:54:08 2021 -0400 [rubygems/rubygems] Only disallow FIXME/TODO for first word of gemspec description 7890c98 matched the start of each line, whereas this matches the start of the entire string. https://github.com/rubygems/rubygems/commit/432de7b819 M lib/rubygems/specification_policy.rb M test/rubygems/test_gem_specification.rb commit 6874d4f11622ab5c0ba68e5b45d1a35354eb6524 Author: David Rodríguez Date: Thu Sep 23 11:54:09 2021 +0200 [rubygems/rubygems] Add missing `rubygem_push` prerequisite Just like all the other tasks using the `built_gem_path`, the `:build` task is a prerequisite for this task too. https://github.com/rubygems/rubygems/commit/d193f9a7f9 M lib/bundler/gem_helper.rb commit f360ebb30606a4143029996073d29d007069428d Author: Kazuki Tsujimoto Date: Sun May 23 20:10:21 2021 +0900 [ruby/set] Make Set#pretty_print IRB::ColorPrinter friendly https://github.com/ruby/set/commit/f467028cdb M lib/set.rb commit a6459081bca72ddb98e0fa971c7b0e225c9343e9 Author: Kazuhiro NISHIYAMA Date: Fri Sep 10 19:25:06 2021 +0900 [ruby/un] Bump version to 0.2.0 https://github.com/ruby/un/commit/104bc10c57 M lib/un.gemspec commit f9f7f3a75ec5af4a70e3332f8f5aa300c13432e2 Author: Jeremy Evans Date: Tue Jul 27 10:23:47 2021 -0700 [ruby/date] Make %v strftime flag use uppercase month %v is supposed to be the VMS date, and VMS date format uses an uppercase month. Ruby 1.8 used an uppercase month for %v, but the behavior was changed without explanation in r31672. Time#strftime still uses an uppercase month for %v, so this change makes Date#strftime consistent with Time#strftime. Fixes [Bug #13810] https://github.com/ruby/date/commit/56c489fd7e M ext/date/date_core.c M ext/date/date_strftime.c M test/date/test_date_strftime.rb commit af68070068e86872014af9e69bae628c78ac26d6 Author: Hiroshi SHIBATA Date: Tue Sep 14 13:45:40 2021 +0900 [ruby/drb] 6d890ec5979ec72586dd5f66dd8d33f7a9aefd1e was introduced to support only Ruby 2.7+ https://github.com/ruby/drb/commit/bec410d184 M lib/drb/drb.gemspec commit f6c32287942ca554a8f422ab19a1336ad9ac1b57 Author: Hiroshi SHIBATA Date: Sat Sep 11 13:43:05 2021 +0900 [ruby/drb] Use omit instead of skip for test-unit https://github.com/ruby/drb/commit/0da149e7a9 M test/drb/drbtest.rb commit 3be987653aef5a4e507fe23ac40a7025cdd903d3 Author: Olle Jonsson Date: Wed Jun 16 13:22:50 2021 +0200 [ruby/drb] gemspec: Remove "executables" configuration This gem exposes 0 executables. https://github.com/ruby/drb/commit/ed4d0363e5 M lib/drb/drb.gemspec commit cefa02957312620187cfd81219650304032ae787 Author: rm155 <86454369+rm155@users.noreply.github.com> Date: Fri Aug 20 08:12:28 2021 -0400 [ruby/ostruct] Allow properties to be accessed even when the object is moved to another Ractor (https://github.com/ruby/ostruct/pull/29) https://github.com/ruby/ostruct/commit/d85639f2f5 M lib/ostruct.rb M test/ostruct/test_ostruct.rb commit 83662f1d9968204a43adf4a94d6872967b65f712 Author: Hiroshi SHIBATA Date: Tue Sep 28 16:13:45 2021 +0900 Removed needless rake and bundler files for rdoc D lib/rdoc/Rakefile M tool/sync_default_gems.rb commit 6bca410ae8b16238d02c868ce8fa1af13a5c4460 Author: U.Nakamura Date: Tue Sep 28 15:50:38 2021 +0900 Move platform maintainers list M doc/contributing.rdoc M doc/maintainers.rdoc commit c4acde8959c898f4ed50bd8b76f4a026397cbc8b Author: aycabta Date: Mon Sep 27 04:39:44 2021 +0900 [ruby/reline] Ignore NUL by ed_quoted_insert https://github.com/ruby/reline/commit/43b7c01a98 M lib/reline/line_editor.rb M test/reline/test_key_actor_emacs.rb commit 1e9a688cd55d825d8c77c74c62d4b642ef492659 Author: S-H-GAMELINKS Date: Tue Sep 28 13:00:16 2021 +0900 Move some function declaration to internal/io.h M internal/io.h M thread.c commit 2cf101436202c72278926a9d2593f9c26b8e83ce Author: Burdette Lamar Date: Mon Sep 27 18:17:47 2021 -0500 Enhanced RDoc for Struct (#4895) Revises introductory material. Adds section "What's Here". Adds previously missing documentation for method #deconstruct_keys. M struct.c commit 1147136b8a2fd40b2c2a60c00aa47ad514dd934e Author: John Bachir Date: Fri Sep 24 23:15:52 2021 +0100 [ruby/timeout] test that yield is given number of seconds https://github.com/ruby/timeout/commit/ec5a614334 M test/test_timeout.rb commit a60bf6f9bfbfe4248cbe6792d70fe029357b3d86 Author: git Date: Tue Sep 28 00:53:19 2021 +0900 * 2021-09-28 [ci skip] M version.h commit 5ec730cda5c0ad38146a0cc693bc6c41512f7ee7 Author: Nobuyoshi Nakada Date: Mon Sep 27 16:18:16 2021 +0900 Set the locale encoding to UTF-8 Cirrus CI sets the environment variable `CIRRUS_COMMIT_MESSAGE` from the pull request description. M .cirrus.yml commit a28fff5f73b10d7b6ec463c8c6a563b43eb52321 Author: Nobuyoshi Nakada Date: Tue Sep 28 00:40:31 2021 +0900 Revert "Unexport `CIRRUS_COMMIT_MESSAGE`" This reverts commit 09863a4cd8eb40b34b310083d8cdda899ab5bcc1. M .cirrus.yml commit 09863a4cd8eb40b34b310083d8cdda899ab5bcc1 Author: Nobuyoshi Nakada Date: Mon Sep 27 21:01:36 2021 +0900 Unexport `CIRRUS_COMMIT_MESSAGE` Cirrus CI sets this environment variable from the pull request description. However it does not seem any locales other than C are installed, the default external encoding is US-ASCII. That means this environment variable will be an invalid byte sequence, and some tests fail. M .cirrus.yml commit dfa67db62bbffd9f6900b46aa04309ea77acf673 Author: Nobuyoshi Nakada Date: Mon Sep 27 16:01:53 2021 +0900 Show failed environment variables M test/ruby/test_m17n.rb commit 0a38212e57fc3c07e5607c5bd79d21c51e5b48d2 Author: rm155 Date: Fri Jul 16 18:23:40 2021 -0400 [ruby/timeout] Freeze VERSION https://github.com/ruby/timeout/commit/ac7b010c41 M lib/timeout.rb commit efa0c31ce518bb26aca80392cce7fc5471ca9fef Author: Nobuyoshi Nakada Date: Mon Sep 27 19:02:45 2021 +0900 Add printf-style format attribute to oniguruma functions Also make the format string compatible with literal strings which are const arrays of "plain" chars. M regerror.c M regint.h M regparse.c commit f8000e293141a9af9f51effc76007aab21b0dede Author: Joao Fernandes Date: Fri Sep 24 16:13:40 2021 +0100 [ruby/base64] Avoid unnecessary string duplication String#ljust returns a new string, so whenever we need to add padding, we can replace "-/" in place with String#tr! and avoid creating yet another copy of the string. https://github.com/ruby/base64/commit/6401ef5824 M lib/base64.rb commit 1b004ba0db2b8e4e0a6b3362dd7681e0c642cab0 Author: Joao Fernandes Date: Thu Sep 2 16:57:26 2021 +0100 [ruby/base64] Simplify Thanks @nobu! https://github.com/ruby/base64/commit/39e22efa2b M lib/base64.rb commit 05a28ce5b11d0e0ca48bae799ef65e9657dc4f6a Author: Joao Fernandes Date: Thu Sep 2 15:53:01 2021 +0100 [ruby/base64] Improve Base64.urlsafe_encode64 performance Improves the method's performance when asked to remove padding. str.delete!("=") iterates over the entire string looking for the equals character, but we know that we will, at most, find two at the end of the string. https://github.com/ruby/base64/commit/544e0c2cf7 M lib/base64.rb commit f7ffe9dbdeb2bebb4c9155fc391f0bab198bfb51 Author: Nobuyoshi Nakada Date: Mon Sep 27 14:47:52 2021 +0900 Introduce `RBIMPL_NONNULL_ARG` macro Runtime assertion for the argument declared as non-null. This macro does nothing if `RBIMPL_ATTR_NONNULL` is effective, otherwise asserts that the argument is non-null. M enumerator.c M gc.c M include/ruby/internal/attr/nonnull.h commit 582602d142c7ea2b21cd7539c09976b078d7bbe9 Author: John Bachir Date: Fri Sep 24 22:19:51 2021 +0100 [ruby/timeout] test for basic functionality https://github.com/ruby/timeout/commit/1c6bb90aea M test/test_timeout.rb commit 00cfafc0f5424e31dbf0a13b5bd6345572260f13 Author: aycabta Date: Mon Sep 27 03:21:39 2021 +0900 [ruby/irb] Add doc about "echo on assignment" https://github.com/ruby/irb/commit/5af637b3c1 M doc/irb/irb.rd.ja M lib/irb.rb M lib/irb/context.rb M lib/irb/lc/help-message M man/irb.1 commit 51773bed10eb9d8f4d38e1a1e9d9d04d4954380d Author: aycabta Date: Mon Sep 27 03:14:14 2021 +0900 [ruby/irb] Add blank lines to sample code in doc for readability https://github.com/ruby/irb/commit/123b7e53ee M lib/irb/context.rb commit 2ae64bf6b92bc64005830fc8778a56a3a8f44865 Author: aycabta Date: Mon Sep 27 03:13:21 2021 +0900 [ruby/irb] Fix sample code in doc https://github.com/ruby/irb/commit/642adbe968 M lib/irb/context.rb commit 5c0636bda4a2abf71dbb8a4e398f002d5c2079c2 Author: aycabta Date: Mon Sep 27 03:03:20 2021 +0900 [ruby/irb] Add a space before left paren https://github.com/ruby/irb/commit/973bac83ff M lib/irb.rb M lib/irb/lc/help-message M man/irb.1 commit 7ba16939bbf626630547dbe51a629a63b373dbc0 Author: git Date: Mon Sep 27 01:16:29 2021 +0900 * 2021-09-27 [ci skip] M version.h commit a230ff0f83005c18e8da95d53027e3b726152875 Author: aycabta Date: Mon Sep 27 01:14:31 2021 +0900 [ruby/reline] ^K is kill-line and ^U is unix-line-discard for inputrc https://github.com/ruby/reline/commit/5936071940 M lib/reline/line_editor.rb commit 3f7b08d2cbdaa2d8c917e53cfa57210d0d99b0bf Author: Jake Zimmerman Date: Thu Sep 9 15:35:07 2021 -0700 [ruby/reline] Implement vi_kill_line_prev This operation is mentioned and bound to `^U` in both `vi_command.rb` and `vi_insert.rb`, but there is no definition of it. Both Vi and Emacs use the same keystroke to do the same behavior, so I've chosen to use `alias_method` to make the implementation small, rather than duplicating the method and re-implementing it. https://github.com/ruby/reline/commit/fdbfc8669f M lib/reline/line_editor.rb commit 389de6f052ff8b835594d3109b2f214d995838c2 Author: git Date: Sun Sep 26 09:56:39 2021 +0900 * 2021-09-26 [ci skip] M version.h commit 18f0b7c2f7b601d0bb84d6526486e67966d84c45 Author: Nobuyoshi Nakada Date: Sun Sep 26 09:48:53 2021 +0900 Fix dependency of verconf.h template/verconf.h.tmpl reads rbconfig.rb. M common.mk commit 806a27f98b5d414f8e7daa853072113ec41451fb Author: Nobuyoshi Nakada Date: Sat Sep 25 15:41:51 2021 +0900 Dot-prefix appveyor.yml R100 appveyor.yml .appveyor.yml commit 69ce154d6e5bc99a93e82e013862c321f74af8ec Author: Nobuyoshi Nakada Date: Fri Sep 24 19:23:15 2021 +0900 FL_USER flags on ohter than T_DATA are reserved [Misc #18059] M spec/ruby/optional/capi/ext/rbasic_spec.c commit 9151ed2fb2fa8c0648666cdfdb56e38ec3b15815 Author: Samuel Williams Date: Fri Sep 24 08:17:56 2021 +1200 Return fstrings from `build_const_pathname`. It's possible for `build_const_pathname` to be called when `rb_cString` is still NULL. There is a fix-up step when `rb_cString` is initialized, but it only applies to `fstring` instances. M variable.c commit 13b17cb8fcdc1d37ac9708b344ac69be61c51681 Author: S-H-GAMELINKS Date: Tue Sep 21 22:59:35 2021 +0900 Refactor rb_call_super function M vm_eval.c commit 39a6bf55134c7c2360877f9298aebd7f5e6b7d6d Author: Burdette Lamar Date: Fri Sep 24 18:41:02 2021 -0500 Enhanced RDoc for Struct (#4891) Treats: #values_at #select #== #hash #eql? #size #dig M struct.c commit bbdfce96a29e30680b8038d1902ef6b9116d0f08 Author: Burdette Lamar Date: Fri Sep 24 10:35:19 2021 -0500 Enhanced RDoc for Struct (#4890) Treated: #each #each_pair #inspect #to_a #to_h #[] #[]= M struct.c commit 7adfb14f603bb4dc67b37cd961fa489fff0f2758 Author: git Date: Sat Sep 25 00:12:00 2021 +0900 * 2021-09-25 [ci skip] M version.h commit f726c79d7489c09615b37f74eb747cf64876a643 Author: aycabta Date: Mon Sep 20 23:44:01 2021 +0900 [ruby/reline] Add aliases {prev,next}_history to ed_{prev,next}_history https://github.com/ruby/reline/commit/d740e18cff M lib/reline/line_editor.rb commit ff26c60bc137b6be96c7f49241b831b037a157b3 Author: aycabta Date: Thu Sep 23 18:02:02 2021 +0900 [ruby/irb] Revert "Show original string byte sequence to debug" This reverts commit b42fe5937ab2a605a198ffb866db5ccda541568d. https://github.com/ruby/irb/commit/b22094a16f M lib/irb/completion.rb commit 93291005a0bcb11d8dca4abdc645d50e1c98aefd Author: aycabta Date: Thu Sep 23 16:20:51 2021 +0900 [ruby/irb] Show original string byte sequence to debug https://github.com/ruby/irb/commit/7a97bb0e56 M lib/irb/completion.rb commit 40a65030e568633a01529ba416c64a9dde94ee54 Author: aycabta Date: Fri Sep 24 22:56:38 2021 +0900 Pend test_complete_require_library_name_first M test/irb/test_completion.rb commit 225a29b9bc200f09ee56ce7b5221245709f64e4c Author: Nobuyoshi Nakada Date: Fri Sep 24 19:23:15 2021 +0900 FL_USER flags on ohter than T_DATA are reserved [Misc #18059] M spec/ruby/optional/capi/rbasic_spec.rb M spec/ruby/optional/capi/shared/rbasic.rb commit 845c017e0847ec3eedf50900f922a63d3c8c1f71 Author: Nobuyoshi Nakada Date: Fri Sep 24 12:31:20 2021 +0900 Reminders of the Windows versions each API is available [ci skip] M win32/win32.c commit 0eb679f70c6066b85251a8324ba69bf60d25b8dd Author: Nobuyoshi Nakada Date: Fri Sep 24 11:36:42 2021 +0900 HCRYPTPROV is not a HANDLE Even though it is called "handle" and prefixed with "H", and its value looks like a handle. M random.c commit 61aedb28ef1c618b57b59a7f96d598be376f3222 Author: Lucas Kanashiro Date: Thu Sep 23 18:25:38 2021 -0300 [rubygems/rubygems] Use pend instead of skip in the absence of git in test helper https://github.com/rubygems/rubygems/commit/798a93a98c M test/rubygems/helper.rb commit 4e7f085cf7a4e83a05ce134f19719146ee131ffe Author: David Rodríguez Date: Thu Sep 23 11:42:40 2021 +0200 [rubygems/rubygems] Revert "Fix an issue causing nested Gem::Uri instances" This reverts commit 6589f7bcc7a63a47cb73f58a290c1e1ac42bba99. https://github.com/rubygems/rubygems/commit/9d0ce31f08 M lib/rubygems/request.rb commit b1ab1ee046816b021a3cbd0a08bfce0e459beb4b Author: huangduirong Date: Thu Sep 9 15:24:41 2021 +0800 [rubygems/rubygems] Fix error message building changing password of source Do not change the password of the input parameter source during anonymization, by using the proper helper instead of changing the original uri directly. https://github.com/rubygems/rubygems/commit/eaa2dd8a97 M lib/rubygems/errors.rb M test/rubygems/test_gem_source_fetch_problem.rb commit 63297c2ca494661bdf5536a3c5d3a1c8d68d2d64 Author: Nobuyoshi Nakada Date: Fri Sep 24 10:05:17 2021 +0900 Align the implementation precedences with `rb_atomic_t` definition On MinGW, where both of Win32 API and GCC built-ins are available, the mismatch of implementations to the definition caused lots of warnings. M include/ruby/atomic.h commit b929af430c39df6597d2f3f53b82c38b1d76217b Author: Nobuyoshi Nakada Date: Fri Sep 24 01:30:00 2021 +0900 Use the flag for uninitialized module [Bug #18185] Make `Module#ancestors` not to include `BasicObject`. M class.c M test/ruby/test_module.rb commit 65285bf673914424e960671d1d35e357c455985e Author: Nobuyoshi Nakada Date: Fri Sep 24 00:55:11 2021 +0900 Consider modified modules initialized [Bug #18185] M class.c M eval.c M internal/class.h M test/ruby/test_module.rb commit 854fe9d1c1d52037a0c04d75b75765f25f028d1e Author: Burdette Lamar Date: Thu Sep 23 18:08:49 2021 -0500 Correct two errors in Range RDoc (#4889) M range.c commit b38d2bf1182081df7cb09538bb4b23e89a416dfb Author: Burdette Lamar Date: Thu Sep 23 17:21:40 2021 -0500 Enhance RDoc for Struct (#4885) Treats #members and ::new. M struct.c commit edb34e35639b1446cf3a860f9a839e910297387a Author: Alan Wu Date: Thu Sep 23 17:14:04 2021 -0400 Fix typo in insns.def [ci skip] M insns.def commit 5d756118af16d22c9b276bad86464050d9100cce Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Thu Aug 19 06:01:24 2021 +0900 Use the correct address size M addr2line.c commit 77e6715d67b92b16bcb4588e0da37b494cdc5278 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Fri Apr 30 23:29:57 2021 +0900 Interpret `DW_RLE_start_length` Fixes [Bug #17823] M addr2line.c commit f140965b973c2b6c3fb3e029cb8484cf45a0f1ec Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Fri Apr 30 23:22:37 2021 +0900 Fix return value when `base != 0` M addr2line.c commit 3531c859a63573cf43cd708db887d4af31b2add5 Author: git Date: Fri Sep 24 03:08:48 2021 +0900 * 2021-09-24 [ci skip] M version.h commit 63aba768931a871e3454ad0d62c7813f300c9a53 Author: aycabta Date: Fri Sep 24 03:08:33 2021 +0900 [ruby/reline] Use SGR 0 instead of SGR 39 and 49 to reset font settings https://github.com/ruby/reline/commit/cbacb4c1cf M lib/reline/line_editor.rb commit 3b5923bca3f6cdaddda59c4b52fed1706dd727e9 Author: aycabta Date: Thu Sep 23 23:41:45 2021 +0900 [ruby/reline] Reset all font settings at left end of dialog https://github.com/ruby/reline/commit/5f293b5127 M lib/reline/line_editor.rb commit 8226c33bb510cbe26ec286099812126e938d236d Author: Nobuyoshi Nakada Date: Thu Sep 23 00:23:37 2021 +0900 Add symname_equal_lit for comparison with a string literal M marshal.c commit 96c8964e0e65bb6e232f1da6b4725404cf4f4540 Author: Nobuyoshi Nakada Date: Thu Sep 23 19:33:48 2021 +0900 Revive the test using US-ASCII incompatible symbol M test/ruby/test_marshal.rb commit 4704bc09767cb885315abf7393605fcb930fddb8 Author: aycabta Date: Thu Sep 23 18:02:02 2021 +0900 Revert "Show original string byte sequence to debug" This reverts commit b42fe5937ab2a605a198ffb866db5ccda541568d. M lib/irb/completion.rb commit ede95f541b15d8f95db0215716e005b989a1e7d5 Author: Nobuyoshi Nakada Date: Thu Sep 23 16:28:28 2021 +0900 [ruby/irb] Ignore any encoding errors while symbol completion https://github.com/ruby/irb/commit/daa65cded1 M lib/irb/completion.rb M test/irb/test_completion.rb commit e6118c8108b6233615618ba1d048336ef83c6ff6 Author: Jun Aruga Date: Wed Sep 22 09:51:53 2021 +0200 .github/workflows/compilers.yml: Use `GNUMAKEFLAGS`. Because the `make` environment variable causes some rubygems tests to fail. And to align with `.cirrus.yml`. M .github/workflows/compilers.yml commit 8b48b57fd89ad1bbb1d3b4b8445a65ab2d0b272b Author: Nobuyoshi Nakada Date: Thu Sep 23 16:40:04 2021 +0900 Comparing nonnull argument to NULL is useless M enumerator.c commit b42fe5937ab2a605a198ffb866db5ccda541568d Author: aycabta Date: Thu Sep 23 16:20:51 2021 +0900 Show original string byte sequence to debug M lib/irb/completion.rb commit 49af9012a20a824542cf588e55e5488895553e09 Author: Nobuyoshi Nakada Date: Thu Sep 23 16:02:44 2021 +0900 Prohibit invalid encoding symbols [Bug #18184] M marshal.c M test/ruby/test_marshal.rb commit 7cec727612c7b3a3c05b6d9efa16a6d4557d2f47 Author: Nobuyoshi Nakada Date: Thu Sep 23 00:04:37 2021 +0900 Check instance variable count overflow M marshal.c commit 64bdad59918f8d439ffef9000ea4e670a8bdd0f5 Author: Nobuyoshi Nakada Date: Thu Sep 23 00:53:44 2021 +0900 Extract ruby2_keywords predicate and setter M marshal.c commit 842a4cb915e7feba6f390ad66106aaa53ed929cf Author: Nobuyoshi Nakada Date: Wed Sep 22 23:16:27 2021 +0900 Turned to_be_skipped_id to an inline function M marshal.c commit e0c6e8c64ac3d7cf05a40acacb36dc60924af897 Author: Kazuhiro NISHIYAMA Date: Thu Sep 23 09:20:00 2021 +0900 [DOC] Use `unpack1` instead of `unpack(template)[0]` [ci skip] M ext/socket/basicsocket.c M io.c M string.c commit fb976df81f99bb4505179ec02a74ece6cb6ffeee Author: Burdette Lamar Date: Wed Sep 22 14:51:11 2021 -0500 What's Here for Range (#4881) M range.c commit c8661de0143c1d434dd9f68910ae304c59f8576b Author: git Date: Thu Sep 23 01:20:02 2021 +0900 * 2021-09-23 [ci skip] M version.h commit 552728a23aeab0df598b356b19a573259e297d14 Author: Nobuyoshi Nakada Date: Thu Sep 23 00:04:14 2021 +0900 Check the encoding of `ruby2_keywords_flag` [Bug #18184] M marshal.c M test/ruby/test_marshal.rb commit 357406da8b463978b6db68ef5672b76067506c64 Author: Kazuhiro NISHIYAMA Date: Wed Sep 22 18:14:13 2021 +0900 [ruby/reline] Use `unpack1` instead of `unpack(template)[0]` https://github.com/ruby/reline/commit/45aa367616 M lib/reline/terminfo.rb M lib/reline/windows.rb commit 782d1d876bb119284f52a7eb59e63f3571c4d55e Author: Kaíque Kandy Koga Date: Sun Sep 19 16:44:11 2021 -0300 [ruby/irb] Use typed spaces when the line is inside the here documents Use first method instead of square brackets to support 2.5 and 2.6 versions Use tokens Clear check_newline_depth_difference https://github.com/ruby/irb/commit/6fec2a5d46 M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit 7c0230b05d0978958f89434c84ddd9c82419c1a5 Author: Nobuyoshi Nakada Date: Wed Sep 22 18:57:10 2021 +0900 Check the entire name as `ruby2_keywords_flag` [Bug #18184] M marshal.c M test/ruby/test_marshal.rb commit e2976fd1f678866be68ec213926f336a87e9a6aa Author: 卜部昌平 Date: Wed Sep 22 17:59:28 2021 +0900 add NEWS entry for https://github.com/ruby/ruby/pull/4815 M NEWS.md commit 0dea31c437abc59c80ece31e94cc5f8fb562c3e0 Author: 卜部昌平 Date: Tue Sep 21 14:05:19 2021 +0900 RBIMPL_ATTR_NOALIAS: not until LLVM 12 I observed CI failures. https://github.com/ruby/ruby/actions/runs/1240165911 It turns out that RBIMPL_ATTR_NOALIAS was not mature before. Skip using it for old clang, and everything work as expected. M include/ruby/internal/attr/noalias.h commit ecaf3a391d7f84ea8893d75940c1958aa2374b68 Author: 卜部昌平 Date: Wed Sep 15 16:46:47 2021 +0900 include/ruby/atomic.h: rework Reduce macros to do the same things in inline functions instead. This way assertions can be made granular. M include/ruby/atomic.h commit dd78084ea6c3fe97302889eedcb04b859fdaf21c Author: fedor Date: Tue Sep 14 12:20:01 2021 -0400 .cirrus.yml: Add Cirrus CI for Arm64 tests. Co-authored-by: fedor A .cirrus.yml M README.md A tool/disable_ipv6.sh commit bf3e3148525b8f83be9b7374ae41b07cc73f5052 Author: Samuel Williams Date: Wed Sep 22 00:02:14 2021 +1200 Rework order of operations to better handle last_status. M process.c commit 7db021f83bc68420746835bb92fce9a5d5a93d9b Author: Samuel Williams Date: Sun Dec 6 01:05:40 2020 +1300 Add support for non-blocking `Kernel.system`. M internal/process.h M process.c commit f8bf766877782468c4da8c1cecaf21ce9eac3684 Author: Nobuyoshi Nakada Date: Wed Sep 22 14:08:05 2021 +0900 [DOC] Additional to Array#sample [ci skip] * The requirement to the +n+ argument. * The order of the result array. [Misc #14147] M array.rb commit 13bb16f41edb4682f76d02a9bf2e4d65b443dcf8 Author: Jonathan Date: Fri Sep 17 12:39:25 2021 -0600 [rubygems/rubygems] Fix bug where redacted credentials are sent to server Implement deep cloning for `Gem::Uri` class to fix a bug where redacting credentials modifies the URI string in place instead of returning a modified copy. https://github.com/rubygems/rubygems/commit/eafb5a279b M lib/rubygems/uri.rb M test/rubygems/test_gem_uri.rb commit 42dcac00b156d403f5bde0c9c709bc35a9c8e963 Author: Jonathan Date: Fri Sep 17 12:40:53 2021 -0600 [rubygems/rubygems] Update gem request tests to pass a Gem::Uri into the Gem::Request class https://github.com/rubygems/rubygems/commit/e8e7c2078f M test/rubygems/test_gem_request.rb commit 63109976bef20a7141f18fc33d6d8a867c3a7fc1 Author: Jonathan Date: Fri Sep 17 12:36:55 2021 -0600 [rubygems/rubygems] Fix an issue causing nested Gem::Uri instances https://github.com/rubygems/rubygems/commit/6589f7bcc7 M lib/rubygems/request.rb commit 105e037fe8a64dd3331123d45b302f03d555bb21 Author: fiveNinePlusR Date: Fri Sep 17 09:41:05 2021 -0700 [rubygems/rubygems] Fix possible malicious website to example.com example.com is the canonical stand in for domain examples and will never have a backing website. via https://www.rfc-editor.org/rfc/rfc2606.html https://github.com/rubygems/rubygems/commit/26622c81c2 M lib/bundler/templates/newgem/newgem.gemspec.tt M spec/bundler/commands/newgem_spec.rb commit cd2e6318f6502018d398cb9706a286ef5b202bf4 Author: Ellen Marie Dash Date: Fri Aug 13 15:59:46 2021 -0400 [rubygems/rubygems] Only check if descriptions *start with* FIXME/TODO It doesn't make much sense to just forbid certain words in descriptions. https://github.com/rubygems/rubygems/commit/7890c98415 M lib/rubygems/specification_policy.rb M test/rubygems/test_gem_specification.rb commit eaeb5bf0bcf42d43b3118e0586508a5d78cfa5c7 Author: David Rodríguez Date: Fri Sep 3 12:21:20 2021 +0200 [rubygems/rubygems] Avoid loading URI unnecessarily when activating gems https://github.com/rubygems/rubygems/commit/ef5f30cba7 M lib/rubygems/resolver/set.rb commit 5fb42986a1b38a758863799aea7e649a6d9fb48c Author: git Date: Wed Sep 22 09:59:23 2021 +0900 * 2021-09-22 [ci skip] M version.h commit 6e1507f8a2d65d83e597888df0831ba90fb8cdb2 Author: Nobuyoshi Nakada Date: Tue Sep 21 22:24:58 2021 +0900 Explicit the target of do-install-all as the same as dont-install-all M common.mk commit ee53d97b16fdf13e14e1a4a89c31e2a621ddbd66 Author: Nobuyoshi Nakada Date: Fri Sep 17 20:30:16 2021 +0900 [ruby/irb] Sort shortest files in each load paths There are two directories where csv*/**/*.rb exist, lib/ and test/, and depending on the order of tests, test/ may be placed before lib/. In that case, as "shortest" names were not sorted, csv/helper.rb will be the first candidate for "csv". https://github.com/ruby/irb/commit/2af7c6bf71 M lib/irb/completion.rb commit c94718e39fdeca4ae2079b7be64e42023e846aa3 Author: Nobuyoshi Nakada Date: Fri Sep 17 20:01:15 2021 +0900 [ruby/irb] Check if Gem::Specification is defined https://github.com/ruby/irb/commit/005ade74dd M lib/irb/completion.rb commit 4576cdca7390ed694536cabf2e699d22c5e0750b Author: Nobuyoshi Nakada Date: Fri Sep 17 19:56:28 2021 +0900 [ruby/irb] Fix argument order https://github.com/ruby/irb/commit/05c65858a0 M test/irb/test_completion.rb commit 98c5907c653d19477e19b973cc67b97607c4ba4b Author: Nobuyoshi Nakada Date: Mon Sep 20 22:17:46 2021 +0900 Ripper source on mswin * Get rid of command substitution for cmd.exe. * Separate RM1 command to remove single file sans directory. M common.mk M template/Makefile.in M win32/Makefile.sub commit 046f1bf492d707465c0fe90ea8bac34746c9455a Author: Burdette Lamar Date: Mon Sep 20 18:19:21 2021 -0500 Enhanced RDoc for Enumerable#inject (#4876) M enum.c commit 736eb30e523bc38ddf29e40bf38f0de618843117 Author: Burdette Lamar Date: Mon Sep 20 13:41:55 2021 -0500 Enhanced RDoc for Range (#4870) Introductory material revised. M range.c commit 53bee7536a6f13d88a4471ac84c8c9f3230a78c2 Author: git Date: Tue Sep 21 03:41:10 2021 +0900 * 2021-09-21 [ci skip] M version.h commit 2a9876a885ba671178458e7fa98738eb8aa21420 Author: Jemma Issroff Date: Mon Sep 20 14:40:55 2021 -0400 Enhance documentation on GC.stat (#4843) M gc.rb commit 9770bf23b7a273246b9a6b084e79a8fb6fc1af11 Author: Peter Zhu Date: Fri Sep 17 14:38:06 2021 -0400 Fix malloc_increase is not correctly calculated Commit 123eeb1c1a904923754ce65148dbef045b56e083 added incremental GC which moved resetting malloc_increase, oldmalloc_increase to before marking. However, during_minor_gc is not set until gc_marks_start. So the value will be from the last GC run, rather than the current one. Before the incremental GC commit, this code was in gc_before_sweep which ran before sweep (after marking) so the value during_minor_gc was correct. M gc.c commit b61064b821823e016e8015f3d9eeab3cf9074ccd Author: Samuel Williams Date: Fri Jul 16 15:22:17 2021 +1200 Add gvl and fiber assertions to scheduler interface to catch invalid usage. M common.mk M scheduler.c M vm_eval.c commit cb8434563d3cc8fc5c3a5aa1e34ad7a9bb542cdb Author: Samuel Williams Date: Mon Jul 19 10:14:51 2021 +1200 Add alternative optional hook for `scheduler_close` to allow public usage of close. M scheduler.c M test/fiber/scheduler.rb commit 4730a1e0ec24cf273d2d93866ef56f9c5ac2a516 Author: Samuel Williams Date: Mon Sep 20 20:50:57 2021 +1200 Don't describe C function that does not exist in prior versions. M spec/ruby/optional/capi/fiber_spec.rb commit 649c87bd86d08bee8cd61584e6ece34e15e6814d Author: Samuel Williams Date: Mon Sep 20 14:19:52 2021 +1200 Add C interface spec. M spec/ruby/optional/capi/ext/fiber_spec.c M spec/ruby/optional/capi/fiber_spec.rb commit 88ba5fe547cae2370eccbe230754f59e1d5cbaf3 Author: Samuel Williams Date: Wed Jul 14 13:42:18 2021 +1200 Expose `rb_fiber_raise` and tidy up the internal implementation. M cont.c M include/ruby/internal/intern/cont.h commit 2e3d43e5775799d1b4d6672a3a18b3fc5777c52b Author: Nobuyoshi Nakada Date: Sun Sep 19 22:22:09 2021 +0900 Allow to include uninitialized modules [Bug #18177] The module that is about to be included is considered initialized. M class.c M test/ruby/test_module.rb commit d2d549032c7e40d3720f298a67abbcdc5b1666a2 Author: git Date: Mon Sep 20 00:15:48 2021 +0900 * 2021-09-20 [ci skip] M version.h commit 576b2e64cdc5ea42ad345dd3c1c215e006c06fca Author: Lars Kanis Date: Fri Jun 25 10:07:18 2021 +0200 MINGW-UCRT: Set CONFIG['arch'] and RUBY_PLATFORM to "x64-mingw-ucrt" This allows easy differentiation between ABI incompatible platforms like MSWIN64 and MSVCRT-based MINGW32. This also implicates a distinct rubygem platform which is also "x64-mingw-ucrt". Although the term "mingw32" is the OS-part for 64 bit systems as well, the "32" is misleading and confusing for many users. Therefore the new platform string drops the "32" from the OS part to just "mingw". This conforms to the common practice of windows platform testing per RUBY_PLATFORM=~/mswin|mingw/ . M configure.ac M lib/rubygems/platform.rb M test/rubygems/test_gem_platform.rb commit 52cc54ce6f4258e4349c93d95c1ce111d26f8a7d Author: Lars Kanis Date: Wed Jun 23 10:17:52 2021 +0200 CI: Enable MINGW-UCRT build and test in github actions This enables a temporary branch on ruby/setup-ruby and MSP-Greg/setup-ruby-pkgs for UCRT-capable action setup. They set correct PATH and MINGW_PACKAGE_PREFIX for UCRT, if a UCRT based ruby is used. See here for more details: https://github.com/ruby/setup-ruby/issues/193 To enable correct UCRT settings this therefore uses rubyinstaller-head as base ruby, since it is already UCRT based. M .github/workflows/mingw.yml commit 70cefcfa0f769f7269cf0c950a4516036dd1a1ea Author: Lars Kanis Date: Tue Jun 22 08:52:49 2021 +0200 Adjust test to set+get big values on all platforms and add MINGW-UCRT Previously the test verified on MSWIN that huge values can not be stored in environment variables but that they can on others. IMHO the intention of the test should not change between platforms. Therefore this adjusts the test to have the same intention - that is to store a big value. This also fixes compatibility with MINGW-UCRT, which previously failed with: test/ruby/test_env.rb:512:in `[]=' test/ruby/test_env.rb:512:in `block in test_huge_value' M test/ruby/test_env.rb commit e32fe3ce7611f58f260959f96757704aee17a18e Author: xtkoba (Tee KOBAYASHI) Date: Mon Jun 21 14:46:20 2021 +0200 MINGW: _WIN64 is not defined on i386-mingw32 + ucrt. M win32/win32.c commit 637d7288f3b8d803c4207f5f842d408d48c20411 Author: xtkoba (Tee KOBAYASHI) Date: Mon Jun 21 14:45:00 2021 +0200 MINGW: More permissive pattern matching for coroutine Pattern matching for target_os in configure script should be permissive if we consider suffixing something onto "mingw32". M configure.ac commit 8bda51287865c0d9fe38d7cb39c60070159a6ea3 Author: xtkoba (Tee KOBAYASHI) Date: Mon Jun 21 14:44:24 2021 +0200 MINGW: set rb_cv_msvcrt=ucrt and RT_VER=140 when UCRT is used M configure.ac commit 4705ebd907343cf635cbd9288503653fccf61f0f Author: xtkoba (Tee KOBAYASHI) Date: Mon Jun 21 14:41:25 2021 +0200 MINGW: Fix build error on Windows UCRT M win32/win32.c commit c0a892a7f04689ea360784ead526b8d9c02809d2 Author: Nobuyoshi Nakada Date: Sun Sep 19 22:39:18 2021 +0900 Fix a typo [Bug #17048] M class.c M internal/class.h M object.c commit d531f12e283fa54f9405d01c787146334fd6f14b Author: Nobuyoshi Nakada Date: Sat Aug 14 14:27:24 2021 +0900 Enable shallow clone on appveyor https://www.appveyor.com/docs/how-to/repository-shallow-clone/ M appveyor.yml commit 70624ae43d72b94c12e7fe717e0b9d5456bcadda Author: Nobuyoshi Nakada Date: Sat Sep 18 16:15:24 2021 +0900 Extract hook macro for attributes M vm_eval.c M vm_insnhelper.c commit 162ad65fdd5e3f826eff4e0208c58a21151e993a Author: Jeremy Evans Date: Sat Sep 18 17:37:35 2021 -0700 Revert "Do not load file with same realpath twice when requiring" This reverts commit ddb85c5d2bdf75a83eb163856508691a7436b446. This commit causes unexpected warnings in TestTranscode#test_loading_race occasionally in CI. M load.c M test/ruby/test_require.rb M vm.c M vm_core.h commit f9fd04ffbc334bb5a3e8a0898ad201ad1c11709d Author: git Date: Sun Sep 19 01:05:40 2021 +0900 * 2021-09-19 [ci skip] M version.h commit ddb85c5d2bdf75a83eb163856508691a7436b446 Author: Jeremy Evans Date: Wed Jun 30 13:50:19 2021 -0700 Do not load file with same realpath twice when requiring This fixes issues with paths being loaded twice in certain cases when symlinks are used. It took me multiple attempts to get this working. My original attempt tried to convert paths to realpaths before adding them to $LOADED_FEATURES. Unfortunately, this doesn't work well with the loaded feature index, which is based off load paths and not realpaths. While I was able to get require working, I'm fairly sure the loaded feature index was not being used as expected, which would have significant performance implications. Additionally, I was never able to get that approach working with autoload when autoloading a non-realpath file. It also broke some specs. This takes a more conservative approach. Directly before loading the file, if the file with the same realpath has been required, the loading of the file is skipped. The realpaths are stored as fstrings in a hidden hash. When rebuilding the loaded feature index, the hash of realpaths is also rebuilt. I'm guessing this makes rebuilding process slower, but I don think that is a hot path. In general, modifying loaded features is only done when reloading, and that tends to be in non-production environments. Change test_require_with_loaded_features_pop test to use 30 threads and 300 iterations, instead of 4 threads and 1000 iterations. I saw only sporadic failures with 4/1000, but consistent failures 30/300 threads. These failures were due to the fact that the concurrent deletions from $LOADED_FEATURES in other threads can result in rb_ary_entry returning nil when rebuilding the loaded features index. To avoid concurrency issues when rebuilding the loaded features index, the building of the index itself is left alone, and afterwards, a separate loop is done on a copy of the loaded feature snapshot in order to rebuild the realpaths hash. Fixes [Bug #17885] M load.c M test/ruby/test_require.rb M vm.c M vm_core.h commit 1b300789ffc5fda1fcb534d0611ffdb7731e5b9d Author: Yusuke Endoh Date: Sat Sep 18 21:52:18 2021 +0900 ast.c: AST.of against C method should return nil (as Ruby 2.6--3.0) M ast.c M test/ruby/test_ast.rb commit ed9d9cee76ee941c504ccea33c70c0eb5d825813 Author: Yusuke Endoh Date: Sat Sep 18 21:28:35 2021 +0900 ast.c: AST.of checks if a given method object is defined in C [Bug #18178] M ast.c M test/ruby/test_ast.rb commit 1c07c98229aa16bf13cbd3997d32230d5324b4f2 Author: Burdette Lamar Date: Sat Sep 18 07:27:02 2021 -0500 Enhanced RDoc for Range (#4847) Treated: #to_s #inspect #=== #include? #cover? #count M range.c commit 593cc4ca83298c9495e6694dec6ada5c79453b11 Author: git Date: Sat Sep 18 18:04:12 2021 +0900 * 2021-09-18 [ci skip] M version.h commit ec4ecb6d6d452037359ab8782771b410f30995aa Author: Nobuyoshi Nakada Date: Mon Sep 13 12:30:43 2021 +0900 Include the invalid value in invalid_utc_offset error M time.c commit b45fe48fbb20e334ef6dd1a85d5b7a37e6701d40 Author: Jose Galisteo Date: Wed Sep 1 09:34:21 2021 +0200 [rubygems/rubygems] Trigger install command by default on remove Closes https://github.com/rubygems/rubygems/issues/4889 https://github.com/rubygems/rubygems/commit/2b1754479c M lib/bundler/cli.rb M lib/bundler/cli/remove.rb M spec/bundler/commands/remove_spec.rb M spec/bundler/other/major_deprecation_spec.rb M spec/bundler/support/builders.rb commit fd918d1afa89405c194e90476373f936b3577df0 Author: Nobuyoshi Nakada Date: Sun Jul 26 13:20:19 2020 +0900 Removed Module.allocate [Bug #17048] M object.c D spec/ruby/core/module/allocate_spec.rb M test/ruby/test_module.rb commit 178ee1e801acb33d13b3e8a630f6ca4926c68fbc Author: Nobuyoshi Nakada Date: Sun Jul 26 11:52:19 2020 +0900 Already initialized modules cannot be replaced [Bug #17048] M class.c M internal/class.h M object.c M test/ruby/test_module.rb commit 8f41c791b19a47e2dfa39b0a6d12ef964098536a Author: Nobuyoshi Nakada Date: Fri Sep 17 10:20:02 2021 +0900 Add spec for MatchData#match and MatchData#match_length [Feature #18172] A spec/ruby/core/matchdata/match_length_spec.rb A spec/ruby/core/matchdata/match_spec.rb commit 5a048829a488bb1cb4b0e77b3d46a1920ad92136 Author: John Hawthorn Date: Wed Sep 15 02:40:42 2021 -0700 Add WB_PROTECTED to mutexes mutex_mark is (basically) NULL, so we don't have any references to mark. This means we should safely be able to mark Mutex as WB_PROTECTED without changing anything else. M thread_sync.c commit 34d6720fee545c42a24f88044d0f78db0477452d Author: Nobuyoshi Nakada Date: Fri Sep 17 08:54:18 2021 +0900 Prohibit test method redefinition M tool/lib/test/unit/testcase.rb M tool/test/testunit/test_redefinition.rb commit 8450b6a91d44457375cad24a4d4e46165f046d25 Author: git Date: Fri Sep 17 08:39:26 2021 +0900 * 2021-09-17 [ci skip] M version.h commit 475a4651b639c943887c57d20704bab27e397eae Author: Nobuyoshi Nakada Date: Fri Sep 17 08:38:29 2021 +0900 [Feature #18172] Fix duplicate test name M test/ruby/test_regexp.rb commit cbbda3e648f8eff032679cdddb0ce48643cdd723 Author: Nobuyoshi Nakada Date: Thu Sep 16 23:49:16 2021 +0900 Adjust indent in string.c [ci skip] M string.c commit aa3d8388c056d8692e40a96de7441524654effc4 Author: Nobuyoshi Nakada Date: Thu Sep 16 19:55:31 2021 +0900 NEWS for [Feature #18172] [ci skip] M NEWS.md commit f2cb6288bc6f1d5e693841734ce5eb04ff41c2a9 Author: Nobuyoshi Nakada Date: Thu Sep 16 19:50:29 2021 +0900 [Feature #18172] Add MatchData#match_length The method to return the length of the matched substring corresponding to the given argument. M re.c M test/ruby/test_regexp.rb commit 09d724e6f846b4e53e8571d41ca7d3055d732d9f Author: Nobuyoshi Nakada Date: Thu Sep 16 19:37:52 2021 +0900 [Feature #18172] Add MatchData#match The method to return the single matched substring corresponding to the given argument. M re.c M test/ruby/test_regexp.rb commit ddb32e66160ab50849419ef7c7ac584913b79c34 Author: Nobuyoshi Nakada Date: Tue Sep 14 00:57:05 2021 +0900 [Bug #18173] Update loaded_features_index If $LOADED_FEATURES is changed in the just required file, also the index table needs to be updated before loaded_features_snapshot is reset. If the snapshot is reset without updating the table, the name of the added feature will not be found. M load.c M test/ruby/test_require.rb commit 5f1385bec0b6cfddbd51fc867ee6dcff2122399b Author: Shugo Maeda Date: Thu Sep 16 17:31:39 2021 +0900 Add a newline [ci skip] M NEWS.md commit 81fd91ab1ba0a17ba7d117d125cc439bc17aa6e0 Author: Shugo Maeda Date: Thu Sep 16 17:28:31 2021 +0900 Add details of Hash value ommission [ci skip] M NEWS.md commit 68bd5626c3c3520691ff14ee5dcd9da551a274f5 Author: S.H Date: Thu Sep 16 13:21:06 2021 +0900 Remove unneeded ruby_reset_leap_second_info function declaration (#4824) M time.c commit 745287d43a8fb63c84be986b23319d40e6affe2f Author: Burdette Lamar Date: Wed Sep 15 15:51:54 2021 -0500 Enhanced RDoc for Range#minmax (#4846) M range.c commit e967740d071a132cc0d09ff14fbe50594226844e Author: Burdette Lamar Date: Wed Sep 15 14:48:47 2021 -0500 Enhanced RDoc for Range#max (#4844) M range.c commit 67e3727d71c6d1ba9083b2de5bd6b46ad75206c9 Author: git Date: Thu Sep 16 03:37:51 2021 +0900 * 2021-09-16 [ci skip] M version.h commit 97374c7eecb5a52bcb4ec3baa0b3d25b060a3a0f Author: Burdette Lamar Date: Wed Sep 15 13:37:34 2021 -0500 Enhanced RDoc for Range#min (#4842) M range.c commit db51bcada408f8b0b93a11d41f8e4222436bd9f2 Author: Peter Zhu Date: Wed Sep 15 09:37:46 2021 -0400 Fix total_freed_objects for invalidated pages When the object is moved back into the T_MOVED, the flags of the T_MOVED is not copied, so the FL_FROM_FREELIST flag is lost. This causes total_freed_objects to always be incremented. M gc.c commit a65ac2d6fa4e7381d88b79a2881f7c05daa903c3 Author: Peter Zhu Date: Mon Sep 13 09:19:10 2021 -0400 Don't overwrite free_slots count during sweeping gc_compact_finish may invalidate pages, which may move objects from this page to other pages, which updates the free_slots of this page. M gc.c commit e624d0d202ef691f5c75841b90bf44a624e3cdcc Author: Peter Zhu Date: Mon Sep 13 09:12:08 2021 -0400 Update the free_slots count of the original page When invalidating a page during compaction, the free_slots count should be updated for the page of the object and not the page of the forwarding address (since the object gets moved back to the forwarding address). M gc.c commit 92ac1721c23e3c865b929f201c04edca53ccb5b5 Author: Olle Jonsson Date: Wed Sep 15 09:27:36 2021 +0200 [ruby/racc] gemspec: Link to https in homepage [ci skip] https://github.com/ruby/racc/commit/96075f7720 M lib/racc/racc.gemspec commit 645acf5771dccdae7791c8e1e24a43ad350a3594 Author: Olle Jonsson Date: Tue Sep 14 14:38:11 2021 +0200 [ruby/racc] Prefer __dir__ over File.dirname(__FILE__) https://github.com/ruby/racc/commit/c49df40658 M test/racc/assets/mof.y M test/racc/case.rb M test/racc/regress/mof M test/racc/test_chk_y.rb M test/racc/test_grammar_file_parser.rb M test/racc/test_racc_command.rb M test/racc/test_scan_y.rb commit fae0f2486dd9768b7e20b9cf67166fe935f18b0f Author: Shugo Maeda Date: Wed Sep 15 16:10:42 2021 +0900 Add test cases for constants and keywords M test/ruby/test_literal.rb commit a27c274f0476fa270b9e2f5d4f4ec36bd8c0b61a Author: Nobuyoshi Nakada Date: Wed Sep 15 09:39:43 2021 +0900 [DOC] Fix broken links [ci skip] * As the "doc/" prefix is specified by the `--page-dir` option, remove from the rdoc references. * Refer to the original .rdoc instead of the converted .html. M CONTRIBUTING.md M array.c M doc/NEWS-3.0.0.md M hash.c M lib/ostruct.rb M ractor.rb M range.c M struct.c commit 63ab2fedc86e463cb5132e19c285f5c3442ca5f7 Author: 卜部昌平 Date: Tue Sep 14 16:25:28 2021 +0900 include/ruby/atomic.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/atomic.h commit 789232f9fde3c8956397778b30b98d7e18361bed Author: 卜部昌平 Date: Mon Sep 13 16:53:52 2021 +0900 template/Doxyfile.tmpl: modernise applied doxygen -g for Doxygen 1.9.3. M template/Doxyfile.tmpl commit f650ca7568d076f6e7afb32886abfcf85b17275d Author: Hiroshi SHIBATA Date: Tue Sep 14 21:15:33 2021 +0900 [ruby/racc] Rename helper to case M test/racc/assets/mof.y R100 test/racc/helper.rb test/racc/case.rb M test/racc/regress/mof M test/racc/test_chk_y.rb M test/racc/test_grammar_file_parser.rb M test/racc/test_racc_command.rb M test/racc/test_scan_y.rb commit 845ab32a2911f9a857e1a91551465d1cb1f70996 Author: Hiroshi SHIBATA Date: Tue Sep 14 21:26:42 2021 +0900 [ruby/racc] Ignored loading CoreAssertions in test case https://github.com/ruby/racc/commit/1f8b05b298 M test/racc/helper.rb commit 8f6b42e0cb5c41255b51d1d09086eb7748f9ac69 Author: Hiroshi SHIBATA Date: Tue Sep 14 20:53:07 2021 +0900 [ruby/logger] Ignored loading CoreAssertions in test runner https://github.com/ruby/logger/commit/2fd5401ad6 D test/logger/helper.rb M test/logger/test_logdevice.rb M test/logger/test_logger.rb M test/logger/test_logperiod.rb M test/logger/test_severity.rb commit f77f9b9328efef34389cd559e8bf239a064755c5 Author: Olle Jonsson Date: Tue Sep 14 13:27:09 2021 +0200 [ruby/logger] gemspec: Drop unused "executables" configuration This gem exposes 0 executables. https://github.com/ruby/logger/commit/fbd9315393 M lib/logger/logger.gemspec commit b8c3a84bddac7366c4e391234b2535253869e885 Author: S.H Date: Wed Sep 15 08:11:05 2021 +0900 Refactor and Using RBOOL macro M bignum.c M compar.c M complex.c M error.c M file.c M numeric.c M re.c M string.c M thread.c M variable.c commit 89242279e61b023a81c58065c62a82de8829d0b3 Author: Jean Boussier Date: Wed Sep 1 09:43:39 2021 +0100 Marshal.load: do not call the proc until strings have their encoding Ref: https://bugs.ruby-lang.org/issues/18141 M marshal.c M spec/ruby/core/marshal/shared/load.rb M test/ruby/test_marshal.rb commit a0357acf197dcdb504dd97af39103dd8c68f53b3 Author: Burdette Lamar Date: Tue Sep 14 17:51:31 2021 -0500 Enhanced RDoc for Range (#4839) Treated: #size #to_a #each #begin #end #first #last M range.c commit aa18f645ed742b30e09b2e76be0fe3382529bcfe Author: git Date: Wed Sep 15 06:08:37 2021 +0900 * 2021-09-15 [ci skip] M version.h commit 1af5a0c574e45dae22098af855c124e12fb8bb6d Author: Burdette Lamar Date: Tue Sep 14 16:08:21 2021 -0500 Bsearch doc for Array and Range (#4838) This PR creates doc/bsearch.rdoc to provide common documentation for bsearch in Array and Range. M array.c A doc/bsearch.rdoc M range.c commit 57d315c937e79199af2b77f21f5eecaca85ffac8 Author: Jeremy Evans Date: Mon Sep 13 11:59:04 2021 -0700 Handle overwriting Object::ENV in spawn Instead of looking for Object::ENV (which can be overwritten), directly look for the envtbl variable. As that is static in hash.c, and the lookup code is in process.c, add a couple non-static functions that will return envtbl (or envtbl#to_hash). Fixes [Bug #18164] M hash.c M process.c M test/ruby/test_process.rb commit 616d6717589abb30a5c67c79cbf874693c3dadbd Author: ima1zumi Date: Mon Sep 13 14:51:19 2021 +0900 [ruby/reline] Remove unused using method follow #347 https://github.com/ruby/reline/commit/37453a83a3 M lib/reline/key_stroke.rb commit fa05697e4832fbd67a4f91b9bb362471902faab3 Author: Nobuyoshi Nakada Date: Tue Sep 14 16:36:39 2021 +0900 Use `%printer` directive for Bison 3.8 M parse.y commit 6031f4268b56d9db807fc05a06ba7c4fcb5c5bf8 Author: git Date: Tue Sep 14 07:04:28 2021 +0000 Update bundled_gems at 2021-09-14 M gems/bundled_gems commit 3fd85313319e69b37abeff40d48d1e5aebd043b0 Author: S.H Date: Tue Sep 14 15:22:01 2021 +0900 Remove uneeded initialize local variable (#4818) M bignum.c commit 692dfc50888b86084181d520297a49faa4bd0809 Author: S-H-GAMELINKS Date: Tue Sep 14 09:19:30 2021 +0900 Refactor vm_yield function M vm.c commit bb84c75001f1bf13b4b2a12db8f4420e76a3ea03 Author: Kenichi Kamiya Date: Wed Mar 31 16:44:09 2021 +0900 Revert "Force recycle intermediate collection in Hash#transform_keys! [Bug #17735]" This reverts commit 522d4cd32f7727886f4fcbc28ed29c08d361ee20. M hash.c commit 881136d2fff829b4c6c3cdd1fbfe93d361b85954 Author: aycabta Date: Tue Sep 14 05:36:45 2021 +0900 [ruby/reline] The behaviour of Alt+key on Windows is changed ref. https://github.com/ruby/reline/commit/dc2cf90fa6 https://github.com/ruby/reline/commit/4d1518aafc M test/reline/yamatanooroti/test_rendering.rb commit 4e03032a83a059e32da9d886df2552fd06799c01 Author: Burdette Lamar Date: Mon Sep 13 14:00:39 2021 -0500 Enhanced RDoc for Range (#4833) Treated: ::new #include_end? #== #eql? #hash #step M range.c commit ebad1e829316de48f212cd57f88639fa5ac55ee4 Author: git Date: Tue Sep 14 00:37:38 2021 +0900 * 2021-09-14 [ci skip] M version.h commit 94dea77cd6d16f85fabbeb53e12accf37e5f6159 Author: Burdette Lamar Date: Mon Sep 13 10:37:15 2021 -0500 Links for What's Here sections (#4827) Makes What's Here sections in Time and Dir link to What's Here for super and included modules (like all the others). M dir.rb M timev.rb commit 43f49b2d1cde1d3816a852f9c80a50ac562f7853 Author: Hiroshi SHIBATA Date: Mon Sep 13 21:15:36 2021 +0900 Fixup 455978cd133f27fab9e2bfa4301efd3b7c7d0462 M tool/test/testunit/test_minitest_unit.rb commit ec6f04c092027102369acfe19368e65ee07d8b52 Author: Hiroshi SHIBATA Date: Mon Sep 13 21:14:42 2021 +0900 Use capture_output instead of capture_io M test/ruby/test_enumerator.rb M test/ruby/test_pack.rb M tool/lib/test/unit/assertions.rb M tool/test/testunit/test_minitest_unit.rb commit be04006c7d2f9aeb7e9d8d09d945b3a9c7850202 Author: Hiroshi SHIBATA Date: Mon Sep 13 20:56:34 2021 +0900 Rename capture_io to capture_output and deprecate to use capture_io M tool/lib/test/unit/assertions.rb commit 455978cd133f27fab9e2bfa4301efd3b7c7d0462 Author: Hiroshi SHIBATA Date: Mon Sep 13 20:41:03 2021 +0900 Removed unused mu_pp method M tool/lib/test/unit/assertions.rb commit f5993331b2737a212134cb0b9e3a7a0d417e0d58 Author: Hiroshi SHIBATA Date: Mon Sep 13 19:09:09 2021 +0900 Renamed skip to pend and prepared to deprecate skip method M tool/lib/test/unit/assertions.rb commit aaa9805e7e26c50f21eff01f9ca67ce366226ca4 Author: Nobuyoshi Nakada Date: Mon Sep 13 15:47:45 2021 +0900 Add unique token to separated runner Same as Test::Unit::CoreAssertions#assert_no_memory_leak. M tool/lib/core_assertions.rb commit dbdceb8a191b540caae534d28cee6f20a9759d50 Author: Hiroshi SHIBATA Date: Mon Sep 13 11:31:38 2021 +0900 Removed workaround for test_order M tool/lib/test/unit/testcase.rb commit 4676921730bd257c234396fd9134ae9876043756 Author: Brandon Weaver Date: Sun Sep 12 20:34:28 2021 -0700 Adds mixed hash value and value omission tests Introduces specification tests for mixed values and value omissions for Hashes and keyword arguments, such as `{ a:, b:, c: 3 }`. M test/ruby/test_keyword.rb M test/ruby/test_literal.rb commit 2982464a8e3f07e769d8d6eb0fd70b01c168a962 Author: Hiroshi SHIBATA Date: Mon Sep 13 10:54:24 2021 +0900 Revert "Resolved conflict initializers" This reverts commit 62db6e47b6c0fbba337649bfa468ec221d5d1001. 308183fffab43f1e111d5bb4c60f1380432966e6 is the correct solution about this. M tool/lib/test/unit.rb commit ec6b444fbf975421150b3ff3a2c50bcc53aaf854 Author: Hiroshi SHIBATA Date: Mon Sep 13 09:36:42 2021 +0900 Fixed leaked file descriptor Leaked file descriptor: TestRDocGeneratorDarkfish#test_template_stylesheets: 11 : # M test/rdoc/test_rdoc_generator_darkfish.rb commit 8de53fb31cd7491c31c56db6a01c5cab40d25e4b Author: aycabta Date: Mon Sep 13 04:04:29 2021 +0900 [ruby/reline] Use expanded method definitions instead of refinements @jhawthorn said, "this will make Ruby's integer comparisons slower globally." It looks like "binding.irb" is going to cause serious problems in Rails applications. https://github.com/ruby/reline/commit/ee8d6c6a82 M lib/reline/key_stroke.rb commit a8fe7c9e2a2fa1e3e8cd28e73093e26c9719a817 Author: DC Date: Sun Sep 12 05:55:25 2021 +0100 coroutine enables assembly version for dragonflybsd. M configure.ac commit c8a1e57af0608c294c5b94f9d158b3d34b94ebb2 Author: Nobuyoshi Nakada Date: Mon Sep 13 01:08:56 2021 +0900 Downloader: accept some RFC 2616 noncompliant dates M tool/downloader.rb commit 6257090496cf4482637a4c67c1fec4e2ca3a5d8a Author: git Date: Mon Sep 13 00:51:22 2021 +0900 * 2021-09-13 [ci skip] M version.h commit 289f3a79b5257931004252515a56a783132941df Author: Nobuyoshi Nakada Date: Sun Sep 12 16:38:03 2021 +0900 [ruby/openssl] Add fallthrough comments https://github.com/ruby/openssl/commit/258e30b640 M ext/openssl/ossl_pkey_ec.c M ext/openssl/ossl_ssl.c commit 6920f3dc964052112795dc9c5c4f9650807726c8 Author: Nobuyoshi Nakada Date: Sun Sep 12 16:27:01 2021 +0900 [ruby/openssl] Suppress cast-function-type warnings https://github.com/ruby/openssl/commit/0f91e2a6ee M ext/openssl/ossl.c M ext/openssl/ossl_asn1.c M ext/openssl/ossl_cipher.c M ext/openssl/ossl_pkcs12.c M ext/openssl/ossl_pkey.c M ext/openssl/ossl_ssl.c M ext/openssl/ossl_ts.c M ext/openssl/ossl_x509store.c commit 598d66f6b2d1ab34dcd6db3bed70c59836a6206a Author: Nobuyoshi Nakada Date: Sun Sep 12 15:40:57 2021 +0900 [ruby/openssl] Separate formatting from ossl_make_error Just append OpenSSL error reason to the given message string object, which would be alreadly formatted. Suppress -Wformat-security warning in `ossl_tsfac_create_ts`. https://github.com/ruby/openssl/commit/11b1d8a6b8 M ext/openssl/ossl.c M ext/openssl/ossl.h M ext/openssl/ossl_ts.c commit c7dce12eb9e07f6ae35fc767760b862c10317e11 Author: Nobuyoshi Nakada Date: Sun Sep 12 00:44:18 2021 +0900 [ruby/openssl] Suppress printf format warnings * Add `printf` format attribute to `ossl_raise`. * Fix a format specifier in `config_load_bio`. * Use `ASSUME` for the unreachable condition. https://github.com/ruby/openssl/commit/41da2955db M ext/openssl/ossl.c M ext/openssl/ossl.h M ext/openssl/ossl_config.c M ext/openssl/ossl_pkey_ec.c commit 11fd3fec534bb626e717a0628a0cf6d6252a0ff4 Author: Nobuyoshi Nakada Date: Mon Aug 23 09:57:02 2021 +0900 Add benchmarks to create Time instances A benchmark/time_new.yml A benchmark/time_parse.yml commit e8025874334fa583fc77ed2ccc32ee78c2519a2c Author: Nobuyoshi Nakada Date: Sun Sep 12 14:05:52 2021 +0900 Add printf attribute to functions call va_list format functions M spec/ruby/optional/capi/ext/string_spec.c commit c5570a7c11ba0872e171500a548f2ecb82e94588 Author: Nobuyoshi Nakada Date: Sat Sep 11 22:50:59 2021 +0900 Extract backref_number_check M re.c commit 99d8c4832a7133ca52578d015e3ddcfd94820f4a Author: Nobuyoshi Nakada Date: Sat Sep 11 21:43:11 2021 +0900 Preserve the encoding of the argument in IndexError [Bug #18160] M re.c M test/ruby/test_regexp.rb commit 83a5e2bb5c1b9f24b70dc30c50b5deb4d7232119 Author: S-H-GAMELINKS Date: Sat Sep 11 09:56:59 2021 +0900 Using RB_FLOAT_TYPE_P macro M compile.c M enumerator.c M math.c M numeric.c M object.c M random.c M range.c commit af5826a25e24ba7179038f99362aa918d48bd8be Author: S-H-GAMELINKS Date: Sat Sep 11 13:45:22 2021 +0900 Replace RB_TYPE_P macro to FIXNUM_P and RB_INTEGER_TYPE_P macro M load.c M numeric.c commit 926749516e2f9ee23c2eb6295b9759d06509b8e4 Author: git Date: Sun Sep 12 03:56:41 2021 +0900 * 2021-09-12 [ci skip] M version.h commit bbd105c4453525b0b1d9838a2c6aad188549f86d Author: Nobuyoshi Nakada Date: Sun Sep 12 03:51:19 2021 +0900 Exclude option_parser from Test::Unit::Runner#inspect M tool/lib/test/unit.rb commit 308183fffab43f1e111d5bb4c60f1380432966e6 Author: Nobuyoshi Nakada Date: Sun Sep 12 03:23:59 2021 +0900 Prepend the modules in Test::Unit Needs to override Test::Unit::Runner#run, so that RunCount#run runs which increments @@run_count. Previously it worked because these methods were inserted between Test::Unit::Runner#run and MiniTest::Unit#run. M tool/lib/test/unit.rb commit 7686776c0563eeb269c5ffa1fc2cf42d4d31e222 Author: Shugo Maeda Date: Sat Sep 11 22:03:10 2021 +0900 Hash values should be omitted in Ripper results M parse.y M test/ripper/test_sexp.rb commit 8d0315a2bbda2cdefeaf00ff1edcd90384d8951a Author: Hiroshi SHIBATA Date: Sat Sep 11 21:05:15 2021 +0900 Removed unsed assertions for rubygems M tool/lib/test/unit/assertions.rb M tool/test/testunit/test_minitest_unit.rb commit d58e0ffc247a18bbd6ec5a7f78c79e171bda4168 Author: Hiroshi SHIBATA Date: Sat Sep 11 20:35:18 2021 +0900 Removed unused alias for run_test M tool/lib/test/unit/testcase.rb commit 297f9b8d4c4502aa2ba0eccf93dfce215a7b6dfe Author: Shugo Maeda Date: Sat Sep 11 20:23:36 2021 +0900 Add documentation and tests for keyword argument value omission [Feature #14579] M NEWS.md M test/ruby/test_hash.rb M test/ruby/test_keyword.rb M test/ruby/test_literal.rb commit d05ef38865af8dd43fd583e46f46509fe29e93cb Author: Nobuyoshi Nakada Date: Sat Sep 11 19:13:53 2021 +0900 [DOC] NEWS for [Feature #14579] [ci skip] M NEWS.md commit 8e832ea031ed37696853dbe9527273c2a58af1ab Author: Nobuyoshi Nakada Date: Sat Sep 11 19:18:22 2021 +0900 [DOC] Fixed indents in NEWS.md [ci skip] M NEWS.md commit 28df037718b47e06158250f75402ee983fcc53e1 Author: Nobuyoshi Nakada Date: Sat Sep 11 18:15:23 2021 +0900 [DOC] Separate paragraph in LEGAL instead of break lines [ci skip] Although trailing spaces in Markdown breaks the line, it is often overlooked. M LEGAL commit 7899866849c1bac708e513e5d9e14467a0155a9e Author: Nobuyoshi Nakada Date: Sat Sep 11 19:07:02 2021 +0900 Another test for [Feature #14579] The value of the dynamic key cannot be omitted for now. M test/ruby/test_hash.rb commit c60dbcd1c55cd77a24c41d5e1a9555622be8b2b8 Author: Shugo Maeda Date: Sat Sep 11 18:49:12 2021 +0900 Allow value omission in Hash literals `{x:, y:}` is a syntax sugar of `{x: x, y: y}`. M parse.y M test/ruby/test_hash.rb commit 64e056a4c5d4595cd2c36aabc747cca32f4b5395 Author: Hiroshi SHIBATA Date: Sat Sep 11 18:09:53 2021 +0900 Drop to Ruby 1.8 related code M tool/test/testunit/test_minitest_unit.rb commit a13ee1f33cca476061f3ed7c823059188884fc17 Author: Hiroshi SHIBATA Date: Sat Sep 11 18:04:16 2021 +0900 Removed rubinius support from test suite M tool/lib/test/unit/testcase.rb M tool/test/testunit/test_minitest_unit.rb commit aebd0a873e9de23544426e5a27e0fb68140d474a Author: Hiroshi SHIBATA Date: Sat Sep 11 18:03:40 2021 +0900 Removed maglev related code because it's not active status now M tool/lib/test/unit/testcase.rb M tool/test/testunit/test_minitest_unit.rb commit b568e6a1304e8b9398ae4f8cc8a09ffa7cf89d8b Author: Nobuyoshi Nakada Date: Sat Sep 11 17:54:11 2021 +0900 Suppress deprecated rb_iterate declaration warnings in C++ Apply commit:733ffa74cd32a5c11ff744a5490782daa00ff1ae again. M include/ruby/internal/iterator.h commit 952806cdecac2c275cf54392d3bf815ee746a063 Author: Nobuyoshi Nakada Date: Sat Sep 11 17:37:49 2021 +0900 Update comments for minitest M tool/lib/test/unit.rb M tool/lib/test/unit/testcase.rb commit cd83e716d0efa2e060d366c910a2745c2bdb78e5 Author: Nobuyoshi Nakada Date: Sat Sep 11 17:32:42 2021 +0900 Update an option message M tool/lib/test/unit.rb commit 911f62e681019dca947585d154f39195b99dbef9 Author: Nobuyoshi Nakada Date: Sat Sep 11 17:19:02 2021 +0900 Directly alias orig_run_suite M tool/lib/test/unit.rb M tool/lib/test/unit/parallel.rb commit 46bde60df31790d1618eabaf3dc5f36931c2acaf Author: Nobuyoshi Nakada Date: Sat Sep 11 16:43:02 2021 +0900 Remove method filter hack for minitest M tool/lib/test/unit.rb commit 0fbde94b27d9ed08c96944717bf7bfa76897276e Author: Nobuyoshi Nakada Date: Fri Sep 10 23:25:02 2021 +0900 [ruby/rdoc] Convert upper case copyright and registered marks https://github.com/ruby/rdoc/commit/3bca7dc093 M lib/rdoc/text.rb M test/rdoc/test_rdoc_text.rb commit bc0ea95ca8742b11d361952232d22c4ac0e33e83 Author: Nobuyoshi Nakada Date: Fri Sep 10 22:56:13 2021 +0900 [ruby/rdoc] Convert tick double quote in character entity references https://github.com/ruby/rdoc/commit/6ed889aac9 M lib/rdoc/text.rb M test/rdoc/test_rdoc_text.rb commit 6944163415997e75e0d70ea860dad6071ee5d79a Author: Nobuyoshi Nakada Date: Sat Aug 28 12:57:36 2021 +0900 [ruby/rdoc] Convert a backtick to an open single quote https://github.com/ruby/rdoc/commit/82eaefbae4 M lib/rdoc/text.rb M test/rdoc/test_rdoc_markup_to_html.rb commit c5c0f5c65262f621484c711229e8c4de0b58d9d9 Author: Nobuyoshi Nakada Date: Sat Aug 28 12:19:26 2021 +0900 [ruby/rdoc] Convert single quotes in character entity references As well as double quotes. https://github.com/ruby/rdoc/pull/824#discussion_r683173389 https://github.com/ruby/rdoc/commit/09002bdab5 M lib/rdoc/text.rb M test/rdoc/test_rdoc_text.rb commit 30b4da2bc1300bb37c7d6cd3b097768a99ab4dba Author: Nobuyoshi Nakada Date: Sat Sep 11 16:25:10 2021 +0900 Update the test tool path M tool/lib/core_assertions.rb commit cbda32cd98133d8a29a6219d00b1dfdad3308c5b Author: git Date: Sat Sep 11 07:02:42 2021 +0000 Update bundled_gems at 2021-09-11 M gems/bundled_gems commit d9025ee2b5f8454987aa801f074638837f226a9f Author: Hiroshi SHIBATA Date: Sat Sep 11 15:29:16 2021 +0900 fixup f73f9e1f893409d8b7b42ff5fbda104fdd277cba M tool/test/testunit/test_minitest_unit.rb commit 806583c093ecc2d67830f0a8f0d94decf0ed71e5 Author: Hiroshi SHIBATA Date: Sat Sep 11 15:17:34 2021 +0900 Change include order for test assertions M tool/lib/core_assertions.rb commit f73f9e1f893409d8b7b42ff5fbda104fdd277cba Author: Hiroshi SHIBATA Date: Sat Sep 11 14:29:23 2021 +0900 Replace minitest to test for backtrace_filter M tool/lib/test/unit.rb commit bf5711f49874ca33aebdad6df2ae037533e9a800 Author: Nobuyoshi Nakada Date: Wed Jul 14 19:23:05 2021 +0900 Check ruby-related includes only [ci skip] M common.mk commit 6f35a4e526c38e8c1f561a623488f836a5c84119 Author: Kazuhiro NISHIYAMA Date: Sat Sep 11 12:29:59 2021 +0900 Use `./autogen.sh` instead of `autoconf` in doc M doc/contributing.rdoc M doc/make_cheatsheet.md commit b1789294695432557fbb79d5ba522c2eaa5b968d Author: Hiroshi SHIBATA Date: Sat Sep 11 11:21:37 2021 +0900 Fixed uninitialized constant Test::Unit::Assertions::MIN_MEASURABLE. I'm not sure why it's failed under the chkbuild and rubyci. http://rubyci.s3.amazonaws.com/arch/ruby-master/log/20210911T000007Z.fail.html.gz M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/testcase.rb commit 2bc85766c0886fd690576f19fb3cc454dbb818bf Author: Hiroshi SHIBATA Date: Sat Sep 11 10:24:51 2021 +0900 [ruby/net-http] Use omit instead of skip for test-unit https://github.com/ruby/net-http/commit/5bb14fd3bc M test/net/http/test_httpresponse.rb commit 9784f6685e1ccf7929c53ecc95272006645e70c5 Author: S-H-GAMELINKS Date: Sat Sep 4 01:25:36 2021 +0900 Using NIL_P macro instead of RB_TYPE_P macro M numeric.c commit 032534dbdf08c0912dffa482e29a491b8aa9276c Author: S-H-GAMELINKS Date: Fri Sep 3 20:50:12 2021 +0900 Using RB_BIGNUM_TYPE_P macro M array.c M bignum.c M complex.c M enum.c M gc.c M hash.c M internal.h M io.c M math.c M numeric.c M object.c M rational.c M strftime.c M thread.c M time.c commit 56065f0686e6798fff2ee7319f0f03026f427c13 Author: S-H-GAMELINKS Date: Thu Sep 2 12:15:21 2021 +0900 Using SYMBOL_P macro M compile.c M struct.c M transcode.c commit 9583d2057d1a4d907875ad447dfd64a541e63447 Author: Hiroshi SHIBATA Date: Sat Sep 11 06:52:09 2021 +0900 Added missing Assertions for assert_file_predicate M tool/lib/core_assertions.rb commit d05383812adf86e6c6a536246c03a2d401f10058 Author: Hiroshi SHIBATA Date: Fri Sep 10 20:56:07 2021 +0900 Replace Test::Assertion and Test::Skip to Test::Unit::AssertionFailedError and Test::Unit::PendedError M tool/lib/core_assertions.rb M tool/lib/test/unit.rb M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/parallel.rb M tool/lib/test/unit/testcase.rb M tool/test/testunit/test_assertion.rb M tool/test/testunit/test_minitest_unit.rb M tool/test/testunit/test_parallel.rb commit 7cec81e073ed1d29910b3e1dc4dd5d7e9d2b490f Author: Hiroshi SHIBATA Date: Fri Sep 10 20:46:59 2021 +0900 Removed needless require M tool/lib/test/unit.rb commit 151a1cd45eb28982083d0c2c99ed8c564c18a0af Author: Hiroshi SHIBATA Date: Fri Sep 10 20:41:52 2021 +0900 Fixed inconsistent require order for assertions and core_assertions M test/ruby/test_module.rb M tool/lib/core_assertions.rb M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/testcase.rb M tool/test/webrick/utils.rb commit d7f0b41c7ba75639503d562cf7f5e26c3157c676 Author: Hiroshi SHIBATA Date: Fri Sep 10 20:37:01 2021 +0900 Surpressing the noisy messages M tool/test/testunit/test_minitest_unit.rb commit 980f61935f6e8331e0908dc963e60fb727ab4d8c Author: Hiroshi SHIBATA Date: Thu Sep 9 21:47:11 2021 +0900 Temporary pend unknown behavior of parallel tests M tool/test/testunit/test_parallel.rb commit 566bbc24217a71842ed8b467711f9df721e2762a Author: Hiroshi SHIBATA Date: Thu Sep 9 21:38:28 2021 +0900 pend non-supported feature M tool/test/testunit/test_minitest_unit.rb commit bc1c09c6e8d0c101baa1ed20146ecaac118d39fd Author: Hiroshi SHIBATA Date: Thu Sep 9 21:16:35 2021 +0900 More fixed assertion message tests M tool/test/testunit/test_minitest_unit.rb commit 1c4f0f1eee78a6c3339e31897191d5d38f5087bb Author: Hiroshi SHIBATA Date: Thu Sep 9 21:03:28 2021 +0900 We prepared Test::Unit::TestCase in default value M tool/test/testunit/test_minitest_unit.rb commit 0fda70e3a3833c1ee82ad06c22aa7436027cccc0 Author: Hiroshi SHIBATA Date: Thu Sep 9 20:56:53 2021 +0900 We don't want to consistent assert and refute assertions M tool/test/testunit/test_minitest_unit.rb commit 47928204b7541f7728eae4ebc157029af8c42589 Author: Hiroshi SHIBATA Date: Thu Sep 9 20:55:53 2021 +0900 Fixed compatible assertion message format M tool/test/testunit/test_minitest_unit.rb commit 0a5844cbdd176977ec6f7e3cc31d2a1959f18759 Author: Hiroshi SHIBATA Date: Thu Sep 9 20:35:39 2021 +0900 Removed output assertion tests. Because our default runner is replaced by custom output M tool/test/testunit/test_minitest_unit.rb commit 6b5400ccde478da7734a769bfb87a1ebf626bb46 Author: Hiroshi SHIBATA Date: Thu Sep 9 20:13:43 2021 +0900 Use msg format with test-unit M tool/test/testunit/test_minitest_unit.rb commit 934feb1dee4a75383f4326b7a7fec538181ea9ce Author: Hiroshi SHIBATA Date: Thu Sep 9 20:04:33 2021 +0900 Removed minitest dir from make task M common.mk commit 905c04d1e6a9996d146ea8261cc36694a10ccf1c Author: Hiroshi SHIBATA Date: Thu Sep 9 15:51:00 2021 +0900 Use Test namespace instead of MiniTest in test_parallel.rb M tool/test/testunit/test_parallel.rb commit 9ff614bc13b946628852624fe0462be7d9660557 Author: Hiroshi SHIBATA Date: Thu Sep 9 15:10:00 2021 +0900 Use Test::Unit::Assertions migrated with MiniTest::Assertions M tool/test/testunit/test_assertion.rb M tool/test/testunit/test_minitest_unit.rb commit ad979a5e00996881a06a5863a607009ed7e13320 Author: Hiroshi SHIBATA Date: Thu Sep 9 14:26:57 2021 +0900 Replace Test::Unit to Test::Unit::Runner migrated with MiniTest::Unit M tool/test/testunit/metametameta.rb M tool/test/testunit/test_minitest_unit.rb commit 6d206352c3c224228547fcfececb29d09b2b7fed Author: Hiroshi SHIBATA Date: Thu Sep 9 14:14:39 2021 +0900 Use assert_raise instead of assert_raises M tool/test/testunit/test_minitest_unit.rb commit d5e94bf5db899b5a54b37f10f39250df4ebef6a8 Author: Hiroshi SHIBATA Date: Thu Sep 9 14:13:13 2021 +0900 Replace MiniTest to Test M tool/test/testunit/metametameta.rb M tool/test/testunit/test_minitest_unit.rb commit 8aaa40e55fa2812755dec33db265745c77cdb3ed Author: Hiroshi SHIBATA Date: Thu Sep 9 13:56:02 2021 +0900 Move test of minitest to testunit R100 tool/test/minitest/metametameta.rb tool/test/testunit/metametameta.rb R100 tool/test/minitest/test_minitest_unit.rb tool/test/testunit/test_minitest_unit.rb commit a3b0518672c323ede41669d93c7cb0a496459191 Author: Hiroshi SHIBATA Date: Thu Sep 9 12:26:23 2021 +0900 Removed obsoleted constant M tool/lib/test/unit.rb commit dbbfdc488cdbaac89157e7a4679ab4bd45c333fa Author: Hiroshi SHIBATA Date: Thu Sep 9 12:13:40 2021 +0900 Added core_assertions.rb to LEGAL M LEGAL commit 4505be6fd0863aac9624062a98f4cbdafd8f4b72 Author: Hiroshi SHIBATA Date: Wed Sep 8 21:11:39 2021 +0900 Removed MiniTest hack for the default gems repo M tool/lib/core_assertions.rb commit 3451d4d9417ce1a6099d18e3a0d4ee012cf7bace Author: Hiroshi SHIBATA Date: Wed Sep 8 21:07:24 2021 +0900 Removed minitest dir and added LEGAL infomation for based code M LEGAL D tool/lib/minitest/README.txt commit 9b026ca39b27b1213758699555eb8e6d4874984c Author: Hiroshi SHIBATA Date: Wed Sep 8 21:02:08 2021 +0900 Integrate Minitest to Test M tool/lib/core_assertions.rb D tool/lib/minitest/unit.rb M tool/lib/test/unit.rb M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/parallel.rb M tool/lib/test/unit/testcase.rb commit 1e18f4e60f948e5887ae696390c99def102d8345 Author: Hiroshi SHIBATA Date: Wed Sep 8 20:36:56 2021 +0900 Use Test::Unit::Runner instead of MiniTest::Unit M test/ruby/test_refinement.rb M test/ruby/test_time.rb commit 0598e87abf4d1de56b410d217c2cde518c6a8484 Author: Hiroshi SHIBATA Date: Wed Sep 8 20:23:59 2021 +0900 Use prepend for override to status line M tool/lib/test/unit.rb commit 8ee38bdd7d44dd8e6b7d073349c1b7abbf1346a8 Author: Hiroshi SHIBATA Date: Wed Sep 8 19:33:34 2021 +0900 Removed duplicated autorun method M tool/lib/test/unit.rb commit 62db6e47b6c0fbba337649bfa468ec221d5d1001 Author: Hiroshi SHIBATA Date: Wed Sep 8 14:04:43 2021 +0900 Resolved conflict initializers M tool/lib/test/unit.rb commit 7ef0a4634c742a15dc1d4bc9a62e8ff5d8ba5c09 Author: Hiroshi SHIBATA Date: Wed Sep 8 14:03:46 2021 +0900 Removed unused _run_suites M tool/lib/test/unit.rb commit 988eda744c9e9782f661bd5fbabaea19ca2277bd Author: Hiroshi SHIBATA Date: Wed Sep 8 12:32:37 2021 +0900 Removed deprecated process_args M tool/lib/test/unit.rb commit 206af4727c2892e755d1c82fcd211d4712fe658c Author: Hiroshi SHIBATA Date: Wed Sep 8 12:32:04 2021 +0900 Merge poke methods M tool/lib/test/unit.rb commit 1fd2a66a93a4065b6be725066044107045c81d01 Author: Hiroshi SHIBATA Date: Wed Sep 8 12:04:10 2021 +0900 Merge run methods M tool/lib/test/unit.rb commit 374cc7231e4dd0ded505aad45d74d7533ba58f22 Author: Hiroshi SHIBATA Date: Wed Sep 8 11:00:01 2021 +0900 Removed VERSION constant M tool/lib/test/unit.rb commit 8ec187c091537aa5d25f19eee522aaec12bc7c26 Author: Hiroshi SHIBATA Date: Wed Sep 8 10:35:50 2021 +0900 Replace MiniTest::Unit to Test::Unit::Runner M tool/lib/core_assertions.rb M tool/lib/leakchecker.rb M tool/lib/test/unit.rb M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/parallel.rb M tool/lib/test/unit/testcase.rb commit c18e9539373a1e90e36e503a51ce5cebb7372e23 Author: Hiroshi SHIBATA Date: Wed Sep 8 10:00:41 2021 +0900 Move MiniTest::Unit to under Test::Unit::Runner M tool/lib/minitest/unit.rb M tool/lib/test/unit.rb commit 78ec066347cd5e59957ef6f98d4f40fd00aa667a Author: Hiroshi SHIBATA Date: Tue Sep 7 21:12:55 2021 +0900 Use CoreAssertions instead of Assertions M test/ruby/test_module.rb M tool/test/webrick/utils.rb commit 48933a34095b7565196c1b78d9644b44cef8f602 Author: Hiroshi SHIBATA Date: Tue Sep 7 21:00:31 2021 +0900 Added default test-class for parallel tests M tool/lib/test/unit/testcase.rb commit e4b5ac9b9a6c701735e1e1787d2e2ddf4a970c8d Author: Hiroshi SHIBATA Date: Tue Sep 7 20:27:53 2021 +0900 Use Test::Unit namespace M tool/lib/profile_test_all.rb M tool/lib/test/unit/parallel.rb commit df86d78a26edaafbaf317e86db946ab09700a920 Author: Hiroshi SHIBATA Date: Tue Sep 7 17:23:43 2021 +0900 Use self class for diff M tool/lib/test/unit/assertions.rb commit 3e32412e08d2ec77cb84d535b591445cdaa4656a Author: Hiroshi SHIBATA Date: Tue Sep 7 11:46:12 2021 +0900 Fixed broken runner for `make test-all` M tool/lib/minitest/unit.rb M tool/lib/test/unit.rb M tool/lib/test/unit/testcase.rb commit 871e7b5f55f079e04fdc3f6f42eaa139e3a3345a Author: Hiroshi SHIBATA Date: Tue Sep 7 10:03:53 2021 +0900 Use MiniTest M test/ruby/test_refinement.rb M test/ruby/test_time.rb M tool/lib/test/unit/assertions.rb commit 7456cbdd09b3f0e6d58cd16d8bd060a397d2156b Author: Hiroshi SHIBATA Date: Tue Sep 7 09:36:13 2021 +0900 Move test_order under the Test::Unit::TestCase M tool/lib/test/unit.rb M tool/lib/test/unit/testcase.rb commit 93c44c4ed2f3b35db862f4238e5fb104cfb7aab9 Author: Hiroshi SHIBATA Date: Tue Sep 7 09:31:44 2021 +0900 Move constants under the TestCase M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/testcase.rb commit 54d2d706296c325fa67d05e73aebd01698205ab5 Author: Hiroshi SHIBATA Date: Tue Sep 7 09:30:22 2021 +0900 Migrate MiniTest::Unit::TestCase class under the Test::Unit M tool/lib/minitest/unit.rb M tool/lib/test/unit/testcase.rb commit 8431c718bb4c7133c4da5f34006fd64552fcdd9e Author: Hiroshi SHIBATA Date: Tue Sep 7 08:54:01 2021 +0900 Removed needless compatibility for MiniTest 5 M tool/lib/minitest/unit.rb commit 77763d49406ddfb7b682e68961a51d8d39dd686b Author: Hiroshi SHIBATA Date: Tue Sep 7 08:53:35 2021 +0900 Removed needless alias about Minitest M tool/lib/minitest/unit.rb commit 1bec4f251d2dbf5578a884a8fb96c773ffa5e451 Author: Hiroshi SHIBATA Date: Mon Sep 6 22:17:40 2021 +0900 Move MiniTest::Assertions to Test::Unit::Assertions M tool/lib/core_assertions.rb M tool/lib/minitest/unit.rb M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/testcase.rb commit cd829bb078e6a3486d9b5ea57fc5111d289c1860 Author: Nobuyoshi Nakada Date: Thu Sep 9 23:21:06 2021 +0900 Remove printf family from the mjit header Linking printf family functions makes mjit objects to link unnecessary code. M gc.h M include/ruby/internal/core/rstring.h M internal.h M ractor_core.h M string.c M vm.c M vm_args.c M vm_callinfo.h M vm_exec.h M vm_insnhelper.c commit 967b9743faac0b55a3d8deb176a08fdff449bba8 Author: Burdette Lamar Date: Fri Sep 10 17:21:21 2021 -0500 Enhanced RDoc for Enumerable (#4808) #to_a #to_h #inject M enum.c commit c09f8e56bc28227aaa1c00d1d6d93e69b322fb41 Author: git Date: Sat Sep 11 04:41:38 2021 +0900 * 2021-09-11 [ci skip] M version.h commit 3e038ab1c7f0009f753bfada2e18fb6078a92c12 Author: aycabta Date: Sat Sep 11 04:30:29 2021 +0900 [ruby/irb] Ignore invalid 3 colons in completion https://github.com/ruby/irb/commit/5e29e3e39c M lib/irb/completion.rb M test/irb/test_completion.rb commit cfbf2bde4002821d12047b2aba0010739aaf925e Author: Nobuyoshi Nakada Date: Fri Sep 10 21:26:16 2021 +0900 Remove unused argument M compile.c commit cb4e2cb55a59833fc4f1f6db2f3082d1ffcafc80 Author: 卜部昌平 Date: Thu Sep 9 22:19:07 2021 +0900 .github/workflows/compilers.yml: disable shared for LTO LTO is about static links. Makes no sense to have DLLs. M .github/workflows/compilers.yml commit 0de84bb763dab21daa39e73d0b4d62c8aa503d3e Author: 卜部昌平 Date: Thu Sep 9 21:57:12 2021 +0900 .github/workflows/baseruby.yml: check Ruby 3.0 Why not? M .github/workflows/baseruby.yml commit f752382688f18b98ac36aff10158309b4cf91e1c Author: 卜部昌平 Date: Thu Sep 9 21:46:17 2021 +0900 spec/ruby/optional/capi/ext: must support GCC 5 What a silly bug. M spec/ruby/optional/capi/ext/object_spec.c M spec/ruby/optional/capi/ext/string_spec.c commit b0f01202677da255f2004b4d6de43088202a0f8b Author: 卜部昌平 Date: Thu Sep 9 21:44:06 2021 +0900 spec/ruby/optional/capi/ext: support ruby < 3 RBIMPL_WARNING_PUSH is a 3.0 feature. Rubyspec OTOH has to support 2.x. M spec/ruby/optional/capi/ext/object_spec.c M spec/ruby/optional/capi/ext/string_spec.c commit b563b9c48f09093b94554867fe8a71de6c27a37b Author: 卜部昌平 Date: Thu Sep 9 18:19:07 2021 +0900 spec/ruby/optional/capi/ext: suppress warnings These warnings are okay here. M spec/ruby/optional/capi/ext/object_spec.c M spec/ruby/optional/capi/ext/string_spec.c commit 488ef54f0bbd724fd0965b7439d00ed1a3ffc379 Author: 卜部昌平 Date: Thu Sep 9 18:02:24 2021 +0900 .github/workflows/compilers.yml: --enable-shared Noticed that defs/gmake.mk has `exts: rubyspec-capiext` dependency only when $ENABLE_SHARED is true. This one adds extra tests so we basically welcome. Why not default it on. M .github/workflows/compilers.yml commit a310f896db4e25d8a355087fce1cf932f4758331 Author: 卜部昌平 Date: Thu Sep 9 17:15:58 2021 +0900 common.mk: update dependencies M common.mk commit 64f271241d79448ec75040d97df611f86d44ecda Author: 卜部昌平 Date: Thu Sep 9 15:35:18 2021 +0900 suppress GCC's -Wnonnull-compare This particular NULL check must be a good thing to do both statically and dynamically. M gc.c commit c39dd708b5f59766ce75c88e92d92ebcaa1df341 Author: 卜部昌平 Date: Thu Sep 9 14:24:09 2021 +0900 suppress GCC's -Wmissing-attribute I was not aware of this because I use clang these days. M include/ruby/internal/intern/string.h commit 6522b51ce5a878989766875d049e38daa0d0b9bc Author: 卜部昌平 Date: Thu Sep 9 14:11:38 2021 +0900 rb_ary_new_from_values: can take NULLs Explicit check done at runtime. M include/ruby/internal/intern/array.h commit dddc618d3076de2c1b27d01f106bf0bf126d4677 Author: 卜部昌平 Date: Thu Sep 9 14:05:11 2021 +0900 suppress GCC's -Wsuggest-attribute=format I was not aware of this because I use clang these days. M compile.c M error.c M include/ruby/missing.h M internal/error.h M vm_core.h M vm_debug.h commit fd12bc1896bd4a78b9ff376fd685a009254b153f Author: 卜部昌平 Date: Thu Sep 9 12:20:40 2021 +0900 ruby_scan_oct, ruby_scan_hex: are not pure Silly bug, they write back consumed bytes through passed pointers. Must never be pure functions. ruby_scan_oct does not refer any static variables so it can still be __declspec(noalias), while ruby_scan_hex is not because it reads from ruby_digit36_to_number_table. M include/ruby/util.h commit de2afff1b9233b5b23ca1f6442a4b880e160cffb Author: 卜部昌平 Date: Thu Sep 9 12:19:20 2021 +0900 dln.c: add missing dependency M dln.c commit 4f03930d04a0185ee9057ee314cfb79eb5a1b73a Author: 卜部昌平 Date: Thu Sep 9 11:12:33 2021 +0900 ruby_cleanup: fix MSVC compile error See https://ci.appveyor.com/project/ruby/ruby/builds/40686153/job/1wihxw5m5kybtohj M include/ruby/internal/interpreter.h commit 679f4b895b683430c49f0014ac885eb9291d59e9 Author: 卜部昌平 Date: Mon Jan 11 17:40:38 2021 +0900 template/Doxyfile.tmpl: EXTRACT_ALL=NO This prevents file-static functions/variables be listed in the CAPI documents. An entity shall be placed inside of a file that contains `@file` doxygen comment, in order for it to be documented. [ci skip] M template/Doxyfile.tmpl commit 0e3dae78b31fbb86233aac80668a06d9930ca47f Author: sonots Date: Sat Oct 21 16:38:32 2017 +0900 template/Doxyfile.tmpl: EXTRACT_STATIC: YES [Bugs #14037] I often feel that C API documents are lacked in C source codes, especially for static functions. I propose to turn EXTRACT_STATIC = YES flag of Doxygen to YES, and write document comments for static functions as much as possible. * template/Doxyfile.tmpl: EXTRACT_STATIC: YES [Bugs #14037] M template/Doxyfile.tmpl commit bbe70498135c880fbece705b5962c3a9381857aa Author: 卜部昌平 Date: Tue Jan 12 17:19:48 2021 +0900 template/Doxyfile.tmpl: rethink about exclusions I guess we don't want documents for C API of extension libraries? They are never intended to provide C APIs anyways. We could revisit this decision later. [ci skip] M template/Doxyfile.tmpl commit 676073b62eb9a0e7b368c3a0a6ebb01aa1a8791b Author: 卜部昌平 Date: Wed Sep 8 17:03:56 2021 +0900 include/ruby.h: skip doxygen Everything defined in this header file are for backwards compatibility only. No one practically need them any longer. [ci skip] M include/ruby.h commit 4702b59f2151b5d32a1b799a9580ea0870c886d4 Author: 卜部昌平 Date: Wed Sep 8 17:02:08 2021 +0900 include/ruby/backward.h: skip doxygen There is nothing interesting here. [ci skip] M include/ruby/backward.h commit 6420db8ab72e3348d0ddf59071c696cbdb270818 Author: 卜部昌平 Date: Mon Sep 6 23:32:23 2021 +0900 include/ruby/debug.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/debug.h M vm_trace.c commit 1563526edffe4dfc8330ebdef23ffd25e2ac460c Author: 卜部昌平 Date: Sun Aug 8 15:24:44 2021 +0900 include/ruby/defines.h: add doxygen The only thing that remains in this file which is still worth documenting is the RUBY macro. Everything else were split into many files in https://github.com/ruby/ruby/pull/2991/commits/1ff4cee2b172bf7653c29a8522c132907172b975 [ci skip] M include/ruby/defines.h commit 6e8e2b467bc2d1db0a593ddfb23eabdc109d85e1 Author: 卜部昌平 Date: Thu Aug 19 15:18:08 2021 +0900 forgot to delete a redundant comment M include/ruby/encoding.h commit 3ca688aeb0506ce2cdf1c7b6f7058e0c42581b01 Author: 卜部昌平 Date: Fri Aug 6 23:32:41 2021 +0900 include/ruby/encoding.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/encoding.h commit 84b96298b33a80318ed0fc2f3010119ac9207a0f Author: 卜部昌平 Date: Fri Jul 9 15:35:21 2021 +0900 include/ruby/fiber/scheduler.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/fiber/scheduler.h commit 809138fe4bb4e72b9c790de794b6ca50b8586291 Author: 卜部昌平 Date: Thu Jul 8 12:48:32 2021 +0900 include/ruby/io.h: add doxyen Must not be a bad idea to improve documents. [ci skip] M include/ruby/io.h M template/Doxyfile.tmpl commit 6204b0dd99fe244636d98666df7bce70cc79e3ca Author: 卜部昌平 Date: Mon Sep 6 23:35:06 2021 +0900 include/ruby/memory_view.h: add doxygen I'm just applying doc/memory_view.md as a doxygen comment. [ci skip] M include/ruby/memory_view.h commit 5a79439a683b405a1d766d99bf477ba63aa97118 Author: 卜部昌平 Date: Fri Jul 2 14:57:19 2021 +0900 include/ruby/missing.h: skip doxygen We don't want to document e.g. M_PI, which is an ISO C thing. M include/ruby/missing.h commit 56c0475036846f542529c52d9c78be9586ecf87d Author: 卜部昌平 Date: Fri Jul 2 14:31:54 2021 +0900 include/ruby/ractor.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/ractor.h commit 2c4dccad337b58b4d36cf489ebecd9c7da778e4c Author: 卜部昌平 Date: Fri Jun 25 09:53:40 2021 +0900 include/ruby/random.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/random.h commit 1c9106da8bfe96dafa844cf543eda08dca1b176d Author: 卜部昌平 Date: Wed Jun 23 15:43:05 2021 +0900 include/ruby/re.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/re.h commit 4c14c55505800b8605962c7dd93d6dff6e832ff7 Author: 卜部昌平 Date: Fri Jun 18 11:37:50 2021 +0900 include/ruby/regex.h: skip doxygen It seems this is a part of Onigmo's API, not Ruby's. M include/ruby/regex.h commit e18bc14a05cba2a00fea1525b097530bd5362a9e Author: 卜部昌平 Date: Fri Jun 11 17:15:28 2021 +0900 include/ruby/ruby.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/ruby.h M object.c commit 4912260b7050ce24c2fde345bc8ea206152e02aa Author: 卜部昌平 Date: Wed Jun 9 14:00:02 2021 +0900 include/ruby/subst.h: skip doxygen Nothing worth documenting in this file. [ci skip] M include/ruby/subst.h commit a50287ab03ce9cf871d307cc619e394d9a736466 Author: 卜部昌平 Date: Wed Jun 9 13:59:32 2021 +0900 include/ruby/thread.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/thread.h commit 53e0d7eec71302eacd370426d0af29f8adcfe19d Author: 卜部昌平 Date: Tue Jun 8 17:58:25 2021 +0900 include/ruby/thread_native.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/thread_native.h commit eb39497ecf2599edfb5ab5bbb2c1ed16102819cc Author: 卜部昌平 Date: Tue Jun 8 14:51:47 2021 +0900 include/ruby/util.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/util.h commit 99dd95806d6e29dca3b7dc639a8bd5193417c3a8 Author: 卜部昌平 Date: Tue Jun 8 11:25:50 2021 +0900 include/ruby/version.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/version.h commit 072d74cc7aa710cf1d8e42c661bdf6c84ead1c82 Author: 卜部昌平 Date: Tue Jun 8 09:55:09 2021 +0900 include/ruby/vm.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/vm.h commit ba814a5aa3c69322d616471e934592b261448645 Author: 卜部昌平 Date: Mon Jun 7 17:26:34 2021 +0900 include/ruby/backward/2/assume.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/backward/2/assume.h commit 5107a6bf12e91b830acca044484ff123b6ac7f96 Author: 卜部昌平 Date: Mon Jun 7 16:48:29 2021 +0900 include/ruby/backward/2/attributes.h: skip doxygen These macros are for backwards compatibility. No longer used in our public header files. People can safely forget about them. [ci skip] M include/ruby/backward/2/attributes.h commit 07240056f9dc2419d1d90d7557051f648bbd6548 Author: 卜部昌平 Date: Mon Jun 7 15:40:14 2021 +0900 include/ruby/backward/2/bool.h: skip doxygen It's 21st century, right? Just forget about them. [ci skip] M include/ruby/backward/2/bool.h commit c0b5d95cc026678a7d2409deee58ee4e48772125 Author: 卜部昌平 Date: Mon Jun 7 15:27:13 2021 +0900 include/ruby/backward/2/gcc_version_since.h: skip doxygen It seems no public APIs depend on this macro any longer. [ci skip] M include/ruby/backward/2/gcc_version_since.h M include/ruby/defines.h commit 5868ebf46e35e7a618dfeba071f9a83d662d65d9 Author: 卜部昌平 Date: Mon Jun 7 15:11:18 2021 +0900 include/ruby/backward/2/inttypes.h: skip dpxygen These macros need not be documented methinks. [ci skip] M include/ruby/backward/2/inttypes.h commit 0f9cf6d4d0a9571c4d7dbc341e05b912c50de159 Author: 卜部昌平 Date: Mon Jun 7 14:46:28 2021 +0900 include/ruby/backward/2/limits.h: skip doxygen For instane CHAR_BIT is an ANSI C macro which should be documented in other places than Ruby (and the definition in this file must work exactly identical to that of standard one). [ci skip] M include/ruby/backward/2/limits.h commit 7ead69068edaddf62487d6525b8fe29231566947 Author: 卜部昌平 Date: Mon Jun 7 14:12:04 2021 +0900 include/ruby/backward/2/long_long.h: add doxygen Might want to delete LONG_LONG macro but for the time being let us describe what on earth it is. [ci skip] M include/ruby/backward/2/long_long.h commit f05dc8b44a1d546ed1046860454f92b094efb475 Author: 卜部昌平 Date: Mon Jun 7 13:35:29 2021 +0900 include/ruby/backward/2/r_cast.h: skip doxygen Nobody practically uses this file. Please just don't remember. [ci skip] M include/ruby/backward/2/r_cast.h commit e5a1efb72a9bb406395813ea79625ff9bd1e89ac Author: 卜部昌平 Date: Mon Jun 7 14:44:29 2021 +0900 include/ruby/backward/2/rmodule.h: skip doxygen These macros are considered archaic. [ci skip] M include/ruby/backward/2/rmodule.h commit c4693b8a5b230a34fd59898d03949248e09c8eaa Author: 卜部昌平 Date: Mon Jun 7 13:33:33 2021 +0900 include/ruby/backward/2/stdalign.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/backward/2/stdalign.h commit 8a469f1c2575ae8a1da602affb94e74ffa6a06c3 Author: 卜部昌平 Date: Mon Jun 7 13:33:08 2021 +0900 include/ruby/backward/2/stdarg.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/backward/2/stdarg.h commit 5453031fd468b06e0401d3d53cb963454ae5aaef Author: 卜部昌平 Date: Mon Jun 7 11:56:52 2021 +0900 include/ruby/backward/cxxanyargs.hpp: addo doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/backward/cxxanyargs.hpp commit cac1e88d752d2bb9087314eb7c54623fbfc6aacd Author: 卜部昌平 Date: Mon Dec 21 16:30:10 2020 +0900 include/ruby/backward/cxxanyargs.hpp: suppress doxygen warning rb_cFiber is not visible from extension libraries, hence intentionally not documented. [ci skip] M include/ruby/backward/cxxanyargs.hpp commit 9eab1e910768c51fd78288263a1432723d4e0b6c Author: 卜部昌平 Date: Tue Jan 26 11:07:18 2021 +0900 include/ruby/internal/arithmetic/char.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/char.h commit 6e62cf46edc59aede8ddcc5b272b24f5e019d24b Author: 卜部昌平 Date: Tue Jan 26 09:29:05 2021 +0900 include/ruby/internal/arithmetic/double.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/double.h M object.c commit 887c1f117dfe3a46478faea00d084ee8374b643f Author: 卜部昌平 Date: Mon Jan 25 11:55:36 2021 +0900 include/ruby/internal/arithmetic/fixnum.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/fixnum.h commit 98ab28619575a766f90dfcbfa54a73c9274e387d Author: 卜部昌平 Date: Mon Jan 25 10:51:04 2021 +0900 include/ruby/internal/arithmetic/gid_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/gid_t.h commit 5e1caeb15ce7590621facf93d87207e73dd8a3a9 Author: 卜部昌平 Date: Mon Jan 25 10:37:46 2021 +0900 include/ruby/internal/arithmetic/int.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/int.h commit 8fa82cd2722698880718f5b2fec948edcbf55850 Author: 卜部昌平 Date: Mon Jan 25 09:23:09 2021 +0900 include/ruby/internal/arithmetic/intptr_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/intptr_t.h commit 6706d0216f5491d7a0386838bc71a1e7aaa9a3fb Author: 卜部昌平 Date: Fri Jan 22 14:44:45 2021 +0900 include/ruby/internal/arithmetic/long.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/long.h commit abd15ac775d41e6485f728fe0fad4cddf138d3ec Author: 卜部昌平 Date: Thu Jan 21 15:43:07 2021 +0900 include/ruby/internal/arithmetic/long_long.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/long_long.h commit e9c423ac6c90f760e65e3b528bc7c26996ccab02 Author: 卜部昌平 Date: Thu Jan 21 14:45:12 2021 +0900 include/ruby/internal/arithmetic/mode_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/mode_t.h commit 92150fde85f028a5d60cf670cf66a2036cdb3a15 Author: 卜部昌平 Date: Thu Jan 21 14:39:13 2021 +0900 include/ruby/internal/arithmetic/off_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/off_t.h commit 5289552e53d0d4874b70d652b8e7da76de27de4d Author: 卜部昌平 Date: Thu Jan 21 14:11:27 2021 +0900 include/ruby/internal/arithmetic/pid_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/pid_t.h commit 009c6b742b5a1e301daaf7f73ed87a60005503be Author: 卜部昌平 Date: Thu Jan 21 14:08:14 2021 +0900 include/ruby/internal/arithmetic/short.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/short.h commit 5c3cd09715c8ac623c0c0b41451d1568cba85a74 Author: 卜部昌平 Date: Thu Jan 21 12:02:26 2021 +0900 include/ruby/internal/arithmetic/size_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/size_t.h commit 86d4fe686c52920c2bb638fd1da731e811c4261a Author: 卜部昌平 Date: Thu Jan 21 11:57:07 2021 +0900 include/ruby/internal/arithmetic/st_data_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/st_data_t.h commit edf1964bdfabbd25be3082f77986b9f5ad845ba1 Author: 卜部昌平 Date: Thu Jan 21 11:43:31 2021 +0900 include/ruby/internal/arithmetic/uid_t.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/arithmetic/uid_t.h commit 0ea157136f1b255321722db1acd0be3c6229a77a Author: 卜部昌平 Date: Wed Mar 24 09:21:58 2021 +0900 postscript about rb_mutex_sleep Asked ko1 about the design. [ci skip] M include/ruby/internal/intern/thread.h M template/Doxyfile.tmpl commit ce54282b75761b97ea961ea5fe19cef244f82f97 Author: 卜部昌平 Date: Fri Jun 4 23:53:32 2021 +0900 include/ruby/internal/intern/array.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M array.c M include/ruby/internal/intern/array.h commit f9a00f9ef2dedaad4fe09c327603d63d580fa32e Author: 卜部昌平 Date: Wed May 19 10:54:58 2021 +0900 include/ruby/internal/intern/bignum.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/bignum.h commit fbe1fcd82deef1ab035729244fed219ee6f18cc9 Author: 卜部昌平 Date: Fri May 14 18:25:36 2021 +0900 include/ruby/internal/intern/class.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M class.c M include/ruby/internal/intern/class.h commit 5f478d8ac3101bf774e8f3f1943fde37ab36db5b Author: 卜部昌平 Date: Thu May 13 14:06:12 2021 +0900 include/ruby/internal/intern/compar.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/compar.h commit 0375f1fe9728638da51d1fae0c87b3176f24d9ec Author: 卜部昌平 Date: Thu May 13 13:03:55 2021 +0900 include/ruby/internal/intern/complex.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M complex.c M include/ruby/internal/intern/complex.h commit 0f3ae588822fb63435d38b91001afd0237900fa8 Author: 卜部昌平 Date: Thu May 13 09:49:20 2021 +0900 include/ruby/internal/intern/cont.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/cont.h commit 974a9e4fba646727c9ba8ebfe898ad17286a5f12 Author: 卜部昌平 Date: Fri May 7 14:49:09 2021 +0900 include/ruby/internal/intern/dir.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/dir.h commit 0a7034258f765f057ad56d1210b890d44324f904 Author: 卜部昌平 Date: Thu May 6 18:08:32 2021 +0900 include/ruby/internal/intern/enum.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/enum.h commit 407c4850f19f92c703847cea1e07b3151e1cdc6e Author: 卜部昌平 Date: Thu May 6 15:50:02 2021 +0900 include/ruby/internal/intern/enumerator.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/enumerator.h commit d5460f1cdac1c941baa29625b794b630a5f2f593 Author: 卜部昌平 Date: Mon Apr 26 11:31:26 2021 +0900 include/ruby/internal/intern/error.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/error.h commit 3fa875f88b4630af072a2719506a65f58e96822a Author: 卜部昌平 Date: Fri Apr 23 15:25:42 2021 +0900 include/ruby/internal/intern/eval.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M eval.c M include/ruby/internal/intern/eval.h commit e3b94182a08db8d5e9f7021627ad4ad216c3250b Author: 卜部昌平 Date: Thu Apr 22 14:41:39 2021 +0900 include/ruby/internal/intern/file.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/file.h commit ba42d35dd087c2133fb49289c72fff0ac7f108e6 Author: 卜部昌平 Date: Wed Apr 21 14:10:12 2021 +0900 include/ruby/internal/intern/gc.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/gc.h commit 990a6c789a4e7cddaea4831de90b9a5e451444f3 Author: 卜部昌平 Date: Fri Apr 16 14:54:31 2021 +0900 include/ruby/internal/intern/hash.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/hash.h commit 398be8bc92a1affef5aa3a72ef5730f16b8098d0 Author: 卜部昌平 Date: Mon Apr 12 17:27:01 2021 +0900 include/ruby/internal/intern/io.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/io.h commit 63aef9b177b817b8dbb0a886f2992bf4ad769a23 Author: 卜部昌平 Date: Mon Mar 15 17:23:02 2021 +0900 include/ruby/internal/intern/load.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/load.h commit 72a43d4a4b6d4d41d15578b465bb393f6ed051ed Author: 卜部昌平 Date: Mon Mar 15 10:04:43 2021 +0900 include/ruby/internal/intern/marshal.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/marshal.h commit 14e6e122e73fc0b5a05a68e277895c6b965092b8 Author: 卜部昌平 Date: Fri Mar 12 14:16:11 2021 +0900 include/ruby/internal/intern/numeric.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/numeric.h commit d43accae15cdfc245052f6b08c5880913a35ae9e Author: 卜部昌平 Date: Thu Mar 11 16:34:49 2021 +0900 include/ruby/internal/intern/object.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/attr/deprecated.h M include/ruby/internal/intern/object.h M object.c commit 4f97917474ea67a711e89e6051047d4e657a9774 Author: 卜部昌平 Date: Mon Mar 8 16:52:35 2021 +0900 include/ruby/internal/intern/parse.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/parse.h commit 26b7efc51cf2085c5173bd4fc7263760b81900c7 Author: 卜部昌平 Date: Fri Mar 5 13:55:54 2021 +0900 include/ruby/internal/intern/proc.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M eval.c M include/ruby/internal/intern/proc.h commit 15255b303c7fffa146550f69df6f9f772af38ea3 Author: 卜部昌平 Date: Tue Mar 2 18:02:30 2021 +0900 include/ruby/internal/intern/process.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/process.h commit 357a43558e0f6bd214873c16530b2e7c8d27a4ad Author: 卜部昌平 Date: Fri Feb 26 15:45:17 2021 +0900 include/ruby/internal/intern/random.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/random.h commit 949220d9dba4a86697798302ec7bf5b4ebe3230a Author: 卜部昌平 Date: Thu Feb 25 14:39:57 2021 +0900 include/ruby/internal/intern/range.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/range.h commit 7c8ad0a37d983f44f2ecb8a304fb926e31cac08b Author: 卜部昌平 Date: Thu Feb 25 11:44:19 2021 +0900 include/ruby/internal/intern/rational.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/rational.h commit 06127fe4aeb8aa14b7dda050e56dffefa2a731c5 Author: 卜部昌平 Date: Wed Feb 24 17:20:31 2021 +0900 include/ruby/internal/intern/re.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/re.h commit 9d91878b79401cdeb70c6cd22519c82ae1638ea4 Author: 卜部昌平 Date: Wed Feb 24 11:52:23 2021 +0900 include/ruby/internal/intern/ruby.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/ruby.h commit 4625ab88e2ebd853378cd59ab4b5dee5e88b6a20 Author: 卜部昌平 Date: Fri Feb 19 18:08:12 2021 +0900 include/ruby/internal/intern/select.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/select.h commit 29201e1ad2074076211de51895cee92fff479f60 Author: 卜部昌平 Date: Fri Feb 19 18:05:12 2021 +0900 include/ruby/internal/intern/select/largesize.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/select/largesize.h commit 20716f64e9287bc71fd8b215e7e92d3a26d2faa6 Author: 卜部昌平 Date: Fri Feb 19 16:03:10 2021 +0900 include/ruby/internal/intern/select/posix.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/select/posix.h commit 515f8d09671812ce08ccc20de483420ab81e417b Author: 卜部昌平 Date: Fri Feb 19 14:34:44 2021 +0900 include/ruby/internal/intern/select/win32.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/select/win32.h commit 65ec1706180c0432be66af765425c6780e84ca3c Author: 卜部昌平 Date: Fri Feb 19 11:31:26 2021 +0900 include/ruby/internal/intern/signal.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/signal.h commit 772ad7718b932bd3aa28e88321f5974bd75d5e49 Author: 卜部昌平 Date: Thu Feb 18 17:50:03 2021 +0900 include/ruby/internal/intern/sprintf.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/sprintf.h commit 091faca99ca92cb1146b3c4d8ebba67f4822561c Author: 卜部昌平 Date: Thu Feb 18 15:35:55 2021 +0900 include/ruby/internal/intern/string.h: add doygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/string.h M string.c commit 1bdae3773f224dd711a601fbb0add5eea6b455fa Author: 卜部昌平 Date: Fri Feb 12 11:58:36 2021 +0900 include/ruby/internal/intern/struct.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/struct.h commit 45803af58cc5fefa7acff8ae1fa955487347d309 Author: 卜部昌平 Date: Wed Feb 10 13:57:45 2021 +0900 include/ruby/internal/intern/thread.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/thread.h commit a88bd246cafc584ddaccef45b31b35a42f3cdd50 Author: 卜部昌平 Date: Mon Feb 8 11:32:11 2021 +0900 include/ruby/internal/intern/time.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/time.h M time.c commit cbf9fc6b0210488713750ca7b53de2b83d667e05 Author: 卜部昌平 Date: Fri Feb 5 16:36:18 2021 +0900 include/ruby/internal/intern/variable.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/variable.h commit 43cac51277ab2c0e713b549a5a64c05aedc8bcfc Author: 卜部昌平 Date: Thu Feb 4 17:35:39 2021 +0900 include/ruby/internal/intern/vm.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/intern/vm.h M include/ruby/internal/method.h M vm.c M vm_eval.c commit 8b0dbca2f41228ed0c7adb2ae592aea722a440c4 Author: 卜部昌平 Date: Wed Feb 3 16:39:38 2021 +0900 include/ruby/internal/core/rarray.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rarray.h M internal/array.h commit a2b8f61cba2fb4720acbed846ae0409b3a39b909 Author: 卜部昌平 Date: Wed Feb 3 11:27:49 2021 +0900 include/ruby/internal/core/rbasic.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rbasic.h M object.c commit 9c4aa94a199fbbf0dacb1b5e3530b1d8ccc65105 Author: 卜部昌平 Date: Tue Feb 2 17:29:23 2021 +0900 include/ruby/internal/core/rbignum.h: add doxgen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rbignum.h commit 7c28330ca03d124068f608e9d8d1a4e07ba5dd7d Author: 卜部昌平 Date: Tue Feb 2 16:34:14 2021 +0900 include/ruby/internal/core/rclass.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rclass.h M object.c commit 005ff5da52f8b9c8e7633fad9d39e6a47c39ae40 Author: 卜部昌平 Date: Tue Feb 2 12:58:32 2021 +0900 include/ruby/internal/core/rdata.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rdata.h commit 0c486c55310e5392e6773b04472404589c4ed9a0 Author: 卜部昌平 Date: Tue Feb 2 10:31:57 2021 +0900 include/ruby/internal/core/rfile.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rfile.h commit b92a9af405f6d0ce838d29496c44b5ea62c059fe Author: 卜部昌平 Date: Tue Feb 2 09:58:57 2021 +0900 include/ruby/internal/core/rhash.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rhash.h commit b40d74ce696ca3c58e051220fafdaeb2d2e20214 Author: 卜部昌平 Date: Mon Feb 1 16:52:16 2021 +0900 include/ruby/internal/core/rmatch.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rmatch.h commit 549e9383e46d9fb9074cef483caaf9b5af908199 Author: 卜部昌平 Date: Mon Feb 1 14:51:15 2021 +0900 include/ruby/internal/core/robject.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/robject.h commit ada4a0fdd231cce24407ad4a89f6e5fd56940b31 Author: 卜部昌平 Date: Mon Feb 1 14:01:07 2021 +0900 include/ruby/internal/core/rregexp.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rregexp.h commit 1bd133949295be3b50439c956f951f7b1bfe7d6e Author: 卜部昌平 Date: Mon Feb 1 12:10:21 2021 +0900 include/ruby/internal/core/rstring.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rstring.h commit 746996e6c97d65f9b34021c2481719270e0941b6 Author: 卜部昌平 Date: Fri Jan 29 11:05:16 2021 +0900 include/ruby/internal/core/rstruct.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rstruct.h M include/ruby/internal/intern/struct.h commit fdae26a5a8815e430661e5c6e7e90f167d5d1447 Author: 卜部昌平 Date: Thu Jan 28 15:10:40 2021 +0900 include/ruby/internal/core/rtypeddata.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/core/rtypeddata.h commit 156101291899cb7da65a07f07ce6e7f525e36ae7 Author: 卜部昌平 Date: Wed May 19 17:02:37 2021 +0900 include/ruby/internal/anyargs.h: fix typo RBIMPL_ATTR_NONNULL macro takes an argument. M include/ruby/internal/anyargs.h commit 618fa0a67bdfd67bbbc524ad1830c4eae3a4c9d7 Author: 卜部昌平 Date: Mon Apr 26 13:57:36 2021 +0900 include/ruby/internal/anyargs.h: fix typo Just applied spell checker. [ci skip] M include/ruby/internal/anyargs.h commit cf1424d62ad5406efb79adc1e387c5b111527454 Author: 卜部昌平 Date: Mon Jun 7 16:38:59 2021 +0900 include/ruby/internal/cast.h: skip doxygen This header contains nothing worth documenting. [ci skip] M include/ruby/internal/cast.h commit b5e491fb456cb4decdd27e91584aa3c8023173ab Author: 卜部昌平 Date: Thu Jan 21 11:32:14 2021 +0900 include/ruby/internal/compiler_is: skip doxygen We don't want 3rd parties to use these RBIMPL_ macros. Let's not document them. [ci skip] M include/ruby/internal/compiler_is/apple.h M include/ruby/internal/compiler_is/clang.h M include/ruby/internal/compiler_is/gcc.h M include/ruby/internal/compiler_is/intel.h M include/ruby/internal/compiler_is/msvc.h M include/ruby/internal/compiler_is/sunpro.h commit 924d78f87d4332d388739932b5c2f620440b12da Author: 卜部昌平 Date: Thu Jan 21 11:03:57 2021 +0900 include/ruby/internal/config.h: skip doxygen It is definitely desirable to document them, but we need more human resources. Tentatively disable documenting them. [ci skip] M include/ruby/internal/config.h commit b7cd9a3b7946107ad2b2d2e71a628dcb04f6f960 Author: 卜部昌平 Date: Wed Jan 20 15:29:02 2021 +0900 include/ruby/internal/constant_p.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/constant_p.h commit 538a3919d993a253e0aef14ca2fab8f65aa87634 Author: 卜部昌平 Date: Fri Jan 8 15:55:05 2021 +0900 include/ruby/internal/ctype.h: add doxygen Must not be a bad idea to improve documents. M include/ruby/internal/ctype.h M util.c commit 9febab7afcff3a2b7d6a90f022ad19377f62733d Author: 卜部昌平 Date: Thu Jan 21 10:36:19 2021 +0900 include/ruby/internal/dllexport.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/dllexport.h commit 0d13f5aa736ed2c30113df9f72d4044f2a091ef5 Author: 卜部昌平 Date: Thu Jan 21 10:16:50 2021 +0900 include/ruby/internal/dosish.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/dosish.h commit 30f33198714555abc9ed004b75b4508a39922335 Author: 卜部昌平 Date: Mon Feb 1 14:10:07 2021 +0900 include/ruby/internal/eval.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/eval.h M vm_eval.c commit ee94fb44f4ea0c75203bd0e99909360c81f971fa Author: 卜部昌平 Date: Thu Jan 21 09:36:11 2021 +0900 include/ruby/internal/event.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/event.h commit 99c3328edc696ec3ce12d536a1dfe4578fd26f13 Author: 卜部昌平 Date: Wed Dec 9 17:00:50 2020 +0900 include/ruby/internal/error.h: name a parameter Better document [ci skip] M include/ruby/internal/error.h commit 891dbedd001720442167b8bbeee0edf11c3e58de Author: 卜部昌平 Date: Mon Dec 21 11:16:16 2020 +0900 include/ruby/internal/error.h: refactor move contents around [ci skip] M include/ruby/internal/error.h commit 1b6245ccdcd414698a257847d508603f438578ca Author: 卜部昌平 Date: Mon Dec 21 11:15:08 2020 +0900 include/ruby/internal/error.h: add doxygen Must not be a bad idea to improve documents. M error.c M eval.c M include/ruby/internal/error.h commit 4881a3ed38dca132ae85878d40ad79b8f4aa5e55 Author: 卜部昌平 Date: Wed Jan 20 10:18:13 2021 +0900 include/ruby/internal/fl_type.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/fl_type.h M object.c M template/Doxyfile.tmpl commit fbe0785a3476023e36cfa38c089ff4d79c8c0c21 Author: 卜部昌平 Date: Wed Dec 23 11:13:01 2020 +0900 include/ruby/internal/glob.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/glob.h commit 3be4adcf2bf0d4181f666f6102eba45b5fd73568 Author: 卜部昌平 Date: Tue Dec 22 16:39:42 2020 +0900 include/ruby/internal/globals.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/globals.h M object.c commit f83b14af247c56083fa19f2f0ca47ba4088b324f Author: 卜部昌平 Date: Fri Dec 18 14:24:07 2020 +0900 include/ruby/internal/interpreter.h: add doxygen Must not be a bad idea to improve documents. [ci skip] In fact many functions declared in the header file are already documented more or less. They were just copy & pasted, with applying some style updates. M eval.c M include/ruby/internal/interpreter.h M ruby.c M thread_pthread.c M version.c commit 03fd22a170977f23b6c75981c41b3b90b4704975 Author: 卜部昌平 Date: Fri Dec 11 18:26:27 2020 +0900 include/ruby/internal/iterator.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M eval.c M include/ruby/internal/iterator.h commit 4397e737c57a0722499669f3c60693d2cdeba609 Author: 卜部昌平 Date: Tue Jan 19 12:55:16 2021 +0900 include/ruby/internal/memory.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/memory.h commit 00ff6b68e4c2de55b175a5723d14269602cf163a Author: 卜部昌平 Date: Mon Dec 21 14:43:55 2020 +0900 include/ruby/internal/method.h: add doxygen Must not be a bad idea to improve documents. [ci skip] In fact many functions declared in the header file are already documented more or less. They were just copy & pasted, with applying some style updates. M class.c M include/ruby/internal/method.h commit 9ba9dbf168c8be042a11baad90a2b7bf8428a478 Author: 卜部昌平 Date: Mon Dec 21 16:32:40 2020 +0900 include/ruby/internal/module.h: add doxygen Must not be a bad idea to improve documents. [ci skip] In fact many functions declared in the header file are already documented more or less. They were just copy & pasted, with applying some style updates. M class.c M eval.c M include/ruby/internal/module.h commit 1f66d8a77b4d7efcff778ba82284b7b651b53104 Author: 卜部昌平 Date: Mon Jan 18 12:27:20 2021 +0900 include/ruby/internal/newobj.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M class.c M include/ruby/internal/newobj.h M object.c commit c3c0bf6823ed86981235b71b83cb420d272532cb Author: 卜部昌平 Date: Thu Jan 7 10:27:53 2021 +0900 include/ruby/internal/rgengc.h: add dosygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/rgengc.h M template/Doxyfile.tmpl commit 2061dadb0a7022c64bd0599105ffb5c17bb0b2e9 Author: 卜部昌平 Date: Fri Jan 15 17:34:29 2021 +0900 include/ruby/internal/scan_args.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/scan_args.h commit b0a7c0dfd04ac51b621c016387d5f65cfe3ecf5a Author: 卜部昌平 Date: Fri Jan 15 16:34:34 2021 +0900 include/ruby/internal/special_consts.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/special_consts.h commit 818fabfcd96898192ab9de3cb31fc424bcd167c6 Author: 卜部昌平 Date: Mon Jan 18 19:57:48 2021 +0900 include/ruby/internal/stdalign.h: add doxygen Unlike other "add doxygen" commits this one adds a preprocessor branch that doxygen would process. This prevents it from parsing other parts of the file. M include/ruby/internal/stdalign.h commit 73d2bf97c1b93bb45d9c0edda02dde43165fc0da Author: 卜部昌平 Date: Tue Jan 12 17:11:48 2021 +0900 include/ruby/internal/symbol.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/symbol.h M symbol.c commit 178ce745975134b87aacb3d42e383011e4350ed4 Author: 卜部昌平 Date: Mon Jan 11 18:39:29 2021 +0900 include/ruby/internal/value.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/value.h commit e2a441bdd4584292deaf85906d747521ad2e9f2a Author: 卜部昌平 Date: Thu Jan 14 16:25:16 2021 +0900 include/ruby/internal/value_type.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/value_type.h M template/Doxyfile.tmpl commit 3341e178ef5729443729a0eaef42b305fc3aef1b Author: 卜部昌平 Date: Thu Jan 14 11:47:56 2021 +0900 include/ruby/internal/variable.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/variable.h commit 13be4c0342951131f89272097f3796332f5d89ad Author: 卜部昌平 Date: Thu Jan 14 15:15:53 2021 +0900 include/ruby/internal/warning_push.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/warning_push.h commit 28b7b0e13e261006dee4b4d9152aaabdb1286718 Author: 卜部昌平 Date: Wed Jan 13 14:38:03 2021 +0900 include/ruby/internal/xmalloc.h: add doxygen Must not be a bad idea to improve documents. [ci skip] M include/ruby/internal/xmalloc.h M template/Doxyfile.tmpl commit a300133b4ada9d647e8c57914727bc4fac25647e Author: 卜部昌平 Date: Mon Jan 11 17:24:33 2021 +0900 include/ruby/internal/xmalloc.h: fix typo [ci skip] M include/ruby/internal/xmalloc.h commit daf0c04a47e5aaede2f2a3e3663148dff96ff770 Author: 卜部昌平 Date: Tue Jun 8 09:40:43 2021 +0900 internal/*.h: skip doxygen These contents are purely implementation details, not worth appearing in CAPI documents. [ci skip] M internal.h M internal/array.h M internal/bignum.h M internal/bits.h M internal/class.h M internal/compar.h M internal/compile.h M internal/compilers.h M internal/complex.h M internal/cont.h M internal/dir.h M internal/enc.h M internal/encoding.h M internal/enum.h M internal/enumerator.h M internal/error.h M internal/eval.h M internal/file.h M internal/fixnum.h M internal/gc.h M internal/hash.h M internal/imemo.h M internal/inits.h M internal/io.h M internal/load.h M internal/loadpath.h M internal/math.h M internal/missing.h M internal/numeric.h M internal/object.h M internal/parse.h M internal/proc.h M internal/process.h M internal/random.h M internal/range.h M internal/rational.h M internal/re.h M internal/sanitizers.h M internal/serial.h M internal/signal.h M internal/static_assert.h M internal/string.h M internal/struct.h M internal/symbol.h M internal/thread.h M internal/time.h M internal/transcode.h M internal/util.h M internal/variable.h M internal/vm.h M internal/warnings.h M ruby_assert.h M variable.h M version.h M vm_callinfo.h commit b6469c3aaf5362ec7c953a90a7b6b2c1e0449a1d Author: 卜部昌平 Date: Wed Dec 23 14:51:41 2020 +0900 template/Doxyfile.tmpl: add alias This enables me to write `@shyouhei` in C comments without complained by doxygen that @shyouhei is an unknown special command. [ci skip] M include/ruby/backward/cxxanyargs.hpp M template/Doxyfile.tmpl commit a08163fb2497ea4a6468b202155b3d28b752cacc Author: 卜部昌平 Date: Fri Jan 15 10:53:14 2021 +0900 template/Doxyfile.tmpl: use of += operator It is easier to maintain (e.g. sort them). [ci skip] M template/Doxyfile.tmpl commit f9af5c954205c20c149f27b455543834161e798f Author: 卜部昌平 Date: Tue Dec 22 11:07:44 2020 +0900 template/Doxyfile.tmpl: quote spaces The new Doxyfile.tmpl says: > # Values that contain spaces should be placed between quotes (\" \"). [ci skip] M template/Doxyfile.tmpl commit 85a737a1f91e3cc5c22452e3f83b11cbe0cb5b33 Author: 卜部昌平 Date: Wed Dec 9 11:34:42 2020 +0900 template/Doxyfile.tmpl: increase DOT_GRAPH_MAX_NODES `make capi` warned: > warning: Included by graph for 'dllexport.h' not generated, too many nodes (85) [ci skip] M template/Doxyfile.tmpl commit c9753f3f91917b8b998d9b81d136a7bfcae310f6 Author: 卜部昌平 Date: Tue Dec 22 11:50:39 2020 +0900 template/Doxyfile.tmpl: delete commented-out settings Let our VCS manage old contents. [ci skip] M template/Doxyfile.tmpl commit aa5dc3e297a788213bf5b6244a0f9e9638d208bd Author: 卜部昌平 Date: Tue Dec 22 10:43:41 2020 +0900 template/Doxyfile.tmpl: modernize Didn't question the current settings. This changeset just re-applied `doxygen -g` against: doxygen 1.9.0 (1e72202d8fa0e9d2b3f2a29c88ec4f5790a0a4e2) [ci skip] M template/Doxyfile.tmpl commit ef7448359478a04d67a4a406cca1c8442b5e2f94 Author: 卜部昌平 Date: Sat Dec 26 14:45:57 2020 +0900 tool/strip-rdoc.rb: optimize This script is called from Doxygen many times. Worth optimising. [ci skip] M tool/strip-rdoc.rb commit 94e5953b484517234ad476b1e179d1bdbcbafbd7 Author: 卜部昌平 Date: Thu Jan 14 15:00:54 2021 +0900 sed -i 's/. They/. They/' Truly editorial fix for comments. This works better with Emacs' set-justification-full function. [ci skip] M include/ruby/assert.h M include/ruby/backward/2/assume.h M include/ruby/backward/2/attributes.h M include/ruby/backward/2/bool.h M include/ruby/backward/2/gcc_version_since.h M include/ruby/backward/2/inttypes.h M include/ruby/backward/2/limits.h M include/ruby/backward/2/long_long.h M include/ruby/backward/2/r_cast.h M include/ruby/backward/2/rmodule.h M include/ruby/backward/2/stdalign.h M include/ruby/backward/2/stdarg.h M include/ruby/internal/anyargs.h M include/ruby/internal/arithmetic.h M include/ruby/internal/arithmetic/char.h M include/ruby/internal/arithmetic/double.h M include/ruby/internal/arithmetic/fixnum.h M include/ruby/internal/arithmetic/gid_t.h M include/ruby/internal/arithmetic/int.h M include/ruby/internal/arithmetic/intptr_t.h M include/ruby/internal/arithmetic/long.h M include/ruby/internal/arithmetic/long_long.h M include/ruby/internal/arithmetic/mode_t.h M include/ruby/internal/arithmetic/off_t.h M include/ruby/internal/arithmetic/pid_t.h M include/ruby/internal/arithmetic/short.h M include/ruby/internal/arithmetic/size_t.h M include/ruby/internal/arithmetic/st_data_t.h M include/ruby/internal/arithmetic/uid_t.h M include/ruby/internal/assume.h M include/ruby/internal/attr/alloc_size.h M include/ruby/internal/attr/artificial.h M include/ruby/internal/attr/cold.h M include/ruby/internal/attr/const.h M include/ruby/internal/attr/constexpr.h M include/ruby/internal/attr/deprecated.h M include/ruby/internal/attr/diagnose_if.h M include/ruby/internal/attr/enum_extensibility.h M include/ruby/internal/attr/error.h M include/ruby/internal/attr/flag_enum.h M include/ruby/internal/attr/forceinline.h M include/ruby/internal/attr/format.h M include/ruby/internal/attr/maybe_unused.h M include/ruby/internal/attr/noalias.h M include/ruby/internal/attr/nodiscard.h M include/ruby/internal/attr/noexcept.h M include/ruby/internal/attr/noinline.h M include/ruby/internal/attr/nonnull.h M include/ruby/internal/attr/noreturn.h M include/ruby/internal/attr/pure.h M include/ruby/internal/attr/restrict.h M include/ruby/internal/attr/returns_nonnull.h M include/ruby/internal/attr/warning.h M include/ruby/internal/attr/weakref.h M include/ruby/internal/cast.h M include/ruby/internal/compiler_is.h M include/ruby/internal/compiler_is/apple.h M include/ruby/internal/compiler_is/clang.h M include/ruby/internal/compiler_is/gcc.h M include/ruby/internal/compiler_is/intel.h M include/ruby/internal/compiler_is/msvc.h M include/ruby/internal/compiler_is/sunpro.h M include/ruby/internal/compiler_since.h M include/ruby/internal/config.h M include/ruby/internal/constant_p.h M include/ruby/internal/core.h M include/ruby/internal/core/rarray.h M include/ruby/internal/core/rbasic.h M include/ruby/internal/core/rbignum.h M include/ruby/internal/core/rclass.h M include/ruby/internal/core/rdata.h M include/ruby/internal/core/rfile.h M include/ruby/internal/core/rhash.h M include/ruby/internal/core/rmatch.h M include/ruby/internal/core/robject.h M include/ruby/internal/core/rregexp.h M include/ruby/internal/core/rstring.h M include/ruby/internal/core/rstruct.h M include/ruby/internal/core/rtypeddata.h M include/ruby/internal/ctype.h M include/ruby/internal/dllexport.h M include/ruby/internal/dosish.h M include/ruby/internal/error.h M include/ruby/internal/eval.h M include/ruby/internal/event.h M include/ruby/internal/fl_type.h M include/ruby/internal/gc.h M include/ruby/internal/glob.h M include/ruby/internal/globals.h M include/ruby/internal/has/attribute.h M include/ruby/internal/has/builtin.h M include/ruby/internal/has/c_attribute.h M include/ruby/internal/has/cpp_attribute.h M include/ruby/internal/has/declspec_attribute.h M include/ruby/internal/has/extension.h M include/ruby/internal/has/feature.h M include/ruby/internal/has/warning.h M include/ruby/internal/intern/array.h M include/ruby/internal/intern/bignum.h M include/ruby/internal/intern/class.h M include/ruby/internal/intern/compar.h M include/ruby/internal/intern/complex.h M include/ruby/internal/intern/cont.h M include/ruby/internal/intern/dir.h M include/ruby/internal/intern/enum.h M include/ruby/internal/intern/enumerator.h M include/ruby/internal/intern/error.h M include/ruby/internal/intern/eval.h M include/ruby/internal/intern/file.h M include/ruby/internal/intern/gc.h M include/ruby/internal/intern/hash.h M include/ruby/internal/intern/io.h M include/ruby/internal/intern/load.h M include/ruby/internal/intern/marshal.h M include/ruby/internal/intern/numeric.h M include/ruby/internal/intern/object.h M include/ruby/internal/intern/parse.h M include/ruby/internal/intern/proc.h M include/ruby/internal/intern/process.h M include/ruby/internal/intern/random.h M include/ruby/internal/intern/range.h M include/ruby/internal/intern/rational.h M include/ruby/internal/intern/re.h M include/ruby/internal/intern/ruby.h M include/ruby/internal/intern/select.h M include/ruby/internal/intern/select/largesize.h M include/ruby/internal/intern/select/posix.h M include/ruby/internal/intern/select/win32.h M include/ruby/internal/intern/signal.h M include/ruby/internal/intern/sprintf.h M include/ruby/internal/intern/string.h M include/ruby/internal/intern/struct.h M include/ruby/internal/intern/thread.h M include/ruby/internal/intern/time.h M include/ruby/internal/intern/variable.h M include/ruby/internal/intern/vm.h M include/ruby/internal/interpreter.h M include/ruby/internal/iterator.h M include/ruby/internal/memory.h M include/ruby/internal/method.h M include/ruby/internal/module.h M include/ruby/internal/newobj.h M include/ruby/internal/rgengc.h M include/ruby/internal/scan_args.h M include/ruby/internal/special_consts.h M include/ruby/internal/static_assert.h M include/ruby/internal/stdalign.h M include/ruby/internal/stdbool.h M include/ruby/internal/symbol.h M include/ruby/internal/value.h M include/ruby/internal/value_type.h M include/ruby/internal/variable.h M include/ruby/internal/warning_push.h M include/ruby/internal/xmalloc.h commit b76ad15ed0da636161de0243c547ee1e6fc95681 Author: Nobuyoshi Nakada Date: Fri Sep 10 14:19:00 2021 +0900 Remove stale DLEXT2 Actually disabled at 181a3a2af5df88d145b73a060d51fe437c8c4ad4 in 2004, it has remained in config.status and been carried over to rbconfig.rb. M configure.ac M load.c commit 3d4207f9bb4f39dd06eb419cc0bf185c8f03375f Author: Koichi Sasada Date: Fri Sep 10 13:51:50 2021 +0900 Need `#` `shareable_constant_value` is magic comment. M doc/ractor.md commit 5dc753df47739ce03d4ecaf1f37817858861e5cd Author: aycabta Date: Fri Sep 10 11:23:42 2021 +0900 [ruby/reline] Move #pointer from DialogRenderInfo to Dialog https://github.com/ruby/reline/commit/92dbac0bff M lib/reline.rb M lib/reline/line_editor.rb M test/reline/yamatanooroti/multiline_repl commit 01a364a36a14bc4cc0dfbfba02557bceec10f6b8 Author: aycabta Date: Fri Sep 10 11:01:17 2021 +0900 [ruby/irb] Version 1.3.8.pre.9 https://github.com/ruby/irb/commit/4781f67fb8 M lib/irb/version.rb commit e02bbe469bb24fe5e3fe485183ccc0222a1bc253 Author: aycabta Date: Fri Sep 10 11:01:05 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.9 https://github.com/ruby/irb/commit/ab5d84c55b M lib/irb/irb.gemspec commit fbfa0c880d3f68bb93cc53340e2dd355081cab26 Author: aycabta Date: Fri Sep 10 10:59:41 2021 +0900 [ruby/reline] Version 0.2.8.pre.9 https://github.com/ruby/reline/commit/bad76b5a87 M lib/reline/version.rb commit 4c896cda37fabb562f07ab1dccc6ab03a3b2c703 Author: aycabta Date: Fri Sep 10 10:56:56 2021 +0900 [ruby/reline] Fix scroll range of a script for tests https://github.com/ruby/reline/commit/6ceebe52bc M test/reline/yamatanooroti/multiline_repl commit e5c40c3dc9d20481700ba8c859b08678b7b21971 Author: aycabta Date: Fri Sep 10 08:54:24 2021 +0900 [ruby/reline] Add tests that column of dialog with scrollbar is moved without garbase https://github.com/ruby/reline/commit/45c70d6222 M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 199a681d7141b83842247a689321f9aa6e40b4c2 Author: aycabta Date: Fri Sep 10 08:29:01 2021 +0900 [ruby/reline] Add a test that text under dialog appears https://github.com/ruby/reline/commit/0b63bd56ce M test/reline/yamatanooroti/test_rendering.rb commit a22c04a1d900746761da93e5051a6b22571b94cc Author: aycabta Date: Fri Sep 10 08:24:37 2021 +0900 [ruby/reline] Add a test that autocomplete doesn't crash after 2nd line https://github.com/ruby/reline/commit/f682c74975 M test/reline/yamatanooroti/test_rendering.rb commit d1498f93ab0ef48f8cf8f6ec718317dab6cd11b6 Author: aycabta Date: Fri Sep 10 08:15:00 2021 +0900 [ruby/reline] Add a test that dialog doesn't crash when callback returns nil https://github.com/ruby/reline/commit/2c6f604b98 M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit b00522608fb8ccdc81a5561dca1157e0f64922e8 Author: aycabta Date: Fri Sep 10 08:08:56 2021 +0900 [ruby/reline] Add a test that autocompletion returns to the original text https://github.com/ruby/reline/commit/d80880e56b M test/reline/yamatanooroti/test_rendering.rb commit 90f0f22fcc905aed76772b583691d9615dcc91b8 Author: aycabta Date: Fri Sep 10 07:58:34 2021 +0900 [ruby/reline] Use single quotes to match others in the file https://github.com/ruby/reline/commit/a17de2d6d8 M test/reline/yamatanooroti/test_rendering.rb commit 9066496aa33b0b74f664cfddfbc9fc307225acb6 Author: aycabta Date: Fri Sep 10 07:57:53 2021 +0900 [ruby/reline] Add a test that autocomplete dialog doesn't crash when empty https://github.com/ruby/reline/commit/9c0080c27f M test/reline/yamatanooroti/test_rendering.rb commit 8e6ed5d75b24ddf5249e877cdc32171ef2140140 Author: aycabta Date: Fri Sep 10 07:37:12 2021 +0900 [ruby/reline] Add a test for when completion target is wrapped https://github.com/ruby/reline/commit/25a94d70c3 M test/reline/yamatanooroti/test_rendering.rb commit 5af602e4d48fd9951bcdd873b3e471ca4b123d45 Author: aycabta Date: Fri Sep 10 07:36:28 2021 +0900 [ruby/reline] Erase lines correctly when dialog height is changed https://github.com/ruby/reline/commit/68d2516551 M lib/reline/line_editor.rb commit f51ce20c6ad59eb8e274bde1780dae58020cb192 Author: aycabta Date: Fri Sep 10 07:34:33 2021 +0900 [ruby/reline] Fix complete proc of a script for tests https://github.com/ruby/reline/commit/ee1c1adddc M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 963e2c33b66c6fabcbcce2acbf280be9e3ccb2e8 Author: aycabta Date: Fri Sep 10 06:57:41 2021 +0900 [ruby/reline] Add a test that dialog may appear at the top if cursor at bottom edge https://github.com/ruby/reline/commit/6c2ab47958 M test/reline/yamatanooroti/test_rendering.rb commit c00643c18a6c4da2c3c5ff05f8b3987523bc23e2 Author: aycabta Date: Fri Sep 10 06:42:58 2021 +0900 [ruby/reline] Add a test for dialog at right edge https://github.com/ruby/reline/commit/db642169b9 M test/reline/yamatanooroti/test_rendering.rb commit c25511ef46c047e970e45e363288e8c005284c31 Author: aycabta Date: Fri Sep 10 04:58:35 2021 +0900 [ruby/reline] Add a test for dialog with scroll key https://github.com/ruby/reline/commit/99640abf75 M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit c94735fa240eae853265900876bbe67d9b9655d6 Author: aycabta Date: Fri Sep 10 04:37:19 2021 +0900 [ruby/reline] Add tests for autocomplete with scrollbar https://github.com/ruby/reline/commit/29634cbc93 M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 364e646317fb9bf0f284532ad8a1c1e707bcbb21 Author: aycabta Date: Fri Sep 10 04:36:55 2021 +0900 [ruby/reline] Add a test for simple dialog https://github.com/ruby/reline/commit/d70f507e2c M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 44759533786562d0ff5c49147d050ea685e97ea5 Author: aycabta Date: Thu Sep 9 07:22:53 2021 +0900 [ruby/reline] Add a simple test for autocomplete https://github.com/ruby/reline/commit/11f83b2f4b M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit 7983fb965891330f5c41919b266ada53ab822f12 Author: Nobuyoshi Nakada Date: Fri Sep 10 08:07:08 2021 +0900 [ruby/irb] Tests may not execute in the source directory https://github.com/ruby/irb/commit/f4aaa70cfc M test/irb/test_workspace.rb commit 62cecea073a6d86f3176fba11762606c7e1ed2a1 Author: aycabta Date: Fri Sep 10 07:43:01 2021 +0900 Find irb command path in test M test/irb/test_workspace.rb commit 7cc298a484dfaec5d1af349b25f28b0cfb8c9c20 Author: aycabta Date: Fri Sep 10 06:18:21 2021 +0900 [ruby/irb] Pend on truffleruby https://github.com/ruby/irb/commit/fbf52d9608 M test/irb/test_workspace.rb commit 3bd596efa45cf7e33529906b648b98e219a16fe2 Author: aycabta Date: Fri Sep 10 06:09:09 2021 +0900 [ruby/irb] Remove an unused variable https://github.com/ruby/irb/commit/5bf1cb2078 M test/irb/test_workspace.rb commit 90afe5f11f9c70ebab1ccb318712692884498931 Author: aycabta Date: Fri Sep 10 06:08:56 2021 +0900 [ruby/irb] Move IRB::TOPLEVEL_BINDING from exe/irb to lib/irb/workspace.rb https://github.com/ruby/irb/commit/e736a77076 M lib/irb.rb M lib/irb/workspace.rb M libexec/irb commit 3503c94af501e38164613ef8347174a27346828a Author: Marc-Andre Lafortune Date: Thu Mar 18 09:44:42 2021 -0400 [ruby/irb] Avoid loading files' local variables [Bug #17623] https://github.com/ruby/irb/commit/b12f0cb8e2 M lib/irb/workspace.rb M libexec/irb M test/irb/test_workspace.rb commit 192147afd875a177b45086d904bd910a3dc8ff7e Author: git Date: Fri Sep 10 04:59:35 2021 +0900 * 2021-09-10 [ci skip] M version.h commit d86c1a31613adf6b97f79dbdc2ebc63135b64198 Author: aycabta Date: Wed Sep 8 22:22:58 2021 +0900 [ruby/irb] Add yamatanooroti test for symbol with backtick https://github.com/ruby/irb/commit/4d32f0e88e M test/irb/yamatanooroti/test_rendering.rb commit f085a6fb6953a23e555cae7ffe4274927c6b0961 Author: aycabta Date: Wed Sep 8 22:19:52 2021 +0900 [ruby/irb] Support symbol with backtick https://github.com/ruby/irb/commit/0aa2425883 M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit 419e6ed464b2abcc18b60d1bcbd183fe9dfb99c2 Author: Jun Aruga Date: Thu Sep 9 16:49:39 2021 +0200 Update the Travis badge URL in README. [ci skip] It seems the current URL is outdated, as it is not reachable. M README.md commit 141db4f383b6cb74bf17aa8b5deeaa04d313946d Author: Yusuke Endoh Date: Thu Sep 9 23:34:30 2021 +0900 test/psych/test_scalar_scanner.rb: Prevent a warning ``` [ 4696/20990] TestAst#test_ranges:test/psych/test_scalar_scanner.rb(none):138: warning: ambiguous first argument; put parentheses or a space even after `-' operator ``` http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20210909T123007Z.log.html.gz M test/psych/test_scalar_scanner.rb commit 34839e41f181fca0655754c152e42e7faca56adb Author: Soutaro Matsumoto Date: Thu Sep 9 21:45:14 2021 +0900 Bundle RBS 1.6.2 (#4817) M gems/bundled_gems commit 847c70011e53ec2c83eed0183ed7045a3ac34fc4 Author: git Date: Thu Sep 9 14:51:47 2021 +0900 * 2021-09-09 [ci skip] M version.h commit 2bd6c5dc1650e852a95961402b094ccf0909842b Author: Nobuyoshi Nakada Date: Thu Sep 9 13:25:44 2021 +0900 [ruby/date] Ignore warned variables To suppress warnings at the compilation time. https://github.com/ruby/date/commit/ff21132203 M ext/date/extconf.rb commit 5d815542815fe8b939239750bba7f8f0b79c97d6 Author: Peter Zhu Date: Tue Sep 7 14:06:42 2021 -0400 [Bug #18154] Fix memory leak in String#initialize String#initialize can leak memory when called on a string that is marked with STR_NOFREE because it does not unset the STR_NOFREE flag. M string.c M test/ruby/test_string.rb commit 0b9242ffacd92fe02e640efb8640041e6838cb8b Author: Nobuyoshi Nakada Date: Wed Sep 8 18:50:46 2021 +0900 [Misc #18153] Install debug symbol files/directories by the option M tool/rbinstall.rb commit 00fd7dac32c283d073fc85d7b48362d86035b1cb Author: git Date: Wed Sep 8 07:03:25 2021 +0000 Update bundled_gems at 2021-09-08 M gems/bundled_gems commit 580f340c3393a811b8018e19360937a758212d4e Author: aycabta Date: Wed Sep 8 05:20:48 2021 +0900 [ruby/irb] Use "csv" for test The "csv" doesn't conflict with other stdlib names in any Ruby processing system. https://github.com/ruby/irb/commit/49203a1c83 M test/irb/test_completion.rb commit bc24af0f355c71ccc8e57ec95f771fa0737bd27d Author: aycabta Date: Wed Sep 8 05:07:24 2021 +0900 [ruby/irb] Show lib name first because it's the most common use case https://github.com/ruby/irb/commit/74d635758b M lib/irb/completion.rb M test/irb/test_completion.rb commit c5e8088c7e1c67566f0c2fed0c377c4c8b1990c2 Author: aycabta Date: Wed Sep 8 04:51:09 2021 +0900 [ruby/irb] Define absolute_path? by myself for backward compatibility https://github.com/ruby/irb/commit/d9c0dc043e M lib/irb/completion.rb commit 04984415a5fc59ff316830f0ddadf7ed61b765ba Author: aycabta Date: Wed Sep 8 04:42:26 2021 +0900 [ruby/irb] Use gem paths to complete "require" https://github.com/ruby/irb/commit/c870b23455 M lib/irb/completion.rb commit e4eb08532942bd50125f02eac5e82c1bc87799f2 Author: aycabta Date: Wed Sep 8 03:27:39 2021 +0900 [ruby/reline] Render scrollbar when the column of the dialog is moved https://github.com/ruby/reline/commit/5cea268e56 M lib/reline/line_editor.rb commit 8b6d757ba0782799e17431be4ea4d776c7c2f80b Author: aycabta Date: Wed Sep 8 03:25:54 2021 +0900 [ruby/reline] Remove variables that have no meaning in calculations https://github.com/ruby/reline/commit/3b7a1900fd M lib/reline/line_editor.rb commit 11a00e3fa2cdae7e65334097dc614ebe0c625e55 Author: aycabta Date: Wed Sep 8 03:18:22 2021 +0900 [ruby/reline] Remove garbage left behind when rerendering the right side of the dialog https://github.com/ruby/reline/commit/d89c23e30b M lib/reline/line_editor.rb commit 258661409e9e3fd470f006975ded872778aad4f4 Author: Benoit Daloze Date: Tue Sep 7 19:01:07 2021 +0200 Update to ruby/spec@b1e93a2 M spec/ruby/README.md A spec/ruby/core/array/intersect_spec.rb M spec/ruby/core/dir/fixtures/common.rb M spec/ruby/core/dir/glob_spec.rb M spec/ruby/core/dir/shared/glob.rb M spec/ruby/core/enumerable/tally_spec.rb M spec/ruby/core/float/comparison_spec.rb M spec/ruby/core/kernel/nil_spec.rb M spec/ruby/core/module/define_method_spec.rb M spec/ruby/core/process/spawn_spec.rb M spec/ruby/core/rational/rational_spec.rb M spec/ruby/core/tracepoint/inspect_spec.rb M spec/ruby/language/regexp/grouping_spec.rb M spec/ruby/library/base64/decode64_spec.rb M spec/ruby/library/rbconfig/rbconfig_spec.rb M spec/ruby/optional/capi/ext/string_spec.c M spec/ruby/optional/capi/string_spec.rb commit a375640ea561d1f7c4d2d89839007b3a973a04e0 Author: Benoit Daloze Date: Tue Sep 7 19:01:03 2021 +0200 Update to ruby/mspec@e768949 M spec/mspec/lib/mspec/helpers/ruby_exe.rb M spec/mspec/spec/helpers/ruby_exe_spec.rb commit 95089ddaf486e6ab245aa479ef1d6da30412a8f6 Author: aycabta Date: Wed Sep 8 00:40:33 2021 +0900 [ruby/reline] Move only one line when render a line and then go to the next line https://github.com/ruby/reline/commit/8a966cd962 M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit 6faf653ab0cd966f738b8e1d41e92f816a360959 Author: aycabta Date: Wed Sep 8 00:13:23 2021 +0900 [ruby/reline] The #reset_dialog should also use calculated block elem width https://github.com/ruby/reline/commit/577df401b9 M lib/reline/line_editor.rb commit 5a01da7a291b4c1f1d231be399712f8fb9f22bc1 Author: aycabta Date: Wed Sep 8 00:08:13 2021 +0900 [ruby/reline] Remove debug print https://github.com/ruby/reline/commit/6f82177f2e M lib/reline/line_editor.rb commit b7662148510757b11c0718925ee3f02c30c6ad44 Author: aycabta Date: Wed Sep 8 00:01:56 2021 +0900 [ruby/reline] Calculate block elem width only once https://github.com/ruby/reline/commit/3054a67d05 M lib/reline/line_editor.rb commit 0ef3d574a087087077691418336372b25dbf80f3 Author: aycabta Date: Wed Sep 8 00:00:42 2021 +0900 [ruby/reline] Ensure that scrollbar is only rerendered when the position is changed https://github.com/ruby/reline/commit/f629853eae M lib/reline/line_editor.rb commit 3c77f00965109aeb8e5d422991eb6798c6b4a47b Author: git Date: Wed Sep 8 00:04:57 2021 +0900 * 2021-09-08 [ci skip] M version.h commit 30486d91504e33c3f49776b1df135a6182de9b42 Author: aycabta Date: Tue Sep 7 05:14:43 2021 +0900 [ruby/reline] The width of Block Elements in Unicode is East Asian Ambiguous https://github.com/ruby/reline/commit/05e8ab8cbb M lib/reline/line_editor.rb commit 26153667f91f0c883f6af6b61fac2c0df5312b45 Author: Nobuyoshi Nakada Date: Tue Sep 7 12:21:49 2021 +0900 [ruby/pathname] Prefer omit over skip https://github.com/ruby/pathname/commit/abd0b91044 M test/pathname/test_pathname.rb M test/pathname/test_ractor.rb commit b4d9126e4332619644bfc9284688c1a8bd56d8ad Author: aycabta Date: Tue Sep 7 03:19:50 2021 +0900 [ruby/reline] Refactor the merging key bindings to make it more readable https://github.com/ruby/reline/commit/59665a22de M lib/reline/config.rb commit 2441bc8ea90b4e6790afb3174167103ec6a3b240 Author: aycabta Date: Tue Sep 7 03:17:22 2021 +0900 [ruby/reline] Change the comment about key bindings to more appropriate https://github.com/ruby/reline/commit/4364d9a386 M lib/reline/config.rb commit 30203a6fd9814b90e84a5579d4d2da52f7e5f03a Author: aycabta Date: Tue Sep 7 02:33:26 2021 +0900 [ruby/reline] Use Symbol for method names https://github.com/ruby/reline/commit/479eee5393 M lib/reline.rb commit cec50ec8d664c39e8858de8f3a50ccbc99ce7511 Author: aycabta Date: Tue Sep 7 02:28:33 2021 +0900 [ruby/reline] Remove SIG prefix because don't use it in any other signal processing https://github.com/ruby/reline/commit/37648042e8 M lib/reline/line_editor.rb commit f927614e55fd73e5af717381d84fbf0039d69b38 Author: aycabta Date: Tue Sep 7 02:24:41 2021 +0900 [ruby/reline] Use String for the value to be passed because Signal.trap also returns String https://github.com/ruby/reline/commit/b908fe4439 M lib/reline/line_editor.rb commit 8d9e767f1a56fae2900bcdcbccde4e4749d17743 Author: git Date: Tue Sep 7 01:59:29 2021 +0900 * 2021-09-07 [ci skip] M version.h commit 4885a61b124967afc06a38d317225d02270d9dce Author: aycabta Date: Tue Sep 7 01:57:00 2021 +0900 [ruby/reline] Rescue ArgumentError from Signal.trap(:TSTP) on Windows https://github.com/ruby/reline/commit/8da8182d1c M lib/reline/line_editor.rb commit e8ad881336974d1719359d7545b6b9a0efe0dc79 Author: aycabta Date: Tue Sep 7 01:44:21 2021 +0900 [ruby/reline] Trap TSTP to handle C-z https://github.com/ruby/reline/commit/ebbd0076b8 M lib/reline/line_editor.rb commit 966ed206a626ef19a5e4deaf77a6ee2a28453026 Author: aycabta Date: Mon Sep 6 22:50:10 2021 +0900 [ruby/reline] Limit number of chars only when completion source text (pointer == -1) https://github.com/ruby/reline/commit/1d7b603811 M lib/reline.rb commit afd7d1672f199f305f3cf9c7049ae83f5396c53b Author: Hiroshi SHIBATA Date: Mon Sep 6 19:36:04 2021 +0900 Removed obsoleted comment M test/rdoc/test_rdoc_generator_json_index.rb commit ecfbf1df33a1e90008baa131369c80cfa6282692 Author: Hiroshi SHIBATA Date: Mon Sep 6 19:33:56 2021 +0900 Use Test::Unit::PendedError instead of MiniTest::Skip for test-unit migration M test/openssl/utils.rb M tool/lib/test/unit/assertions.rb commit 544e37f184d38d52423d163b711cd626e53ff75b Author: Hiroshi SHIBATA Date: Mon Sep 6 19:31:24 2021 +0900 Simplify conditions for CoreAssertion initialization M tool/lib/core_assertions.rb M tool/lib/test/unit/assertions.rb commit 940a19e4b3ae1ce466c3bc912175b4ef7c615c53 Author: Hiroshi SHIBATA Date: Mon Sep 6 18:34:15 2021 +0900 Use Test::Unit::AssertionFailedError instead of MiniTest::Assertion for test-unit migration M test/-ext-/float/test_nextafter.rb M test/fileutils/test_fileutils.rb M test/ruby/test_exception.rb M test/socket/test_addrinfo.rb M test/socket/test_basicsocket.rb M test/zlib/test_zlib.rb commit 8baac078bcbdbfdc70d2c5aef938ba23f44df17b Author: aycabta Date: Mon Sep 6 16:11:18 2021 +0900 [ruby/irb] Version 1.3.8.pre.8 https://github.com/ruby/irb/commit/9ff0b1bba0 M lib/irb/version.rb commit 692e7147b48e105156cd1f69fb22ab23d0e4e664 Author: aycabta Date: Mon Sep 6 16:11:06 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.8 https://github.com/ruby/irb/commit/79ad1f5a6d M lib/irb/irb.gemspec commit 3cef8869b0aedda06a94c3ab11c6d74f55356caa Author: aycabta Date: Mon Sep 6 16:09:42 2021 +0900 [ruby/reline] Version 0.2.8.pre.8 https://github.com/ruby/reline/commit/967e19786d M lib/reline/version.rb commit f8bb2d9b2724b4a74322ac82d27c32a61153e8dd Author: Kenta Murata Date: Mon Sep 6 16:01:52 2021 +0900 memory_view.c: Rename private to private_data for C++ (#4812) * memory_view.c: Rename private to private_data for C++ * doc/memory_view.md: Update document * Fix doc/memory_view.md Co-authored-by: Sutou Kouhei Co-authored-by: Sutou Kouhei M doc/memory_view.md M include/ruby/memory_view.h M memory_view.c commit a5e323f5edb85fa1bd94bb1e67b8ef8f6827056d Author: Nobuyoshi Nakada Date: Sun Sep 5 13:10:04 2021 +0900 Schedule to update bundled_gems A .github/workflows/bundled_gems.yml commit f336a3eb6c76890f3d8f878725b3d328c8fdcf33 Author: Yusuke Endoh Date: Mon Sep 6 14:22:24 2021 +0900 Use free instead of xfree to free altstack The altstack memory of a thread may be free'ed even after the VM is destructed. After that, GC is no longer available, so calling xfree may lead to a segfault. This changeset uses the bare free function to free the altstack memory instead of xfree. [Bug #18126] M signal.c M vm_core.h commit 13dd07e3972fb41c8c834a46e29d34976f478fbc Author: Hiroshi SHIBATA Date: Mon Sep 6 11:54:29 2021 +0900 Removed redundant tests M test/rdoc/test_rdoc_generator_darkfish.rb commit a68a1b0b7d23e03f71044f6d5f9781b4913bcb08 Author: Hiroshi SHIBATA Date: Mon Sep 6 11:54:09 2021 +0900 Removed MiniTest::Assertion from test/rdoc M test/rdoc/test_rdoc_generator_darkfish.rb commit 540eea39ddd358780a6002cbf60a37a79c27c61f Author: aycabta Date: Mon Sep 6 07:03:48 2021 +0900 [ruby/reline] Add a test for key bindings with Reline::Key https://github.com/ruby/reline/commit/cadbd576c7 M test/reline/test_key_stroke.rb commit 83a0807b3be32fea7ddb5f66bd40193e5981f6b9 Author: aycabta Date: Mon Sep 6 07:01:46 2021 +0900 [ruby/reline] Add a test for oneshot key bindings https://github.com/ruby/reline/commit/42ebea82b7 M test/reline/test_key_stroke.rb commit 14cc611133fbd01a663321fcaceae5ce5141d902 Author: aycabta Date: Mon Sep 6 06:53:36 2021 +0900 [ruby/reline] Rename a temporary test name to appropriate one https://github.com/ruby/reline/commit/26ebecde5c M test/reline/test_key_stroke.rb commit 168bd4f356d94eaa2de28ef29fc1e301d9768205 Author: aycabta Date: Mon Sep 6 06:50:34 2021 +0900 [ruby/reline] Add a test for Reline::Unicode#take_range https://github.com/ruby/reline/commit/af7953ff93 M test/reline/test_unicode.rb commit be5159c2f8c2e41b727ed2149486458b42ca4c07 Author: Filip Pyda Date: Fri Jul 16 10:35:00 2021 +0200 [ruby/irb] Pass RI options to help https://github.com/ruby/irb/commit/9b98d1afab M lib/irb/cmd/help.rb commit 97a569c648acf489c9fd5602cc4ecc8a012bb07b Author: manga_osyo Date: Wed Aug 25 21:56:49 2021 +0900 [ruby/reline] Memoize path of `.inputrc` [Ref #319] When `ENV["HOME"] = "foo"` on irb, an exception is raised when retrieving the path of `.inputrc`. Memoize the path of `.inputrc` and don't get the path after the second time. https://github.com/ruby/reline/commit/7b90b16165 M lib/reline/config.rb commit 2a4bacce8c3b21ad2283f3588573f37c671152d2 Author: aycabta Date: Mon Sep 6 06:37:42 2021 +0900 [ruby/irb] Add comments for Alt+d key sequences https://github.com/ruby/irb/commit/4cb5f7e546 M lib/irb/input-method.rb commit 32ff4a8c93f1e186cef94197827bb9c137f4c31d Author: aycabta Date: Mon Sep 6 05:12:15 2021 +0900 [ruby/reline] Set scrollbar color https://github.com/ruby/reline/commit/d7962e420d M lib/reline/line_editor.rb commit 991eb4894d4e2e130774ad51f5b0ab42b869a4b5 Author: aycabta Date: Mon Sep 6 04:37:25 2021 +0900 [ruby/irb] Use multiple trap_key https://github.com/ruby/irb/commit/416abe2524 M lib/irb/input-method.rb commit 348bb623314c7ed87cfd7ed22f321f89e1093a8d Author: aycabta Date: Mon Sep 6 04:48:10 2021 +0900 [ruby/reline] Cut out read_2nd_character_of_key_sequence https://github.com/ruby/reline/commit/92518d1dee M lib/reline.rb commit 79652c58734be2d9d2055cbbe076e952fa7978a1 Author: aycabta Date: Mon Sep 6 04:20:08 2021 +0900 [ruby/reline] Support multiple trap_key https://github.com/ruby/reline/commit/b0207fa049 M lib/reline/line_editor.rb commit d07060c42a7d3fd1ff9a3024e5f064448578a722 Author: aycabta Date: Mon Sep 6 04:11:24 2021 +0900 [ruby/reline] No need to use max_by when array.size == 1 https://github.com/ruby/reline/commit/7e56c8af05 M lib/reline/key_stroke.rb commit 8913b9b742b425b7660870a20adcebb400453221 Author: aycabta Date: Mon Sep 6 04:05:07 2021 +0900 [ruby/reline] Use sort.last instead of sort.reverse.first https://github.com/ruby/reline/commit/67f1d8d2d2 M lib/reline/key_stroke.rb commit 7de2c9a9662c26c955d6afa1bce0fc4e07dd5ff7 Author: aycabta Date: Mon Sep 6 04:02:31 2021 +0900 [ruby/reline] Use combined_key if it exists when comparing Reline::Key and Integer https://github.com/ruby/reline/commit/8fca5f6f9c M lib/reline.rb commit 3773296bfc45a60baf9e5cc025bfed2d6b493eaa Author: aycabta Date: Mon Sep 6 03:58:48 2021 +0900 [ruby/reline] Allow Reline::KeyStroke to compare raw and meta-key processed key sequences https://github.com/ruby/reline/commit/731103f9c9 M lib/reline.rb M lib/reline/key_stroke.rb commit 56ab22ab3daaedcef428a3ad623010f84e9e687c Author: aycabta Date: Sun Sep 5 23:36:22 2021 +0900 [ruby/reline] Support for key bindings result Symbol in Reline::Key https://github.com/ruby/reline/commit/cf78a38064 M lib/reline.rb commit bbb3162dd21903656344aea90c2ad47c89f695ad Author: aycabta Date: Sun Sep 5 23:35:11 2021 +0900 [ruby/reline] Add Reline::Key#== as an alias to Reline::Key#match? https://github.com/ruby/reline/commit/1fc3276c01 M lib/reline.rb commit 544cd3fb910ff41cdc87c70edf1d00e4f6d5b435 Author: aycabta Date: Sun Sep 5 23:33:59 2021 +0900 [ruby/reline] Support oneshot key bindings config for key_trap of dialog callbacks https://github.com/ruby/reline/commit/5f1141b693 M lib/reline/config.rb M lib/reline/line_editor.rb commit bb6d45cfeecc8e16ec22e89ab40fb6b56177da7f Author: aycabta Date: Sun Sep 5 23:29:18 2021 +0900 [ruby/reline] Reline::Key supports the comparison with Integer https://github.com/ruby/reline/commit/ebc3e0f673 M lib/reline.rb commit e68a5862630590caf79ac0576ba6d15135709d58 Author: aycabta Date: Mon Sep 6 05:22:28 2021 +0900 [ruby/reline] Add that Reline::Unicode.take_range is cutting based on width https://github.com/ruby/reline/commit/18405d9594 M lib/reline/unicode.rb commit 1fe604a67501d5f05694266d065833e3c150d79a Author: aycabta Date: Mon Sep 6 05:19:50 2021 +0900 [ruby/reline] Add comments about optimizing chars in ASCII range of UTF-8 https://github.com/ruby/reline/commit/3c13d93486 M lib/reline/unicode.rb commit f831ecd8d5516842bece52c5aeb8a5a9da8539bc Author: git Date: Mon Sep 6 01:12:13 2021 +0900 * 2021-09-06 [ci skip] M version.h commit 6bae5ac95564c18cce9acf784b5c40e038a751a2 Author: Soutaro Matsumoto Date: Mon Sep 6 01:11:50 2021 +0900 Bundle RBS 1.6.0 (#4809) * Bundle RBS 1.6.0 * Specify bundled rbs commit hash to fix test ref https://github.com/ruby/rbs/pull/778 * Bundle RBS 1.6.1 Co-authored-by: Masataka Pocke Kuwabara M gems/bundled_gems commit bdd6d8746f0a07b2c0cc3a6b387bf594569c0bb7 Author: S-H-GAMELINKS Date: Tue Aug 31 20:30:35 2021 +0900 Replace RBOOL macro M ast.c M bignum.c M compile.c M dir.c M enumerator.c M file.c M gc.c M iseq.c M numeric.rb M parse.y M process.c M ractor.rb M ruby.c M time.c M transcode.c commit 8f752c95d20134bcc0b5394f1cea723a40f1ac8c Author: Hiroshi SHIBATA Date: Sun Sep 5 04:54:25 2021 +0900 [ruby/fiddle] Use test-unit gem (https://github.com/ruby/fiddle/pull/69) https://github.com/ruby/fiddle/commit/e08c4c635e Co-authored-by: Sutou Kouhei M ext/fiddle/fiddle.gemspec M test/fiddle/helper.rb M test/fiddle/test_cparser.rb M test/fiddle/test_func.rb M test/fiddle/test_function.rb M test/fiddle/test_handle.rb M test/fiddle/test_memory_view.rb M test/fiddle/test_pointer.rb commit afa33da72b35fd8e98ebd56eb24b6204c35994ce Author: Nobuyoshi Nakada Date: Tue Aug 24 13:15:47 2021 +0900 [ruby/fiddle] Create extconf header for MSVC Not to include parenthesized argument. https://github.com/ruby/fiddle/commit/c2c921e16a M ext/-test-/auto_ext.rb commit 521aea9a7609d0d3b588d8dc6494d4d77052c2b1 Author: git Date: Sun Sep 5 00:33:51 2021 +0900 * 2021-09-05 [ci skip] M version.h commit f91f82ca30206b4fc3459fa61454d43b831c9f56 Author: Kazuhiro NISHIYAMA Date: Sun Sep 5 00:33:26 2021 +0900 Update bundled_gems M gems/bundled_gems commit 5f771f4f02663ed9f6b79efefe0a10f1c72a541e Author: aycabta Date: Thu Sep 2 00:45:53 2021 +0900 [ruby/irb] Remove commeted out code https://github.com/ruby/irb/commit/7dda1f803e M lib/irb/input-method.rb commit c8bf45f23c9ef0bdd6658c05007f028971c53ad2 Author: aycabta Date: Thu Sep 2 16:16:38 2021 +0900 [ruby/irb] Show doc at the same height as the autocompletion dialog https://github.com/ruby/irb/commit/a9db71e6bc M lib/irb/input-method.rb commit f7d9dd2e4c1c0668c27093373dc08a3ede4a56f8 Author: aycabta Date: Tue Aug 31 20:48:05 2021 +0900 [ruby/irb] Render properly if both autocomplete and show doc dialogs are left of the cursor https://github.com/ruby/irb/commit/0090203107 M lib/irb/input-method.rb commit 03e9887d2e4c637a70791c65be6e496dbe190ed1 Author: aycabta Date: Sat Sep 4 07:46:41 2021 +0900 [ruby/reline] Correct misalignment of scrollbar https://github.com/ruby/reline/commit/7924b4cfc6 M lib/reline/line_editor.rb commit ec36ceb072be5b08dbdd747443192901a1c771e9 Author: aycabta Date: Sat Sep 4 07:29:23 2021 +0900 [ruby/reline] Implement scrollbar https://github.com/ruby/reline/commit/4c7fc42151 M lib/reline.rb M lib/reline/line_editor.rb commit ff372ed74b4cedd8252e589d2b89c59b0bd8d763 Author: aycabta Date: Sat Sep 4 05:41:37 2021 +0900 [ruby/irb] Suppress "assigned but unused variable" warning https://github.com/ruby/irb/commit/a1ddf64c69 M test/irb/test_completion.rb commit 9ac32e87bba3a6d873b92c587a83e78051a83839 Author: aycabta Date: Sat Sep 4 05:40:15 2021 +0900 [ruby/irb] Add an assertion to check completion "var.method" to get correct "class.method" https://github.com/ruby/irb/commit/cc1ddb37a9 M test/irb/test_completion.rb commit 6fa37d26666b1c7e009d661beb8c13fe39ce1b7f Author: aycabta Date: Sat Sep 4 05:33:03 2021 +0900 [ruby/irb] Retrieve completed receiver that is a module or class correctly https://github.com/ruby/irb/commit/b2324727e1 M lib/irb/completion.rb M test/irb/test_completion.rb commit f6bc4b9b977d6bc14bba570fce2ded6c046277ac Author: aycabta Date: Sat Sep 4 02:22:19 2021 +0900 [ruby/irb] Use autocomplete with show doc dialog that uses Reline::Key in tests https://github.com/ruby/irb/commit/142fc53e9c M test/irb/yamatanooroti/test_rendering.rb commit b7e2f7759de208b6d7b6670095c4079727164cce Author: aycabta Date: Sat Sep 4 02:18:40 2021 +0900 [ruby/irb] Version 1.3.8.pre.7 https://github.com/ruby/irb/commit/02c4a8d3b6 M lib/irb/version.rb commit 119edc459f830c784c6ab05b876e7893990ec094 Author: aycabta Date: Sat Sep 4 02:18:25 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.7 https://github.com/ruby/irb/commit/39593fb4d0 M lib/irb/irb.gemspec commit 36afcf1e15c3af0ea21bd580e6d791fa1aab5b47 Author: aycabta Date: Sat Sep 4 02:17:17 2021 +0900 [ruby/reline] Version 0.2.8.pre.7 https://github.com/ruby/reline/commit/c77c3c6fae M lib/reline/version.rb commit f445d34c254b386d8d1c0dacf06c814f00f1817e Author: aycabta Date: Sat Sep 4 00:42:39 2021 +0900 [ruby/reline] Show even if it's only one candidate until a perfect match https://github.com/ruby/reline/commit/fe7e34e79f M lib/reline.rb commit 6fe1c0783d1ffe6edee03a95e7de94c999a6d40b Author: git Date: Sat Sep 4 00:27:42 2021 +0900 * 2021-09-04 [ci skip] M version.h commit 3a145066a6d51cf622a9cd77d7f0942d7313fdc3 Author: Nobuyoshi Nakada Date: Sat Sep 4 00:26:39 2021 +0900 Expand upstream issue numbers to URLs in ChangeLog M tool/lib/vcs.rb commit af68112a1b8512c8d5c9823f0f71db8df1c0c6b1 Author: Nobuyoshi Nakada Date: Fri Sep 3 23:46:33 2021 +0900 Add some punctuations as regexp separators to fix commit logs M tool/lib/vcs.rb commit c60a52954378a0e28ab0c05718c81a2bb1aeb7c6 Author: Nobuyoshi Nakada Date: Fri Sep 3 20:27:58 2021 +0900 Get rid of duplicate typedef M thread_win32.h commit 94845d01704b213e00e947e85d218a145299c1ef Author: Hiroshi SHIBATA Date: Fri Sep 3 20:35:29 2021 +0900 Removed needless Gemfile in ruby repo. D lib/rdoc/Gemfile commit 76c7388c1f41fb0ae3dacda0d9c02e7562a6655d Author: Nobuyoshi Nakada Date: Wed Aug 18 13:48:12 2021 +0900 [ruby/rdoc] Add tests for `--template-stylesheets` option Also flattens `@options.template_stylesheets` when parsing the command lines. Fixes #205 Fixes #828 too https://github.com/ruby/rdoc/commit/857002a763 M lib/rdoc/generator/darkfish.rb M lib/rdoc/generator/template/darkfish/_head.rhtml M lib/rdoc/options.rb M test/rdoc/test_rdoc_generator_darkfish.rb M test/rdoc/test_rdoc_options.rb commit 33676a7aa6a9f10c72a811f4b6b6ad08958f2bca Author: Vít Ondruch Date: Wed Sep 1 18:48:10 2021 +0200 [ruby/rdoc] Try to load WEBrick for testing This is in similar vein Rake is optionally loaded in: https://github.com/ruby/rdoc/blob/5437418baf8eeb984fe7e74b181d3da1b174d0f7/test/rdoc/test_rdoc_task.rb#L3-L6 https://github.com/ruby/rdoc/commit/5f3901ae60 M test/rdoc/test_rdoc_servlet.rb commit b809e5a4a98cf73f80e96c16c9a0c6f3da332dc5 Author: Hiroshi SHIBATA Date: Fri Sep 3 16:58:56 2021 +0900 [ruby/rdoc] s/minitest/test-unit/g https://github.com/ruby/rdoc/commit/73c030c7b0 M test/rdoc/support/test_case.rb commit 0a9a3799bb8421b09cc458f47590574d2d59506d Author: Hiroshi SHIBATA Date: Fri Sep 3 16:58:40 2021 +0900 [ruby/rdoc] Removed duplicated doc https://github.com/ruby/rdoc/commit/0dd36a5c35 M test/rdoc/support/test_case.rb commit 078969914d6776499a655301b3a86e904d8b27b4 Author: Hiroshi SHIBATA Date: Fri Sep 3 16:57:02 2021 +0900 [ruby/rdoc] minitest is not need to run rubygems test now https://github.com/ruby/rdoc/commit/27c5f946d2 M lib/rdoc/Gemfile commit 62fc81fe124d4de35153aad5df0dcf21dafdddc6 Author: Nobuyoshi Nakada Date: Fri Sep 3 13:39:47 2021 +0900 [ruby/cgi] Use Time#strftime https://github.com/ruby/cgi/commit/caf1d0755d M lib/cgi/util.rb commit 250b86bbee0235574d7496afd548d6f97da83134 Author: S-H-GAMELINKS Date: Fri Sep 3 12:50:17 2021 +0900 Remove unneeded comment M complex.c commit 3d6a47558793ddbb280a0d046b786754cea4f263 Author: aycabta Date: Fri Sep 3 03:31:21 2021 +0900 [ruby/irb] Use Reline::Key for trap_key in dialog callback https://github.com/ruby/irb/commit/b05ce3c72d M lib/irb/input-method.rb commit 5458f23de24352d115b85470af831ce746a7fb39 Author: aycabta Date: Fri Sep 3 02:50:59 2021 +0900 [ruby/irb] Add TODO comment to remove disabling autocomplete later https://github.com/ruby/irb/commit/856f001b60 M test/irb/yamatanooroti/test_rendering.rb commit 864b40176de37f01411fb104997a693d5c419b6a Author: aycabta Date: Fri Sep 3 02:41:07 2021 +0900 [ruby/irb] Disable autocomplete in yamatanooroti test https://github.com/ruby/irb/commit/cb9c9c64df M test/irb/yamatanooroti/test_rendering.rb commit eb92d7c732959ab03deb0ed57aa3167fedb33f84 Author: aycabta Date: Fri Sep 3 01:17:30 2021 +0900 [ruby/irb] Add message to show full doc https://github.com/ruby/irb/commit/6370a5d974 M lib/irb/input-method.rb commit f793f682641030da81a45f5a9a0f3191f79a75c2 Author: aycabta Date: Fri Sep 3 01:17:10 2021 +0900 [ruby/irb] Add Alt+d trap from show doc dialog to show full doc https://github.com/ruby/irb/commit/368327b082 M lib/irb/input-method.rb commit 057ab5f056bb310e324a48ca0aed2ee5231bcbd2 Author: aycabta Date: Fri Sep 3 03:30:36 2021 +0900 [ruby/reline] Emulate Unix like terminals that sends Alt+key as \e+key https://github.com/ruby/reline/commit/dc2cf90fa6 M lib/reline/windows.rb commit 9e0caba187746acb03449ea5b08334cd6b68ea0a Author: aycabta Date: Fri Sep 3 03:29:10 2021 +0900 [ruby/reline] Add Reline::Key#match? https://github.com/ruby/reline/commit/8f6aa3af2e M lib/reline.rb M lib/reline/line_editor.rb commit 38ae3b8e36a6bdb39a8fa743789525ad764e064d Author: aycabta Date: Fri Sep 3 01:14:11 2021 +0900 [ruby/reline] Add key accessor for dialog callbacks https://github.com/ruby/reline/commit/c949e44a14 M lib/reline/line_editor.rb commit b4efa37d98b49d8d9efb1b79f70e99bec9160024 Author: aycabta Date: Fri Sep 3 01:20:40 2021 +0900 [ruby/readline-ext] Omit Editline on without tty test https://github.com/ruby/readline-ext/commit/a2835ce957 M test/readline/test_readline.rb commit f3fe3511da1ca37d92464c8cc3e2c163dae16017 Author: aycabta Date: Fri Sep 3 00:05:56 2021 +0900 [ruby/reline] Swap the order of initialization for readability https://github.com/ruby/reline/commit/d53749b208 M lib/reline/line_editor.rb commit 93080111cdb96b90f66ec6913e242eef45d7b49e Author: aycabta Date: Fri Sep 3 00:03:14 2021 +0900 [ruby/reline] Fix autocomplete dialog width https://github.com/ruby/reline/commit/9868432687 M lib/reline/line_editor.rb commit 8f56629bb292911d276aee31de9bd28e4ee7d4f9 Author: git Date: Fri Sep 3 01:13:01 2021 +0900 * 2021-09-03 [ci skip] M version.h commit 8c067f182e74f7e0570d200ee6308ea85ab676d0 Author: aycabta Date: Fri Sep 3 00:27:22 2021 +0900 [ruby/reline] Autocompletion ignites when target char length is 3 or longer https://github.com/ruby/reline/commit/261830fda3 M lib/reline.rb commit a95262356ef5b975f4b4b88db97dca93f451f74b Author: Nobuyoshi Nakada Date: Thu Sep 2 21:42:47 2021 +0900 Extract always_finite_type_p and handle flonum cases M complex.c commit 682f58a93354fe4bf5a8ac83be9b1e553d41afcd Author: Peter Zhu Date: Thu Sep 2 09:55:12 2021 -0400 Fix typo in test name M test/did_you_mean/tree_spell/test_change_word.rb commit ed83a0104883aa634208237c86b987e75486b3d7 Author: aycabta Date: Thu Sep 2 22:16:32 2021 +0900 [ruby/irb] Version 1.3.8.pre.6 https://github.com/ruby/irb/commit/7dc98df80b M lib/irb/version.rb commit 1efe5cb020a6a2e5a57123adc2077e2934b3730f Author: aycabta Date: Thu Sep 2 22:16:21 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.6 https://github.com/ruby/irb/commit/7896296ae2 M lib/irb/irb.gemspec commit a0a5bdb3aecaa267dd38021b0b75111109ce31df Author: aycabta Date: Thu Sep 2 22:14:34 2021 +0900 [ruby/reline] Version 0.2.8.pre.6 https://github.com/ruby/reline/commit/175d5ad4c4 M lib/reline/version.rb commit 4e40b7ddb06b4ac806c85dabf2bd094fdd4bd6d0 Author: aycabta Date: Thu Sep 2 21:34:53 2021 +0900 [ruby/irb] Detect the variable class to show doc https://github.com/ruby/irb/commit/33b9bec954 M lib/irb/completion.rb M test/irb/test_completion.rb commit f734590f8ec9b9ac938f625eb6dd586039d287db Author: aycabta Date: Thu Sep 2 21:36:14 2021 +0900 [ruby/reline] Add a space https://github.com/ruby/reline/commit/3d70e07331 M lib/reline.rb commit 137fde717bfa4d1a116bf1d56c288a1f3016126c Author: Nobuyoshi Nakada Date: Thu Sep 2 17:12:17 2021 +0900 Make internal predicate functions to return simple boolean M complex.c M rational.c commit d1d76f24288993b4f004770397a05c0be8ac13b4 Author: S-H-GAMELINKS Date: Wed Sep 1 12:11:38 2021 +0900 Refactor f_infinite_p function M complex.c commit afa4b59e068e4bb327a8cbacf34fd1ebfc2b69b5 Author: aycabta Date: Thu Sep 2 16:54:31 2021 +0900 [ruby/reline] Clear only necessary parts when dialog disappearing https://github.com/ruby/reline/commit/46ff0ff435 M lib/reline/line_editor.rb commit 4208cd030101c9c174af99e4ef574bbb86b325f1 Author: aycabta Date: Thu Sep 2 16:27:00 2021 +0900 [ruby/reline] Shrink the dialog height when contents is shorter than it https://github.com/ruby/reline/commit/a18817635f M lib/reline/line_editor.rb commit a44d28db9f2c8d3fd82314e59b96f2e69aa16283 Author: aycabta Date: Thu Sep 2 16:15:48 2021 +0900 [ruby/reline] Fix a misalignment when dialog is shown on top https://github.com/ruby/reline/commit/0527b1a492 M lib/reline/line_editor.rb commit 123fcc8c921c6f987383429246d31934cd823661 Author: aycabta Date: Thu Sep 2 16:15:01 2021 +0900 [ruby/reline] Remove an unnsed constant https://github.com/ruby/reline/commit/44da8a6b9e M lib/reline/line_editor.rb commit 4852d87a81ae8b7f239787bdc18560f89dd18cab Author: aycabta Date: Thu Sep 2 04:43:36 2021 +0900 [ruby/reline] Fix a crash when completing empty line https://github.com/ruby/reline/commit/8226ae7e57 M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit 5f23003cc204182134af2682f1de1e8801b3f423 Author: aycabta Date: Thu Sep 2 04:31:01 2021 +0900 [ruby/reline] Fix a crash when completing after 2nd line https://github.com/ruby/reline/commit/f9d3480c34 M lib/reline/line_editor.rb M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit ab63f6d8543903f177c46634f38e5428655f003b Author: Nobuyoshi Nakada Date: Thu Sep 2 09:11:41 2021 +0900 Refined test [Bug #18140] M ext/-test-/array/concat/to_ary_conact.c M test/ruby/test_array.rb commit cb5a41c0a02962da838990853f5d6632d8abb92d Author: Nobuyoshi Nakada Date: Thu Sep 2 08:47:33 2021 +0900 Get rid of incompatible-pointer-types-discards-qualifiers warning M lib/mkmf.rb commit 9c5ad5d42d026a1acc123e7597a4f92ef6e09e6b Author: Nobuyoshi Nakada Date: Thu Sep 2 08:26:46 2021 +0900 Suppress format-pedantic warnings M cont.c commit 8db269edb3550a85dfab9b193ea115ca36912ced Author: Aaron Patterson Date: Tue Aug 31 16:58:29 2021 -0700 Guard array when appending This prevents early collection of the array. The GC doesn't see the array on the stack when Ruby is compiled with optimizations enabled Thanks @jhaberman for the test case [ruby-core:105099] [Bug #18140] A ext/-test-/array/concat/depend A ext/-test-/array/concat/extconf.rb A ext/-test-/array/concat/to_ary_conact.c A test/-ext-/array/test_to_ary_concat.rb commit 0aa82b592fc3296ffde1f3fff59018a998c3ade0 Author: Peter Zhu Date: Wed Sep 1 10:42:22 2021 -0400 Remove heap_is_swept_object function is_swept_object just calls heap_is_swept_object so remove heap_is_swept_object. M gc.c commit 3c85698da2fd65d51db423e550efa5a9e6e13c0a Author: Nobuyoshi Nakada Date: Thu Sep 2 01:36:56 2021 +0900 Stop stale tests [Bug #9718] A test/excludes/TestArray.rb commit 07290523295523f0fe7df1446c7787aab0bff878 Author: Nobuyoshi Nakada Date: Thu Sep 2 01:33:30 2021 +0900 Test against the target class M test/ruby/test_array.rb commit cd4f5b13228879d954fa97b6aa479c4a5ef4fb0a Author: Aaron Patterson Date: Tue Aug 31 16:58:29 2021 -0700 Guard array when appending This prevents early collection of the array. The GC doesn't see the array on the stack when Ruby is compiled with optimizations enabled [ruby-core:105099] [Bug #18140] M array.c M test/ruby/test_array.rb commit 73b22b3ce9994b3e674de4d5016d2d9130b0e27d Author: git Date: Thu Sep 2 00:32:28 2021 +0900 * 2021-09-02 [ci skip] M version.h commit cf2faf2e3336592dbc9b94e8189f62e99cc9ae0c Author: aycabta Date: Thu Sep 2 00:21:10 2021 +0900 [ruby/rdoc] Move RDoc::RDoc#load_options to RDoc::RDoc.load_options https://github.com/ruby/rdoc/commit/ac85e01756 M lib/rdoc/options.rb M lib/rdoc/rdoc.rb M test/rdoc/test_rdoc_options.rb M test/rdoc/test_rdoc_rdoc.rb commit 10ebf87428fa41dcbb179f8a35428fb63dc69d5c Author: Nobuyoshi Nakada Date: Wed Sep 1 18:45:03 2021 +0900 Assert not to be UNDEF visibility Any defined methods, bound to any classes/modules and not being UNDEFINED_METHOD_ENTRY_P, should not be METHOD_VISI_UNDEF. M class.c M proc.c commit f9bdb17c02ff012b6b9bb46463a3596b6f99f144 Author: aycabta Date: Wed Sep 1 18:01:20 2021 +0900 [ruby/reline] Use padding_space_with_escape_sequences to padding spaces in reset_dialog https://github.com/ruby/reline/commit/7d582f4982 M lib/reline/line_editor.rb commit acf11b94d2e70d5195ae7391f009a3040e6f0e24 Author: aycabta Date: Wed Sep 1 18:00:44 2021 +0900 [ruby/reline] Cut out a method that calcs width including the escape sequence and padding with spaces https://github.com/ruby/reline/commit/46c9d944e5 M lib/reline/line_editor.rb commit a669b9661eaf9623160e2f2010f24b0b9fd5f01a Author: aycabta Date: Wed Sep 1 17:53:17 2021 +0900 [ruby/reline] Calc width including escape sequences and padding with spaces correctly https://github.com/ruby/reline/commit/21c795e97f M lib/reline/line_editor.rb commit 3bd3adde7cd952046539ca5ecd21d1bcfa2fe568 Author: aycabta Date: Wed Sep 1 17:52:28 2021 +0900 [ruby/reline] Calc width including escape sequences and clear dialog correctly https://github.com/ruby/reline/commit/9b812d5151 M lib/reline/line_editor.rb commit 67eaa222cf37dd95ba0be8da3972126183868810 Author: aycabta Date: Wed Sep 1 16:20:04 2021 +0900 Add a test for Readline.readline without tty M test/readline/test_readline.rb commit ba0464e0cfff4fa0ad414c912b3e304403d07226 Author: aycabta Date: Wed Sep 1 16:19:31 2021 +0900 Reline::GeneralIO should work fine without tty M lib/reline/general_io.rb commit cb3df3d87b2b861ce79974cd259dafdc0d5253b8 Author: Nobuyoshi Nakada Date: Mon Mar 13 00:11:20 2017 +0900 Extract compile_attrasgn from iseq_compile_each0 M compile.c commit aac2b0fc6b6262d083c791bc333e0b1919f24b7a Author: Nobuyoshi Nakada Date: Mon Mar 13 00:07:10 2017 +0900 Extract compile_kw_arg from iseq_compile_each0 M compile.c commit cbf841e3ed511123ba0457f3fc6b4c85ca075bd0 Author: Nobuyoshi Nakada Date: Mon Mar 13 00:03:09 2017 +0900 Extract compile_errinfo from iseq_compile_each0 M compile.c commit d7bba95eba62093b521cd112ff629f5fddb0f0f5 Author: Nobuyoshi Nakada Date: Sun Mar 12 23:59:20 2017 +0900 Extract compile_dots from iseq_compile_each0 M compile.c commit d58143f3b501bdb0859435bee7589936aa1fef82 Author: Nobuyoshi Nakada Date: Sun Mar 12 23:55:27 2017 +0900 Extract compile_colon3 from iseq_compile_each0 M compile.c commit 70c8155d8b2987986ca42210d36c0b133e8e022e Author: Nobuyoshi Nakada Date: Sun Mar 12 19:51:28 2017 +0900 Extract compile_colon2 from iseq_compile_each0 M compile.c commit 270a674a79a4c62c16e2f619aa3e03bb94215f37 Author: Nobuyoshi Nakada Date: Sun Mar 12 19:36:23 2017 +0900 Extract compile_match from iseq_compile_each0 M compile.c commit a92fdc90da26be883b71e1f225034237991c5929 Author: Nobuyoshi Nakada Date: Sun Mar 12 19:31:28 2017 +0900 Extract compile_yield from iseq_compile_each0 M compile.c commit 996489d7e08aeaf90cb44e9c1aec3ac3afccc3bd Author: Nobuyoshi Nakada Date: Sun Mar 12 13:25:22 2017 +0900 Extract compile_super from iseq_compile_each0 M compile.c commit 6cf9f1719168dd4c07b423f419412bed5a2bbd56 Author: Nobuyoshi Nakada Date: Sun Mar 12 12:55:43 2017 +0900 Extract compile_op_log from iseq_compile_each0 M compile.c commit d045d5f860192802b521af96309fd314156d8320 Author: Nobuyoshi Nakada Date: Sun Mar 12 12:52:48 2017 +0900 Extract compile_op_cdecl from iseq_compile_each0 M compile.c commit 0c7ff3754029453197a87ea2e6a570c7e25f2991 Author: Nobuyoshi Nakada Date: Sun Mar 12 12:49:56 2017 +0900 Extract compile_op_asgn2 from iseq_compile_each0 M compile.c commit 0b87b75ae9fb86cb1afe3cfe7117bb966dd5ec32 Author: Nobuyoshi Nakada Date: Sun Mar 12 12:47:22 2017 +0900 Extract compile_op_asgn1 from iseq_compile_each0 M compile.c commit 8d5292f702e79ed03d21ef338210602f32948b53 Author: OKURA Masafumi Date: Mon May 3 22:38:51 2021 +0900 Trim extra whitespace in inaccesible error message One whitespace is already included in `inaccessible_mesg_for` macro. This extra whitespace is included since 72ff61f4a8ae7a8bf05b0bd6f91b3b290645627c M eval_error.c commit f2ffa8896436050af679db6b5dff7b1fc35ef819 Author: Martin Dürst Date: Wed Sep 1 09:37:13 2021 +0900 Show default argument explicitly for Rexexp#match? [ci skip] M re.c commit 45b8846bec5b8228767100fceb9389023560dfa1 Author: Martin Dürst Date: Wed Sep 1 09:24:34 2021 +0900 Fix minor grammar issue in documentation of Regexp#match? [ci skip] M re.c commit 6095a4fec00a4272a284cb2646b95329dd86a98e Author: git Date: Wed Sep 1 09:16:16 2021 +0900 * 2021-09-01 [ci skip] M version.h commit fe7aaa94b48645d58789979d59b093aafced7bdb Author: Stan Lo Date: Wed Sep 1 00:58:42 2021 +0800 Small grammar fixes M lib/tempfile.rb commit d3155e3632b8d967c99863de993e793e52bd59c6 Author: Nobuyoshi Nakada Date: Tue Aug 31 23:18:26 2021 +0900 [ruby/zlib] Don't print out warnings when finalizing https://github.com/ruby/zlib/commit/44a56d36e7 M ext/zlib/zlib.c commit 31c427511c71f9491697cbdfc02731ad04ea57c6 Author: Nobuyoshi Nakada Date: Tue Aug 31 22:27:49 2021 +0900 [ruby/zlib] Revert "Don't print out warnings when freeing." https://github.com/ruby/zlib/commit/931aa7a272 M ext/zlib/zlib.c commit bfec03f5fe5123175f079b4112c1f2ed5f95e5ae Author: Hiroshi SHIBATA Date: Tue Aug 31 21:02:13 2021 +0900 Match parens for hidden files parenthetical Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com> M dir.rb commit a826747ade4b6ae52ee9883120c1b1cd7aa98b3f Author: S-H-GAMELINKS Date: Sat May 8 14:36:20 2021 +0900 Remove unneeded comments in rational.c M rational.c commit b6691e97374011dce31153295f47b617d7e2819b Author: universato Date: Thu May 6 07:46:57 2021 +0900 Fix a code in the Array#min documentation. M array.c commit 3ffca65047d67cd958a424ba6dcc55112cc39e0a Author: David CARLIER Date: Mon Mar 22 18:58:33 2021 +0000 addr2line: DragonFlyBSD build update. same code path as FreeBSD's. M addr2line.c commit 9b188ac2385df107529a9950648f3e42ad56adc0 Author: aycabta Date: Tue Aug 31 20:48:58 2021 +0900 [ruby/reline] Remove one unnecessary nest for simplicity's sake https://github.com/ruby/reline/commit/f4bda85a7c M lib/reline/line_editor.rb commit 64373a3c58820fd7b3313f43de2a58d8516a1c95 Author: aycabta Date: Tue Aug 31 19:36:26 2021 +0900 Move access to dialog_render_info inside nil check M lib/reline/line_editor.rb commit a75f38431e7573b7cfd720816f51082fcc40d609 Author: aycabta Date: Tue Aug 31 19:35:13 2021 +0900 Revert "Omit some tests until debugging is complete" This reverts commit 3695d94b25f3e3e0d7a629bf1708ef421a51dd47. M test/reline/test_within_pipe.rb commit db154b20cceb2fc71390cce21fdff23f6f36f7b6 Author: jory-graham Date: Thu Aug 5 13:58:39 2021 -0400 [ruby/psych] Replace A-Za-z with [:alpha:] https://github.com/ruby/psych/commit/8ec36494fb M ext/psych/lib/psych/scalar_scanner.rb M test/psych/test_scalar_scanner.rb commit 9ed2cb26dee8ed801a75cf4b276f1ec354ade032 Author: Aaron Patterson Date: Wed Aug 4 09:27:04 2021 -0700 [ruby/psych] Add quotes to the strings "y" and "n" 'y' and 'n' are kind of ambiguous. Syck treated y and n literals in YAML documents as strings. But this is not what the YAML 1.1 spec says. YAML 1.1 says they should be treated as booleans. When we're dumping documents, we know it's a string, so adding quotes will eliminate the "ambiguity" in the emitted document Fixes #443 https://github.com/ruby/psych/commit/6a1c30634e M ext/psych/lib/psych/visitors/yaml_tree.rb M test/psych/test_string.rb commit 0925fddc80646b9411b00e7f601aa3d9c48d66ec Author: opak Date: Tue Jun 1 10:11:04 2021 +0200 [ruby/psych] Update lib/psych/scalar_scanner.rb https://github.com/ruby/psych/commit/64cc239557 Co-authored-by: Olle Jonsson M ext/psych/lib/psych/scalar_scanner.rb commit 44353d0dee76a547629a6ab978fdaead9b5f79fb Author: Alexandr Opak Date: Fri Jan 29 14:10:04 2021 +0100 [ruby/psych] add more tests https://github.com/ruby/psych/commit/8f71222bf3 M ext/psych/lib/psych/scalar_scanner.rb M test/psych/test_scalar_scanner.rb commit beffa72c27c77603ecc15c60518a55bea4aad3de Author: Alexandr Opak Date: Fri Jan 29 13:10:46 2021 +0100 [ruby/psych] fix typo https://github.com/ruby/psych/commit/ebb0cbded1 M test/psych/test_scalar_scanner.rb commit 48b50cb4febc37120a6026dc95a4a868360048eb Author: Alexandr Opak Date: Fri Jan 29 13:04:37 2021 +0100 [ruby/psych] fix parsing integer values with '_' at the end https://github.com/ruby/psych/commit/e0bb853014 M ext/psych/lib/psych/scalar_scanner.rb M test/psych/test_scalar_scanner.rb commit 31ba0921f8fe342ce317b1c9638b23756bffc9ff Author: Tomer Brisker Date: Sat Aug 8 14:46:05 2020 +0300 [ruby/psych] Improve float scalar scanner Previously, `+.inf` was not handled correctly. Additionally, the regexp was checking for inf and NaN, even though these cases are handled earlier in the condition. Added a few tests to ensure handling some missing cases. https://github.com/ruby/psych/commit/6e0e7a1e9f M ext/psych/lib/psych/scalar_scanner.rb M test/psych/test_scalar_scanner.rb commit d19af1675c9dcf4ccef643e831d83976f1831101 Author: Samuel Williams Date: Sat Aug 7 13:32:15 2021 +1200 [ruby/zlib] Don't print out warnings when freeing. https://github.com/ruby/zlib/commit/098c50255d M ext/zlib/zlib.c commit 41867532ac07515543e4d7e75094edeff09de743 Author: Nobuyoshi Nakada Date: Tue Aug 31 19:07:08 2021 +0900 No commits to pick is success [ci skip] M tool/sync_default_gems.rb commit f315be261502ac60b351d02f711d787b217e9c7c Author: David Rodríguez Date: Sat Aug 7 20:15:18 2021 +0200 [rubygems/rubygems] Remove dead code https://github.com/rubygems/rubygems/commit/9978b787a0 D lib/bundler/gemdeps.rb M lib/bundler/rubygems_integration.rb commit 4bc87cb1fb9ecbd227720bd48836935996574166 Author: David Rodríguez Date: Wed Jul 8 23:26:28 2020 +0200 [rubygems/rubygems] Remove `syck` traces from `bundler` Same reason as in the previous commit. https://github.com/rubygems/rubygems/commit/f00a6c8516 M lib/bundler.rb M lib/bundler/endpoint_specification.rb M lib/bundler/psyched_yaml.rb M lib/bundler/rubygems_integration.rb M spec/bundler/bundler/bundler_spec.rb M spec/bundler/bundler/endpoint_specification_spec.rb D spec/bundler/bundler/psyched_yaml_spec.rb commit 1e290c31f4fdfd330b9cd1d5c7fe61efa4ab066c Author: David Rodríguez Date: Tue Aug 24 12:02:29 2021 +0200 [rubygems/rubygems] Merge `Gem::UriParser` and `Gem::PrintableUri` into a `Gem::Uri` class The new class is a wrapper on top of an URI. And then, when you want credentials redacted, you call `#redacted` that returns a copy of itself, but with credentials redacted. https://github.com/rubygems/rubygems/commit/9581c2740a M lib/rubygems/commands/install_command.rb D lib/rubygems/printable_uri.rb M lib/rubygems/remote_fetcher.rb M lib/rubygems/request.rb A lib/rubygems/uri.rb D lib/rubygems/uri_parser.rb D test/rubygems/test_gem_printable_uri.rb A test/rubygems/test_gem_uri.rb D test/rubygems/test_gem_uri_parser.rb commit f0c6cc14b10616a61d3113dd5a88291fe915461b Author: David Rodríguez Date: Thu Aug 26 16:46:29 2021 +0200 [rubygems/rubygems] Make sure `Gem::Command` is available before using it https://github.com/rubygems/rubygems/commit/95326f827c M lib/bundler/rubygems_integration.rb commit 41240ffee3a796c02d24e6ed424ec1a9a1e242d6 Author: David Rodríguez Date: Thu Aug 26 15:39:22 2021 +0200 [rubygems/rubygems] Remove unused require https://github.com/rubygems/rubygems/commit/2ee3e78a7a M lib/bundler/installer.rb commit e841042070357794ba9a73c685b98381f9ba6f80 Author: Keiko Kaneko Date: Sat Aug 28 14:18:39 2021 +0900 [rubygems/rubygems] Add missing key `branches:` ref: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags Running jobs with only branch name, without `branches:`, CI fails https://github.com/rubygems/rubygems/commit/fcec167d61 M lib/bundler/templates/newgem/github/workflows/main.yml.tt commit ceba8668642ae9567c0952724217073462fee9a8 Author: Daniel Niknam Date: Tue Aug 24 01:01:11 2021 +1000 [rubygems/rubygems] Remove unnecessary tests We will be passing string to this class so there is no need to be defensive about it. https://github.com/rubygems/rubygems/commit/30bd52a977 M test/rubygems/test_gem_printable_uri.rb commit 1948ac20ce5b1a84b8443d3b7438b18c6f2c89e9 Author: Daniel Niknam Date: Tue Aug 24 00:55:40 2021 +1000 [rubygems/rubygems] Replacing clone with dup https://github.com/rubygems/rubygems/commit/30f5b3c027 M lib/rubygems/printable_uri.rb commit 4715bbf7b3ab2fdc34f37a84cf004722d8ef7172 Author: Daniel Niknam Date: Tue Aug 24 00:53:46 2021 +1000 [rubygems/rubygems] Remove returning self for `Gem::PrintableUri#parse_uri` https://github.com/rubygems/rubygems/commit/25c99d7f9d M lib/rubygems/printable_uri.rb commit aa898b420676633cf36f95b8f97b10d6cac59141 Author: Daniel Niknam Date: Mon Aug 23 23:51:07 2021 +1000 [rubygems/rubygems] Remove @credential_redacted instance variable https://github.com/rubygems/rubygems/commit/c3bb52eb5c M lib/rubygems/printable_uri.rb M test/rubygems/test_gem_printable_uri.rb commit 7067005f2314b8c4927d53f37825941fe43a66c3 Author: Daniel Niknam Date: Mon Aug 23 23:02:57 2021 +1000 [rubygems/rubygems] Bring back the empty line that was removed previously by mistake https://github.com/rubygems/rubygems/commit/ffb480ca7a M lib/rubygems/remote_fetcher.rb commit d73dc8e937b8712878af3d744f0aec61d48c136d Author: Daniel Niknam Date: Mon Aug 23 23:01:40 2021 +1000 [rubygems/rubygems] Remove unused method https://github.com/rubygems/rubygems/commit/3a8486794e M lib/rubygems/printable_uri.rb commit 6d883b33aef68c3ae9455a591c40a1ffb5836886 Author: Daniel Niknam Date: Mon Aug 23 23:01:17 2021 +1000 [rubygems/rubygems] Remove `ruby/uri` requirement For the purpose of this class, we need to make sure the return object by `Gem::UriParser.parse_uri` method will have the following method: - user - user= - password - password= So we can remove the the `uri` dependency and just look for the methods to exist. https://github.com/rubygems/rubygems/commit/241e093597 M lib/rubygems/printable_uri.rb commit 589377fbdce9d281041535e3bf63f008689bb776 Author: Daniel Niknam Date: Sun Aug 22 20:06:02 2021 +1000 [rubygems/rubygems] Refactor `Gem::RemoteFetcher::FetchError.build` back to its initialize method https://github.com/rubygems/rubygems/commit/21dcdd2dc5 M lib/rubygems/remote_fetcher.rb M lib/rubygems/request.rb M test/rubygems/test_gem_commands_sources_command.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_resolver_best_set.rb M test/rubygems/test_gem_spec_fetcher.rb M test/rubygems/test_remote_fetch_error.rb M test/rubygems/utilities.rb commit a508693f06aefe30d2d83c9617541722ba6c8d66 Author: Daniel Niknam Date: Sun Aug 22 19:55:40 2021 +1000 [rubygems/rubygems] Remove defensive guards https://github.com/rubygems/rubygems/commit/dba130cd80 M lib/rubygems/printable_uri.rb M test/rubygems/test_gem_printable_uri.rb commit fafd9d280a4ce57c2868a866ae06ba006671bf5a Author: Daniel Niknam Date: Sun Aug 22 11:39:06 2021 +1000 [rubygems/rubygems] Rename `Gem::PrintableUri#parsed_uri?` to `Gem::PrintableUri#valid_uri?` https://github.com/rubygems/rubygems/commit/a5177709c9 M lib/rubygems/printable_uri.rb M test/rubygems/test_gem_printable_uri.rb commit e3c319ad53026505b6920d37245b4f93e2de41fc Author: Daniel Niknam Date: Sun Aug 22 11:35:41 2021 +1000 [rubygems/rubygems] Remove trailing `if` https://github.com/rubygems/rubygems/commit/5b6b649bba M lib/rubygems/printable_uri.rb commit 3adc141a79cdab83671b7f68301901dd7726e7c4 Author: Daniel Niknam Date: Sun Aug 22 01:40:21 2021 +1000 [rubygems/rubygems] Refactor `Gem::RemoteFetcher::FetchError` initializer to `build` method The `initialize` method is already doing a lot and by adding the `Gem::PrintableUri` to redact sensitive information, things are getting complicated and hard to read here. For the start, I have refactored the `initialize` method into a class method called `build`. https://github.com/rubygems/rubygems/commit/4312e8fdf5 M lib/rubygems/remote_fetcher.rb M lib/rubygems/request.rb M test/rubygems/test_gem_commands_sources_command.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_resolver_best_set.rb M test/rubygems/test_gem_spec_fetcher.rb M test/rubygems/test_remote_fetch_error.rb M test/rubygems/utilities.rb commit 19e1d3cdce96b9e58a0947b6fcbabd6da06cbd11 Author: Daniel Niknam Date: Sun Aug 22 01:37:32 2021 +1000 [rubygems/rubygems] Using `Gem::PrintableUri` in `Gem::Request` class The `@uri` variable could be a source URI with a credential. Using `Gem::PrintableUri` to make sure we are redacting sensitive information from it when logging on verbose mode. https://github.com/rubygems/rubygems/commit/f566787211 M lib/rubygems/request.rb M test/rubygems/test_gem_request.rb commit 31c2e6c08eccf77ec24126b9c77a910a4e543293 Author: Daniel Niknam Date: Sun Aug 22 01:33:21 2021 +1000 [rubygems/rubygems] Using `Gem::PrintableUri` in `Gem::Commands::InstallCommand` class The `x.source.uri` could be a source URI with a credential. Using `Gem::PrintableUri` to make sure we are redacting sensitive information from it. https://github.com/rubygems/rubygems/commit/8755ee0aaa M lib/rubygems/commands/install_command.rb M test/rubygems/test_gem_commands_install_command.rb commit b41802421ac7e790a98ed59be67631687fc5808f Author: Daniel Niknam Date: Sun Aug 22 01:31:03 2021 +1000 [rubygems/rubygems] Introduce `Gem::PrintableUri` that would redact URIs to be used on outputs We need to redact URI credential in several places and copy pasting the code into each part of it is not ideal. This class is responsible for parsing URI strings and redacting credential from it. Also, it will handle URI object in the same manner. We will be reusing this class whenever we need to print/display a URI to users. URI with the following format will be redacted: - Token: `http://my-secure-token@example.com` => `http://REDACTED@example.com` - Username & Password: `http://my-username:my-secure-password@example.com` => `http://my-username:REDACTED@example.com` - x-oauth-basic: `http://my-secure-token:x-oauth-basic@example.com` => `http://REDACTED:x-oauth-basic@example.com` https://github.com/rubygems/rubygems/commit/f1e45d3a89 A lib/rubygems/printable_uri.rb A test/rubygems/test_gem_printable_uri.rb commit 14a9e24f7ea161056b56f4833fd8bbecd7718905 Author: Daniel Niknam Date: Sun Aug 22 01:21:53 2021 +1000 [rubygems/rubygems] Add a few tests for `Gem::UriParser.parse_uri` https://github.com/rubygems/rubygems/commit/1ea73df161 A test/rubygems/test_gem_uri_parser.rb commit 5f205073d2ded61348e9ea251542a5f133211f13 Author: Matt Larraz Date: Sun Aug 22 12:11:23 2021 -0400 [rubygems/rubygems] Pass second argument to Array#split to ensure only two values returned https://github.com/rubygems/rubygems/commit/601b5553bb M lib/bundler/settings.rb commit c119dd2b5a0466ba317c2b5981c686355d7e3b6e Author: David Rodríguez Date: Sat Aug 21 20:13:03 2021 +0200 [rubygems/rubygems] Fix `bundle plugin install` misdetection of installed versions https://github.com/rubygems/rubygems/commit/9c88db949d M lib/bundler.rb M lib/bundler/plugin/installer.rb M lib/bundler/source/rubygems.rb M spec/bundler/plugins/install_spec.rb commit c044f818ca47511dceefcdddba64e4f144e8c731 Author: David Rodríguez Date: Sat Aug 21 17:39:42 2021 +0200 [rubygems/rubygems] Move `Bundler.rubygems.clear_paths` to a better place Since it clears both home and path. https://github.com/rubygems/rubygems/commit/fadf5e03ea M lib/bundler.rb commit 8c79486e7e5682cc3a7da43050ee578a9c4b0f77 Author: David Rodríguez Date: Sat Aug 21 17:15:23 2021 +0200 [rubygems/rubygems] Bundle path is already expanded https://github.com/rubygems/rubygems/commit/a296052670 M lib/bundler.rb commit 71b937d3d7f1369a55844201f31720e815d0168c Author: David Rodríguez Date: Sat Aug 21 16:52:48 2021 +0200 [rubygems/rubygems] Normalize setting `GEM_PATH` https://github.com/rubygems/rubygems/commit/4188ebd568 M lib/bundler.rb M spec/bundler/bundler/bundler_spec.rb commit d0da3a2a7f48fb912d7617f19d18f32cb5d7eb56 Author: David Rodríguez Date: Sat Aug 21 16:33:00 2021 +0200 [rubygems/rubygems] Remove more unused code https://github.com/rubygems/rubygems/commit/986e889a79 M lib/bundler.rb commit 8d32f46d0447eb8df0ca816498bb29b7beb01eea Author: David Rodríguez Date: Sat Aug 21 16:05:43 2021 +0200 [rubygems/rubygems] Remove unnecessary line https://github.com/rubygems/rubygems/commit/a7023c6c21 M lib/bundler.rb commit f934096638ec5850b65e45dc7230900107441288 Author: David Rodríguez Date: Thu Aug 19 11:57:16 2021 +0200 [rubygems/rubygems] Make plugin installation idempotent The error had not be caught be specs because `bundle install` was returning a zero exit code when plugin installation errors happened. So I fixed that issue too. https://github.com/rubygems/rubygems/commit/90cde87856 M lib/bundler/plugin.rb M spec/bundler/bundler/plugin_spec.rb M spec/bundler/plugins/command_spec.rb M spec/bundler/plugins/install_spec.rb commit 3a9dd795a70705d130fb856db148b068d26821c1 Author: David Rodríguez Date: Fri Aug 20 13:45:17 2021 +0200 [rubygems/rubygems] Move some logic to a `save_plugin` method https://github.com/rubygems/rubygems/commit/9620bee2a5 M lib/bundler/plugin.rb commit 2aed061384f68b10d8a4a973009512cb57999c63 Author: Matt Larraz Date: Thu Aug 19 16:12:04 2021 -0400 [rubygems/rubygems] Correctly redact credentials when using x-oauth-basic https://github.com/rubygems/rubygems/commit/290b6ab078 M lib/bundler/settings.rb M spec/bundler/bundler/env_spec.rb M spec/bundler/commands/config_spec.rb commit f212b9d4f2eb7f94359778d0ec5f3e38f2d90461 Author: Daniel Niknam Date: Thu Aug 19 21:57:57 2021 +1000 [rubygems/rubygems] Refactor Ruby platform priority condition to its own method The `Gem::Platform::RUBY ? -1 : 1` has been used multiple times in different places and could be refactored to a method (DRY). https://github.com/rubygems/rubygems/commit/9d43ca8f0c M lib/rubygems/name_tuple.rb M lib/rubygems/platform.rb M lib/rubygems/resolver/installer_set.rb M lib/rubygems/specification.rb commit c71d1a26efc26309e877cd2babfec345514833cf Author: Daniel Niknam Date: Thu Aug 19 19:47:25 2021 +1000 [rubygems/rubygems] Pick the last founded gems when fetching metadata https://github.com/rubygems/rubygems/commit/e3d150d822 Co-authored-by: David Rodríguez M lib/rubygems/resolver/installer_set.rb M test/rubygems/test_gem_resolver_installer_set.rb commit 54ae3f587ed42f425edc7ec741702ac764429c5d Author: David Rodríguez Date: Mon Apr 22 13:56:16 2019 +0200 [rubygems/rubygems] Prefer `require_relative` to `require` for internal requires https://github.com/rubygems/rubygems/commit/c74fc58695 M lib/rubygems.rb M lib/rubygems/command_manager.rb M lib/rubygems/commands/build_command.rb M lib/rubygems/commands/cert_command.rb M lib/rubygems/commands/check_command.rb M lib/rubygems/commands/cleanup_command.rb M lib/rubygems/commands/contents_command.rb M lib/rubygems/commands/dependency_command.rb M lib/rubygems/commands/environment_command.rb M lib/rubygems/commands/fetch_command.rb M lib/rubygems/commands/generate_index_command.rb M lib/rubygems/commands/help_command.rb M lib/rubygems/commands/info_command.rb M lib/rubygems/commands/install_command.rb M lib/rubygems/commands/list_command.rb M lib/rubygems/commands/lock_command.rb M lib/rubygems/commands/mirror_command.rb M lib/rubygems/commands/open_command.rb M lib/rubygems/commands/outdated_command.rb M lib/rubygems/commands/owner_command.rb M lib/rubygems/commands/pristine_command.rb M lib/rubygems/commands/push_command.rb M lib/rubygems/commands/query_command.rb M lib/rubygems/commands/rdoc_command.rb M lib/rubygems/commands/search_command.rb M lib/rubygems/commands/server_command.rb M lib/rubygems/commands/setup_command.rb M lib/rubygems/commands/signin_command.rb M lib/rubygems/commands/signout_command.rb M lib/rubygems/commands/sources_command.rb M lib/rubygems/commands/specification_command.rb M lib/rubygems/commands/stale_command.rb M lib/rubygems/commands/uninstall_command.rb M lib/rubygems/commands/unpack_command.rb M lib/rubygems/commands/update_command.rb M lib/rubygems/commands/which_command.rb M lib/rubygems/commands/yank_command.rb M lib/rubygems/config_file.rb M lib/rubygems/dependency_installer.rb M lib/rubygems/dependency_list.rb M lib/rubygems/doctor.rb M lib/rubygems/exceptions.rb M lib/rubygems/gem_runner.rb M lib/rubygems/gemcutter_utilities.rb M lib/rubygems/indexer.rb M lib/rubygems/install_default_message.rb M lib/rubygems/install_message.rb M lib/rubygems/install_update_options.rb M lib/rubygems/installer.rb M lib/rubygems/local_remote_options.rb M lib/rubygems/mock_gem_ui.rb M lib/rubygems/package.rb M lib/rubygems/package/tar_reader.rb M lib/rubygems/package_task.rb M lib/rubygems/platform.rb M lib/rubygems/rdoc.rb M lib/rubygems/remote_fetcher.rb M lib/rubygems/request.rb M lib/rubygems/request_set.rb M lib/rubygems/request_set/lockfile.rb M lib/rubygems/request_set/lockfile/tokenizer.rb M lib/rubygems/requirement.rb M lib/rubygems/resolver.rb M lib/rubygems/resolver/git_specification.rb M lib/rubygems/resolver/molinillo.rb M lib/rubygems/resolver/specification.rb M lib/rubygems/security.rb M lib/rubygems/security/policy.rb M lib/rubygems/security/signer.rb M lib/rubygems/security_option.rb M lib/rubygems/server.rb M lib/rubygems/source.rb M lib/rubygems/spec_fetcher.rb M lib/rubygems/specification.rb M lib/rubygems/specification_policy.rb M lib/rubygems/uninstaller.rb M lib/rubygems/user_interaction.rb M lib/rubygems/util/licenses.rb M lib/rubygems/validator.rb M lib/rubygems/version_option.rb commit f6803d2411de002c00f1bacc756e412407bc61ed Author: David Rodríguez Date: Wed Aug 18 11:02:13 2021 +0200 [rubygems/rubygems] Fix `bundle check` showing duplicated gems If the lockfile contains multiple platforms, `bundle check` would show duplicated missing gems. https://github.com/rubygems/rubygems/commit/6ac5931783 M lib/bundler/spec_set.rb M spec/bundler/commands/check_spec.rb commit e70419d608019a95135947d66a1603a24e3ced6d Author: David Rodríguez Date: Wed Aug 18 10:28:30 2021 +0200 [rubygems/rubygems] Explicitly set `allow_cached` to false when setting local mode https://github.com/rubygems/rubygems/commit/1b8139e9d3 M lib/bundler/source/rubygems.rb commit 3683781f53cc22b9fa507e4a2848c30086fa7897 Author: David Rodríguez Date: Wed Aug 18 09:58:51 2021 +0200 [rubygems/rubygems] Restore working `bundle check` behaviour As part of a recent bug fix where bundler was accidentally hitting the network when not supposed to, I made some refactoring, and the commit I'm reverting here (https://github.com/rubygems/rubygems/commit/d74830d00bb541883377992f56818620a78930b0) was some cleanup that those refactorings allowed according to "past me". That was completely wrong, `bundle check` should never consider cached gems, only installed gems, so the code that was removed was necessary. https://github.com/rubygems/rubygems/commit/5483e98305 M lib/bundler/cli/check.rb M lib/bundler/definition.rb M lib/bundler/source.rb M lib/bundler/source/rubygems.rb M lib/bundler/source_list.rb M spec/bundler/commands/check_spec.rb commit 71f6711351b89330f5445cef6f0a38618627ce66 Author: Jun Aruga Date: Tue Aug 17 18:21:06 2021 +0200 [rubygems/rubygems] Fix some failing Bundler tests with old Git. Use the `git branch --list` rather than the `git branch -l` for better compatibility. Because the `git branch -l` is used to create a new branch in Git version < 2.20.0. https://github.com/rubygems/rubygems/commit/eac5be7d06 M spec/bundler/support/builders.rb commit 907fa88a76e6c5ea7c0610baaa8dfaf5d094e6b3 Author: David Rodríguez Date: Mon Aug 9 11:31:51 2021 +0200 [rubygems/rubygems] Remove unused file No longer used since https://github.com/rubygems/rubygems/commit/b7f6270b9e5e15591cd679f60fa8f43e6763f3f5. https://github.com/rubygems/rubygems/commit/76803894a0 D test/rubygems/bogussources.rb commit 590d2222a0f803f30f0323d51b8bcb51d6023cea Author: David Rodríguez Date: Sun Aug 8 10:43:38 2021 +0200 [rubygems/rubygems] Remove helper method not buying us much https://github.com/rubygems/rubygems/commit/81dc685d20 M test/rubygems/test_gem.rb M test/rubygems/test_gem_path_support.rb commit d01c3111c25d618ab42b0b52b620c55a9305d0e9 Author: David Rodríguez Date: Sun Aug 8 10:40:11 2021 +0200 [rubygems/rubygems] Remove MacOS specific extra GEM_PATH They should properly configure `GEM_PATH` instead. https://github.com/rubygems/rubygems/commit/3bd9ae33ca M lib/rubygems/commands/setup_command.rb M lib/rubygems/path_support.rb M test/rubygems/test_gem.rb commit afabef5a5ab067ee34e70be54fc1b3cfcad63862 Author: David Rodríguez Date: Sun Aug 8 10:21:32 2021 +0200 [rubygems/rubygems] Remove MacOS specific gem layout MacOS should properly configure Ruby. They should not expect us to maintain a different layout just for them. https://github.com/rubygems/rubygems/commit/ecad900925 M lib/rubygems/defaults.rb commit 717ad64f4198066ae1eedfb166e38e8f00f44705 Author: Daniel Niknam Date: Sun Aug 8 19:45:14 2021 +1000 [rubygems/rubygems] Replace StandardError with Exception We think it's unlikely that `rubygems/defaults/operating_system` could be shipped with a SyntaxError so StandardError could be better choice to prevent "false positives" errors. https://github.com/rubygems/rubygems/commit/1f73e784dd M lib/rubygems.rb M test/rubygems/test_rubygems.rb commit 34e073c0ca4a7bb0c7e07df883babeaafb03b438 Author: Daniel Niknam Date: Sun Aug 8 19:40:05 2021 +1000 [rubygems/rubygems] Reword the message For errors that could happened while loading `rubygems/defaults/operating_system` https://github.com/rubygems/rubygems/commit/6e1e2141f8 M lib/rubygems.rb M test/rubygems/test_rubygems.rb commit 7d859489e181f00b9007e8e6f3d6f17a2b0e8827 Author: David Rodríguez Date: Fri Aug 6 12:53:55 2021 +0200 [rubygems/rubygems] Bring `--jobs` documentation up to date https://github.com/rubygems/rubygems/commit/58da501e5d M lib/bundler/man/bundle-add.1 M lib/bundler/man/bundle-binstubs.1 M lib/bundler/man/bundle-cache.1 M lib/bundler/man/bundle-check.1 M lib/bundler/man/bundle-clean.1 M lib/bundler/man/bundle-config.1 M lib/bundler/man/bundle-config.1.ronn M lib/bundler/man/bundle-doctor.1 M lib/bundler/man/bundle-exec.1 M lib/bundler/man/bundle-gem.1 M lib/bundler/man/bundle-info.1 M lib/bundler/man/bundle-init.1 M lib/bundler/man/bundle-inject.1 M lib/bundler/man/bundle-install.1 M lib/bundler/man/bundle-install.1.ronn M lib/bundler/man/bundle-list.1 M lib/bundler/man/bundle-lock.1 M lib/bundler/man/bundle-open.1 M lib/bundler/man/bundle-outdated.1 M lib/bundler/man/bundle-platform.1 M lib/bundler/man/bundle-pristine.1 M lib/bundler/man/bundle-remove.1 M lib/bundler/man/bundle-show.1 M lib/bundler/man/bundle-update.1 M lib/bundler/man/bundle-update.1.ronn M lib/bundler/man/bundle-viz.1 M lib/bundler/man/bundle.1 M lib/bundler/man/gemfile.5 commit 890b2611547076ff70ab77eda6bfc1b8a238fec8 Author: David Rodríguez Date: Thu Aug 5 10:01:08 2021 +0200 [rubygems/rubygems] See if parallel installation on Windows works better now https://github.com/rubygems/rubygems/commit/0822e1c260 M lib/bundler/installer.rb commit 744e128ed98af65b6c8324a23720807659b2a8e9 Author: Daniel Niknam Date: Sun Aug 8 17:27:47 2021 +1000 [rubygems/rubygems] Exclude truffleruby from the test for failure of operating_system.rb truffleruby does not raise any error when requiring `rubygems`. https://github.com/rubygems/rubygems/commit/21e2fcd0b2 M test/rubygems/test_rubygems.rb commit aafc615b4aff8b05efa14d30f0eb7c6adc5fde85 Author: Daniel Niknam Date: Sun Aug 8 16:23:31 2021 +1000 [rubygems/rubygems] Enhance error handling when loading the rubygems/defaults/operating_system file When loading `rubygems/defaults/operating_system` - we want to keep it silent if the raised exception is a LoadError - we want to print a message in other cases and ask users to report the issue to their OS support. Ruby 3 comes with special error handling for loading `rubygems` and it will show a warning when LoadError exception raised for requiring 'rubygem'. Because of that, we decided to leave the LoadError scenario as it is. Reference: https://github.com/ruby/ruby/blob/d1998d8767affe58be0bd09ec536dae9198a7fbd/gem_prelude.rb#L1-L5 https://github.com/rubygems/rubygems/commit/0a97e12fe1 M lib/rubygems.rb A test/rubygems/test_rubygems.rb commit 9fa5c4cd0721f720282dfc9efe5657b136c7e99b Author: David Rodríguez Date: Fri Aug 6 12:21:23 2021 +0200 [rubygems/rubygems] Also load user installed rubygems plugins https://github.com/rubygems/rubygems/commit/82960c262f M lib/rubygems.rb M test/rubygems/test_gem.rb commit 21db5876caeb8f67dfef6f9010e4ab7639d39c1b Author: David Rodríguez Date: Fri Aug 6 11:20:31 2021 +0200 [rubygems/rubygems] Respect `BUNDLE_USER_HOME` for global config location https://github.com/rubygems/rubygems/commit/58fc31442f M lib/bundler/settings.rb M spec/bundler/commands/config_spec.rb commit ea16a0df80c950861e180aa7a025f527ff2713d0 Author: David Rodríguez Date: Fri Aug 6 11:18:41 2021 +0200 [rubygems/rubygems] Disable `RUBYGEMS_GEMDEPS` for bundler spec run Running `bundler` specs using `bundler` is not supported. https://github.com/rubygems/rubygems/commit/cc97b6773d M spec/bundler/spec_helper.rb commit 5aee962fe37a5323e7a844b09f395a440d605872 Author: David Rodríguez Date: Fri Aug 6 10:31:45 2021 +0200 [rubygems/rubygems] Remove `RUBYGEMS_GEMDEPS` warning When setting the `RUBYGEMS_GEMDEPS` environment variable to allow skipping `bundle exec`, `bundler` will print a warning about potential incompatibility. Initially the `RUBYGEMS_GEMDEPS` variable used a completely different (re)implementation of `bundler` functionality. That implementation was not battle tested and could potentially differ in behaviour from what `bundler` does. That's why print a warning. However, these days, all `rubygems` does when `RUBYGEMS_GEMDEPS` is set is to require `bundler/setup`, so there's no risk of any incompatibility, since that's just plain `bundler`. https://github.com/rubygems/rubygems/commit/bbddc27016 M lib/bundler/cli.rb M spec/bundler/bundler/cli_spec.rb commit ab1edc75f8afb9e147158a7b20743aaea92ce96e Author: David Rodríguez Date: Thu Aug 5 09:53:02 2021 +0200 [rubygems/rubygems] Expect the right permissions on Windows Given Windows doesn't have executable bit. https://github.com/rubygems/rubygems/commit/35dc3fa845 M spec/bundler/commands/binstubs_spec.rb commit 2d0d1c339a23a40d274fb78c70b77b97e9c40ba0 Author: David Rodríguez Date: Tue Apr 13 13:03:59 2021 +0200 [rubygems/rubygems] Recommend `bundle install` rather than `gem install -g` https://github.com/rubygems/rubygems/commit/4028cbc408 M lib/rubygems.rb M test/rubygems/test_gem.rb commit 76b77d92757affbc75b393b3a10c6815d69fd34d Author: David Rodríguez Date: Wed Oct 30 16:51:38 2019 +0100 [rubygems/rubygems] Refactor reseting `RUBYGEMS_GEMDEPS` in tests https://github.com/rubygems/rubygems/commit/91dca11112 M test/rubygems/test_gem.rb commit 43aecf216e5ce323d307a94c987c836f40730ba5 Author: David Rodríguez Date: Wed Aug 4 10:59:50 2021 +0200 [rubygems/rubygems] Get a CI matrix configured in default Github Actions generated config Even if it only has one entry at the moment, it makes it easier to add new entries by doing it this way. https://github.com/rubygems/rubygems/commit/46232fe265 Co-authored-by: NeimadTL M lib/bundler/templates/newgem/github/workflows/main.yml.tt commit 2e30d9ab427e71d2c27d5873abbe7320d456d066 Author: David Rodríguez Date: Wed Aug 4 10:56:01 2021 +0200 [rubygems/rubygems] Avoid double CI runs in default Github Actions generated config Otherwise CI will run once for every pull request update and once for every push. The disavantage is that people working on a non default branch without creating pull requests won't get CI run at all. I think the advantages are greater than the disadvantages, it's also my personal workflow, and it's something desired enough so that someone opened an issue about it. So let's do it! https://github.com/rubygems/rubygems/commit/924d916a73 Co-authored-by: NeimadTL M lib/bundler/templates/newgem/github/workflows/main.yml.tt commit 553ee573d45d4e81407266705c3006d31f92d73d Author: David Rodríguez Date: Tue Oct 29 16:57:16 2019 +0100 [rubygems/rubygems] Don't use gemdeps on bundler binstub https://github.com/rubygems/rubygems/commit/320fdc1513 M lib/rubygems/installer.rb commit 1663dd5f73c514343937cc018f5371dbffdeed99 Author: David Rodríguez Date: Tue Apr 13 12:13:59 2021 +0200 [rubygems/rubygems] Simplify rescue of bundler errors As far as I understand, this block should only be run when `bundler/setup` fails. The only other case where these errors could be run is when bundler itself is required. If bundler itself fails to be required or activated (like in old rubies where it was not a default gem, for example), the raw error is much more helpful than this message. So we can move the rescue after bundler is succesfully required, and that simplifies the list of exceptions that we need to track to just `Bundler::Error`. https://github.com/rubygems/rubygems/commit/3663c11e93 M lib/rubygems.rb commit 0aa9eb9eed9e0cb38c7e1c1fcd37061bdfc385b7 Author: David Rodríguez Date: Tue Apr 13 11:58:56 2021 +0200 [rubygems/rubygems] Move list of exceptions to the `rescue` clause Instead of having to match classes and re-raise in the exception body. https://github.com/rubygems/rubygems/commit/5edf74b781 M lib/rubygems.rb commit 87dfb55c164b46d8f5c7968e20e4d03fe8831799 Author: David Rodríguez Date: Mon Oct 28 19:11:57 2019 +0100 [rubygems/rubygems] Use `Gem.use_gemdeps` only from binstubs The previous behavior was to automatically require `bundler/setup` everytime `rubygems` was required, which I think was too much. https://github.com/rubygems/rubygems/commit/b25379a295 M lib/rubygems.rb M lib/rubygems/installer.rb M test/rubygems/helper.rb M test/rubygems/test_gem.rb M test/rubygems/test_gem_installer.rb commit a3b3fdc3cdff57a6ec6da703841b75a41edbe42c Author: David Rodríguez Date: Wed Aug 4 08:43:07 2021 +0200 [rubygems/rubygems] Take advantage of `target` being a `Pathname` https://github.com/rubygems/rubygems/commit/c31b8cd232 M lib/bundler/cli/gem.rb commit 8adc606271210acad490e93c47c3e1501407fb27 Author: David Rodríguez Date: Wed Aug 4 08:40:56 2021 +0200 [rubygems/rubygems] Fix git repo initialization on a path with spaces https://github.com/rubygems/rubygems/commit/a2d6e10192 M lib/bundler/cli/gem.rb M spec/bundler/commands/newgem_spec.rb commit b6c082fd0951d22bc63582283d19f7c970829628 Author: David Rodríguez Date: Mon Oct 28 18:52:23 2019 +0100 [rubygems/rubygems] Remove misleading comment When I read, I thought the assertion was incorrect. It's doing the right thing, though. https://github.com/rubygems/rubygems/commit/e72c27367a M test/rubygems/test_gem.rb commit d9ecc97f33a7b94a6dfb6264663e77d0fa2c13b3 Author: David Rodríguez Date: Mon Oct 28 18:51:55 2019 +0100 [rubygems/rubygems] Remove bad TODO The commented out code causes failing tests because it's not correct. https://github.com/rubygems/rubygems/commit/38f0eca91a M lib/rubygems.rb commit 19d77a1cfc8efa1d03083689f7de78a52ef05be6 Author: David Rodríguez Date: Mon Oct 28 18:08:07 2019 +0100 [rubygems/rubygems] Remove unnecessary spec manipulation https://github.com/rubygems/rubygems/commit/c7c00c280f M lib/rubygems.rb M test/rubygems/test_gem.rb commit 199083dd158c993998412d28d15df01e128e3981 Author: David Rodríguez Date: Wed Aug 4 08:36:21 2021 +0200 [rubygems/rubygems] Simplify overkill usage of shared examples https://github.com/rubygems/rubygems/commit/36a00144b9 M spec/bundler/commands/newgem_spec.rb commit 10dcd0eb5b848ffb8e5f0e830f5f8ad014a49e05 Author: David Rodríguez Date: Tue Aug 3 12:18:11 2021 +0200 [rubygems/rubygems] Deprecate `bundle exec --no-keep-file-descriptors` https://github.com/rubygems/rubygems/commit/591466d512 M lib/bundler/cli.rb M spec/bundler/other/major_deprecation_spec.rb commit 8c1b31f7b33304f70948f81c22c14e26e1b9f61f Author: David Rodríguez Date: Tue Aug 3 11:33:33 2021 +0200 [rubygems/rubygems] Don't warn default behaviour https://github.com/rubygems/rubygems/commit/ed845d861c M lib/bundler/cli/exec.rb commit 58635d4ff75edfb98358f5c80ed9e798758358d0 Author: David Rodríguez Date: Tue Aug 3 11:32:59 2021 +0200 [rubygems/rubygems] Keep file descriptors by default https://github.com/rubygems/rubygems/commit/88b7a3e7e2 M lib/bundler/cli.rb commit 9fc16a31d9a0800b46ae547acb7115a9c58f6c9f Author: Nobuyoshi Nakada Date: Sun Dec 20 18:48:15 2020 +0900 [rubygems/rubygems] Exclude gemspec file itself from gem The processed YML data is included as metadata, the source gemspec file is unused and just confusing. https://github.com/rubygems/rubygems/commit/f444478eac M lib/bundler/templates/newgem/newgem.gemspec.tt M spec/bundler/commands/newgem_spec.rb commit d7c734a27e816992b592ebc586856a8a23b144fe Author: Tim Sutton Date: Sat Jul 31 22:25:20 2021 -0400 [rubygems/rubygems] typos in UI messages: fix a couple missing spaces between sentence breaks https://github.com/rubygems/rubygems/commit/5cdda53382 M lib/bundler/dsl.rb M lib/bundler/errors.rb M spec/bundler/bundler/dsl_spec.rb M spec/bundler/commands/install_spec.rb commit 97de4c02adf2c32c801eec5a683ae7d0c6dd6615 Author: David Rodríguez Date: Sat Jul 31 16:39:20 2021 +0200 [rubygems/rubygems] Remove now unnecessary code https://github.com/rubygems/rubygems/commit/d74830d00b M lib/bundler/cli/check.rb M lib/bundler/definition.rb M lib/bundler/source.rb M lib/bundler/source/rubygems.rb M lib/bundler/source_list.rb commit 0e01ad881a94d0195dcea36783f0bb525d054e7a Author: David Rodríguez Date: Sat Jul 31 15:39:45 2021 +0200 [rubygems/rubygems] The `--local` flag to `bundle install` shouldn't hit the network If the cache was missing, `bundler` would try to re-fetch it. With the `--local` flag, it should just look at installed gems. https://github.com/rubygems/rubygems/commit/630d29c69e M lib/bundler/source/rubygems.rb M spec/bundler/commands/install_spec.rb commit 7116ec6199ea55756154167676bb0c8296f8a391 Author: David Rodríguez Date: Sat Jul 31 15:05:29 2021 +0200 [rubygems/rubygems] Requiring `bundler/setup` shouldn't try to hit the network https://github.com/rubygems/rubygems/commit/06f5efce02 M lib/bundler/definition.rb M spec/bundler/install/gemfile/sources_spec.rb commit 0b4dbe2e6a0a0b27860fb6a509ff0429ece436c7 Author: David Rodríguez Date: Sat Jul 31 14:10:59 2021 +0200 [rubygems/rubygems] Improve "gem not found in source" errors When printing sources inside these error messages, it's useful to only consider the current state of the source. For example, when requiring `bundler/setup`, the source shouldn't be configured to be able to hit the network, so the error message should only mention "locally installed gems" to make that more clear. https://github.com/rubygems/rubygems/commit/30eb14f853 M lib/bundler/resolver.rb M lib/bundler/source.rb M lib/bundler/source/rubygems.rb M lib/bundler/source/rubygems_aggregate.rb M spec/bundler/commands/exec_spec.rb M spec/bundler/commands/lock_spec.rb M spec/bundler/support/indexes.rb commit 2e850e0038e8ba9a5dd3266e9f0f6b2821f19084 Author: David Rodríguez Date: Sat Jul 31 13:21:41 2021 +0200 [rubygems/rubygems] Only set local variable in the branch using it https://github.com/rubygems/rubygems/commit/9fd39bd5a3 M lib/bundler/resolver.rb commit b351cebab209217649ca2a607181709d61b9ffcc Author: David Rodríguez Date: Sat Jul 31 13:33:08 2021 +0200 [rubygems/rubygems] Simplify error message building in resolver Since all requirements have an explicit source now (even if it's the default source). https://github.com/rubygems/rubygems/commit/2c341cfc22 M lib/bundler/resolver.rb commit b17cdad2f803520ed472605cc8ef7a5350f095f7 Author: David Rodríguez Date: Sat Jul 31 12:57:57 2021 +0200 [rubygems/rubygems] Remove redundant part of error message It doesn't really add much, in my opinion. We want to be helpful, but also concise when possible. https://github.com/rubygems/rubygems/commit/9d56009cf7 M lib/bundler/resolver.rb M spec/bundler/commands/post_bundle_message_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M test/rubygems/test_gem.rb commit f1c072912813f9fc226e819f9c3a770869d005c7 Author: David Rodríguez Date: Tue Jul 27 19:43:01 2021 +0200 [rubygems/rubygems] Fix standalone generated script to deal with path sources In the case of path sources, the path the source is pointing to should be added directly to the `$LOAD_PATH` without any modifications. https://github.com/rubygems/rubygems/commit/d3bba936f0 Co-authored-by: Daniel Niknam M lib/bundler/installer/standalone.rb M spec/bundler/install/gems/standalone_spec.rb commit 7465b94f8a4c2849498bf36b98be8da99c0504c2 Author: David Rodríguez Date: Fri Jul 30 12:42:18 2021 +0200 [rubygems/rubygems] Remove unnecessary `ruby_version` local variable Under some case, this variable might not end up being used, in which case running the script would print unused variable warnings. https://github.com/rubygems/rubygems/commit/bf96030362 M lib/bundler/installer/standalone.rb M spec/bundler/install/gems/standalone_spec.rb commit 7566c85cc02b464e74860b01905e5d70136d77e5 Author: David Rodríguez Date: Fri Jul 30 12:40:42 2021 +0200 [rubygems/rubygems] Use same criteria for ruby engine as in the final script https://github.com/rubygems/rubygems/commit/fcb8c3d188 M lib/bundler/installer/standalone.rb commit 3aa087d5335112268b2d1bc4b0690ca62de732bc Author: David Rodríguez Date: Fri Jul 30 12:39:04 2021 +0200 [rubygems/rubygems] Remove unnecessary `ruby_engine` local variable Under some case, this variable might not end up being used, in which case running the script would print unused variable warnings. https://github.com/rubygems/rubygems/commit/a2d6392ada M lib/bundler/installer/standalone.rb M spec/bundler/install/gems/standalone_spec.rb commit 1d6551a02da866dc82866736cb216ce22dbd39d0 Author: David Rodríguez Date: Fri Jul 30 12:27:11 2021 +0200 [rubygems/rubygems] Remove unnecessary `path` local variable We can use `__dir__` directly. https://github.com/rubygems/rubygems/commit/0e6083ca94 M lib/bundler/installer/standalone.rb M spec/bundler/install/gems/standalone_spec.rb commit 97c0d3fead87316c127235f91535068ce60d0fa2 Author: David Rodríguez Date: Tue Jul 27 19:01:04 2021 +0200 [rubygems/rubygems] Fix unnecessary $LOAD_PATH modification in standalone script Due to the `bundler` gem itself being ignored from `$LOAD_PATHS`, a `nil` value is being introduced here, resulting in the current folder being added to the `$LOAD_PATH` by the standalone script. I'm pretty sure this is unintentional. https://github.com/rubygems/rubygems/commit/df54b07b5e M lib/bundler/installer/standalone.rb commit 23c27d2c7b10431ab806d25a7ea4ff5fc87691d3 Author: David Rodríguez Date: Fri Jul 30 11:48:46 2021 +0200 [rubygems/rubygems] Don't sort materialized specs when not necessary This should fix a weird flaky spec failure, given that the code producing the error will be no longer run. https://github.com/rubygems/rubygems/commit/a171965409 M lib/bundler/spec_set.rb commit 0ab160e2e0b959054c28b06f1ada3f015c9f3bc3 Author: David Rodríguez Date: Fri Jul 30 10:30:24 2021 +0200 [rubygems/rubygems] Respect `BUNDLE_USER_CONFIG` if set https://github.com/rubygems/rubygems/commit/f28ab141af M lib/bundler/settings.rb M spec/bundler/commands/config_spec.rb commit d37c2441ccd7dcdcedc317065c0f8141f9a66714 Author: David Rodríguez Date: Sat Jul 24 18:17:53 2021 +0200 [rubygems/rubygems] We can now avoid source materialization work No need to fill up missing names from sources anymore since they should now be properly set up correctly from the beginning. https://github.com/rubygems/rubygems/commit/706fd28681 M lib/bundler/spec_set.rb commit 1b9b41472f0e7b9aac429dc8f95e778a3fce174d Author: David Rodríguez Date: Sat Jul 24 18:16:32 2021 +0200 [rubygems/rubygems] Completely avoid replacing sources when in multisource compatibility mode Since this mode is only enabled in frozen mode, it's fine to use the lockfile and means we don't have to "prepare" the replacement for materialization. https://github.com/rubygems/rubygems/commit/dda01b288e M lib/bundler/definition.rb M lib/bundler/source_list.rb commit c2f376bcc006c3602ffd005fa1cb3cdf5c9d97fa Author: David Rodríguez Date: Sun Jul 25 16:23:15 2021 +0200 [rubygems/rubygems] Fix standalone install of default gems Rubygems source replacement was broken. https://github.com/rubygems/rubygems/commit/3549c122f6 M lib/bundler/lockfile_parser.rb M lib/bundler/source_list.rb M spec/bundler/install/gems/standalone_spec.rb commit 9e7249da4e954088b5a3701a034e4ecd003cef43 Author: David Rodríguez Date: Sun Jul 25 16:22:28 2021 +0200 [rubygems/rubygems] This spec can pass now on ruby 3 TSort was released as a library so we can install it, and also other gems that are loaded by the spec. Also, Ruby on Windows apparently loads fiddle 1.0.6, so we need to also install that to make that not fail. https://github.com/rubygems/rubygems/commit/2b8dcab99e M spec/bundler/commands/clean_spec.rb commit 579dbe6ecb7e399002faa4efe648b588a40cd775 Author: David Rodríguez Date: Sun Jul 25 16:12:46 2021 +0200 [rubygems/rubygems] Remove unnecessary test repository These gems are built and installed to system directly as default gems. There's no need to also build a remote repo. https://github.com/rubygems/rubygems/commit/ad9dad4c22 M spec/bundler/commands/clean_spec.rb commit 570167eaa9084cec3b11fd3eca64955795835283 Author: David Rodríguez Date: Mon Jul 26 15:49:28 2021 +0200 [rubygems/rubygems] Give a `bundle install` hint when `bundle list` fails https://github.com/rubygems/rubygems/commit/98f5087e34 M lib/bundler/cli/list.rb M spec/bundler/install/yanked_spec.rb commit 81c06437629da422a7b6701a140b040af430b832 Author: David Rodríguez Date: Mon Jul 26 15:21:18 2021 +0200 [rubygems/rubygems] Remove unnecessary escape sequences Bundler formatters already take care of this. https://github.com/rubygems/rubygems/commit/c24415fdd5 M lib/bundler/setup.rb M spec/bundler/commands/exec_spec.rb commit fe47ac213bc43747004779dd966790592d0ab309 Author: David Rodríguez Date: Mon Jul 26 15:20:53 2021 +0200 [rubygems/rubygems] Remove unnecessary exception If we have succeeded to materialize the bundle, all specs should be loaded. https://github.com/rubygems/rubygems/commit/bd3712d824 M lib/bundler/runtime.rb commit 9a25a98c6b43ef32a8d2e36ef9fa4f5b00ad283c Author: David Rodríguez Date: Fri Jul 23 23:49:13 2021 +0200 [rubygems/rubygems] Show all missing gems when using a bundle before installing it Not only the first one that's missing. This also allows us to simplify things. https://github.com/rubygems/rubygems/commit/69718a9509 M lib/bundler/definition.rb M lib/bundler/spec_set.rb M spec/bundler/install/yanked_spec.rb commit d298ef40f252165f76bfd8c677e1aa907e4c0007 Author: David Rodríguez Date: Fri Jul 23 23:06:29 2021 +0200 [rubygems/rubygems] Small refactor by DRYing up some logic https://github.com/rubygems/rubygems/commit/c7e3c092e1 M lib/bundler/definition.rb commit 8116b7fef7ccef49eda3d1258121bbf343daf12a Author: David Rodríguez Date: Fri Jul 23 21:32:07 2021 +0200 [rubygems/rubygems] Move rescue block around the code that can raise it https://github.com/rubygems/rubygems/commit/310937a546 M lib/bundler/cli/install.rb M lib/bundler/runtime.rb commit c6e5267a77871cba26152a00dcbaa05c1544bd13 Author: David Rodríguez Date: Fri Jul 23 22:01:40 2021 +0200 [rubygems/rubygems] Remove unnecessary check This error can only be raised when loading the cache, and we only load the cache if this condition is met. https://github.com/rubygems/rubygems/commit/86d692edb8 M lib/bundler/cli/install.rb commit dd22549e0712479905dae246fef0a5349ef002c4 Author: David Rodríguez Date: Fri Jul 23 21:26:13 2021 +0200 [rubygems/rubygems] Let original exception be re-raised https://github.com/rubygems/rubygems/commit/a669401a5a M lib/bundler/cli/install.rb commit defdfa020a5e30da132280f2ec16eb87d62cfc73 Author: Nobuyoshi Nakada Date: Tue Aug 31 19:00:04 2021 +0900 Exit with the syncing status [ci skip] M tool/sync_default_gems.rb commit 3695d94b25f3e3e0d7a629bf1708ef421a51dd47 Author: aycabta Date: Tue Aug 31 16:21:40 2021 +0900 Omit some tests until debugging is complete M test/reline/test_within_pipe.rb commit f781e537b537fcb02e266d55f636850c7e681299 Author: Nobuyoshi Nakada Date: Tue Aug 31 11:41:32 2021 +0900 Remove no longer used variable line_node M compile.c commit d23264d35932f7154922017b2701ce3bdb8fec8b Author: Nobuyoshi Nakada Date: Tue Aug 31 11:39:59 2021 +0900 Extract compile_block from iseq_compile_each0 And constify `node` argument of `iseq_compile_each0`. M compile.c commit 80309800f1fa752cc3ac695a8cea6a43f1b638f4 Author: aycabta Date: Tue Aug 31 15:23:06 2021 +0900 [ruby/irb] Version 1.3.8.pre.5 https://github.com/ruby/irb/commit/968422799c M lib/irb/version.rb commit a512496b3ff9d7e52418ce35bbf610e1ef723fb6 Author: aycabta Date: Tue Aug 31 15:22:45 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.5 https://github.com/ruby/irb/commit/657bd3fd12 M lib/irb/irb.gemspec commit 8273e95753a2b8ff96fecbe57afa81df6a34dfcb Author: aycabta Date: Tue Aug 31 15:22:11 2021 +0900 [ruby/reline] Version 0.2.8.pre.5 https://github.com/ruby/reline/commit/79b7d80fee M lib/reline/version.rb commit 817694481c7ea3436b71809305e9b5ecafdf6eb5 Author: aycabta Date: Tue Aug 31 15:15:29 2021 +0900 [ruby/irb] Set the dialog width to render with a fixed width https://github.com/ruby/irb/commit/80c4329643 M lib/irb/input-method.rb commit 077bc98ce42be3c22da1087ef9774065277612f9 Author: aycabta Date: Tue Aug 31 15:14:16 2021 +0900 [ruby/irb] Follow that Dialog#contents_width has been renamed to #width https://github.com/ruby/irb/commit/49a73d929e M lib/irb/input-method.rb commit a8e6a850d571ea798ea52753f6b3252c33dd1270 Author: aycabta Date: Tue Aug 31 14:06:36 2021 +0900 [ruby/irb] Make show doc dialog appears on the left at the right edge https://github.com/ruby/irb/commit/6480eddd31 M lib/irb/input-method.rb commit cf0ece810a72157437a76679bf22f7856afc16ca Author: aycabta Date: Tue Aug 31 05:50:15 2021 +0900 [ruby/irb] Rename a variable "dialog" with "autocomplete_dialog" Because it's just used to receive data from the autocomplete dialog, not for show doc dialog. https://github.com/ruby/irb/commit/f8b752bd98 M lib/irb/input-method.rb commit 7afb5b8b95c7eadb5e776590566d0430d62e62f9 Author: aycabta Date: Tue Aug 31 15:11:30 2021 +0900 [ruby/reline] Use Reline::Unicode.take_range to devide exactly by width https://github.com/ruby/reline/commit/de1ad93f44 M lib/reline/line_editor.rb commit 4f5166e790d1154447deaaf42ed1cdd647dd6bcf Author: aycabta Date: Tue Aug 31 15:09:46 2021 +0900 [ruby/reline] Check if dialog_render_info is nil or not https://github.com/ruby/reline/commit/e2b87fe831 M lib/reline/line_editor.rb commit c8a07a1231361f41963960d5acb129808f6d1c98 Author: aycabta Date: Tue Aug 31 15:09:04 2021 +0900 [ruby/reline] Fix Reline::Unicode.take_range as it was not fully functional https://github.com/ruby/reline/commit/5da6a8d851 M lib/reline.rb M lib/reline/line_editor.rb M lib/reline/unicode.rb commit 7fae57dbb45703c5d0695dc501cf7dca3c7c40a5 Author: aycabta Date: Tue Aug 31 06:40:25 2021 +0900 [ruby/reline] Use dynamic contents width https://github.com/ruby/reline/commit/f0e54f239b M lib/reline/line_editor.rb commit 2dd26bed86f721ed1982d00c3a0bd5ed37568e96 Author: Nobuyoshi Nakada Date: Sun Jun 21 11:33:09 2020 +0900 [Feature #16972] Add mode: option to Pathname#mkpath M ext/pathname/lib/pathname.rb M test/pathname/test_pathname.rb commit 181207e830cc8fb0fac78e9bcd4163c25831c600 Author: Nobuyoshi Nakada Date: Tue Aug 31 00:47:56 2021 +0900 Constify line_node in iseq_compile_each0 M compile.c commit a598730e79345e4f8cac6c6e26cf0572b1610e3c Author: aycabta Date: Tue Aug 31 05:45:04 2021 +0900 [ruby/reline] Remove an unused variable https://github.com/ruby/reline/commit/0ae7d8b336 M lib/reline/line_editor.rb commit 4a174b7c55e5c774cc8c895aa0233444ddcd945e Author: aycabta Date: Tue Aug 31 05:30:09 2021 +0900 [ruby/irb] Version 1.3.8.pre.4 https://github.com/ruby/irb/commit/61fe6cfa43 M lib/irb/version.rb commit 96131c5ae9554e04af7ead5fc4d899036c7e0a64 Author: aycabta Date: Tue Aug 31 05:29:48 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.4 https://github.com/ruby/irb/commit/24315382d0 M lib/irb/irb.gemspec commit bb2b5052f52ec4885df744d08cc2b535a3240582 Author: aycabta Date: Tue Aug 31 05:28:24 2021 +0900 [ruby/reline] Version 0.2.8.pre.4 https://github.com/ruby/reline/commit/059d39b090 M lib/reline/version.rb commit c98b2e14c71022ca46999a26fbde9668440c4347 Author: aycabta Date: Tue Aug 31 04:23:17 2021 +0900 [ruby/reline] Pass "dialog" to context to get "dialog.scroll_top" later https://github.com/ruby/reline/commit/d81f29a134 M lib/reline.rb M lib/reline/line_editor.rb commit 32abd3801482d9bc9388a1e901b2cbd31435cb99 Author: aycabta Date: Tue Aug 31 04:14:43 2021 +0900 [ruby/reline] Autocompletion dialog height 15 https://github.com/ruby/reline/commit/7e18716754 M lib/reline.rb commit 81d40b5b7e7951ed1d5e013f1e0b2e9413c6dc0f Author: aycabta Date: Tue Aug 31 04:14:15 2021 +0900 [ruby/reline] Scroll autocompletion pointer in dialog correctly https://github.com/ruby/reline/commit/dc79ed2dd8 M lib/reline.rb M lib/reline/line_editor.rb commit 282f7ce8961b7493f46c48ef74b16fd9c7f2a158 Author: aycabta Date: Tue Aug 31 01:56:18 2021 +0900 [ruby/reline] Use DialogRenderInfo struct https://github.com/ruby/reline/commit/ac6f652a39 M lib/reline.rb M lib/reline/line_editor.rb commit 0c09418fff2900d8e878f3ad92469a060d159667 Author: aycabta Date: Tue Aug 31 01:13:21 2021 +0900 [ruby/reline] Fix dialog rendering at the bottom edge https://github.com/ruby/reline/commit/860be91bd7 M lib/reline/line_editor.rb commit 203f46ceef555b6c9f0dd53bbf53e0d08e8b9766 Author: git Date: Tue Aug 31 05:25:18 2021 +0900 * 2021-08-31 [ci skip] M version.h commit c63d98b40135a6e4605d35a0fb014c2f3143e38f Author: aycabta Date: Tue Aug 31 04:25:23 2021 +0900 [ruby/irb] Use DialogRenderInfo https://github.com/ruby/irb/commit/5bc3a72ca3 M lib/irb/input-method.rb commit b30be9f22231883b3cb32dac915d967c0fc9220f Author: aycabta Date: Tue Aug 31 04:27:20 2021 +0900 [ruby/irb] Take dialog to get scroll_top https://github.com/ruby/irb/commit/7209082a11 M lib/irb/input-method.rb commit 16cf2ef6f2ad61fbbf613f87c9038f3a6af4fc15 Author: aycabta Date: Tue Aug 31 04:26:41 2021 +0900 [ruby/irb] Don't show doc when pointer is negative https://github.com/ruby/irb/commit/48af34bfc2 M lib/irb/input-method.rb commit 83a744dd8c0d6e769258b734b9f6861a22eeb554 Author: Nobuyoshi Nakada Date: Mon Aug 30 13:53:53 2021 +0900 Unify configure steps M .github/workflows/compilers.yml commit 51070ee5c4e83a4faa0feb72f08d1d9fef18b016 Author: schneems Date: Fri Oct 23 09:34:18 2020 -0500 Faster Pathname FileUtils methods Currently when calling any of the "FileUtils" methods on pathname `require` is called every time even though that library might already be loaded. This is slow: We can speed it up by either checking first if the constant is already defined, or by using autoload. Using defined speeds up the action by about 300x and using autoload is about twice as fast as that (600x faster than current require method). I'm proposing we use autoload: ```ruby require 'benchmark/ips' Benchmark.ips do |x| autoload(:FileUtils, "fileutils") x.report("require") { require 'fileutils' } x.report("defined") { require 'fileutils' unless defined?(FileUtils) } x.report("autoload") { FileUtils } x.compare! end # Warming up -------------------------------------- # require 3.624k i/100ms # defined 1.465M i/100ms # autoload 2.320M i/100ms # Calculating ------------------------------------- # require 36.282k (± 2.4%) i/s - 184.824k in 5.097153s # defined 14.539M (± 2.0%) i/s - 73.260M in 5.041161s # autoload 23.100M (± 1.9%) i/s - 115.993M in 5.023271s # Comparison: # autoload: 23099779.2 i/s # defined: 14538544.9 i/s - 1.59x (± 0.00) slower # require: 36282.3 i/s - 636.67x (± 0.00) slower ``` Because this autoload is scoped to Pathname it will not change the behavior of existing programs that are not expecting FileUtils to be loaded yet: ``` ruby -rpathname -e "class Pathname; autoload(:FileUtils, 'fileutils'); end; puts FileUtils.exist?" Traceback (most recent call last): -e:1:in `
': uninitialized constant FileUtils (NameError) ``` M ext/pathname/lib/pathname.rb commit 465bd972ec2149be000dad9125bb8f4ab6762699 Author: Nobuyoshi Nakada Date: Mon Aug 30 13:20:03 2021 +0900 [DOC] Move rdoc of Integer#abs to numeric.rb [ci skip] M numeric.c M numeric.rb commit 66a4768f65423189e61d39a473a031a5eb0253ea Author: Nobuyoshi Nakada Date: Mon Aug 30 13:11:13 2021 +0900 [ruby/irb] Relax backtrace nest levels https://github.com/ruby/irb/commit/fb637bc68f M test/irb/test_context.rb commit b17dc550176385e34404672f4188af471e62c676 Author: Hiroshi SHIBATA Date: Mon May 31 19:10:50 2021 +0900 [ruby/irb] Added the extra stdout message with test-unit https://github.com/ruby/irb/commit/b153d587a1 M test/irb/test_context.rb commit f3ae14cbdeb06bcaf4745bb5d5253b8c62ddb102 Author: Hiroshi SHIBATA Date: Mon May 31 14:57:49 2021 +0900 [ruby/irb] Use capture_output instead of capture_io https://github.com/ruby/irb/commit/077e4ae7de M test/irb/test_context.rb commit 598f4f42196a51d922f539fa885173c39312b427 Author: Hiroshi SHIBATA Date: Mon May 31 14:56:50 2021 +0900 [ruby/irb] Use pend instead of skip https://github.com/ruby/irb/commit/f441ce35bf M test/irb/test_color.rb M test/irb/test_color_printer.rb M test/irb/test_completion.rb M test/irb/test_context.rb M test/irb/test_raise_no_backtrace_exception.rb M test/irb/test_ruby_lex.rb M test/irb/test_workspace.rb commit be9cc6c75865b24652d001f0f34f2e63180418c6 Author: Nobuyoshi Nakada Date: Mon Aug 30 12:03:44 2021 +0900 Fix rubyspec_capiext dependency and flags - The file needed to link may be the import library. - Remove duplicate flags. M defs/gmake.mk M spec/ruby/optional/capi/spec_helper.rb commit 7379a493bdf9b0f67b5db3471075473dfcf2ce2c Author: aycabta Date: Mon Aug 30 12:00:43 2021 +0900 [ruby/irb] Version 1.3.8.pre.3 https://github.com/ruby/irb/commit/a1fc68abaa M lib/irb/version.rb commit aeec02d7f321916ca80ccc8361ccb82fdc779515 Author: aycabta Date: Mon Aug 30 11:52:38 2021 +0900 [ruby/irb] [].name to display the doc for Array.name https://github.com/ruby/irb/commit/7c2abc14d8 M lib/irb/input-method.rb commit 1e2f10e8aa88d77ef9882aafd1c4dc7b28c8df36 Author: aycabta Date: Mon Aug 30 11:51:17 2021 +0900 [ruby/irb] Rescue unknown error to quash crashing https://github.com/ruby/irb/commit/92cce941cb M lib/irb/input-method.rb commit 26e74c6b1f1e53aea7d1c431b91cab4d87185f78 Author: Nobuyoshi Nakada Date: Mon Aug 30 09:06:36 2021 +0900 Suppress redefinition warnings of GET_SELF() M mjit_compile.c commit 2d93b523e11131375758f9a5454e12e4eb6926c7 Author: aycabta Date: Mon Aug 30 03:00:02 2021 +0900 Add irb section to tool/sync_default_gems.rb M tool/sync_default_gems.rb commit ece4ed0da715218168e264aa7067113d48d38a3d Author: aycabta Date: Mon Aug 30 02:08:16 2021 +0900 Add --autocomplete / --noautocomplete options M doc/irb/irb.rd.ja M lib/irb.rb M lib/irb/context.rb M lib/irb/init.rb M lib/irb/input-method.rb M lib/irb/lc/help-message M lib/irb/lc/ja/help-message M man/irb.1 M test/irb/test_context.rb commit b6b2b767ed50cb29d7abb96ab9dcee552cc0470a Author: aycabta Date: Mon Aug 30 02:26:06 2021 +0900 [ruby/reline] Version 0.2.8.pre.3 https://github.com/ruby/reline/commit/6e0ea3362a M lib/reline/version.rb commit 8750e1ada879fdb25fbea63fe5fd5f575b1a5ae7 Author: aycabta Date: Mon Aug 30 02:24:42 2021 +0900 [ruby/reline] Fix Reline.autocompletion=() interface https://github.com/ruby/reline/commit/71c2eb143d M lib/reline.rb commit e1ee7f9cedede6bacecf6ec517c4705f00c1c025 Author: aycabta Date: Mon Aug 30 02:15:47 2021 +0900 [ruby/reline] Version 0.2.8.pre.2 https://github.com/ruby/reline/commit/5e3ea74891 M lib/reline/version.rb commit 62555d7ae602878fc0bf25a0847936df4620a144 Author: aycabta Date: Mon Aug 30 01:49:41 2021 +0900 [ruby/reline] Set autocompletion is false by default For compatibility with ext/readline. https://github.com/ruby/reline/commit/13d9b936bc M lib/reline/config.rb commit 24a26db795e39bde48904088982cfc5e793b3b10 Author: aycabta Date: Mon Aug 30 01:40:19 2021 +0900 [ruby/reline] Disable autocompletion in tests https://github.com/ruby/reline/commit/9b1913567a M test/reline/test_key_actor_emacs.rb commit 3a2e2a684824c8c60badd78bc30f1205ead2938c Author: aycabta Date: Mon Aug 30 01:40:06 2021 +0900 [ruby/reline] Add Reline.autocompletion=() interface https://github.com/ruby/reline/commit/a2e69f6277 M lib/reline.rb commit 935bb4c6173c7868e176e7ba73ea45a0688b124d Author: aycabta Date: Mon Aug 30 01:23:57 2021 +0900 [ruby/reline] Add autocompletion on emacs mode by Tab / S-Tab https://github.com/ruby/reline/commit/22d0b4e5d8 M lib/reline.rb M lib/reline/ansi.rb M lib/reline/line_editor.rb M lib/reline/windows.rb commit 11b825076b145fec5a27ce1ed0e8e412bd4d857a Author: aycabta Date: Mon Aug 30 01:23:20 2021 +0900 [ruby/reline] Add config.autocompletion https://github.com/ruby/reline/commit/3d918e4ccb M lib/reline/config.rb M lib/reline/line_editor.rb commit 60eb328d42b76b09e7e963306d627f8e77890e9f Author: aycabta Date: Mon Aug 30 02:34:26 2021 +0900 [ruby/irb] Version 1.3.8.pre.2 https://github.com/ruby/irb/commit/ff111173fd M lib/irb/version.rb commit b35eff27dde1d247ecfccf842c1e7062953e154e Author: aycabta Date: Mon Aug 30 02:29:47 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.8.pre.3 https://github.com/ruby/irb/commit/2f1d989d7c M lib/irb/irb.gemspec commit 3bbe860e50ad3813791aa6c14952d00118b5d492 Author: aycabta Date: Mon Aug 30 02:29:13 2021 +0900 [ruby/irb] Remove path settings for debugging https://github.com/ruby/irb/commit/48029944a5 M test/irb/yamatanooroti/test_rendering.rb commit 4750dfa6db03db4e082279c20e0f7d9afcc79669 Author: aycabta Date: Mon Aug 30 02:18:18 2021 +0900 [ruby/irb] Update dependency to "reline >= 0.2.7.pre.2" for Reline.autocomplete=() https://github.com/ruby/irb/commit/66178f34b9 M lib/irb/irb.gemspec commit a40f9c4a51ae342efaa6aafba607c44ef1ebfac4 Author: Nobuyoshi Nakada Date: Mon Aug 30 01:25:22 2021 +0900 Fix empty values to booleans M .github/workflows/windows.yml commit 9f9ea283754ddc9b4deb2ba1863c40d28d5acfa9 Author: Nobuyoshi Nakada Date: Mon Aug 30 00:51:33 2021 +0900 Fix dllimport attribute M spec/ruby/optional/capi/ext/integer_spec.c commit 806786ff201fe1d6502bfb7b27e1f5f4b6cd78f2 Author: git Date: Mon Aug 30 00:18:56 2021 +0900 * 2021-08-30 [ci skip] M version.h commit 9227989343dc021904fdc224d5fef70e078a2927 Author: Nobuyoshi Nakada Date: Mon Aug 30 00:18:16 2021 +0900 Use proper suffix M defs/gmake.mk commit 2d98593bf54a37397c6e4886ccc7e3654c2eaf85 Author: Jeremy Evans Date: Mon Aug 23 15:22:14 2021 -0700 Support tracing of attr_reader and attr_writer In vm_call_method_each_type, check for c_call and c_return events before dispatching to vm_call_ivar and vm_call_attrset. With this approach, the call cache will still dispatch directly to those functions, so this change will only decrease performance for the first (uncached) call, and even then, the performance decrease is very minimal. This approach requires that we clear the call caches when tracing is enabled or disabled. The approach currently switches all vm_call_ivar and vm_call_attrset call caches to vm_call_general any time tracing is enabled or disabled. So it could theoretically result in a slowdown for code that constantly enables or disables tracing. This approach does not handle targeted tracepoints, but from my testing, c_call and c_return events are not supported for targeted tracepoints, so that shouldn't matter. This includes a benchmark showing the performance decrease is minimal if detectable at all. Fixes [Bug #16383] Fixes [Bug #10470] Co-authored-by: Takashi Kokubun A benchmark/attr_accessor.yml M iseq.c M test/ruby/test_settracefunc.rb M vm_eval.c M vm_insnhelper.c M vm_trace.c commit 5f7c2291d6b3ba890d62c7e3a686202dffb14759 Author: aycabta Date: Sun Aug 29 20:32:24 2021 +0900 [ruby/irb] Version 1.3.8.pre.1 https://github.com/ruby/irb/commit/9f82ae66fc M lib/irb/version.rb commit 8876710f2a7b06fb872284ae84857c8a3f45de54 Author: aycabta Date: Sun Aug 29 20:13:08 2021 +0900 [ruby/reline] Version 0.2.8.pre.1 https://github.com/ruby/reline/commit/2668715509 M lib/reline/version.rb commit 7857a1ab661f44d7f51a0c636abf0ff953d2e8e8 Author: aycabta Date: Sun Aug 29 20:01:33 2021 +0900 [ruby/reline] Make autocomplete dialog is registered first https://github.com/ruby/reline/commit/d027dbe118 M lib/reline.rb commit 535a1cc71c1616483e4c0747d99287bdfc5ede96 Author: aycabta Date: Sun Aug 29 19:53:46 2021 +0900 [ruby/reline] Delete show doc dialog to move it to IRB https://github.com/ruby/reline/commit/640102fe27 M lib/reline.rb commit 74ba5328833b2033128425995b03cce4cd7a3505 Author: aycabta Date: Sun Aug 29 19:49:21 2021 +0900 [ruby/reline] Remove an unnecessary variable https://github.com/ruby/reline/commit/3b8cc5ce0a M lib/reline.rb commit 3248c42592426e638efa842980846e5342d6c78c Author: aycabta Date: Sun Aug 29 19:48:57 2021 +0900 [ruby/reline] Remove dialog_proc_list accessor of Reline https://github.com/ruby/reline/commit/ac8fa84f4d M lib/reline.rb commit 32124de17ef724da1e73daac4a802f2577c6010e Author: aycabta Date: Sun Aug 29 19:30:17 2021 +0900 [ruby/reline] Move constants of dialogs to under Reline https://github.com/ruby/reline/commit/9100ea2934 M lib/reline.rb commit 29586ec9f3836afbfd9a48c30782fd178045e0c3 Author: aycabta Date: Sun Aug 29 19:27:04 2021 +0900 [ruby/reline] Use default dialog context to communicate others https://github.com/ruby/reline/commit/5e67e6ffe0 M lib/reline.rb commit b023ef85947530e256f12c8a7809d79a5639414d Author: aycabta Date: Sat Aug 28 02:37:30 2021 +0900 [ruby/reline] Clear dialog by C-c https://github.com/ruby/reline/commit/f66a079c85 M lib/reline/line_editor.rb commit d41d41da382bd76fc99f62ed12ddd2c8e688b0e0 Author: aycabta Date: Sat Aug 28 02:29:35 2021 +0900 [ruby/reline] Clear completion journey data when finished https://github.com/ruby/reline/commit/03716a411e M lib/reline/line_editor.rb commit 6273b9bb6207901fcd5fc6c0cb5ec97dbf0bc139 Author: aycabta Date: Sat Aug 28 02:25:57 2021 +0900 [ruby/reline] Use colored doc output with ANSI escape sequence https://github.com/ruby/reline/commit/7d1c75b43f M lib/reline.rb commit 3d757ba1b6acc624c56704d90747cb2814c22119 Author: aycabta Date: Sat Aug 28 02:15:27 2021 +0900 [ruby/reline] Suppress crashes on nil https://github.com/ruby/reline/commit/b5f62c366b M lib/reline/line_editor.rb commit acd15a39d23e59b7f6434de462010d137a442a36 Author: aycabta Date: Sat Aug 28 02:10:51 2021 +0900 [ruby/reline] Support custom bg color https://github.com/ruby/reline/commit/cd0cbf53d5 M lib/reline.rb M lib/reline/line_editor.rb commit 7ea46c1ef25ef04f7714c59a0ee5a8eb27d1728a Author: aycabta Date: Sat Aug 28 02:03:52 2021 +0900 [ruby/reline] Fix tests so that the completion journey starts on first C-n/C-p https://github.com/ruby/reline/commit/52a40f2cd3 M test/reline/test_key_actor_vi.rb commit 78f46e65767563f0ec0dc6564901dcd7e99dc044 Author: aycabta Date: Sat Aug 28 01:53:43 2021 +0900 [ruby/reline] Show method or class doc correctly https://github.com/ruby/reline/commit/a505294f12 M lib/reline.rb commit 7e8a6270525f4ea944e8b3b3c3014a48bdb5a734 Author: aycabta Date: Fri Aug 27 21:35:42 2021 +0900 [ruby/reline] Implement doc display dialog in conjunction with autocomplete https://github.com/ruby/reline/commit/e97bbc4ccf M lib/reline.rb commit 4cd344c958a0886fc02238f7f397188dbfca27bd Author: aycabta Date: Fri Aug 27 21:33:22 2021 +0900 [ruby/reline] Add the ability to handle context between dialogs https://github.com/ruby/reline/commit/063d9c70d9 M lib/reline.rb M lib/reline/line_editor.rb commit 8d4370b066fd9ff7e6f6c9ee0c5035ad5c81050e Author: aycabta Date: Fri Aug 27 14:58:05 2021 +0900 [ruby/reline] Support for multiple dialog rendering https://github.com/ruby/reline/commit/f589fab718 M lib/reline.rb M lib/reline/line_editor.rb commit acffb0b0683decd2e99ab7414f9c73fb3e135d2c Author: aycabta Date: Fri Aug 27 03:45:27 2021 +0900 [ruby/reline] Cut out the autocomplete callback https://github.com/ruby/reline/commit/46aa2694da M lib/reline.rb commit 164e48622509cb6947c453360417b1486685f3d1 Author: aycabta Date: Fri Aug 27 02:52:48 2021 +0900 [ruby/reline] Remove @dialog_updown and @dialog_contents_width https://github.com/ruby/reline/commit/458cb8a9cc M lib/reline/line_editor.rb commit 4b2b10707af564c1d600957a69d89165fa7d11f1 Author: aycabta Date: Fri Aug 27 01:51:44 2021 +0900 [ruby/reline] Implement dynamic selection of candidates https://github.com/ruby/reline/commit/e46437df00 M lib/reline.rb M lib/reline/line_editor.rb commit 8e463e3e73e37ff57a5fde142436280846718ecf Author: aycabta Date: Fri Aug 27 01:50:49 2021 +0900 [ruby/reline] Remove unnecessary condition https://github.com/ruby/reline/commit/07e911ec8e M lib/reline.rb commit fdc005e54e58bbf005381bcfc7ac59d56fb05aac Author: aycabta Date: Fri Aug 27 01:47:33 2021 +0900 [ruby/reline] Completion journey starts with one of candidates First one is just original string. https://github.com/ruby/reline/commit/ccb70cc240 M lib/reline/line_editor.rb commit 18c0814fe02dcfdc9cf20504278a1e0039b75b74 Author: aycabta Date: Thu Aug 26 12:52:10 2021 +0900 [ruby/reline] Fix typo https://github.com/ruby/reline/commit/6370353c71 M lib/reline.rb commit 475038a622689a7c1ac2e7a4d057e81cdbd079bb Author: aycabta Date: Wed Aug 25 17:22:54 2021 +0900 [ruby/reline] Move cursor correctly when current line is auto wrapped https://github.com/ruby/reline/commit/14c8fade54 M lib/reline/line_editor.rb commit ff43b0f2ddce0b30071be83383e5d178141b2247 Author: aycabta Date: Wed Aug 25 17:22:23 2021 +0900 [ruby/reline] Update dialog backup before clearing https://github.com/ruby/reline/commit/a39e2c8813 M lib/reline/line_editor.rb commit ca1a2d1f68b299f07e9953f8d739a4b7c12bc7a0 Author: aycabta Date: Wed Aug 25 17:21:05 2021 +0900 [ruby/reline] Show autocomplete correctly when starts from prev line https://github.com/ruby/reline/commit/f31a76ff31 M lib/reline.rb M lib/reline/line_editor.rb commit 06bd48aba8b24e73b1dac8dfdc1dc0f36a733c11 Author: aycabta Date: Wed Aug 25 16:27:24 2021 +0900 [ruby/reline] Remove unnecessary metadata between lines https://github.com/ruby/reline/commit/83928249e3 M lib/reline/line_editor.rb commit 081e5de34d6801bc8793f28d1823551a4279dcbf Author: aycabta Date: Tue Aug 24 21:33:13 2021 +0900 [ruby/reline] Combine vertical processing into @dialog_vertical_offset https://github.com/ruby/reline/commit/600b93620c M lib/reline/line_editor.rb commit f863ed5210084e33545e3b1c620c2b83e2d7a1f8 Author: aycabta Date: Tue Aug 24 21:31:04 2021 +0900 [ruby/reline] Drop too much contents before processing https://github.com/ruby/reline/commit/94f7027edc M lib/reline/line_editor.rb commit fb9fe4c43fe37fb9c78090114d373b1eaf195fc9 Author: aycabta Date: Tue Aug 24 16:15:04 2021 +0900 [ruby/reline] Display autocomplete below original line if end point was wrapped https://github.com/ruby/reline/commit/49f3392d59 M lib/reline.rb M lib/reline/line_editor.rb commit 9b2afb2eed894aa45f7bf2a1ef7793290fe95e9e Author: aycabta Date: Mon Aug 23 22:02:25 2021 +0900 [ruby/reline] Scroll properly to create margin https://github.com/ruby/reline/commit/064d54f8f1 M lib/reline/line_editor.rb commit 85dd0ad5e00332f03835640ac01056d54d011468 Author: aycabta Date: Mon Aug 23 21:57:48 2021 +0900 [ruby/reline] Move dialog pos to left when goes beyond right edge https://github.com/ruby/reline/commit/f1efa2b062 M lib/reline/line_editor.rb commit d768eeeddbcc59166e7669471e6b3672eeed230c Author: aycabta Date: Sun Aug 22 01:47:07 2021 +0900 [ruby/reline] Support hide/show cursor on Windows https://github.com/ruby/reline/commit/0c870813bd M lib/reline/windows.rb commit 02a61fe33f422d7e041531cac1a5a45a14ca5752 Author: aycabta Date: Sun Aug 22 01:31:21 2021 +0900 [ruby/reline] Hide cursor when rendering dialog https://github.com/ruby/reline/commit/a9050cf676 M lib/reline/ansi.rb M lib/reline/line_editor.rb M lib/reline/windows.rb commit c0349765e9267130e06b9e1679fb372dd0423e08 Author: aycabta Date: Sun Aug 22 00:58:58 2021 +0900 [ruby/reline] Remove debug code https://github.com/ruby/reline/commit/2389d175f7 M lib/reline/line_editor.rb commit 2ec3977ce2a9919417303851bbd14ca019495d8a Author: aycabta Date: Sun Aug 22 00:58:38 2021 +0900 [ruby/reline] Clear after cursor https://github.com/ruby/reline/commit/4d7503cd1f M lib/reline/line_editor.rb commit b95e5f4a41a743bce2c15f0cc7cb408fecf49aa1 Author: aycabta Date: Sun Aug 22 00:13:45 2021 +0900 [ruby/reline] Move cursor to rerender right margin of dialog correctly https://github.com/ruby/reline/commit/554855013b M lib/reline/line_editor.rb commit 788c0476958fff3b73c3e771d14822512d6b386a Author: usa Date: Fri Aug 20 23:40:42 2021 +0900 [ruby/reline] Create windows.rb see issue #317 https://github.com/ruby/reline/commit/aad164de93 M lib/reline/windows.rb commit d7f654ad5a688dfcd6c274346c437e36ce249c4f Author: aycabta Date: Fri Aug 20 23:14:42 2021 +0900 [ruby/reline] Add "sleep 0.01" to Windows event loop https://github.com/ruby/reline/commit/dfc89eae53 M lib/reline/windows.rb commit 6f66927aefd50f9df9ce7d935688dcd0f45e9b4e Author: aycabta Date: Thu Aug 19 03:49:38 2021 +0900 [ruby/reline] Add comments about where rerendering https://github.com/ruby/reline/commit/4406069b7e M lib/reline/line_editor.rb commit 55459bdd679207640d345cae0a6cd71356732ed5 Author: aycabta Date: Thu Aug 19 00:10:48 2021 +0900 [ruby/reline] Use background color instead of border frame https://github.com/ruby/reline/commit/8f1db0a076 M lib/reline/line_editor.rb commit 6fda45744861c102ed594fae97cef43364b1f20f Author: aycabta Date: Wed Aug 18 19:46:01 2021 +0900 [ruby/reline] Suppress warning; unused variable https://github.com/ruby/reline/commit/74a6124e8d M lib/reline/line_editor.rb commit 1e527c8a55e9b3e599894e1aa0fabdc76f86aa8f Author: aycabta Date: Wed Aug 18 19:22:27 2021 +0900 [ruby/reline] Remove an unnecessary variable https://github.com/ruby/reline/commit/5435c1aa3f M lib/reline/line_editor.rb commit fb0fc201963c5e70e62b72e0ac9e27dc39e0f5ec Author: aycabta Date: Tue Aug 17 19:21:27 2021 +0900 [ruby/reline] Implement dialog with autocomplete callback https://github.com/ruby/reline/commit/1401d6165e M lib/reline.rb M lib/reline/line_editor.rb M lib/reline/unicode.rb commit e66200780b5a07c070295231408873c8d3dd7c5e Author: aycabta Date: Sun Aug 15 17:08:58 2021 +0900 [ruby/reline] Separate calling completion proc with checking args https://github.com/ruby/reline/commit/3203cb97db M lib/reline/line_editor.rb commit eadd25d5afa8eef4c0876e897e0f55c5fcad9951 Author: aycabta Date: Sun Aug 29 20:15:41 2021 +0900 [ruby/irb] Update dependency to "reline >= 0.2.7.pre.1" for use dialog feature in tests https://github.com/ruby/irb/commit/df04a9a881 M lib/irb/irb.gemspec commit cde84a5baac7d854190d09a72bc8c4f40a6eb1ea Author: aycabta Date: Sun Aug 29 20:05:57 2021 +0900 [ruby/irb] Rescue NotFoundError of RDoc::RI::Driver#expand_name https://github.com/ruby/irb/commit/c5f13b23d7 M lib/irb/input-method.rb commit ae4e301d5d180251e8e8b70437e078b61aa0f42e Author: aycabta Date: Sun Aug 29 20:04:23 2021 +0900 [ruby/irb] Add show doc dialog for Reline https://github.com/ruby/irb/commit/026700499d M lib/irb/input-method.rb commit a615885f1e87f4bfbc5398b060fd3a64d5de8c4a Author: Nobuyoshi Nakada Date: Sun Aug 29 16:47:26 2021 +0900 Free previously used tables [Bug #18134] M hash.c M test/ruby/test_hash.rb commit 265a725830a487b846bc32f70346f6438c95a7e9 Author: Nobuyoshi Nakada Date: Sun Aug 29 16:32:55 2021 +0900 Handle non-succeeding reports mingled with dots M tool/lib/test/unit.rb commit 6c40aa35a5e491dd77ff11c67929638e2360292a Author: Nobuyoshi Nakada Date: Sun Aug 29 16:32:12 2021 +0900 Memory::Status#_update should return `self` M tool/lib/memory_status.rb commit 7487371eeb599f1e5568f0a7cdc12bdb0fa550a0 Author: Nobuyoshi Nakada Date: Sun Aug 29 14:08:53 2021 +0900 Make ruby.pc from make Expand variables undefined in configure.ac, RUBY_RELEASE_DATE and so on. M configure.ac M template/Makefile.in commit 623736ae7f327015e23fbdb8f847a8424a3dd73a Author: Nobuyoshi Nakada Date: Sun Aug 29 13:04:42 2021 +0900 Move DEFFILE to EXTDLDFLAGS So that it is no longer needed in ruby.pc.in. M configure.ac M template/ruby.pc.in commit 323c0c392a0b9665cacea271330b52769c9e06e2 Author: Nobuyoshi Nakada Date: Sun Aug 29 12:39:08 2021 +0900 Reorder ruby.pc variables Moved variables obviously independent from others first. M template/ruby.pc.in commit 5d62fd8e1706ca589e6bdd4802956d181588bef5 Author: Kazuki Tsujimoto Date: Sun Aug 29 11:38:45 2021 +0900 Update power_assert to 2.0.1 M gems/bundled_gems commit 523bf31564f160f899f8cf9f73540d6a6f687f17 Author: Nobuyoshi Nakada Date: Sun Aug 29 10:32:12 2021 +0900 Add negative position tests [Bug #18138] M test/ruby/test_array.rb commit 5dc36ddcd00fc556c04c15ce9770c5a84d7d43dc Author: Nobuyoshi Nakada Date: Sun Aug 29 10:29:57 2021 +0900 Add out of range tests for Array#slice! M test/ruby/test_array.rb commit 7731be94eb78c34540e04e95334b3b824a3b6e3f Author: git Date: Sun Aug 29 09:41:46 2021 +0900 * 2021-08-29 [ci skip] M version.h commit d43279edacd09edf3a43e02d62f5be475e7c3bcb Author: Mike Dalessio Date: Sat Aug 28 10:29:17 2021 -0400 Fix length calculation for Array#slice! Commit 4f24255 introduced a bug which allows a length to be passed to rb_ary_new4 which is too large, resulting in invalid memory access. For example: (1..1000).to_a.slice!(-2, 1000) M array.c commit 7e36b91526fdcd83f8a54f4f1f574c89ed0bedee Author: Lars Kanis Date: Thu Aug 26 13:38:01 2021 +0200 Add Windows as a supported OS for Process.clock_gettime [ci skip] M process.c commit f4b73f77efedf2cea86c77d35892e4377aafaa24 Author: git Date: Sat Aug 28 18:22:29 2021 +0900 * 2021-08-28 [ci skip] M version.h commit 394498b878370aeba34013082e0c71456da8b927 Author: Nobuyoshi Nakada Date: Sat Aug 28 18:20:35 2021 +0900 [Windows CI] Stop VS-2022 We have previewed it, and know it doesn't work well now. M .github/workflows/windows.yml commit 47a2ea4df5ee690f5057db224d8f30436617db37 Author: Nobuyoshi Nakada Date: Sat Aug 28 09:25:39 2021 +0900 [Windows CI] Stop on error in VS-2022 M .github/workflows/windows.yml commit 76e8cfd1588e5a787f579063d66cba001e54380a Author: Nobuyoshi Nakada Date: Thu Aug 26 01:01:53 2021 +0900 [Windows CI] Setup env M .github/workflows/windows.yml commit ed31bdfeee3396bd703ba432630bc31933a08feb Author: Peter Zhu Date: Fri Aug 27 09:37:51 2021 -0400 Fix memory leak in Variable Width Allocation Force recycled objects could create a freelist for the page. At the start of sweeping we should append to the freelist to avoid permanently losing the slots on the freelist. M gc.c commit 3562c7ba332009ff9b0bd559ff8a65fe1bef2781 Author: Nobuyoshi Nakada Date: Fri Aug 27 12:42:55 2021 +0900 Update the list of replacing objects under missing M common.mk commit 80c1faf0769abfb459c5c749206ed02311d8274b Author: Nobuyoshi Nakada Date: Fri Aug 27 12:42:23 2021 +0900 Use C99-defined signbit macro M complex.c M configure.ac M include/ruby/missing.h M math.c D missing/signbit.c commit 04be8e84db1cf4f8b2a7bc7679eda4336da75d43 Author: Nobuyoshi Nakada Date: Fri Aug 27 10:52:02 2021 +0900 Use C99-defined macros to classify a floating-point number M LEGAL M bignum.c M common.mk M configure.ac M include/ruby/missing.h M include/ruby/win32.h M missing/erf.c D missing/finite.c D missing/isinf.c D missing/isnan.c M missing/tgamma.c M numeric.c M random.c M rational.c M sprintf.c commit 37114673623c4d2b1d9f2c2ddfffba070b2d96e6 Author: Nobuyoshi Nakada Date: Thu Aug 26 02:49:49 2021 +0900 [Windows CI] Set PATCH path M .github/workflows/windows.yml commit a2831cf247801ab1f757bef9d547feb8c0b1256b Author: Nobuyoshi Nakada Date: Thu Aug 26 23:09:34 2021 +0900 [Windows CI] Make test-all parallel and verbose M .github/workflows/windows.yml commit 8a754bc5c98ce4eea7fb449e1b54845900284107 Author: Nobuyoshi Nakada Date: Thu Aug 26 02:09:25 2021 +0900 [Windows CI] Group nmake step M .github/workflows/windows.yml commit fbdd1c6a79150ae0ea576c9eb4c74f55329f73f6 Author: Nobuyoshi Nakada Date: Thu Aug 26 02:09:43 2021 +0900 [Windows CI] Moved parameters to include M .github/workflows/windows.yml commit db4bfdfb4c094092fb99d363405cb6a099e512aa Author: git Date: Fri Aug 27 09:16:40 2021 +0900 * 2021-08-27 [ci skip] M version.h commit 19ab24a064fe69fce84c0339eed2d59d0e874869 Author: Henrik Nyh Date: Thu Aug 26 12:44:34 2021 +0100 [DOC] Fix a typo in Dir.fnmatch M dir.rb commit ef10e8a1eb6e05443ea85137e83a3745bddb7a7f Author: Kazuhiro NISHIYAMA Date: Thu Aug 26 15:11:48 2021 +0900 Use patch installed by msys2/setup-msys2 M .github/workflows/windows.yml commit 79a3e89dae060df9086668118359627f9df373d7 Author: Kazuhiro NISHIYAMA Date: Thu Aug 26 14:05:34 2021 +0900 Use bundled libffi on windows-2022 M .github/workflows/windows.yml commit 5550c2719a965a939e508d14354b06713d2f6289 Author: Kazuhiro NISHIYAMA Date: Thu Aug 26 11:06:55 2021 +0900 Install patch Because patch does not installed on windows-2022. https://github.com/actions/virtual-environments/issues/3949 > Only pure MSYS2 is installed. No additional packages M .github/workflows/windows.yml commit 69615251f9c6a153fc5210f7a4e43e4c9c7301af Author: Kazuhiro NISHIYAMA Date: Wed Aug 25 17:34:35 2021 +0900 Ignore errors on windows-2022 https://github.com/ruby/ruby/pull/4775/checks?check_run_id=3419490832#step:13:38 M .github/workflows/windows.yml commit d96ba8c5c36bf701dfdec79983102daa7cda6fea Author: Kazuhiro NISHIYAMA Date: Wed Aug 25 15:57:02 2021 +0900 Use newer libffi on windows-2022 M .github/workflows/windows.yml commit b1f58d3e91060730e259b293b47e04e889ecf36e Author: Kazuhiro NISHIYAMA Date: Wed Aug 25 11:51:45 2021 +0900 Set VCVARS M .github/workflows/windows.yml commit 5e65f31b5ad7b2143f3905863649e43f2c238281 Author: Kazuhiro NISHIYAMA Date: Wed Aug 25 11:11:03 2021 +0900 Add Windows Server 2022 with Visual Studio 2022 https://github.blog/changelog/2021-08-23-github-actions-windows-server-2022-with-visual-studio-2022-is-now-available-on-github-hosted-runners-public-beta/ M .github/workflows/windows.yml commit 9c0582704f63f85aab112c8a9cff344fc3df62ca Author: Lars Kanis Date: Wed Aug 25 12:03:35 2021 +0200 Fix example fiber scheduler reg. writable events There were two issues: 1. When an IO object is waiting for writablility only (as in test_tcp_accept) the selected hash is empty. Therefore selected[fiber] returns nil but needs to default to 0 in order to be or'ed with IO::WRITABLE. 2. When an IO object is waiting for read- or writability (as in test_tcp_connect), but only one of these two events arrive, the Fiber and IO object need to be removed from the other `@readable` or `@writable` list. M test/fiber/scheduler.rb M test/fiber/test_io.rb commit a2ad0cb7b44a0cb87bd552b312a70bc46016a95f Author: Sutou Kouhei Date: Tue Aug 24 11:22:00 2021 +0900 Make Hash#each family usable in Ractor We don't need to increment/decrement iteration level for frozen Hash because frozen Hash can't be modified. We can assume that nobody changes the target Hash while calling #each family. How to reproduce: a = {} 100.times do |i| a[i] = true end Ractor.make_shareable(a) 4.times.collect do Ractor.new(a) do |b| 100.times do b.each_value do end end end end.each(&:take) Example output: internal:ractor>:267: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues. # terminated with exception (report_on_exception is true): # terminated with exception (report_on_exception is true): # terminated with exception (report_on_exception is true): # terminated with exception (report_on_exception is true): /tmp/h.rb:10:in `each_value'/tmp/h.rb:10:in `each_value': : /tmp/h.rb:10:in `each_value'no implicit conversion from nil to integer/tmp/h.rb:10:in `each_value'no implicit conversion from nil to integer (: : (TypeErrorTypeError)no implicit conversion from nil to integer)no implicit conversion from nil to integer ( (TypeErrorTypeError from /tmp/h.rb:10:in `block (3 levels) in
' from /tmp/h.rb:10:in `block (3 levels) in
' )) from /tmp/h.rb:9:in `times' from /tmp/h.rb:9:in `times' from /tmp/h.rb:9:in `block (2 levels) in
' from /tmp/h.rb:10:in `block (3 levels) in
' from /tmp/h.rb:10:in `block (3 levels) in
' from /tmp/h.rb:9:in `block (2 levels) in
' from /tmp/h.rb:9:in `times' from /tmp/h.rb:9:in `times' from /tmp/h.rb:9:in `block (2 levels) in
' from /tmp/h.rb:9:in `block (2 levels) in
' :694:in `take': thrown by remote Ractor. (Ractor::RemoteError) from /tmp/h.rb:14:in `each' from /tmp/h.rb:14:in `
' /tmp/h.rb:10:in `each_value': no implicit conversion from nil to integer (TypeError) from /tmp/h.rb:10:in `block (3 levels) in
' from /tmp/h.rb:9:in `times' from /tmp/h.rb:9:in `block (2 levels) in
' M hash.c commit 27410eaeb2482b6a2e3e60e566dc0d892d3b2e16 Author: git Date: Thu Aug 26 10:24:21 2021 +0900 * 2021-08-26 [ci skip] M version.h commit f4b88959d51e02d6253f0132833dc47cf915ffa2 Author: Kevin Newton Date: Wed Aug 25 09:32:10 2021 -0400 Clean up lambda output from exyacc.rb The `lambda_body` grammar rule has a `"}"`, which is throwing off the `exyacc.rb` regular expressions. This changes the regular expression to account for `"}"` as well, which makes the output of `ruby sample/exyacc.rb < parse.y` change by the following diff: ```diff 632,634d631 < ", &@3); < $$ = $2; < } ``` Which makes it closer to a valid EBNF. M sample/exyacc.rb commit 62bc4a9420fa5786d49391a713bd38b09b8db0ff Author: Peter Zhu Date: Tue Aug 24 13:14:23 2021 -0400 [Feature #18045] Implement size classes for GC This commits implements size classes in the GC for the Variable Width Allocation feature. Unless `USE_RVARGC` compile flag is set, only a single size class is created, maintaining current behaviour. See the redmine ticket for more details. Co-authored-by: Aaron Patterson M class.c M gc.c M internal/gc.h M misc/lldb_cruby.py commit c08d4067be83d03a6fcd173ffd2d206a01d09c90 Author: Peter Zhu Date: Tue Aug 24 13:14:14 2021 -0400 [Feature #18045] Remove T_PAYLOAD This commit removes T_PAYLOAD since the new VWA implementation no longer requires T_PAYLOAD types. Co-authored-by: Aaron Patterson M ext/objspace/objspace.c M gc.c M include/ruby/internal/value_type.h M internal/gc.h M misc/lldb_cruby.py M vm_eval.c commit 01be881f35e6dafbd8498f2ca9a02eedb1f40319 Author: Yuta Saito Date: Wed Aug 25 17:50:49 2021 +0900 Use `empty` instead of NOOP in mk file to make it safer This would avoid unintentional use of the `NOOP` environment variable Co-authored-by: Nobuyoshi Nakada M defs/gmake.mk commit d1f0d1ca2ea4d7418b096ce71f68ce2bb3afd2c4 Author: Yuta Saito Date: Wed Aug 25 16:24:25 2021 +0900 Fix build failure on macOS with --enable-shared ./spec/ruby/optional/capi/ext/array_spec.c can match with spec/%/ if using GNU Make under version 3.81. make command installed on macOS is 3.81, so ruby can't be built with default make on macOS with --enable-shared option since https://github.com/ruby/ruby/commit/bda56a03a625793cb3fd110458c3f7323d73705e M defs/gmake.mk commit c4c0b60d92d134e093f1df86bb37b67e524a26cb Author: Nobuyoshi Nakada Date: Wed Aug 25 18:28:27 2021 +0900 Add missing empty macro [ci skip] M win32/Makefile.sub commit 384c0f57aadb8d715dfc56c32ad8d769b9cda89e Author: Hiroshi SHIBATA Date: Wed Aug 25 15:02:29 2021 +0900 Added bundle install before bundle exec on rdoc sync M tool/sync_default_gems.rb commit b44741f5dcb2903496832bffce09100e28356864 Author: Yusuke Endoh Date: Wed Aug 25 02:49:49 2021 +0900 tool/test-bundled-gems.rb: Use the bundled RBS code to test TypeProf Formerly, TypeProf was tested with the latest RBS code during `make test-bundled-gems`. However, when a new version of rbs is released, and if it is incompatible with TypeProf, `make test-bundled-gems` starts failing, which was annoying. By this change, TypeProf is tested with the bundled version of RBS. M common.mk M gems/bundled_gems M tool/test-bundled-gems.rb commit 716624660bad5550b19ec7a2b46fd760ebd9a272 Author: git Date: Wed Aug 25 00:36:23 2021 +0900 * 2021-08-25 [ci skip] M version.h commit 14a9c364f75a9729d5a49e1fbea08fec2f813bdd Author: Jeremy Evans Date: Tue Aug 24 08:34:48 2021 -0700 Fix warnings in test_optimization.rb These were introduced in the test for tracing optimized methods added in 48c8df9e0eb295af06d593ce37ce1933c0ee1d90. M test/ruby/test_optimization.rb commit bbedd29b6e98ef6e3fc2ce2b358d2b509b7cd1bb Author: Peter Zhu Date: Tue Aug 17 09:38:40 2021 -0400 [Bug #18117] Fix Ractor race condition with GC rb_objspace_reachable_objects_from requires that the GC not be active. Since the Ractor barrier is not executed for incremental sweeping, Ractor may call rb_objspace_reachable_objects_from after sweeping has started to share objects. This causes a crash that looks like the following: ``` :627: [BUG] rb_objspace_reachable_objects_from() is not supported while during_gc == true ``` Co-authored-by: Vinicius Stock M bootstraptest/test_ractor.rb M ractor.c commit b62ed309f05d248c746279f35f2609f01ea1e4a5 Author: Nobuyoshi Nakada Date: Tue Aug 24 19:24:58 2021 +0900 [ruby/securerandom] [DOC] fix a code mark up [ci skip] https://github.com/ruby/securerandom/commit/de47532707 M lib/securerandom.rb commit 4a6b5f4622b5f33936fb1af7a8277335b7e15bbe Author: Yusuke Endoh Date: Tue Aug 24 18:07:50 2021 +0900 Revert "tool/test-bundled-gems.rb: Use the bundled RBS code to test TypeProf" This reverts commit 22deda43cb98aa3cee48d0bebbff7c4db1d7652a. It was incomplete. Sorry! M common.mk M tool/test-bundled-gems.rb commit 80597f25447cbf6788322fffb64ca5f6995f2c9a Author: Olle Jonsson Date: Tue Apr 6 11:41:35 2021 +0200 [ruby/un] gemspec: Explicitly list 0 executables This gem exposes no executables, so this makes that clear to the reader. https://github.com/ruby/un/commit/012c298e12 M lib/un.gemspec commit b126a27d8c946f1f121dc40c40e97c7fbf94aae7 Author: Hiroshi SHIBATA Date: Thu Dec 3 16:31:51 2020 +0900 [ruby/un] LICENSE https://github.com/ruby/un/commit/762c38c176 M lib/un.gemspec commit 2eed62fb65a93721bad32ecf79413b67320b61de Author: Kazuhiro NISHIYAMA Date: Wed Apr 7 10:35:37 2021 +0900 [ruby/un] Use STDIN if no arguments https://github.com/ruby/un/commit/8e0d6f62cb M lib/un.rb commit 66abeb0370feca203d1f179be39be158ba60aa6c Author: Kazuhiro NISHIYAMA Date: Tue Apr 6 18:37:09 2021 +0900 [ruby/un] Add colorize command https://github.com/ruby/un/commit/4d080eeec0 M lib/un.rb commit d140b03053dad873483b763ebb51c775bff1edb7 Author: Hiroshi SHIBATA Date: Tue Aug 24 13:41:30 2021 +0900 Added ruby/un entry M tool/sync_default_gems.rb commit 2be84afea5167343e66be85b4cd7945533e4a7b5 Author: Jun Aruga Date: Mon Aug 23 21:16:31 2021 +0200 .github/workflows/compilers.yml: Specify a container running user as root. Explicitly specify the root as a user to run tests in the containers. Coming new ruby/ruby-ci-image images are required to run the container as a regular user by default, while the root user is required to run the compilers.yml. Add `id` command to print the user info. Co-authored-by: fedor M .github/workflows/compilers.yml commit 22deda43cb98aa3cee48d0bebbff7c4db1d7652a Author: Yusuke Endoh Date: Tue Aug 24 17:25:45 2021 +0900 tool/test-bundled-gems.rb: Use the bundled RBS code to test TypeProf Formerly, TypeProf was tested with the latest RBS code during `make test-bundled-gems`. However, when a new version of rbs is released, and if it is incompatible with TypeProf, `make test-bundled-gems` starts failing, which was annoying. By this change, TypeProf is tested with the bundled version of RBS. M common.mk M tool/test-bundled-gems.rb commit bcc5a2b67eb10836aa54279d88230b3cb349a2e3 Author: Nobuyoshi Nakada Date: Tue Aug 24 13:12:06 2021 +0900 [ruby/fiddle] Simplify libc and libm path logics (https://github.com/ruby/fiddle/pull/91) * Simplify libc_so and libm_so If nil, no need to set to nil. * Get rid of repeating inversions https://github.com/ruby/fiddle/commit/4323e689d8 M test/fiddle/helper.rb commit 0f1e8f38c9cd008eb24e6c957388a183eac910ca Author: Aaron Patterson Date: Thu Aug 19 16:43:56 2021 -0700 [ruby/fiddle] Improve "offsetof" calculations (https://github.com/ruby/fiddle/pull/90) I need to get the offset of members inside sub structures. This patch adds sub-structure offset support for structs. https://github.com/ruby/fiddle/commit/cf78eddbb6 M ext/fiddle/lib/fiddle/struct.rb M test/fiddle/test_c_struct_builder.rb commit 8d2af51a783fa3490c158b110629110ab3257f56 Author: David Carlier Date: Mon Aug 23 13:01:23 2021 +0100 netbsd coroutine uses assembly instead and little build fix. M configure.ac M random.c commit d9f084ed142f8f3f76041237f3a507171b4d8c3c Author: Nobuyoshi Nakada Date: Wed Jul 28 19:37:18 2021 +0900 Moved rb_deprecate_constant declaration [Feature #18051] M include/ruby/internal/variable.h M internal/variable.h commit 5d99800d01936a521f129b4aafc533468675df48 Author: Nobuyoshi Nakada Date: Wed Jul 28 19:09:38 2021 +0900 Moved rb_int_positive_pow declaration [Feature #18051] M include/ruby/internal/intern/numeric.h M internal/numeric.h commit c38c2d8ee26c70300e2e0a4eec867273a8520579 Author: Nobuyoshi Nakada Date: Wed Jul 28 16:40:02 2021 +0900 Moved exported symbols in internal/util.h to ruby/util.h [Feature #18051] M bignum.c M common.mk M debug.c M include/ruby/util.h M internal/util.h M memory_view.c M pack.c M parse.y M sprintf.c M strftime.c commit 4794a8a7cf4c9da00728e691b81dadb103383108 Author: S-H-GAMELINKS Date: Mon Aug 23 21:24:31 2021 +0900 Add stat_time function M file.c commit 70abda1ad4e9910d87266ed350f262d6ef894d65 Author: git Date: Tue Aug 24 03:58:11 2021 +0900 * 2021-08-24 [ci skip] M version.h commit 6648b411f7350711417936865331cf5066ef35aa Author: Peter Zhu Date: Mon Aug 23 14:02:42 2021 -0400 Replace intptr_t with uintptr_t in gc.c Pointers may be large to the point where intptr_t would be negative. This is problematic when doing comparisons of pointers. M gc.c commit eddd369e7378ec762cf81a226aec1a2b8719bf7a Author: Peter Zhu Date: Mon Aug 23 10:49:14 2021 -0400 Revert "[Feature #18045] Implement size classes for GC" This reverts commits 48ff7a9f3e47bffb3e4d067a12ba9b936261caa0 and b2e2cf2dedd104acad8610721db5e4d341f135ef because it is causing crashes in SPARC solaris and i386 debian. M class.c M ext/objspace/objspace.c M gc.c M include/ruby/internal/value_type.h M internal/gc.h M misc/lldb_cruby.py M vm_eval.c commit b2e2cf2dedd104acad8610721db5e4d341f135ef Author: Peter Zhu Date: Mon Jul 19 15:40:00 2021 -0400 [Feature #18045] Implement size classes for GC This commits implements size classes in the GC for the Variable Width Allocation feature. Unless `USE_RVARGC` compile flag is set, only a single size class is created, maintaining current behaviour. See the redmine ticket for more details. Co-authored-by: Aaron Patterson M class.c M gc.c M internal/gc.h M misc/lldb_cruby.py commit 48ff7a9f3e47bffb3e4d067a12ba9b936261caa0 Author: Peter Zhu Date: Mon Jul 19 13:52:14 2021 -0400 [Feature #18045] Remove T_PAYLOAD This commit removes T_PAYLOAD since the new VWA implementation no longer requires T_PAYLOAD types. Co-authored-by: Aaron Patterson M ext/objspace/objspace.c M gc.c M include/ruby/internal/value_type.h M internal/gc.h M misc/lldb_cruby.py M vm_eval.c commit 83244b8c893ea2e140095888d88146c27959bfc0 Author: Nobuyoshi Nakada Date: Mon Aug 23 14:12:21 2021 +0900 [DOC] Match each `Time.now` for comparison [ci skip] M timev.rb commit 116e52f3b4b2059349c5add9e746c2ab00a8e743 Author: git Date: Mon Aug 23 09:59:31 2021 +0900 * 2021-08-23 [ci skip] M version.h commit 689962eaeafc837d01b875633aa9bac6b4561b06 Author: Kentaro Goto Date: Sat Aug 21 11:17:49 2021 +0900 improves message. thanks to eregon M lib/un.rb commit f18e1752dcc55d62d4153926b5659a83469eb5ff Author: Kentaro Goto Date: Tue Apr 27 14:49:37 2021 +0900 Display httpd URLs supporting HTTPS M lib/un.rb commit 8361675e3a117b2cccee6bcc92440667fe35be7b Author: Kentaro Goto Date: Mon Apr 26 09:58:31 2021 +0900 Display httpd URLs M lib/un.rb commit d7da5ca5e1a6b0b17c31ba821b6217bbabcc1fca Author: Kazuhiro NISHIYAMA Date: Sun Aug 22 22:27:29 2021 +0900 Fix links [ci skip] M NEWS.md commit 0b9a3371ea6287b5962906216815fe5e8aa8bec0 Author: Nobuyoshi Nakada Date: Sun Aug 22 17:49:12 2021 +0900 [ruby/date] Add zontab.list dependency https://github.com/ruby/date/commit/7e1ffbf568 M ext/date/prereq.mk commit 877bfd1b44e7b95ea02f6d8805a35093903cd073 Author: Nobuyoshi Nakada Date: Sun Aug 22 20:16:44 2021 +0900 Suppress unused-label warnings M vm_exec.h commit d574b84182f4e6a17c63113abf8fe51c3b001bcc Author: Nobuyoshi Nakada Date: Sun Aug 22 12:03:44 2021 +0900 Fix failures on non-UTF-8 environment [Bug #18077] Call `IOSpecs.io_fixture` with the default encoding explicitly. `IOSpecs.closed_io` calls the method without optional `mode` which is set to UTF-8 by default, while the default external encoding depends on the locale environment variables. M spec/ruby/core/io/external_encoding_spec.rb M spec/ruby/core/io/internal_encoding_spec.rb commit 18031f4102d7c8efc3a40b3fa65b36f94fc8a418 Author: S-H-GAMELINKS Date: Sat Aug 21 15:28:59 2021 +0900 Add rb_encoding_check function M encoding.c commit 6594623f623a0982da62cc105094da0701d499da Author: Lars Kanis Date: Mon Aug 16 13:11:30 2021 +0200 Fix Marshal.dump(closed_io) to raise TypeError and allow encoding on closed IO Mashalling a closed IO object raised "closed stream (IOError)" before instead of TypeError. This changes IO#(in|ex)ternal_encoding to still return the encoding even if the underlying FD is closed. Fixes bug #18077 M io.c M spec/ruby/core/io/external_encoding_spec.rb M spec/ruby/core/io/internal_encoding_spec.rb M test/ruby/test_io.rb commit c527d278a3dd94b9f5b82769fb69ee7b92b6d6a9 Author: Soutaro Matsumoto Date: Sun Aug 22 02:47:54 2021 +0900 Bundle RBS 1.5.1 (#4760) M gems/bundled_gems commit ad99edc7db8a993435d44bf866732e6147e32c58 Author: git Date: Sun Aug 22 02:15:17 2021 +0900 * 2021-08-22 [ci skip] M version.h commit 48c8df9e0eb295af06d593ce37ce1933c0ee1d90 Author: Jeremy Evans Date: Sat Aug 21 10:15:01 2021 -0700 Allow tracing of optimized methods This updates the trace instructions to directly dispatch to opt_send_without_block. So this should cause no slowdown in non-trace mode. To enable the tracing of the optimized methods, RUBY_EVENT_C_CALL and RUBY_EVENT_C_RETURN are added as events to the specialized instructions. Fixes [Bug #14870] Co-authored-by: Takashi Kokubun M compile.c M iseq.h M spec/ruby/core/tracepoint/inspect_spec.rb M test/ruby/test_optimization.rb M tool/ruby_vm/views/_trace_instruction.erb commit f51a6ace06cecd193bf00747a63809849e254050 Author: Nobuyoshi Nakada Date: Sat Aug 21 16:50:51 2021 +0900 [DOC] prefer RUBY_DEFAULT_FREE to a magic number [ci skip] M doc/extension.ja.rdoc M doc/extension.rdoc commit 8f755ad6c88f5a2318c0f810f872b9e54daa517c Author: Nobuyoshi Nakada Date: Sat Aug 21 16:42:50 2021 +0900 [DOC] mention rb_define_alloc_func [ci skip] M doc/extension.ja.rdoc M doc/extension.rdoc commit e2b2b577b664a39011ea9137d643b2eac7785c7d Author: git Date: Sat Aug 21 11:22:11 2021 +0900 * 2021-08-21 [ci skip] M version.h commit 5e7cc0eebe7519486a04c840cb9c3494cb7ca3e6 Author: Nobuyoshi Nakada Date: Sat Aug 21 11:21:37 2021 +0900 [DOC] update extension.ja.rdoc [ci skip] `rb_cData` has been deprecated for years. M doc/extension.ja.rdoc commit 5e9598baea97c53757f12713bacc7f19f315c846 Author: Yusuke Endoh Date: Fri Aug 20 16:23:43 2021 +0900 [ruby/error_highlight] Fixed the argument for DidYouMean.formatter= Looks like this bug was hidden by did_you_mean's rescuing any exceptions. https://github.com/ruby/error_highlight/commit/7a8f0b4796 M test/error_highlight/test_error_highlight.rb commit cad83fa3c4491153df0561b06bb261e25a831d0f Author: Yusuke Endoh Date: Fri Aug 20 16:18:36 2021 +0900 ast.c: Rename "save_script_lines" to "keep_script_lines" ... as per ko1's preference. He is preparing to extend this feature to ISeq for his new debugger. He prefers "keep" to "save" for this wording. This API is internal and not included in any released version, so I change it in advance. M ast.c M ast.rb M internal/parse.h M lib/error_highlight/core_ext.rb M parse.y M test/ruby/test_ast.rb commit 4c93c124c29465e49343b47c935be99ad67a7d83 Author: Nobuyoshi Nakada Date: Fri Aug 20 13:46:19 2021 +0900 Turned the reminder comment to a compile-time message M gc.c commit 371bb4eaddf5d6d8aaab56173649da22378bbbae Author: Nobuyoshi Nakada Date: Fri Aug 20 09:37:55 2021 +0900 Add RBIMPL_TODO Make `RUBY_VERSION_SINCE` and `RUBY_VERSION_BEFORE` to take major and minor numbers so usable also in preprocessor directives. Old macros are renamed with "STRING". M internal/error.h commit b32987a3d783d6c7a5dec9a9a9c3550ca7c549d0 Author: Nobuyoshi Nakada Date: Fri Aug 20 14:03:08 2021 +0900 Simplify repeated member access macros M class.c commit 754adbee91c2d4a4e84e9271724ca33f630d1916 Author: Shugo Maeda Date: Fri Aug 20 10:42:01 2021 +0900 Module#ancestors should not return superclasses of refinements [ruby-core:86949] [Bug #14744] Reported by Eregon (Benoit Daloze). Thanks! M class.c M test/ruby/test_refinement.rb commit 70510d1545da64604de148898e16459fad2041fe Author: git Date: Fri Aug 20 08:30:24 2021 +0900 * 2021-08-20 [ci skip] M version.h commit c0f4e4ca6d0f76985bca79314b232b787c8f008e Author: Mike Dalessio Date: Fri May 28 02:50:37 2021 -0400 undefine alloc functions for C extensions per guidance in doc/extension.rdoc, these classes now undefine their alloc functions: - ObjectSpace::InternalObjectWrapper - Socket::Ifaddr M ext/objspace/objspace.c M ext/socket/ifaddr.c commit e8e3b7a0e2fc2cc6384eb10332cc46e385373cbb Author: Mike Dalessio Date: Wed May 26 01:38:31 2021 -0400 Undefine the alloc function for T_DATA classes which have not undefined or redefined it. When a `T_DATA` object is created whose class has not undefined or redefined the alloc function, the alloc function now gets undefined by Data_Wrap_Struct et al. Optionally, a future release may also warn that this being done. This should help developers of C extensions to meet the requirements explained in "doc/extension.rdoc". Without a check like this, there is no easy way for an author of a C extension to see where they have made a mistake. M gc.c commit 6963f8f743b42f9004a0879cd66c550f18987352 Author: Nobuyoshi Nakada Date: Thu Aug 19 17:37:06 2021 +0900 Remove old warning aged nearly 8 years M class.c M hash.c M internal/class.h M test/ruby/test_hash.rb commit f96c1994498ea0debabb3e9ab60738b79fc6c6ba Author: Kazuki Tsujimoto Date: Thu Aug 19 17:28:30 2021 +0900 Fix test failure on spec/ruby/language/pattern_matching_spec.rb https://github.com/ruby/ruby/runs/3369486308 M spec/ruby/language/pattern_matching_spec.rb commit ecb6d6a4ef058b5598a7633c3921eeab08ce11c6 Author: Kazuki Tsujimoto Date: Thu Aug 19 17:03:17 2021 +0900 Allow omission of parentheses in one line pattern matching [Feature #16182] M doc/syntax/pattern_matching.rdoc M parse.y M spec/ruby/language/pattern_matching_spec.rb M test/ruby/test_pattern_matching.rb commit 00d66f7ec215406b5977fb490b06dae71a4fede6 Author: Nobuyoshi Nakada Date: Thu Aug 19 16:10:14 2021 +0900 Hard-link executable files to mae runnable As `$ORIGIN` on Linux is refered from the real path of the executable file, symbolic linked executable file cannot work. M tool/mkrunnable.rb commit e20e97b4c006a14a6d5bbb559201bb665e38c775 Author: git Date: Thu Aug 19 11:33:29 2021 +0900 * 2021-08-19 [ci skip] M version.h commit 1985a3a77fac64cda177c74113a9348e36233630 Author: Soutaro Matsumoto Date: Thu Aug 19 11:33:09 2021 +0900 Bundle RBS 1.4.0 & typeprof 0.15.2 (#4753) * Bundle RBS 1.4.0 * Bundle typeprof 0.15.2 M gems/bundled_gems commit 0b7969b6a36891f09bf0ebbca06de7949d1883f9 Author: Daniel Niknam Date: Sun Aug 8 23:15:40 2021 +1000 Silence LoadError only if it is for `rubygems` itself Co-authored-by: David Rodríguez Co-authored-by: Hiroshi SHIBATA M gem_prelude.rb commit d668cd188ca91cf08ea7678bad1dd0bc8a997a81 Author: John Hawthorn Date: Mon Aug 16 12:51:11 2021 -0700 rb_fix2uint should use FIXNUM_NEGATIVE_P rb_num_negative_int_p is equivalent to calling the "<" method on Integer (and checking whether it is overridden), where in this case we are interested in whether the "actual" value can fit inside an unsigned int. This also was slow because rb_num_negative_int_p calls rb_method_basic_definition_p, doing a method lookup to check for < being overridden. This replaces the check in both rb_fix2uint and rb_fix2ushort with FIXNUM_NEGATIVE_P which simply checks whether the VALUE is signed. M numeric.c commit 95e7aed82bb2b6ce5268a78d38d51cb6db7f044d Author: Nobuyoshi Nakada Date: Wed Aug 18 14:11:34 2021 +0900 SIGILL can raise at stack overflow on Linux too [Bug #18084] M signal.c commit 574f3af36ea008896419d2e2407f8fce83bdcd2e Author: Nobuyoshi Nakada Date: Wed Aug 18 14:09:29 2021 +0900 Rewind execution tags more at stack overflow [Bug #18084] M signal.c commit 58bd9434360d5a46974eaa03139893c0145615dc Author: S.H Date: Wed Aug 18 02:25:19 2021 +0900 Replace f_boolcast with RBOOL macro * Move f_boolcast definination * Remove f_boolcast macro defination * to M complex.c M math.c M rational.c commit 6a9bfa4d9387b9d8f07f43f4546437be57f9e27c Author: git Date: Wed Aug 18 00:00:54 2021 +0900 * 2021-08-18 [ci skip] M version.h commit 36ae44ce2c7c2193fa8c2d0c4280d97726dc58d0 Author: Nobuyoshi Nakada Date: Wed Aug 11 01:17:11 2021 +0000 [ruby/date] Update zonetab.h at 2021-08-11 https://github.com/ruby/date/commit/de7dca353f M ext/date/zonetab.h commit 48145282969230ba4a7c8cc7a6aedfd1263900c4 Author: Akinori MUSHA Date: Tue Aug 17 21:44:41 2021 +0900 [DOC] Fix the rdoc for File::Stat#size? [ci skip] M file.c commit edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d Author: Nobuyoshi Nakada Date: Tue Aug 17 18:45:36 2021 +0900 Treat NULL fake string as an empty string And the NULL string must be of size 0. M string.c commit 21fd83a823145042767cc5f237b41cc6bb51f2e9 Author: Martin Dürst Date: Tue Aug 17 17:07:01 2021 +0900 Mention update to Unicode Version 13.0.0 and Emoji Version 13.1 Mention the update to Unicode Version 13.0.0 and Unicode Emoji Version 13.1 in NEWS.md. This completes issue #17750. [ci skip] M NEWS.md commit de764ae8e099eac9267e75b29f2a343a43bab69a Author: git Date: Tue Aug 17 16:30:28 2021 +0900 * 2021-08-17 [ci skip] M version.h commit fd7f61cf2133748075f738e5fb171b62190221bc Author: Martin Dürst Date: Tue Aug 17 16:03:52 2021 +0900 Take into account data in emoji-variation-sequences.txt in tests. The emoji data in emoji-variation-sequences.txt was not used for in test/ruby/enc/test_emoji_breaks.rb, for unknown reasons. It turned out that the format of each of the emoji data/test files is slightly different, and that we didn't take into account that empty fields after a semicolon, as present in emoji-variation-sequences.txt, led to less fields than expected when using split. This addresses issue #18027. M test/ruby/enc/test_emoji_breaks.rb commit a8714b83c40c8736b4ddafef08fa5f0091c9b101 Author: Nobuyoshi Nakada Date: Mon Aug 16 17:00:19 2021 +0900 `popen()` is not available on emscripten M io.c M process.c commit 07b12a1f4829ca3c7d60d56bb5c89069f0758d4c Author: Nobuyoshi Nakada Date: Mon Aug 16 16:02:49 2021 +0900 Suppress unused-variable warnings M process.c M thread_pthread.c commit ee7bd7d7325d670c5bb204a63dc845465ca3f96a Author: Nobuyoshi Nakada Date: Mon Aug 16 14:02:13 2021 +0900 `SIZE_MAX` is not `size_t` on emscripten M gc.c commit 54199a3f5f77f7aacfea37d2378e82f41c6a5510 Author: Nobuyoshi Nakada Date: Mon Aug 16 13:52:17 2021 +0900 Use `VALUE` instead of `intptr_t` On emscripten `intptr_t`, `uintptr_t`, `ptrdiff_t` and so on are defined as `long`, but `PRIdPTR` and so on defined as `int`. M tool/mk_builtin_loader.rb commit 5087a6a9244066f966b1d213142258f01a4bbd13 Author: Nobuyoshi Nakada Date: Mon Aug 16 13:45:30 2021 +0900 Fix COROUTINE_SRC on emscripten Select the C source if exists, otherwise the assembler source, instead of selecting by the coroutine type. M configure.ac commit 4cc44bd8194791c624f3452dbf3374661501d97e Author: git Date: Mon Aug 16 09:07:09 2021 +0900 * 2021-08-16 [ci skip] M version.h commit f8f6d9895d9593ed3d8f552da3ae2d261ff28135 Author: DC Date: Sun Aug 15 13:31:54 2021 +0100 coroutine use asm version for handful of architectures for freebsd. M configure.ac commit 164f50dea918e7019847f578c3cffb079993d626 Author: Yusuke Endoh Date: Sun Aug 15 11:59:05 2021 +0900 Update TypeProf to 0.15.1 M .github/workflows/ubuntu.yml M gems/bundled_gems commit 2aa6826e81ec880f5e98fa995e44fae0819be95d Author: Nobuyoshi Nakada Date: Sun Aug 15 01:33:31 2021 +0900 Extract the wrapped value when yydebug [Bug #18075] M parse.y M test/ripper/test_ripper.rb commit 4568ba071107a139b9f02fc17aa12f998181abf1 Author: Kazuki Tsujimoto Date: Sun Aug 15 09:38:24 2021 +0900 Show verbose error messages when single pattern match fails [0] => [0, *, a] #=> [0] length mismatch (given 1, expected 2+) (NoMatchingPatternError) Ignore test failures of typeprof caused by this change for now. M .github/workflows/ubuntu.yml M compile.c M defs/id.def M error.c M include/ruby/internal/globals.h M test/ruby/test_pattern_matching.rb M vm.c commit 147bdcc436c888a56f81e190d192cd9312015836 Author: Nobuyoshi Nakada Date: Sun Aug 15 01:01:24 2021 +0900 [Win32] put a space before configure options [Bug #17588] Not to be concatenated with the preceding `--with-`* option. M win32/configure.bat commit 717f0c56fc8e9432d89c1ec0a893a58b82862df8 Author: git Date: Sun Aug 15 00:27:10 2021 +0900 * 2021-08-15 [ci skip] M version.h commit 244fc65d1c58364b8b9817e07983ae651272b033 Author: Nobuyoshi Nakada Date: Sun Aug 15 00:20:38 2021 +0900 Disable checks for LTO [ci skip] M .github/workflows/compilers.yml commit 72317b333b85eed483ad00bcd4f40944019a7c13 Author: xtkoba+ruby@gmail.com Date: Fri Aug 13 13:45:53 2021 +0000 Ignore `DW_FORM_ref_addr` [Bug #17052] Ignore `DW_FORM_ref_addr` form and other forms that are not supposed to be used currently. M addr2line.c commit 29dd70492eb3e3f0018c01fb3fa4ce77029a208f Author: Nobuyoshi Nakada Date: Sat Aug 14 23:10:55 2021 +0900 Add checks for gcc/clang with LTO M .github/workflows/compilers.yml commit 2e49e4330d329c58e256ce9c2b865428f3f02307 Author: Nobuyoshi Nakada Date: Thu Aug 12 12:33:37 2021 +0900 Disable debug flag for executable files when LTO [ci skip] Get rid of tons of linker warnings that it could not find object file symbol for every symbols, when targeting darwin. M defs/gmake.mk M template/Makefile.in commit 97efd48fb1187995ab66a8ad386fb6d0c16e02a3 Author: Nobuyoshi Nakada Date: Sat Aug 14 14:07:40 2021 +0900 Get rid of unintented recursion when RUBY_DEBUG M error.c commit 1bd021a78995dd1327c1e91779358ebdebc12200 Author: Nobuyoshi Nakada Date: Sat Aug 14 10:17:38 2021 +0900 Mark internal class names M error.c commit 58d82eacefe8060bc3f689491a423de5f2581d1d Author: Nobuyoshi Nakada Date: Sat Aug 14 10:16:37 2021 +0900 Add some "cold" marks M error.c commit edd27e120eca13be1754d4111dfc3cf2ab2f99f8 Author: Nobuyoshi Nakada Date: Sat Aug 14 10:14:51 2021 +0900 A comment for typed data in `rb_check_type` [ci skip] M error.c M include/ruby/internal/value_type.h commit d58620e0a1d03518a5cb49b954008d70ac7898d2 Author: Nobuyoshi Nakada Date: Sat Aug 14 10:13:08 2021 +0900 Rename labels in `Check_Type` more descriptive M include/ruby/internal/value_type.h commit 9f88135f7885be93eb790b985b93e0646dae81ac Author: aycabta Date: Sat Aug 14 22:13:00 2021 +0900 [ruby/readline-ext] Give up Editline https://github.com/ruby/readline-ext/commit/d924cfc1e6 M test/readline/test_readline.rb commit 2c056816c4e16117cc62b67fba74dfbd15d15ae9 Author: aycabta Date: Fri Aug 13 13:44:40 2021 +0900 [ruby/reline] Add workspace member for the latest IRB's implementation https://github.com/ruby/reline/commit/8b55fc8fee M test/reline/yamatanooroti/termination_checker.rb commit a2f649374d7bd4a95040aabb08e1cb0144e227ce Author: aycabta Date: Fri Aug 13 13:44:08 2021 +0900 [ruby/reline] Remove private visibility https://github.com/ruby/reline/commit/fa54e521da M test/reline/yamatanooroti/test_rendering.rb commit acce754eb8fb3a4a7d2546043da5538ccb7d90b5 Author: aycabta Date: Fri Aug 13 12:57:15 2021 +0900 [ruby/reline] Remove interrupt avoidance There used to be a process that did not want to be interrupted by SIGINT, so it was trapped, but that process is no longer there. https://github.com/ruby/reline/commit/ba7252a5db M lib/reline/ansi.rb commit 1868b9fa852e94d5d44736297dfce5c670ab42f6 Author: Nobuyoshi Nakada Date: Sat Aug 14 14:48:24 2021 +0900 [Win32] Skip over source update just after clone on AppVeyor M appveyor.yml commit a9977ba2f9863e3fb1b2346589ebbca67d80536c Author: Nobuyoshi Nakada Date: Sat Aug 14 10:08:19 2021 +0900 Constified addr2line.c M addr2line.c commit 963f2e01e7b213ad0195c14b20bfd7e1df4683d0 Author: Takashi Kokubun Date: Fri Aug 13 10:26:11 2021 -0700 Reduce the amount of false positive notifications M .travis.yml commit e57a1cc20c147493a174e2830ded13c88258b9dc Author: Benoit Daloze Date: Fri Aug 13 18:13:47 2021 +0200 ruby/spec no longer needs webrick to run M common.mk commit ee362302c0de8772b9f8be1b6c01c2f3aa40af04 Author: Takashi Kokubun Date: Fri Aug 13 09:13:09 2021 -0700 Revert "Pause an MJIT worker when JIT is cancelled" This reverts commit b64f81c81729bbc248d19af01cafde88eb60fdc7. It seems to cause a problem in --jit / --jit-wait CIs. Reverting for now. M NEWS.md M mjit.c commit 15c9c7845d6848edcc2c092d31217ca1e8460b39 Author: git Date: Sat Aug 14 01:10:00 2021 +0900 * 2021-08-14 [ci skip] M version.h commit 73085c8d8ee5456b6c157042b78d812f3d1ab054 Author: Benoit Daloze Date: Fri Aug 13 18:09:14 2021 +0200 Update to ruby/spec@330c641 M spec/ruby/core/gc/stat_spec.rb M spec/ruby/language/numbers_spec.rb M spec/ruby/library/net/http/http/fixtures/http_server.rb M spec/ruby/library/net/http/http/post_spec.rb M spec/ruby/library/net/http/http/send_request_spec.rb M spec/ruby/security/cve_2017_17742_spec.rb commit ac4d53bd461ff386cd45fdd484ffb6b628a251ad Author: Takashi Kokubun Date: Thu Aug 12 23:19:15 2021 -0700 Don't cancel JIT-ed code on TracePoint :class events get enabled M NEWS.md M test/ruby/test_jit.rb M vm_trace.c commit 365da4c6ace385f08b97bd657ff5a118055e8ad1 Author: Takashi Kokubun Date: Thu Aug 12 23:19:59 2021 -0700 Don't run mjit_cancel_all when MJIT is disabled M mjit.c commit b64f81c81729bbc248d19af01cafde88eb60fdc7 Author: Takashi Kokubun Date: Thu Aug 12 23:15:34 2021 -0700 Pause an MJIT worker when JIT is cancelled M NEWS.md M mjit.c commit b3f8c491efefc0461ab225d062f6c64286498609 Author: Takashi Kokubun Date: Thu Aug 12 22:54:40 2021 -0700 Print JIT cancel when all JIT-ed code is cancelled M NEWS.md M mjit.c M mjit.h M test/ruby/test_jit.rb M vm_trace.c commit 1a16940291301ace49cba0f37154a67033ab27c0 Author: git Date: Fri Aug 13 14:51:56 2021 +0900 * 2021-08-13 [ci skip] M version.h commit 611da9faef76777e57718cf5b0286b965879479c Author: Nobuyoshi Nakada Date: Thu Aug 12 10:42:33 2021 +0900 Mark `rb_unexpected_type` as "cold" [Bug #18062] So that it will not interfere the fast path in `Check_Type`. M include/ruby/internal/error.h commit 573eef7c897ff938539270e605445da13093d664 Author: Nobuyoshi Nakada Date: Thu Aug 12 10:30:42 2021 +0900 Indicate the slow path of `Check_Type` never return [Bug #18062] Though this call to `rb_check_type` is just to raise an exception and never return actually, it can return at least formally. That means a caller function looks like it will access `flags` even in the special-const cases, and some optimizers may unify the access with the same access just following the call, and re-order it before the guard. M include/ruby/internal/value_type.h commit 5534698b84c1ef1567ebb1e2d79fbe1a2a573a77 Author: aycabta Date: Thu Aug 12 19:50:53 2021 +0900 [ruby/reline] Version 0.2.7 https://github.com/ruby/reline/commit/040d29b4c0 M lib/reline/version.rb commit f9abcfb6fc34e4aae73b51e5e35517633b872b67 Author: aycabta Date: Thu Aug 12 19:53:03 2021 +0900 [ruby/irb] Version 1.3.7 https://github.com/ruby/irb/commit/98610236ec M lib/irb/version.rb commit 53743a42c4a73b29ddfc3b4c6d7b3178a6c31e6f Author: aycabta Date: Thu Aug 12 19:52:51 2021 +0900 [ruby/irb] Update dependency, reline >= 0.2.7 https://github.com/ruby/irb/commit/5a0c8dc9e6 M lib/irb/irb.gemspec commit 5196b171d9e26f9e688152e11a07a7b19440c443 Author: aycabta Date: Thu Aug 12 19:47:41 2021 +0900 Revert "Try to run test_interrupt_in_other_thread with Editline" This reverts commit c66b27efbb27c6b6b410457282ac841ead1dd132. M test/readline/test_readline.rb commit c66b27efbb27c6b6b410457282ac841ead1dd132 Author: aycabta Date: Thu Aug 12 15:34:54 2021 +0900 Try to run test_interrupt_in_other_thread with Editline M test/readline/test_readline.rb commit 7ac440910cb5825eb7ee57544318ffd479dac82b Author: Nobuyoshi Nakada Date: Thu Aug 12 13:14:24 2021 +0900 Separate jobs conditions M .github/workflows/compilers.yml commit 1cdc75104de1caa048d6eace3422b36dd69e6d70 Author: 卜部昌平 Date: Thu Aug 12 09:40:38 2021 +0900 RBIMPL_ATTR_DEPRECATED: enable for GCC 10.3+ They fixed the bug. M include/ruby/internal/attr/deprecated.h commit e1fe209dd8d15eb05c8253f144eaa39e1aa6cfa3 Author: git Date: Thu Aug 12 08:47:53 2021 +0900 * 2021-08-12 [ci skip] M version.h commit e5f6cd70456377f8a63b4efb2ab16928e5d1121a Author: aycabta Date: Thu Aug 12 07:52:23 2021 +0900 Outer block is required to rescue Timeout::Error M test/readline/test_readline.rb commit 79cc566ab4cdf75f125ecf413a27d353a9756c08 Author: Peter Zhu Date: Tue Aug 10 19:54:10 2021 -0400 Make during_compacting flag in GC one bit Commit c32218de1ba094223420a4ea017707f48d0009c5 turned during_compacting flag to 2 bits to support the case when there is no write barrier. But commit 32b7dcfb56a417c1d1c354102351fc1825d653bf changed compaction to always enable the write barrier. This commit cleans up some of the leftover code. M gc.c commit c06b39d1d1f050ad6e202e9847c3a21894505766 Author: aycabta Date: Wed Aug 11 17:45:31 2021 +0900 Add TODO comment to #test_interrupt_in_other_thread M test/readline/test_readline.rb commit c59da370a5d10ccecf3410a80b3d3af631e31df7 Author: aycabta Date: Wed Aug 11 14:08:39 2021 +0900 Add comments about testing steps M test/readline/test_readline.rb commit 4f324514aa5b3dd598f31cf41602dd414e0fbaca Author: aycabta Date: Wed Aug 11 14:07:28 2021 +0900 Put the result of the process into a variable once To make the meaning of assertion easier to understand, M test/readline/test_readline.rb commit 01e49af81d5f17248c9338cb82b7278f41f9b972 Author: aycabta Date: Wed Aug 11 14:05:17 2021 +0900 Stop exiting to show "SUCCESS" M test/readline/test_readline.rb commit 2217b82af10a2120e68ec4d1d52587a741f3c750 Author: aycabta Date: Wed Aug 11 14:03:55 2021 +0900 Add logging about Errno::EPIPE M test/readline/test_readline.rb commit 7d842515004e2a714f60a064fab90ac326418d1b Author: aycabta Date: Wed Aug 11 14:02:28 2021 +0900 Write log to stdout immediately M test/readline/test_readline.rb commit 67e06102a3c8d0b8e8ff7a6f0528016f2560fd4b Author: aycabta Date: Tue Aug 10 06:54:32 2021 +0900 Stop checking char from "read" Because it's sometimes nil due to race condition. M test/readline/test_readline.rb commit 7b10f55354331e2807eb86cd99321558e727ff0d Author: aycabta Date: Tue Aug 10 06:54:08 2021 +0900 Break immediately if assertions finished M test/readline/test_readline.rb commit 7319b1fa2cb18758a65f57ebf1bd9097ebd1220e Author: aycabta Date: Tue Aug 10 06:51:32 2021 +0900 Add "START" log M test/readline/test_readline.rb commit 84bf4d2ce55e16a4fb51b407a8c9c79e583596b3 Author: Jeremy Evans Date: Tue Aug 10 14:19:33 2021 -0700 Term fill in String#{,l,r}strip! even when SHARABLE_MIDDLE_SUBSTRING Each of these methods calls str_modify_keep_cr before term filling, which should ensure the backing string uses private memory, and therefore term filling should not affect other strings. Skipping the term filling was added in a707ab4bc8a29241440f56696098efa2f7f3ff45. Fixes [Bug #12540] M string.c commit a0a8f2abf533702b2cd96e79f700ce5b9cd94f50 Author: Nobuyoshi Nakada Date: Thu Aug 5 20:09:25 2021 +0900 Get rid of type-punning pointer casts [Bug #18062] M vm_eval.c M vm_insnhelper.c M vm_method.c commit 7560bf6f47001b7cf79c8ead41b3c48753d5640b Author: git Date: Wed Aug 11 10:54:56 2021 +0900 * 2021-08-11 [ci skip] M version.h commit c3964a313eaf8ba8ebaef36bf3c3a5df599fca34 Author: Nobuyoshi Nakada Date: Tue Aug 10 22:06:43 2021 +0900 Assert for duplicated ARGF [Bug #18074] M test/ruby/test_argf.rb commit 7de7e9fdb7ef78c3fbd62d1b34ae1e4ee89cf7a9 Author: Nobuyoshi Nakada Date: Tue Aug 10 22:06:05 2021 +0900 Assert that each contents are read [Bug #18074] M test/ruby/test_argf.rb commit 28d03ee776af4d630556fcaad7305340cbcf9cde Author: Nobuyoshi Nakada Date: Mon Aug 9 13:21:05 2021 +0900 Remove root_jmpbuf in rb_thread_struct It has not been used since 1b82c877dfa72e8505ded149fd0e3ba956529d3f. M cont.c M eval.c M eval_intern.h M vm_core.h commit 42b6dc84d3e0abb19432a1cf24f327b37b176fa8 Author: Koichi Sasada Date: Tue Aug 10 15:32:20 2021 +0900 add some lines to delete unused TracePoint `TracePoint.stat` returns the "to be deleted" TP numbers, and http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20210810T030003Z.fail.html.gz shows there is a "to be deleted" TP. This patch uses only :line event and add some lines to allow MRI deletes "to be deleted" TPs. M test/ruby/test_settracefunc.rb commit e3dcb6204d66c62aedaf94cac336d93d0275ce2c Author: Nobuyoshi Nakada Date: Tue Aug 10 12:38:59 2021 +0900 Run only directories or *_spec.rb files only by mspec [Bug #18072] Not to match *.c files under spec/ruby/optional/capi/ext, in the case of in-place build. M defs/gmake.mk commit 8df1ace64a7695c855bf0a774e3fd70edfab0bf3 Author: Csaba Henk Date: Tue Aug 10 01:07:06 2021 +0200 Fix ARGF.read(length) short read [Bug #18074] M io.c M test/ruby/test_argf.rb commit 510c3655c9789f93e799499cd7923461e2743ec0 Author: 卜部昌平 Date: Sun Aug 8 16:59:07 2021 +0900 .github/workflows/compilers.yml: clang-14 It seems LLVM-14 begun. See also https://github.com/llvm/llvm-project/commit/08c766a7318ab37bf1d77e0c683cd3b00e700877 M .github/workflows/compilers.yml commit 6771316d51beaeecff54fdfb71e3275079346c0a Author: Jun Aruga Date: Mon Aug 9 21:28:43 2021 +0200 .travis.yml: Check failures for Travis arm64 again. It seems the concurrent jobs are stable recently on arm64 pipeline. Keep allowing to fail on arm32 due to a failure. M .travis.yml commit cc1d88daba740217e54a4e7759b2e0f0a4bc4b3b Author: aycabta Date: Tue Aug 10 02:52:38 2021 +0900 Add comment about I/O that is not tty M test/readline/test_readline.rb commit 71c20c5609822456a04e1d8e3bfa2baf776feccb Author: git Date: Tue Aug 10 02:38:59 2021 +0900 * 2021-08-10 [ci skip] M version.h commit b8f771fba2dde1e43173ceba21007d2612eddd44 Author: aycabta Date: Tue Aug 10 02:35:50 2021 +0900 Update parser files of RDoc generated by the latest Racc M lib/rdoc/rd/block_parser.rb M lib/rdoc/rd/inline_parser.rb commit 44635ebe9a39fbe1fdaf0b65d00f9c89bee43489 Author: aycabta Date: Tue Aug 10 02:35:33 2021 +0900 Update parser files of RDoc generated by the latest KPeg M lib/rdoc/markdown.rb M lib/rdoc/markdown/literals.rb commit 6b439e9c4e361c2b0763af950beeb7d908ddbab8 Author: aycabta Date: Mon Aug 9 21:04:39 2021 +0900 [ruby/rdoc] Use HEAD of kpeg I compared the results between the latest release of kpeg gem (1.1.0) and HEAD of kpeg gem with `time` command, and the execution time is reduced from 38.35s sec to 35.06 sec. ref. https://github.com/evanphx/kpeg/pull/43 https://github.com/ruby/rdoc/commit/682bcb48ce M lib/rdoc/Gemfile commit d082510429c9b9f39656e5faf811f06677de1dd3 Author: aycabta Date: Mon Aug 9 21:03:27 2021 +0900 [ruby/rdoc] Add "rake clean" task to erase generated parser files https://github.com/ruby/rdoc/commit/4e3e635afa M lib/rdoc/Rakefile commit b277a6d26d3667cdfb0b75594c9d378e3a2c5068 Author: aycabta Date: Tue Aug 10 02:30:59 2021 +0900 Import copied Rakefile from original RDoc repository A lib/rdoc/Rakefile commit d8eeee97ce162aff42a05f36a459074b9f61e11c Author: aycabta Date: Mon Aug 9 20:37:49 2021 +0900 [ruby/rdoc] Move dev dependency of gettext to Gemfile https://github.com/ruby/rdoc/commit/a177377b6f M lib/rdoc/Gemfile M lib/rdoc/rdoc.gemspec commit 638c72e162f1a478578c61bbbdf643e66058f62f Author: aycabta Date: Mon Aug 9 20:35:41 2021 +0900 [ruby/rdoc] Use single quote in Gemfile https://github.com/ruby/rdoc/commit/e4b68d414c M lib/rdoc/Gemfile commit b685c60bef44cbe9700efcc883b2e20322953148 Author: aycabta Date: Tue Aug 10 02:24:10 2021 +0900 Import copied Gemfile from original RDoc repository A lib/rdoc/Gemfile commit ef6dd407c84e860515fc6636eb4f6ad67703d463 Author: aycabta Date: Tue Aug 10 02:27:55 2021 +0900 Import Gemfile and Rakefile of rdoc by tool/sync_default_gems.rb M tool/sync_default_gems.rb commit 9ed196e4876dd15991feee27e7dce1b67783060f Author: Nobuyoshi Nakada Date: Mon Aug 9 18:16:24 2021 +0900 VC warns the same attribute used more than once M include/ruby/backward/cxxanyargs.hpp commit b8f7e8ac6bd177bf25bc9fa057bcb784682e0227 Author: Nobuyoshi Nakada Date: Mon Aug 9 17:53:45 2021 +0900 Include ruby.h before internal headers to suppress -Wundef warnings M ext/-test-/time/leap_second.c commit 5e633fb99e477eb204a94e272c5759f07b6e4732 Author: aycabta Date: Mon Aug 9 18:17:07 2021 +0900 Omit on Readline 7.0 because it's wrong behaviour for not TTY env M test/readline/test_readline.rb commit 93ddff48022b75f99f540a8c1cc094a9976ca0e4 Author: Nobuyoshi Nakada Date: Mon Aug 9 17:36:00 2021 +0900 Rename rb_iterate to get rid of name clash on Sun C M include/ruby/backward/cxxanyargs.hpp M include/ruby/internal/iterator.h commit 6f6a84f2f3e82f9554618f080f9b66ded52884cc Author: Samuel Williams Date: Mon Aug 9 14:49:52 2021 +1200 Extended logging for debugging readline failures. M test/readline/test_readline.rb commit 6736323194e6cfd417468375669211c03d43d13e Author: Nobuyoshi Nakada Date: Sun Aug 8 21:20:44 2021 +0900 Suppress a clobbered warning M eval.c commit 4fb8a12adc993d85af90e8563aff77f100cfdbd5 Author: Nobuyoshi Nakada Date: Sun Aug 8 18:24:03 2021 +0900 Deprecate rb_iterate in C++ M include/ruby/backward/cxxanyargs.hpp commit 733ffa74cd32a5c11ff744a5490782daa00ff1ae Author: Nobuyoshi Nakada Date: Sun Aug 8 17:27:56 2021 +0900 Suppress deprecated rb_iterate declaration warnings in C++ M include/ruby/backward/cxxanyargs.hpp M include/ruby/internal/iterator.h commit a14671a6b6ad69bab443df75a3472575e2cc0dbc Author: Nobuyoshi Nakada Date: Sun Aug 8 17:23:56 2021 +0900 Suppress warnings in C++2a * bitwise operation between different enumeration types ('ruby_value_type' and 'ruby_fl_type') is deprecated [-Wdeprecated-enum-enum-conversion] * volatile-qualified parameter type 'volatile int' is deprecated [-Wdeprecated-volatile] M eval.c M include/ruby/internal/fl_type.h M include/ruby/internal/interpreter.h commit f584dc5a11d389a24a504b6066b74d1388f6164b Author: Nobuyoshi Nakada Date: Sun Aug 8 17:18:56 2021 +0900 Suppress unused-function warning when OPT_THREADED_CODE != 1 M vm_exec.c commit 836b7047a60bc214c90438a763ef759f1963caff Author: Nobuyoshi Nakada Date: Sun Aug 8 17:16:03 2021 +0900 Suppress unused-variable warnings when DEBUG_INTEGER_PACK M bignum.c commit dc2eb6f7b2d324bda37a363882eae0fbdd0d5b7a Author: git Date: Mon Aug 9 08:41:15 2021 +0900 * 2021-08-09 [ci skip] M version.h commit 48c43f7783bdb9aa92af61970ed85cf91342b942 Author: Samuel Williams Date: Mon Aug 9 09:40:13 2021 +1200 Rework the readline test to be more robust. - Capture that the child is started by initial log line. - More robust handling of child status reaping. - Direct exit without sucess mesage if `#readline` receives input. M test/readline/test_readline.rb commit 3a8cadcf8f3e1c58b2c32fcd2d5a0b48cf6dfb1f Author: Samuel Williams Date: Sun Aug 8 18:56:16 2021 +1200 Reduce chance to receive EBADF when closing an IO from another thread. M io.c commit 587f501c7cc63730f6e03af50ec99bb6624d93dd Author: Nobuyoshi Nakada Date: Sun Aug 8 15:24:55 2021 +0900 Make bit flags `reason` unsigned M gc.c commit ca2dd6d35a09dca1c23908193420c9148b254e8a Author: aycabta Date: Sun Aug 8 15:42:48 2021 +0900 Use #full_message instead of #backtrace_locations M test/readline/test_readline.rb commit f81964568f954495ad9a517066bd241f5db22059 Author: Nobuyoshi Nakada Date: Sun Aug 8 15:12:38 2021 +0900 Suppress warnings when GC_ENABLE_INCREMENTAL_MARK == 0 M gc.c commit c6398d3d7cf1f4dacd0b30d4bae2886a1e5472c2 Author: git Date: Sun Aug 8 09:25:01 2021 +0900 * 2021-08-08 [ci skip] M version.h commit 40ccb87a498ec45acc2d2f3e05460b128e9a411c Author: aycabta Date: Sun Aug 8 09:25:12 2021 +0900 Show backtrace locations when I/O timed out M test/readline/test_readline.rb commit 1fe73128cd3d3fb49f042c6613dc86c409927423 Author: aycabta Date: Sat Aug 7 22:58:26 2021 +0900 Use TERM=xterm for tests on Solaris M test/reline/helper.rb commit f092a9606e0838ec3ffbf946ce4612524c51e870 Author: aycabta Date: Sat Aug 7 21:16:49 2021 +0900 Set TERM env for some CI environments M test/reline/helper.rb M test/reline/test_terminfo.rb commit 6e60fc29453603270ebdf79f4b37ec6544a602cc Author: Nobuyoshi Nakada Date: Sat Aug 7 18:32:24 2021 +0900 Group commands on GitHub Actions M common.mk M defs/gmake.mk M template/Makefile.in M tool/test-bundled-gems.rb M win32/Makefile.sub commit ac7986f46a1fc5686b006625a16a9ff62579efe7 Author: S-H-GAMELINKS Date: Fri Aug 6 12:46:01 2021 +0900 Remove unneeded rb_fiber_transfer_kw declaration M cont.c commit 9b3fcfbbb9031036a9f7ba8ae1934f0805ea4d85 Author: S.H Date: Sat Aug 7 12:50:55 2021 +0900 Suppress unused-result warnings * Hide read function warning in string_spec_RSTRING_PTR_read function * The type of `read` may be `ssize_t` Co-authored-by: Nobuyoshi Nakada M spec/ruby/optional/capi/ext/string_spec.c commit e5dd40b1f3a11f48d566413ab347ce0cfdd94960 Author: Nobuyoshi Nakada Date: Sat Aug 7 12:08:20 2021 +0900 Stop force-recycling evacuated array [Bug #18065] M hash.c commit d16b68cb2204eeb5af8bd39149202b630374c67f Author: Jeremy Evans Date: Mon Jul 26 11:20:27 2021 -0700 Use Rational for Float#round with ndigits > 14 ndigits higher than 14 can result in values that are slightly too large due to floating point limitations. Converting to rational for the calculation and then back to float fixes these issues. Fixes [Bug #14635] Fixes [Bug #17183] Co-authored by: Yusuke Endoh M internal/rational.h M numeric.c M rational.c M test/ruby/test_numeric.rb commit 0d3520b063b304708699d3b7ea82b0a5b0279555 Author: git Date: Sat Aug 7 02:15:19 2021 +0900 * 2021-08-07 [ci skip] M version.h commit 1a05dc03f953830564c272665c47a61e53550f3e Author: Jeremy Evans Date: Wed Jul 21 16:44:56 2021 -0700 Make backtrace generation work outward from current frame This fixes multiple bugs found in the partial backtrace optimization added in 3b24b7914c16930bfadc89d6aff6326a51c54295. These bugs occurs when passing a start argument to caller where the start argument lands on a iseq frame without a pc. Before this commit, the following code results in the same line being printed twice, both for the #each method. ```ruby def a; [1].group_by { b } end def b; puts(caller(2, 1).first, caller(3, 1).first) end a ``` After this commit and in Ruby 2.7, the lines are different, with the first line being for each and the second for group_by. Before this commit, the following code can either segfault or result in an infinite loop: ```ruby def foo caller_locations(2, 1).inspect # segfault caller_locations(2, 1)[0].path # infinite loop end 1.times.map { 1.times.map { foo } } ``` After this commit, this code works correctly. This commit completely refactors the backtrace handling. Instead of processing the backtrace from the outermost frame working in, process it from the innermost frame working out. This is much faster for partial backtraces, since you only access the control frames you need to in order to construct the backtrace. To handle cfunc frames in the new design, they start out with no location information. We increment a counter for each cfunc frame added. When an iseq frame with pc is accessed, after adding the iseq backtrace location, we use the location for the iseq backtrace location for all of the directly preceding cfunc backtrace locations. If the last backtrace line is a cfunc frame, we continue scanning for iseq frames until the end control frame, and use the location information from the first one for the trailing cfunc frames in the backtrace. As only rb_ec_partial_backtrace_object uses the new backtrace implementation, remove all of the function pointers and inline the functions. This makes the process easier to understand. Restore the Ruby 2.7 implementation of backtrace_each and use it for all the other functions that called backtrace_each other than rb_ec_partial_backtrace_object. All other cases requested the entire backtrace, so there is no advantage of using the new algorithm for those. Additionally, there are implicit assumptions in the other code that the backtrace processing works inward instead of outward. Remove the cfunc/iseq union in rb_backtrace_location_t, and remove the prev_loc member for cfunc. Both cfunc and iseq types can now have iseq and pc entries, so the location information can be accessed the same way for each. This avoids the need for a extra backtrace location entry to store an iseq backtrace location if the final entry in the backtrace is a cfunc. This is also what fixes the segfault and infinite loop issues in the above bugs. Here's Ruby pseudocode for the new algorithm, where start and length are the arguments to caller or caller_locations: ```ruby end_cf = VM.end_control_frame.next cf = VM.start_control_frame size = VM.num_control_frames - 2 bt = [] cfunc_counter = 0 if length.nil? || length > size length = size end while cf != end_cf && bt.size != length if cf.iseq? if cf.instruction_pointer? if start > 0 start -= 1 else bt << cf.iseq_backtrace_entry cf_counter.times do |i| bt[-1 - i].loc = cf.loc end cfunc_counter = 0 end end elsif cf.cfunc? if start > 0 start -= 1 else bt << cf.cfunc_backtrace_entry cfunc_counter += 1 end end cf = cf.prev end if cfunc_counter > 0 while cf != end_cf if (cf.iseq? && cf.instruction_pointer?) cf_counter.times do |i| bt[-i].loc = cf.loc end end cf = cf.prev end end ``` With the following benchmark, which uses a call depth of around 100 (common in many Ruby applications): ```ruby class T def test(depth, &block) if depth == 0 yield self else test(depth - 1, &block) end end def array Array.new end def first caller_locations(1, 1) end def full caller_locations end end t = T.new t.test((ARGV.first || 100).to_i) do Benchmark.ips do |x| x.report ('caller_loc(1, 1)') {t.first} x.report ('caller_loc') {t.full} x.report ('Array.new') {t.array} x.compare! end end ``` Results before commit: ``` Calculating ------------------------------------- caller_loc(1, 1) 281.159k (_ 0.7%) i/s - 1.426M in 5.073055s caller_loc 15.836k (_ 2.1%) i/s - 79.450k in 5.019426s Array.new 1.852M (_ 2.5%) i/s - 9.296M in 5.022511s Comparison: Array.new: 1852297.5 i/s caller_loc(1, 1): 281159.1 i/s - 6.59x (_ 0.00) slower caller_loc: 15835.9 i/s - 116.97x (_ 0.00) slower ``` Results after commit: ``` Calculating ------------------------------------- caller_loc(1, 1) 562.286k (_ 0.8%) i/s - 2.858M in 5.083249s caller_loc 16.402k (_ 1.0%) i/s - 83.200k in 5.072963s Array.new 1.853M (_ 0.1%) i/s - 9.278M in 5.007523s Comparison: Array.new: 1852776.5 i/s caller_loc(1, 1): 562285.6 i/s - 3.30x (_ 0.00) slower caller_loc: 16402.3 i/s - 112.96x (_ 0.00) slower ``` This shows that the speed of caller_locations(1, 1) has roughly doubled, and the speed of caller_locations with no arguments has improved slightly. So this new algorithm is significant faster, much simpler, and fixes bugs in the previous algorithm. Fixes [Bug #18053] M test/ruby/test_backtrace.rb M vm_backtrace.c commit d868c8f08f53715a1b01a4d02e3966c572d1e8b2 Author: Nobuyoshi Nakada Date: Fri Aug 6 20:58:13 2021 +0900 Make jobserver available M defs/gmake.mk commit 3e7fb4b91d263f291c21200f3d11998053cdcf79 Author: Nobuyoshi Nakada Date: Fri Aug 6 13:34:25 2021 +0900 Check the result of tigetstr M lib/reline/terminfo.rb M test/reline/test_terminfo.rb commit 9bfb8ea6715571b4318b018b703d40750acf2ccb Author: Nobuyoshi Nakada Date: Fri Aug 6 13:33:47 2021 +0900 Fix caching of curses_dl M lib/reline/terminfo.rb commit 7af21a78fab75c953646c0c26779e634aa771345 Author: Yusuke Endoh Date: Fri Aug 6 10:39:25 2021 +0900 test/reline/test_terminfo.rb: skip when setupterm fails http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210806T000008Z.fail.html.gz ``` 1) Error: Reline::Terminfo::Test#test_tigetstr: Reline::Terminfo::TerminfoError: The terminfo database could not be found. /export/home/chkbuild/chkbuild-gcc/tmp/build/20210806T000008Z/ruby/lib/reline/terminfo.rb:84:in `setupterm' /export/home/chkbuild/chkbuild-gcc/tmp/build/20210806T000008Z/ruby/test/reline/test_terminfo.rb:6:in `setup' ``` M test/reline/test_terminfo.rb commit e687b6f4da2daf37dc7a0cc8b48a97426a82ce72 Author: aycabta Date: Fri Aug 6 03:55:58 2021 +0900 Show Readline::VERSION for debugging M test/readline/test_readline.rb commit 983630b5fdaed76a2996be668d01b9c4356e2ae4 Author: git Date: Fri Aug 6 03:50:33 2021 +0900 * 2021-08-06 [ci skip] M version.h commit 9b56668bf88ff4897db7390081c060038e0aff37 Author: aycabta Date: Fri Aug 6 03:50:02 2021 +0900 Omit test_interrupt_in_other_thread with Editline M test/readline/test_readline.rb commit 6414334d3c8af69d7a1356fbe56a72b1d117f511 Author: aycabta Date: Fri Aug 6 03:17:51 2021 +0900 Fix reversal of assertion result M test/readline/test_readline.rb commit cd57b39f79e4304f5b9b4585592a3bd765392a8f Author: aycabta Date: Fri Aug 6 03:15:58 2021 +0900 Fix control structure to preperly catch Timeout::Error M test/readline/test_readline.rb commit 7bcbee37b5feda172b1651b34a5c3d058db04611 Author: aycabta Date: Fri Aug 6 02:51:10 2021 +0900 Fix the result of checking the existence of constants being reversed M lib/reline/terminfo.rb commit bda56a03a625793cb3fd110458c3f7323d73705e Author: Nobuyoshi Nakada Date: Thu Aug 5 22:30:48 2021 +0900 Build rubyspec CAPI extensions M defs/gmake.mk commit 1cb5a669d39fe741388be7ac45fc88c336b097cf Author: aycabta Date: Thu Aug 5 19:39:22 2021 +0900 Show log when timed out M test/readline/test_readline.rb commit 042d4c8133278e53955879a1bb5ff3c8dcbf1197 Author: aycabta Date: Wed Aug 4 23:35:08 2021 +0900 Remove an unused variable M test/readline/test_readline.rb commit a97837de1abe4c24757ba2dfbb7d4531e8faa460 Author: Kazuhiro NISHIYAMA Date: Thu Aug 5 17:25:17 2021 +0900 Fix a link [ci skip] M NEWS.md commit ae275f67cea586933d9983c066c2771f83c76943 Author: Nobuyoshi Nakada Date: Thu Aug 5 14:16:09 2021 +0900 Show WorkingSetSize as RSS on Windows M ext/-test-/memory_status/memory_status.c M tool/lib/memory_status.rb commit 228b3e43be5e01e204751be2035fee3576a7ab74 Author: Koichi Sasada Date: Thu Aug 5 16:21:15 2021 +0900 check GC.enable'd status Check GC.enable'd status before and after test execution. Write this checker in gc_checker.rb, it was renamed from gc_compact_checker.rb. A tool/lib/gc_checker.rb D tool/lib/gc_compact_checker.rb M tool/lib/test/unit/parallel.rb M tool/test/runner.rb commit 405644f38c64dca3524e3fa32fd9722bcd2a1e0b Author: Yusuke Endoh Date: Thu Aug 5 14:47:39 2021 +0900 Revert "Removed extinit.o from main programs" This reverts commit ac86fcbfd0bab8667d277aa575bc5b81e5135d3c. This change broke "--disable-shared --with-static-linked-ext". M template/Makefile.in M win32/Makefile.sub commit 3bb6410914329a23162fc5dcc1b16fecb50f9837 Author: Nobuyoshi Nakada Date: Thu Aug 5 14:15:30 2021 +0900 Use equivalent `__FILE__` M tool/lib/core_assertions.rb commit 594c3df9a96c57b140fac18a155bf8f93183f452 Author: Nobuyoshi Nakada Date: Thu Aug 5 10:43:37 2021 +0900 Tests for Windows can run only on Windows Should not directly require "reline/windows.rb" which should be loaded by "reline.rb". M test/reline/windows/test_key_event_record.rb commit bc8bc072f4cb8293f8e7a2c5b517af68b5f2ac9b Author: git Date: Thu Aug 5 05:11:29 2021 +0900 * 2021-08-05 [ci skip] M version.h commit 1fd0a2e4a62b70287dfce5bb1a66656b647d3899 Author: Peter Zhu Date: Wed Aug 4 15:33:47 2021 -0400 Reenable GC at the end of test The test disables GC but never reenables it. Before this patch, running all tests would have a peak RSS in the main process of >4GB. After this patch, peak RSS in the main process is <500MB. M test/ruby/test_objectspace.rb commit 5f2987d6c2ae9ace3178ac3e1bbb4ac7079101eb Author: Nobuyoshi Nakada Date: Wed Aug 4 17:38:46 2021 +0900 Fix relative paths from core_assertions.rb M tool/lib/core_assertions.rb M tool/test/testunit/test_parallel.rb commit 6e55facdb38c070754ef4dc5921e9ad63d1a97e1 Author: aycabta Date: Tue Aug 3 02:19:55 2021 +0900 Run interrupt test except on Windows M test/readline/test_readline.rb commit aba10ea61e0f837bdca0e98f8e1e6fe7666a89b1 Author: aycabta Date: Tue Aug 3 01:40:26 2021 +0900 Add a load path to require 'helper' M test/readline/test_readline.rb commit 335c12826aecc7dfc3280c2dd26bdd0f17adcaa7 Author: aycabta Date: Tue Aug 3 01:20:27 2021 +0900 Show the log of test_interrupt_in_other_thread when failed M test/readline/test_readline.rb commit 17ef7a98ef0fd7d65cbcb00e0fff8c5767cd85c9 Author: aycabta Date: Tue Aug 3 01:19:29 2021 +0900 Check the existence of the test classes M test/readline/test_readline.rb commit 5ca0a51ffd218131f5d396f0250781cdf972779f Author: aycabta Date: Mon Aug 2 23:43:05 2021 +0900 Add a test for handling SIGINT in other thread M test/readline/test_readline.rb commit de93b8b0697ab9554557f21d7a52a3172c5af5c3 Author: aycabta Date: Sun Aug 1 17:41:55 2021 +0900 Handle SIGINT in other thread correctly Co-authored-by: Koichi Sasada M lib/reline/line_editor.rb commit 5bb7b571299a06f051b065dec9dd5194e82bd796 Author: aycabta Date: Sat Jul 31 21:39:04 2021 +0900 Use Symbol of signal for trap M lib/reline/line_editor.rb commit 1f2b3f2529e39d8a69709a9f4ce6cf7153877fbe Author: Nobuyoshi Nakada Date: Wed Aug 4 16:59:18 2021 +0900 Remove an extraneous escape Since a3fb97465df3, this string is not inside the here-document. M tool/lib/core_assertions.rb commit 6e8bbabc2b49330c7fcdf9c933fef33edaa33f5d Author: git Date: Wed Aug 4 05:39:21 2021 +0900 * 2021-08-04 [ci skip] M version.h commit c463a5e00830380fe29ffeb543aaeb59b0af02b1 Author: Peter Zhu Date: Tue Aug 3 16:33:34 2021 -0400 Fix indentation in string.c 7 spaces were used for 2 levels of indentation. This commit changes it to use 8 spaces. M string.c commit 2d4f29e77e883c29e35417799f8001b8046cde03 Author: Samuel Williams Date: Wed Jul 28 19:55:55 2021 +1200 Fix potential hang when joining threads. If the thread termination invokes user code after `th->status` becomes `THREAD_KILLED`, and the user unblock function causes that `th->status` to become something else (e.g. `THREAD_RUNNING`), threads waiting in `thread_join_sleep` will hang forever. We move the unblock function call to before the thread status is updated, and allow threads to join as soon as `th->value` becomes defined. This reverts commit 6505c77501f1924571b2fe620c5c7b31ede0cd22. M test/fiber/scheduler.rb M test/fiber/test_thread.rb M thread.c M vm.c commit 785c70e764c3222f9accac2555246d3921a7263d Author: Nobuyoshi Nakada Date: Tue Aug 3 18:16:32 2021 +0900 [DOC] mention how the command is passed to the shell [ci skip] M process.c commit b5e94916bfb6aca65211047dcc4c55481c5b30a2 Author: git Date: Tue Aug 3 12:10:56 2021 +0900 * 2021-08-03 [ci skip] M version.h commit 4c3140d60f6f94504842a4d0c0d79752a87aec8d Author: Nobuyoshi Nakada Date: Thu Jul 15 21:25:43 2021 +0900 Add keyrest to ruby2_keywords parameters [Bug #18011] M iseq.c M proc.c M test/ruby/test_method.rb M test/ruby/test_syntax.rb commit 731315bf5520a9ca7c94338c13d10c15b00c78c7 Author: Hiroshi SHIBATA Date: Mon Aug 2 16:09:26 2021 +0900 Use codeql-config.yml for codeql-action/init M .github/codeql/codeql-config.yml M .github/workflows/codeql-analysis.yml commit 0292ec9b8a75a88abf860a2c050efe46bb5844cb Author: Hiroshi SHIBATA Date: Mon Aug 2 16:08:36 2021 +0900 Removed paths-ignore because it's not affect with cpp M .github/codeql/codeql-config.yml commit 954852f7a6a55c9ecd3d683234652cc7128b2a1f Author: Hiroshi SHIBATA Date: Mon Aug 2 16:04:40 2021 +0900 Removed unnecessary configuration for the latest version of actions/checkout M .github/workflows/codeql-analysis.yml commit 8b466ea5fc00dcd400a57cc03db4537f0cb8fc81 Author: Hiroshi SHIBATA Date: Mon Aug 2 11:39:38 2021 +0900 Use `${{}}` for if statement M .github/workflows/baseruby.yml M .github/workflows/check_dependencies.yml M .github/workflows/compilers.yml M .github/workflows/macos.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/spec_guards.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml commit 7f4e86804d426d79807cc038fe4444f7c65f5c4a Author: Troy Chance <10200447+sftroychance@users.noreply.github.com> Date: Sun Aug 1 20:09:07 2021 -0700 Fix documentation of #<=> and #casecmp [ci skip] Descriptions for return values of -1 and 1 were reversed. M string.c commit 378e8cdad69e6ba995a024da2957719789f0679e Author: S.H Date: Mon Aug 2 12:06:44 2021 +0900 Using RBOOL macro M array.c M compar.c M cont.c M encoding.c M error.c M file.c M gc.c M hash.c M internal.h M io.c M load.c M numeric.c M object.c M proc.c M range.c M re.c M string.c M thread.c M thread_sync.c M time.c M vm.c M vm_backtrace.c M vm_eval.c M vm_insnhelper.c M vm_method.c M vm_trace.c commit 3688b476710def7290e32656b200fefc538366d0 Author: git Date: Mon Aug 2 10:18:46 2021 +0900 * 2021-08-02 [ci skip] M version.h commit 4453280bb4aee7975d8e93e3d6bc8bfe8d75775f Author: Nobuyoshi Nakada Date: Mon Aug 2 08:38:30 2021 +0900 Stop infinite object allocation to get rid of OOM killer M test/ruby/test_gc_compact.rb commit 605421f4ebe37699e63eb5551c3dbc7887093e4f Author: Nobuyoshi Nakada Date: Sun Aug 1 09:54:36 2021 +0900 gcc 10.3.0 says "__VA_OPT__ is not available until C++2a" M include/ruby/internal/config.h commit d99b10acb755b51664a01dabe6c4ac8af8071b0f Author: git Date: Sun Aug 1 06:49:23 2021 +0900 * 2021-08-01 [ci skip] M version.h commit 3b52230452980f3afc6a7380276ea62f7c65e517 Author: Nobuyoshi Nakada Date: Sun Aug 1 06:49:07 2021 +0900 Define functions using rb_wait_for_single_fd [Bug #18046] M ext/-test-/thread_fd/thread_fd.c M include/ruby/internal/intern/thread.h M io.c commit 242f024bcbff6c46edd84a03365fa99ebd8eb524 Author: Masataka Pocke Kuwabara Date: Thu Jul 8 20:13:42 2021 +0900 [ruby/error_highlight] Keep it work if paren exists after receiver https://github.com/ruby/error_highlight/commit/b79d679bbd M lib/error_highlight/base.rb M test/error_highlight/test_error_highlight.rb commit 4ab5281601c7c652db749d79b4833d755d563b09 Author: git Date: Sat Jul 31 11:40:45 2021 +0900 * 2021-07-31 [ci skip] M version.h commit e294beb731eec7f0597c4275c42daf8b09fe643d Author: Nobuyoshi Nakada Date: Sat Jul 31 11:38:27 2021 +0900 [DOC] Fix Process::exec documentation [ci skip] Shell reserved words and special built-in commands can be placed at only the beginning of the command (except for leading white spaces). M process.c commit 01d9e7f26cc58dd280f0a08f0d12b7e7b7424147 Author: Nobuyoshi Nakada Date: Fri Jul 30 19:20:09 2021 +0900 [DOC] Fix Process::exec documentation [ci skip] The environment variable `RUBYSHELL` is used only on Windows, as well as `COMSPEC`. M process.c commit ff6c17602841bff57d3a489b8119c9643dbc7ebe Author: Benoit Daloze Date: Fri Jul 30 11:36:20 2021 +0200 Tweak rb_str_modify_expand() + read() spec to try to find out why it fails on some platforms * Use a longer string as <= 23 characters it's embedded on CRuby and the value of rb_str_capacity() is implementation-specific. M spec/ruby/optional/capi/ext/string_spec.c M spec/ruby/optional/capi/fixtures/read.txt M spec/ruby/optional/capi/string_spec.rb commit fd96503f7bf0ef8262691eac190fe53344ce55fc Author: Nobuyoshi Nakada Date: Fri Jul 30 12:21:38 2021 +0900 Fix bundled gems locations Changed since 55bf0ef1aa7c936b564b883196de1ace4be4cc7e. M test/runner.rb commit 2aecb95acb25ee076d160e2df6b61c3ea5b6d012 Author: Jeremy Evans Date: Thu Jul 29 18:54:20 2021 -0700 Skip test_ensure_after_nomemoryerror This test appears to cause failures in some environments. M test/ruby/test_exception.rb commit 9931e2f5091e95dd947de3b3a00167ae2fd5194a Author: Jeremy Evans Date: Thu Jun 17 11:27:53 2021 -0700 Improve performance of Integer#digits This speeds up performance by multiple orders of magnitude for large integers. Fixes [Bug #14391] Co-authored-by: tompng (tomoya ishida) M numeric.c M test/ruby/test_integer.rb commit 64ac984129a7a4645efe5ac57c168ef880b479b2 Author: Jeremy Evans Date: Fri May 21 11:01:06 2021 -0700 Make RubyVM::AbstractSyntaxTree.of raise for method/proc created in eval This changes Thread::Location::Backtrace#absolute_path to return nil for methods/procs defined in eval. If the realpath of an iseq is nil, that indicates it was defined in eval, in which case you cannot use RubyVM::AbstractSyntaxTree.of. Fixes [Bug #16983] Co-authored-by: Koichi Sasada M ast.c M iseq.c M iseq.h M spec/ruby/core/thread/backtrace/location/absolute_path_spec.rb M test/ruby/test_ast.rb M vm_eval.c commit 6998d758248d778fa95b008c78d05473e48b8428 Author: Benoit Daloze Date: Thu Jul 29 22:11:21 2021 +0200 Update to ruby/spec@b65d01f M spec/ruby/.rubocop.yml M spec/ruby/CONTRIBUTING.md M spec/ruby/README.md M spec/ruby/command_line/feature_spec.rb M spec/ruby/core/array/difference_spec.rb M spec/ruby/core/array/element_set_spec.rb M spec/ruby/core/array/fill_spec.rb M spec/ruby/core/array/filter_spec.rb M spec/ruby/core/array/shared/slice.rb M spec/ruby/core/array/slice_spec.rb M spec/ruby/core/array/to_h_spec.rb M spec/ruby/core/array/union_spec.rb M spec/ruby/core/array/values_at_spec.rb M spec/ruby/core/binding/source_location_spec.rb M spec/ruby/core/dir/children_spec.rb M spec/ruby/core/dir/each_child_spec.rb M spec/ruby/core/dir/glob_spec.rb M spec/ruby/core/dir/shared/glob.rb M spec/ruby/core/enumerable/all_spec.rb M spec/ruby/core/enumerable/any_spec.rb M spec/ruby/core/enumerable/chain_spec.rb M spec/ruby/core/enumerable/filter_spec.rb M spec/ruby/core/enumerable/none_spec.rb M spec/ruby/core/enumerable/one_spec.rb M spec/ruby/core/enumerable/to_h_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/begin_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/each_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/end_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/eq_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/exclude_end_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/first_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/hash_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/inspect_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/last_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/new_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/size_spec.rb M spec/ruby/core/enumerator/arithmetic_sequence/step_spec.rb M spec/ruby/core/enumerator/chain/each_spec.rb M spec/ruby/core/enumerator/chain/initialize_spec.rb M spec/ruby/core/enumerator/chain/inspect_spec.rb M spec/ruby/core/enumerator/chain/rewind_spec.rb M spec/ruby/core/enumerator/chain/size_spec.rb M spec/ruby/core/enumerator/lazy/filter_spec.rb A spec/ruby/core/enumerator/lazy/with_index_spec.rb M spec/ruby/core/enumerator/plus_spec.rb M spec/ruby/core/enumerator/yielder/append_spec.rb M spec/ruby/core/env/filter_spec.rb M spec/ruby/core/env/slice_spec.rb M spec/ruby/core/env/to_h_spec.rb M spec/ruby/core/exception/full_message_spec.rb M spec/ruby/core/exception/key_error_spec.rb M spec/ruby/core/exception/name_error_spec.rb M spec/ruby/core/exception/no_method_error_spec.rb M spec/ruby/core/exception/signal_exception_spec.rb M spec/ruby/core/exception/top_level_spec.rb M spec/ruby/core/file/open_spec.rb M spec/ruby/core/float/comparison_spec.rb M spec/ruby/core/hash/filter_spec.rb M spec/ruby/core/hash/merge_spec.rb M spec/ruby/core/hash/shared/update.rb M spec/ruby/core/hash/to_h_spec.rb M spec/ruby/core/hash/transform_keys_spec.rb M spec/ruby/core/io/set_encoding_by_bom_spec.rb M spec/ruby/core/io/ungetbyte_spec.rb M spec/ruby/core/kernel/Complex_spec.rb M spec/ruby/core/kernel/Float_spec.rb M spec/ruby/core/kernel/Integer_spec.rb M spec/ruby/core/kernel/autoload_spec.rb M spec/ruby/core/kernel/caller_locations_spec.rb M spec/ruby/core/kernel/caller_spec.rb M spec/ruby/core/kernel/match_spec.rb M spec/ruby/core/kernel/open_spec.rb M spec/ruby/core/kernel/raise_spec.rb M spec/ruby/core/kernel/system_spec.rb M spec/ruby/core/kernel/then_spec.rb M spec/ruby/core/kernel/warn_spec.rb M spec/ruby/core/marshal/dump_spec.rb M spec/ruby/core/marshal/fixtures/marshal_data.rb M spec/ruby/core/marshal/shared/load.rb M spec/ruby/core/method/compose_spec.rb M spec/ruby/core/module/include_spec.rb M spec/ruby/core/module/method_defined_spec.rb M spec/ruby/core/module/prepend_spec.rb M spec/ruby/core/module/private_method_defined_spec.rb M spec/ruby/core/module/protected_method_defined_spec.rb M spec/ruby/core/module/refine_spec.rb M spec/ruby/core/module/remove_const_spec.rb M spec/ruby/core/nil/match_spec.rb M spec/ruby/core/numeric/shared/step.rb M spec/ruby/core/numeric/step_spec.rb M spec/ruby/core/proc/compose_spec.rb M spec/ruby/core/proc/shared/compose.rb M spec/ruby/core/process/spawn_spec.rb A spec/ruby/core/process/status/wait_spec.rb M spec/ruby/core/random/bytes_spec.rb M spec/ruby/core/random/random_number_spec.rb M spec/ruby/core/range/bsearch_spec.rb M spec/ruby/core/range/case_compare_spec.rb M spec/ruby/core/range/each_spec.rb M spec/ruby/core/range/equal_value_spec.rb M spec/ruby/core/range/inspect_spec.rb M spec/ruby/core/range/last_spec.rb M spec/ruby/core/range/max_spec.rb M spec/ruby/core/range/min_spec.rb M spec/ruby/core/range/minmax_spec.rb M spec/ruby/core/range/new_spec.rb M spec/ruby/core/range/percent_spec.rb M spec/ruby/core/range/shared/cover.rb M spec/ruby/core/range/shared/cover_and_include.rb M spec/ruby/core/range/shared/equal_value.rb M spec/ruby/core/range/size_spec.rb M spec/ruby/core/range/step_spec.rb M spec/ruby/core/range/to_a_spec.rb M spec/ruby/core/range/to_s_spec.rb M spec/ruby/core/string/gsub_spec.rb M spec/ruby/core/string/index_spec.rb M spec/ruby/core/string/scrub_spec.rb M spec/ruby/core/string/shared/slice.rb M spec/ruby/core/string/split_spec.rb M spec/ruby/core/string/uminus_spec.rb M spec/ruby/core/struct/filter_spec.rb M spec/ruby/core/struct/to_h_spec.rb M spec/ruby/core/thread/backtrace_locations_spec.rb M spec/ruby/core/thread/shared/wakeup.rb M spec/ruby/core/time/at_spec.rb M spec/ruby/core/time/getlocal_spec.rb M spec/ruby/core/time/minus_spec.rb M spec/ruby/core/time/new_spec.rb M spec/ruby/core/time/plus_spec.rb M spec/ruby/core/time/succ_spec.rb M spec/ruby/core/tracepoint/enable_spec.rb M spec/ruby/core/tracepoint/eval_script_spec.rb M spec/ruby/core/tracepoint/parameters_spec.rb M spec/ruby/language/constants_spec.rb M spec/ruby/language/delegation_spec.rb M spec/ruby/language/hash_spec.rb M spec/ruby/language/lambda_spec.rb M spec/ruby/language/range_spec.rb M spec/ruby/language/regexp_spec.rb M spec/ruby/language/rescue_spec.rb M spec/ruby/language/safe_spec.rb M spec/ruby/language/variables_spec.rb M spec/ruby/library/bigdecimal/BigDecimal_spec.rb M spec/ruby/library/bigdecimal/util_spec.rb M spec/ruby/library/erb/fixtures/classes.rb M spec/ruby/library/erb/new_spec.rb M spec/ruby/library/matrix/antisymmetric_spec.rb A spec/ruby/library/monitor/enter_spec.rb A spec/ruby/library/monitor/new_cond_spec.rb M spec/ruby/library/monitor/synchronize_spec.rb A spec/ruby/library/monitor/try_enter_spec.rb M spec/ruby/library/net/http/HTTPClientExcepton_spec.rb M spec/ruby/library/net/http/HTTPServerException_spec.rb M spec/ruby/library/net/http/http/fixtures/http_server.rb M spec/ruby/library/net/http/httpresponse/error_spec.rb M spec/ruby/library/net/http/httpresponse/error_type_spec.rb M spec/ruby/library/net/http/httpresponse/exception_type_spec.rb M spec/ruby/library/net/http/httpresponse/value_spec.rb A spec/ruby/library/objectspace/memsize_of_all_spec.rb M spec/ruby/library/objectspace/memsize_of_spec.rb A spec/ruby/library/objectspace/trace_object_allocations_spec.rb M spec/ruby/library/openstruct/to_h_spec.rb M spec/ruby/library/rbconfig/unicode_version_spec.rb M spec/ruby/library/set/filter_spec.rb M spec/ruby/library/set/sortedset/filter_spec.rb M spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb M spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb M spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb M spec/ruby/library/socket/socket/accept_nonblock_spec.rb M spec/ruby/optional/capi/debug_spec.rb M spec/ruby/optional/capi/encoding_spec.rb A spec/ruby/optional/capi/ext/fiber_spec.c M spec/ruby/optional/capi/ext/regexp_spec.c M spec/ruby/optional/capi/ext/rubyspec.h M spec/ruby/optional/capi/ext/string_spec.c A spec/ruby/optional/capi/fiber_spec.rb A spec/ruby/optional/capi/fixtures/read.txt M spec/ruby/optional/capi/proc_spec.rb M spec/ruby/optional/capi/regexp_spec.rb M spec/ruby/optional/capi/string_spec.rb M spec/ruby/security/cve_2019_8321_spec.rb M spec/ruby/security/cve_2019_8322_spec.rb M spec/ruby/security/cve_2019_8323_spec.rb M spec/ruby/security/cve_2019_8325_spec.rb M spec/ruby/security/cve_2020_10663_spec.rb M spec/ruby/shared/rational/Rational.rb commit 15d05f8120745a121b93fab9fd2addf5f094e8d2 Author: Benoit Daloze Date: Thu Jul 29 22:11:19 2021 +0200 Update to ruby/mspec@9542a88 M spec/mspec/README.md M spec/mspec/lib/mspec/utils/script.rb commit 41e2ab88c3722a7de7c5bbe189754d32a83bc52e Author: aycabta Date: Fri Jul 30 02:56:29 2021 +0900 Use test-unit assertions M test/reline/windows/test_key_event_record.rb commit 1c9cb9da8fa601c747cb90baba5fe6834b28914f Author: aycabta Date: Tue Jul 6 23:03:09 2021 +0900 [ruby/reline] Support Terminfo on Cygwin and macOS https://github.com/ruby/reline/commit/b0b75fcd27 M lib/reline/terminfo.rb commit f1b5cb7e5d9498405f7ed611abda37cb0d9f2ea4 Author: aycabta Date: Mon Jul 5 15:54:12 2021 +0900 [ruby/reline] Don't check the existence of Terminfo on Windows https://github.com/ruby/reline/commit/320f09055c M lib/reline/terminfo.rb commit b158b4666d88eda3d9b9786fd427405749aff48f Author: aycabta Date: Wed Jul 28 23:26:41 2021 +0900 [ruby/reline] Check TYPE_VARIADIC https://github.com/ruby/reline/commit/8e62e46e33 M lib/reline/terminfo.rb commit 0f496b9b29a38cfe39710c96111549d387f73321 Author: aycabta Date: Thu Jun 24 18:04:02 2021 +0900 [ruby/reline] Define StringWithTiparm instead of singular method https://github.com/ruby/reline/commit/de234dc875 M lib/reline/terminfo.rb commit 5b9f3ed326ee24ecdd8986f71cbecea892f386b6 Author: SilverPhoenix99 Date: Mon Jul 26 14:11:16 2021 +0100 [ruby/reline] Fixed Ctrl+Enter key in Windows. https://github.com/ruby/reline/commit/0c38e39023 M lib/reline/windows.rb A test/reline/windows/test_key_event_record.rb commit 46c6da9c378a64deb2d65d8fcf5afd4d7c9c3f45 Author: aycabta Date: Sat Jul 24 15:01:22 2021 +0900 [ruby/reline] Check empty .inputrc https://github.com/ruby/reline/commit/b60b3b76cd M lib/reline/config.rb M test/reline/test_config.rb commit 51ee24e7f7223b5c759eebcd9fe12d7f16ea6707 Author: aycabta Date: Sat Jul 24 14:46:54 2021 +0900 [ruby/reline] Add original C function declarations comment for each function https://github.com/ruby/reline/commit/9a25ee9f12 M lib/reline/terminfo.rb commit 44a9337a46ec1a965803999211c4c2b964b9c2f9 Author: Jeremy Evans Date: Fri Jul 23 13:43:28 2021 -0700 [ruby/reline] Fix reline on OpenBSD OpenBSD doesn't support tiparm, only tparm. I'm not sure if the two are compatible, but this at least this allows me to run irb on OpenBSD. https://github.com/ruby/reline/commit/0ce2b34e2b M lib/reline/terminfo.rb commit 1bf768d2e1f56457d5e2b35d90719553bf1f9601 Author: SilverPhoenix99 Date: Wed Jul 21 19:11:09 2021 +0100 [ruby/reline] Added support for Numpad divide key on Windows. https://github.com/ruby/reline/commit/84577da0c4 M lib/reline/windows.rb commit 750359ce81d2c390d667999f7c900c9b395b93b8 Author: aycabta Date: Sun Jul 18 22:10:48 2021 +0900 [ruby/reline] Support Enter key of numpad on Windows The yamatanooroti gem can't emulate numpad key pressing... https://github.com/ruby/reline/commit/8e9da1aeaf M lib/reline/windows.rb commit 03f8c271796ffb976487495f1675ec7583b6762d Author: Lars Kanis Date: Thu Jul 8 10:09:38 2021 +0200 [ruby/reline] Windows cmd: Don't type anything when pressing ALT keys alone Fixes #298 https://github.com/ruby/reline/commit/72acfcd27a M lib/reline/windows.rb M test/reline/yamatanooroti/test_rendering.rb commit 5313d234e01b5f34f969be265ec2cea7e921f9ae Author: aycabta Date: Wed Jul 7 20:23:39 2021 +0900 [ruby/reline] Use "omit" instead of "return" https://github.com/ruby/reline/commit/940cdaa301 M test/reline/test_key_actor_emacs.rb commit b0633ee4b313300028901c50a1bda2aca28f69d4 Author: aycabta Date: Fri Jun 25 20:01:02 2021 +0900 [ruby/reline] Add TODO comment to implement tigetflag() and tigetnum() https://github.com/ruby/reline/commit/a0d946a398 M lib/reline/terminfo.rb commit 8fc98295cb22cf179ba6805872e545921d080745 Author: aycabta Date: Fri Jun 25 18:04:27 2021 +0900 [ruby/reline] Add Terminfo tests https://github.com/ruby/reline/commit/17721e477e A test/reline/test_terminfo.rb commit 2a7e86844bca0413b82a905933b198884dd6ab28 Author: aycabta Date: Sun Jun 27 21:01:36 2021 +0900 [ruby/reline] Add require 'reline/terminfo' to use Reline::Terminfo.enabled? https://github.com/ruby/reline/commit/7ef9805b35 M lib/reline.rb commit 87b327efe6c1f456c43b3f105c7a92a5a7effe93 Author: Jeremy Evans Date: Wed Apr 7 11:32:30 2021 -0700 Do not check pending interrupts when running finalizers This fixes cases where exceptions raised using Thread#raise are swallowed by finalizers and not delivered to the running thread. This could cause issues with finalizers that rely on pending interrupts, but that case is expected to be rarer. Fixes [Bug #13876] Fixes [Bug #15507] Co-authored-by: Koichi Sasada M gc.c M test/ruby/test_objectspace.rb commit cbecf9c7ba71ef0e844c72c97f85ce4fffb46aa6 Author: Alan Wu Date: Thu Jul 29 12:04:36 2021 -0400 Fix use-after-free on -DUSE_EMBED_CI=0 On -DUSE_EMBED_CI=0, there are more GC allocations and the old code didn't keep old_operands[0] reachable while allocating. On a Debian based system, I get a crash requiring erb under GC stress mode. On macOS, tool/transcode-tblgen.rb runs incorrectly if I put GC.stress=true as the first line. M compile.c commit 12d4da7478136f12f463cc8029d73cd22ec0a021 Author: git Date: Fri Jul 30 00:14:57 2021 +0900 * 2021-07-30 [ci skip] M version.h commit 693ce6af0a3c73ae6927ea67e990cd7f778eaac7 Author: Jeremy Evans Date: Thu Jul 29 08:10:20 2021 -0700 Update documentation for ruby2_keywords Point out that the method should be used for backwards compatibility with code prior to Ruby 3.0 instead of Ruby 2.7. It's still needed in Ruby 2.7. It isn't needed in Ruby 3.0, as the methods using it could switch to delegating both positional and keyword arguments. Add a link to the www.ruby-lang.org web page that goes into detail describing when and how ruby2_keywords should be used. M vm_method.c commit 7564e066ffba6113604628bf01819e3e0af7037e Author: Nobuyoshi Nakada Date: Thu Jul 29 16:23:54 2021 +0900 Renamed thraed_fd_close as thread_fd A ext/-test-/thread_fd/depend A ext/-test-/thread_fd/extconf.rb R089 ext/-test-/thread_fd_close/thread_fd_close.c ext/-test-/thread_fd/thread_fd.c D ext/-test-/thread_fd_close/depend D ext/-test-/thread_fd_close/extconf.rb R093 test/-ext-/thread_fd_close/test_thread_fd_close.rb test/-ext-/thread_fd/test_thread_fd_close.rb commit f8ad51dd9a8c9fe493f0eb280ac9709ed5607acf Author: Hiroshi SHIBATA Date: Thu Jul 29 20:11:54 2021 +0900 Fix test failure of 60b02db5161625dd5f7d22d31989dd966837333c with Windows M test/net/http/test_http.rb commit a4df7cb33804add1d894ead66480365ea7f45fa1 Author: Hiroshi SHIBATA Date: Thu Jul 29 16:26:15 2021 +0900 Partly picking https://github.com/ruby/error_highlight/commit/25ef7dbeda4f2cfcad1675f70319401ef4916f40#diff-1ce41a048bf2c08aa7bf25b741e9d3a4e08ea03f0d80bc6b8ee6d1c3c259704dR1022 M test/error_highlight/test_error_highlight.rb commit 672796575e4b5493174bc17007d0784f0c031eaf Author: Hiroshi SHIBATA Date: Thu Jul 29 16:20:10 2021 +0900 Update the latest version of readline.gemspec M lib/readline.gemspec commit a889ab486e83b9d87b8ad6c5b96e57fff1f21f93 Author: Hiroshi SHIBATA Date: Thu Jul 29 15:57:58 2021 +0900 Update the latest version of json.gemspec from flori/json M ext/json/json.gemspec commit e99d2d066fc2ce05e79616e7ab43410955d769ea Author: Rhys Powell Date: Sat Jul 24 12:58:27 2021 +1000 [ruby/psych] fix: use git repository link for LibYAML in docs LibYAML has moved from their previous Mercurial based hosting on BitBucket to a git repository on GitHub. This commit updates the `Psych` module's documentation to point to this new repository, instead of the old one which is now a 404. https://github.com/ruby/psych/commit/947a84d0dd M ext/psych/lib/psych.rb commit b11638eed299a3f2c9df084fd26b001a46b2fbd2 Author: Pavel Rosický Date: Mon Jun 7 23:19:40 2021 +0200 [ruby/psych] require 'delegate' explicitly https://github.com/ruby/psych/commit/51a9ce13db M test/psych/visitors/test_yaml_tree.rb commit 60b02db5161625dd5f7d22d31989dd966837333c Author: Miguel Teixeira Date: Fri Jun 11 16:49:22 2021 +0100 [ruby/net-http] Enforce write timeout when body_stream is used The existing implementation of `Net::HTTP#write_timeout` relies on `Net::BefferedIO` to trigger the `Net::WriteTimeout` error. This commit changes `send_request_with_body_stream` to remove the optimization that was making `Net::HTTP#write_timeout` not work when `body_stream` is used. Open issue: https://bugs.ruby-lang.org/issues/17933 https://github.com/ruby/net-http/commit/a0fab1ab52 M lib/net/http/generic_request.rb M test/net/http/test_http.rb commit b3413914d949677fb975824b23d3e66dc0fa2fbe Author: Hiroshi SHIBATA Date: Thu Jul 29 15:52:32 2021 +0900 Partly picked from https://github.com/ruby/ostruct/commit/20d0b8c065392a22ba6d74194cf116755f38337f M test/ostruct/test_ostruct.rb commit 1e04571da07ed742efa3cb33b4b3aa1089314d51 Author: BurdetteLamar Date: Mon Jun 21 14:38:33 2021 -0500 [ruby/set] Improve What's Here links https://github.com/ruby/set/commit/76b056c3b9 M lib/set.rb commit 2bd68e32e7c51ccce046264686a367126c6baf01 Author: BurdetteLamar Date: Mon Jun 21 14:33:02 2021 -0500 [ruby/set] Improve What's Here links https://github.com/ruby/set/commit/dd787a3988 M lib/set.rb commit 899194f3a6e29626460084a8594d5c52a0b1f006 Author: Olle Jonsson Date: Sat Jun 19 10:45:29 2021 +0200 [ruby/set] gemspec: This gem exposes 0 executables This change removes unused configuration. https://github.com/ruby/set/commit/6c2338d699 M lib/set/set.gemspec commit 52e602edda0aa61a83f558bcf9bfdd97a4fd107f Author: Jeremy Evans Date: Fri Jun 18 08:24:45 2021 -0700 [ruby/set] Update documentation for intersect?/disjoint? https://github.com/ruby/set/commit/35b69e9d69 M lib/set.rb commit cafa7d897554320b5194f5d71d6a3936f954b484 Author: Jeremy Evans Date: Tue Jun 15 15:14:54 2021 -0700 [ruby/set] Allow the use of any enumerable in intersect?/disjoint? https://github.com/ruby/set/commit/1a73ab9047 M lib/set.rb commit 571dafdc7f57af067706fbc318a64778f4fc218a Author: Jeremy Evans Date: Tue Jun 15 11:08:45 2021 -0700 [ruby/set] Allow Set#intersect? and #disjoint? to accept array argument Implements [Feature #17838] https://github.com/ruby/set/commit/d9b389bafa M lib/set.rb M test/test_set.rb commit 27fb9d272daaae89089dfb61849ebe8e7aa6c833 Author: Yusuke Endoh Date: Thu Jul 29 13:49:35 2021 +0900 test/socket/test_socket.rb: skip on Solaris The test fails on Solaris 10. Maybe due to the IPv6 configuration on the server, but I have no idea at all. I've asked @ngoto to investigate the issue, so will tentatively skip the tests on Solaris http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20210729T040002Z.fail.html.gz M test/socket/test_socket.rb commit 64adeeadaa8d7fe210d0605eb6c9b0b1dcf49746 Author: S.H Date: Thu Jul 29 12:51:10 2021 +0900 Add RBOOL macro and use it M file.c commit 656b49ec475c454c6cfb81a2d2fee9e7314f69fa Author: Soutaro Matsumoto Date: Thu Jul 29 10:49:09 2021 +0900 Bundle RBS 1.3.3 (#4688) commit f06f1981e2cca07227c8af13292c754c0417a74f Author: Peter Zhu Date: Wed Jul 28 13:11:27 2021 -0400 Don't export rb_gc_ractor_newobj_cache_clear M internal/gc.h commit fa0279d947c3962c3f8c32852278d3ebb964cb19 Author: Koichi Sasada Date: Wed Jul 28 13:40:30 2021 +0900 should not share same `def` for specialized method Because the key of redefine table is `def`, `def` should be unique for each optimized method (`alias` is not allowed). M array.c commit fb4cf204a662a8cd9dafef6f31f2bd0db9129abe Author: Koichi Sasada Date: Thu May 13 03:10:18 2021 +0900 use me->def instead of me for opt_table `vm_opt_method_table` is me=>bop table to manage the optimized methods (by specialized instruction). However, `me` can be invalidated to invalidate the method cache entry. [Bug #17725] To solve the issue, use `me-def` instead of `me` which simply copied at invalidation timing. A test by @jeremyevans https://github.com/ruby/ruby/pull/4376 M test/ruby/test_method.rb M vm.c commit 7af750af8e718acf962578af988883ead55135b3 Author: git Date: Thu Jul 29 00:51:10 2021 +0900 * 2021-07-29 [ci skip] M version.h commit 3b9fe3e15a352c8e3b81fd640e076fe4b6c375a0 Author: Jeremy Evans Date: Wed Jul 28 08:45:26 2021 -0700 Handle Timeout::Error instead of NoMemoryError in test Solaris 11 CI times out instead of raising NoMemoryError for large allocations, so it cannot test ensure after NoMemoryError. M test/ruby/test_exception.rb commit d04ba0906c35013a8432535168eec270d6e9a913 Author: Kazuhiro NISHIYAMA Date: Wed Jul 28 22:54:24 2021 +0900 Update bundled_gems M gems/bundled_gems commit 0dcae3bd4aa69a78d095125e4d6f73c63968fa53 Author: Hiroshi SHIBATA Date: Wed Jul 28 20:13:36 2021 +0900 Support document sync for optparse M tool/sync_default_gems.rb commit 23ef32665689e43c200fb6ad9f14934a752d47b5 Author: Hiroshi SHIBATA Date: Wed Jul 28 15:24:19 2021 +0900 Manually picking https://github.com/ruby/optparse/pull/14 D doc/option_params/argument_keywords.rb D doc/option_params/argument_strings.rb D doc/option_params/array.rb D doc/option_params/block.rb D doc/option_params/date.rb D doc/option_params/datetime.rb D doc/option_params/decimal_integer.rb D doc/option_params/decimal_numeric.rb D doc/option_params/descriptions.rb D doc/option_params/explicit_array_values.rb D doc/option_params/explicit_hash_values.rb D doc/option_params/false_class.rb D doc/option_params/float.rb D doc/option_params/integer.rb D doc/option_params/long_binary.rb D doc/option_params/long_optional.rb D doc/option_params/long_required.rb D doc/option_params/long_simple.rb D doc/option_params/matched_values.rb D doc/option_params/method.rb D doc/option_params/mixed_names.rb D doc/option_params/numeric.rb D doc/option_params/object.rb D doc/option_params/octal_integer.rb D doc/option_params/option_params.rdoc D doc/option_params/proc.rb D doc/option_params/regexp.rb D doc/option_params/shellwords.rb D doc/option_params/short_optional.rb D doc/option_params/short_range.rb D doc/option_params/short_required.rb D doc/option_params/short_simple.rb D doc/option_params/string.rb D doc/option_params/terminator.rb D doc/option_params/time.rb D doc/option_params/true_class.rb D doc/option_params/uri.rb D doc/tutorial/argv.rb D doc/tutorial/long_names.rb D doc/tutorial/mixed_names.rb D doc/tutorial/optional_argument.rb D doc/tutorial/required_argument.rb D doc/tutorial/short_names.rb D doc/tutorial/tutorial.rdoc commit 3026ee56b15ad983ebbff625273256dddf5ac48d Author: Olle Jonsson Date: Fri Apr 23 13:04:25 2021 +0200 [ruby/optparse] Remove an errant { character (https://github.com/ruby/optparse/pull/26) https://github.com/ruby/optparse/commit/47417f1b4c M doc/optparse/argument_converters.rdoc commit c4556a2022fbb63fe2821027ea6915faf21e87be Author: Burdette Lamar Date: Thu Apr 22 14:22:11 2021 -0500 [ruby/optparse] Fix link in included file https://github.com/ruby/optparse/commit/bf03038d95 M doc/optparse/creates_option.rdoc commit 1333620afd1a7ffcca7cb593798d8186629c76bb Author: Burdette Lamar Date: Thu Apr 22 08:48:23 2021 -0500 [ruby/optparse] More on tutorial (https://github.com/ruby/optparse/pull/24) - Adds section "Parsing" to tutorial.rdoc. - Removes section "Terminators" from option_params.rdoc. (Terminator '--' is not an option parameter.) https://github.com/ruby/optparse/commit/40d51ccbad M doc/optparse/option_params.rdoc A doc/optparse/ruby/parse.rb A doc/optparse/ruby/parse_bang.rb M doc/optparse/tutorial.rdoc commit 27679b349e453b5ab1ce31472389bcb7ce550e4e Author: Burdette Lamar Date: Thu Apr 22 07:27:06 2021 -0500 [ruby/optparse] More on tutorial (https://github.com/ruby/optparse/pull/23) - Removed a largish block of repeated text. - Added sections "Top List and Base List" and "Methods for Defining Options" (on, define, etc.). - Linked from class OptionParser doc to the tutorial. https://github.com/ruby/optparse/commit/7f3195b9db M doc/optparse/ruby/basic.rb M doc/optparse/tutorial.rdoc M lib/optparse.rb commit a10db32003320a81c32a3733d9d97ba6e3614efa Author: Nobuyoshi Nakada Date: Fri Apr 16 12:57:55 2021 +0900 [ruby/optparse] Removed a duplicate section https://github.com/ruby/optparse/commit/7ef3d89e78 M doc/optparse/tutorial.rdoc commit 98ccb49ac3bea0e2233d2b3f642a3e0579801988 Author: Burdette Lamar Date: Thu Apr 15 09:32:02 2021 -0500 [ruby/optparse] More on tutorial (https://github.com/ruby/optparse/pull/22) Adds argument abbreviation in option_params.rdoc. Adds entire Argument Values section to tutorial.rdoc. https://github.com/ruby/optparse/commit/9c5b3f244b M doc/optparse/option_params.rdoc M doc/optparse/ruby/help.rb R100 doc/optparse/ruby/abbreviation.rb doc/optparse/ruby/name_abbrev.rb M doc/optparse/tutorial.rdoc commit 43af561e0878ca856513edd3db56ce7dff8e7fe3 Author: Burdette Lamar Date: Mon Apr 12 20:33:19 2021 -0500 [ruby/optparse] Rdoc for help (https://github.com/ruby/optparse/pull/21) https://github.com/ruby/optparse/commit/d07cb96a96 A doc/optparse/ruby/help.rb A doc/optparse/ruby/help_banner.rb A doc/optparse/ruby/help_format.rb A doc/optparse/ruby/help_program_name.rb M doc/optparse/tutorial.rdoc commit a15f0b9fe24c3488ca69171c147a8648b55c8fbc Author: Burdette Lamar Date: Sun Apr 11 23:43:02 2021 -0500 [ruby/optparse] Tutorial: explain custom argument converters (https://github.com/ruby/optparse/pull/19) https://github.com/ruby/optparse/commit/385dd4322d M doc/optparse/argument_converters.rdoc A doc/optparse/ruby/basic.rb A doc/optparse/ruby/match_converter.rb M doc/optparse/tutorial.rdoc commit bf175e7ec20a1ea3e81b906074a6829b9cc34335 Author: Nobuyoshi Nakada Date: Mon Apr 12 02:02:11 2021 +0900 [ruby/optparse] nodoc private methods https://github.com/ruby/optparse/commit/f23d750d14 M lib/optparse.rb commit 311eb328c8e95706276019cc38dd0616997629cf Author: Nobuyoshi Nakada Date: Mon Apr 12 00:38:40 2021 +0900 [ruby/optparse] Fixed mismatched tag https://github.com/ruby/optparse/commit/7e65ef3cfa M doc/optparse/tutorial.rdoc commit a4631a427367766517c8920d323dcd96a835b06c Author: Burdette Lamar Date: Wed Apr 7 09:01:52 2021 -0500 [ruby/optparse] Enhanced doc for option parameters (https://github.com/ruby/optparse/pull/11) https://github.com/ruby/optparse/commit/5618eeb49e A doc/option_params/argument_keywords.rb A doc/option_params/argument_strings.rb A doc/option_params/array.rb A doc/option_params/block.rb A doc/option_params/date.rb A doc/option_params/datetime.rb A doc/option_params/decimal_integer.rb A doc/option_params/decimal_numeric.rb A doc/option_params/descriptions.rb A doc/option_params/explicit_array_values.rb A doc/option_params/explicit_hash_values.rb A doc/option_params/false_class.rb A doc/option_params/float.rb A doc/option_params/integer.rb A doc/option_params/long_binary.rb A doc/option_params/long_optional.rb A doc/option_params/long_required.rb A doc/option_params/long_simple.rb A doc/option_params/matched_values.rb A doc/option_params/method.rb A doc/option_params/mixed_names.rb A doc/option_params/numeric.rb A doc/option_params/object.rb A doc/option_params/octal_integer.rb A doc/option_params/option_params.rdoc A doc/option_params/proc.rb A doc/option_params/regexp.rb A doc/option_params/shellwords.rb A doc/option_params/short_optional.rb A doc/option_params/short_range.rb A doc/option_params/short_required.rb A doc/option_params/short_simple.rb A doc/option_params/string.rb A doc/option_params/terminator.rb A doc/option_params/time.rb A doc/option_params/true_class.rb A doc/option_params/uri.rb commit 05e9efa323eb99727b099590c1d40d23f38443ef Author: Burdette Lamar Date: Tue Apr 6 13:55:21 2021 -0500 [ruby/optparse] More on tutorial (https://github.com/ruby/optparse/pull/9) * More on tutorial * More on tutorial * More on tutorial * More on tutorial: clearer example output https://github.com/ruby/optparse/commit/84dfd92d2a D doc/ruby/long_names.rb D doc/ruby/mixed_names.rb D doc/ruby/short_names.rb R100 doc/ruby/argv.rb doc/tutorial/argv.rb A doc/tutorial/long_names.rb A doc/tutorial/mixed_names.rb A doc/tutorial/optional_argument.rb A doc/tutorial/required_argument.rb A doc/tutorial/short_names.rb R053 doc/tutorial.rdoc doc/tutorial/tutorial.rdoc commit 8844eba4882e2a1627d26ea54a481b582640f739 Author: BurdetteLamar Date: Mon Mar 29 14:03:04 2021 -0500 [ruby/optparse] Beginnings of tutorial https://github.com/ruby/optparse/commit/f209276f79 A doc/ruby/argv.rb A doc/ruby/long_names.rb A doc/ruby/mixed_names.rb A doc/ruby/short_names.rb A doc/tutorial.rdoc commit 59a65f2d2402e0d34d9232236f152d62e74f9483 Author: Benoit Daloze Date: Wed Jul 28 12:26:31 2021 +0200 Update to latest uri * https://github.com/ruby/uri/commit/bc47bf71df2b2e9cea09d0b2684ceac7355e42a0 * To include the fix from https://github.com/ruby/uri/pull/27 M lib/uri/common.rb M test/uri/test_generic.rb commit 71945ad827efe0bf62bbf87b5528206aabbd4022 Author: Nobuyoshi Nakada Date: Wed Jul 28 19:08:05 2021 +0900 Fix a comment [ci skip] M hash.c commit 342dbd4f4e1ebfb31284a087f10232ea684b66a0 Author: Nobuyoshi Nakada Date: Wed Jul 28 16:58:25 2021 +0900 Remove duplicate declarations Also defined in include/ruby/internal/core/rarray.h which always will be included. M internal/array.h commit b3d62a77d928eff01268ca7fa1c1c0966702926d Author: Jeremy Evans Date: Tue Jun 15 15:27:57 2021 -0700 [ruby/zlib] Synchronize access to zstream to prevent segfault in multithreaded use I'm not sure whether this handles all multithreaded use cases, but this handles the example that crashes almost immediately and does 10,000,000 total deflates using 100 separate threads. To prevent the tests from taking forever, the committed test for this uses only 10,000 deflates across 10 separate threads, which still causes a segfault in the previous implementation almost immediately. Fixes [Bug #17803] https://github.com/ruby/zlib/commit/4b1023b3f2 M ext/zlib/zlib.c M test/zlib/test_zlib.rb commit 218c3b25480d7de904a24d4508e7135c160eb871 Author: Marcus Stollsteimer Date: Thu Jan 9 20:42:48 2020 +0100 [ruby/readline] Improve the gem's description Improve the language in the gem's summary and description; also remove U+00A0 (no-break space) characters from post-install box. https://github.com/ruby/readline/commit/5037cf7ffc M lib/readline.gemspec commit 5b574b40a98c02b5cc29a71d03eb1018a118b47f Author: Olle Jonsson Date: Thu Jun 3 12:35:52 2021 +0200 [ruby/resolv-replace] gemspec: Drop executables directive This gem exposes no executables. https://github.com/ruby/resolv-replace/commit/fa405185f7 M lib/resolv-replace.gemspec commit 51321985fb22117149634c8960650540e3966b06 Author: Hiroshi SHIBATA Date: Tue Jun 1 11:37:03 2021 +0900 [ruby/resolv] Bump version to 0.2.1 https://github.com/ruby/resolv/commit/095f1c003f M lib/resolv.gemspec commit 0663134ad115e6ba67913555c558392edfc57205 Author: Olle Jonsson Date: Thu Jun 3 15:10:28 2021 +0200 [ruby/getoptlong] RDoc: escape to avoid links to the word Set We would like to avoid linking to the Set class for these words. https://github.com/ruby/getoptlong/commit/33b56d6141 M lib/getoptlong.rb commit eb3a7eda5e2722a7f59a610de544039aedc38f3b Author: Olle Jonsson Date: Thu Jun 3 12:48:42 2021 +0200 [ruby/getoptlong] gemspec: Drop executables directives This gem exposes 0 executables. https://github.com/ruby/getoptlong/commit/4522163cbd M lib/getoptlong/getoptlong.gemspec commit 345db8f2aa373a31c619c8f85bd372f0a20829c1 Author: Jeremy Evans Date: Tue Jul 27 13:55:21 2021 -0700 Avoid pointless attempts to open .so file if already required When attempting to require a file without an extension that has already been required or provided with an .so extension, only look for files with an .rb extension. There is no point in trying to find files with an .so extension, since we already know one has been loaded. Previously, attempting to require such a file scanned the load path twice, once for .rb and once for .so. Now it only scans once for .rb. The scan once for .rb cannot be avoided, since the .rb file would take precedence and should be loaded if it exists. Fixes [Bug #10902] M load.c commit 30d0e5d1ae4ee4a3c145ca4bdacaad5b09c49bb7 Author: Hiroshi SHIBATA Date: Tue Jun 1 21:15:46 2021 +0900 [ruby/digest] Also drop to support Ruby 2.4 https://github.com/ruby/digest/commit/360a7de366 M ext/digest/digest.gemspec commit 260546ba26affaa6f8443060275cc436ad582908 Author: Hiroshi SHIBATA Date: Tue Jun 1 21:08:26 2021 +0900 [ruby/digest] Use Gemfile instead of Gem::Specification#add_development_dependency https://github.com/ruby/digest/commit/460a6f807e M ext/digest/digest.gemspec commit 5b96f4dd8c8cf3d79be07a3cd3faa8520307a591 Author: Hiroshi SHIBATA Date: Tue Jun 1 21:07:15 2021 +0900 [ruby/digest] Drop to support Ruby 2.3 https://github.com/ruby/digest/commit/23dc9c7425 M ext/digest/digest.gemspec commit be4b0eee1980612f74314e5066d264b661aad040 Author: Hiroshi SHIBATA Date: Tue Jun 1 20:55:55 2021 +0900 [ruby/digest] Use pend instead of skip https://github.com/ruby/digest/commit/82fb618157 M test/digest/test_ractor.rb commit 26e859b5c7e9481b070dbd38dbf82d53e59d08c3 Author: Olle Jonsson Date: Thu Apr 1 16:10:52 2021 +0200 [ruby/digest] gemspec: Avoid distributing extraneous files https://github.com/ruby/digest/commit/0a451e0c94 M ext/digest/digest.gemspec commit add48acea31560997796c0e7f2541cfbec93b44f Author: Olle Jonsson Date: Thu Apr 1 16:13:58 2021 +0200 [ruby/digest] gemspec: Explicitly have 0 executables https://github.com/ruby/digest/commit/086d54ba94 M ext/digest/digest.gemspec commit 478f0ddb5f37085588485d3d00024a146af7bc44 Author: Olle Jonsson Date: Tue Apr 6 12:39:24 2021 +0200 [ruby/digest] Experiment: Use a .pre version in gemspec This makes it slightly more explicit that this is not a definite new version. https://github.com/ruby/digest/commit/2bb5bb78a3 M ext/digest/digest.gemspec commit 73c5d4d54e817e2a8366c8e32a5250b29c3c25f9 Author: Olle Jonsson Date: Thu Apr 1 17:33:35 2021 +0200 [ruby/digest] Experiment: bump patch version This is a test, to see if the build failures are about the shipped Ruby master version of this gem. https://github.com/ruby/digest/commit/d2606b2cce M ext/digest/digest.gemspec commit 42ea359a0ccea15dda3559efdd2f60ec36289868 Author: Nobuyoshi Nakada Date: Wed Jul 28 11:43:54 2021 +0900 Suppress "possibly useless use of * in void context" warning M test/ruby/test_exception.rb commit 6505c77501f1924571b2fe620c5c7b31ede0cd22 Author: Yusuke Endoh Date: Wed Jul 28 11:05:36 2021 +0900 Revert "Fix potential hang when joining threads." This reverts commit 13f8521c630a15c87398dee0763e95f59c032a94. http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210727T230009Z.fail.html.gz http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20210728T000009Z.fail.html.gz This revert is to confirm whether the commit is the cause. If the failures consistently occur after this revert, I'll reintroduce the commit. M test/fiber/scheduler.rb M test/fiber/test_thread.rb M thread.c M vm.c commit 4fc9ddd7b6af54abf88d702c2e11e97ca7750ce3 Author: Jeremy Evans Date: Tue Jul 27 12:30:43 2021 -0700 Update Capturing and Anchors sections of regexp documention Document that only first 9 numbered capture groups can use the \n backreference syntax. Document \0 backreference. Document \K anchor. Fixes [Bug #14500] M doc/regexp.rdoc commit 35e467080ca35a9a129e95f802f102c3bc0a81b3 Author: Jeremy Evans Date: Mon Jul 26 10:45:56 2021 -0700 Make Float#floor with ndigits argument handle error The previous implementation could result in a returned float that is 1/(10**ndigits) too low. First try adding one before dividing, and if that results in a value that is greater than the initial number, then try the original calculation. Spec added for ciel, but the issue doesn't appear to affect ciel, at least not for the same number. If the issue does effect ciel, a similar fix could probably work for it. Fixes [Bug #18018] M numeric.c M test/ruby/test_numeric.rb commit 338b604b3216b633d0fc897a915168104f20a514 Author: git Date: Wed Jul 28 02:48:15 2021 +0900 * 2021-07-28 [ci skip] M version.h commit a6dc48f86a8ee7b1f713105b5c7136824d6b5720 Author: Jeremy Evans Date: Wed Jun 16 10:23:11 2021 -0700 Fix infinite loop in ensure after NoMemoryError VM patch from wanabe. Test based on example from buzztaiki (Taiki Sugawara). Test fails when compiles with -DRUBY_DEBUG, as that can can use rb_bug instead of NoMemoryError, which doesn't allow testing this case. Test also fails on MingW, as RangeError is used instead of NoMemoryError. Skip the test in either case. Fixes [Bug #15779] M test/ruby/test_exception.rb M vm.c commit 230111802c2b9dcb8f391b489ff52a9dc0b41b87 Author: Jeremy Evans Date: Thu Jun 17 09:09:16 2021 -0700 [ruby/find] Add Errno::EINVAL to list of ignored errors This error can occur on Windows for certain filenames on certain code pages. Fixes [Bug #14591] https://github.com/ruby/find/commit/0a474d1027 M lib/find.rb commit acfec23becaa15936a00305f5742e74012b33e82 Author: Nobuyoshi Nakada Date: Tue Jul 27 18:49:28 2021 +0900 Remove probably unintented symlinks D bin/goruby D bin/ruby D lib/libruby.so.3.1.0 commit 26b1e6fca8f2c9e02e7b5d26fb35a16f3e7a66a3 Author: Martin Dürst Date: Tue Jul 27 18:12:24 2021 +0900 Deal with Unicode ranges in the file emoji-sequences.txt Detect Unicode ranges and loop over them. This fixes issue #18028. A bin/goruby A bin/ruby A lib/libruby.so.3.1.0 M test/ruby/enc/test_emoji_breaks.rb commit c3d31377b36b905779683ef22e4c27d25ddaa037 Author: Hiroshi SHIBATA Date: Tue Jul 27 18:00:32 2021 +0900 Bump unicode version for Ruby 3.1 M spec/ruby/library/rbconfig/unicode_emoji_version_spec.rb commit 6656309fe22b799016f3bc20a5f466da543a44c0 Author: Hiroshi SHIBATA Date: Tue Jul 27 17:34:13 2021 +0900 Fix test failure for parallel testing M lib/uri.rb M lib/uri/common.rb commit b875a85c5367b9dff96e1ca1e78a2e35580a2f80 Author: Hiroshi SHIBATA Date: Tue Jul 27 17:20:54 2021 +0900 Added missing require for URI::WS class M lib/uri.rb commit 3010b4047727a17fe5b09df15ee3ea1b7efc2cc1 Author: Martin Dürst Date: Tue Jul 27 17:05:06 2021 +0900 Adjust test/ruby/enc/test_emoji_breaks.rb to handle Emoji Version 13.1 Deal with the issue that the emoji files in emoji/13.1 have Unicode Emoji version 13.1, but at the same time the files in 13.0.0/ucd/emoji are still at Emoji version 13.0. Specifically: - Add a version attribute to TestEmojiBreaks::BreakFile - Take the version for emoji-variant-sequences.txt from the Unicode version, removing the last two characters. - Improve information in exceptions for file name and version mismatches. M test/ruby/enc/test_emoji_breaks.rb commit 01e98d87853bd612e6ac03a517cb60b077f5339c Author: Martin Dürst Date: Tue Jul 27 15:01:34 2021 +0900 Change Unicode Emoji Version from 13.0 to 13.1 M common.mk commit d3d68aa842b2071a10d70460ad99b79d145b74d8 Author: Hiroshi SHIBATA Date: Fri Jun 25 14:54:12 2021 +0900 [ruby/uri] User assert_ractor for test case of Ractor https://github.com/ruby/uri/commit/bbf8b44dba M test/uri/test_common.rb commit 1cf111774f03c6d1ddba735cb8cc79483f16f699 Author: Benoit Daloze Date: Fri Jun 25 13:38:01 2021 +0200 [ruby/uri] Add proper Ractor support to URI * Using a module to map scheme name to scheme class, which also works with Ractor. * No constant redefinition, no ObjectSpace, still fast lookup for initial schemes. https://github.com/ruby/uri/commit/883567fd81 M lib/uri.rb M lib/uri/common.rb M lib/uri/file.rb M lib/uri/ftp.rb M lib/uri/http.rb M lib/uri/https.rb M lib/uri/ldap.rb M lib/uri/ldaps.rb M lib/uri/mailto.rb M lib/uri/ws.rb M lib/uri/wss.rb M test/uri/test_common.rb commit 090d799c2496f4c0e1f25c9970f4015fc693ff0e Author: Benoit Daloze Date: Fri Jun 25 13:24:56 2021 +0200 [ruby/uri] Revert "Fix to support Ruby 3.0 Ractor" * This reverts commit 1faa4fdc161d7aeebdb5de0c407b923beaecf898. * It has too many problems, see https://github.com/ruby/uri/pull/22 for discussion. https://github.com/ruby/uri/commit/b959da2dc9 M lib/uri.rb M lib/uri/common.rb M lib/uri/file.rb M lib/uri/ftp.rb M lib/uri/http.rb M lib/uri/https.rb M lib/uri/ldap.rb M lib/uri/ldaps.rb M lib/uri/mailto.rb M lib/uri/ws.rb M lib/uri/wss.rb M test/uri/test_common.rb commit a288c21a5d46418e75c0f03eb12ff0782e51568d Author: kvokka Date: Sat May 29 11:29:39 2021 +0100 [ruby/uri] Fix to support Ruby 3.0 Ractor https://github.com/ruby/uri/commit/1faa4fdc16 M lib/uri.rb M lib/uri/common.rb M lib/uri/file.rb M lib/uri/ftp.rb M lib/uri/http.rb M lib/uri/https.rb M lib/uri/ldap.rb M lib/uri/ldaps.rb M lib/uri/mailto.rb M lib/uri/ws.rb M lib/uri/wss.rb M test/uri/test_common.rb commit 82191da2a28c8da0f1049ca6d814c9da992c39a1 Author: Nobuyoshi Nakada Date: Tue Jul 27 09:28:48 2021 +0900 Predefine recursive key ID M defs/id.def M thread.c commit 03e7fc895e9dbe420cad192f1ba679df558640dd Author: Nobuyoshi Nakada Date: Tue Jul 27 09:27:29 2021 +0900 Extracted repeatedly defined IDs M enum.c M transcode.c commit 537e8245613e8f4ccf62f856dd1dff4a012ed395 Author: Nobuyoshi Nakada Date: Tue Jul 27 09:23:47 2021 +0900 Don't redefine #rb_intern over and over again M transcode.c commit 6329da588b5a27834e3a73c1e08bf54356033757 Author: Nobuyoshi Nakada Date: Tue Jul 27 09:20:24 2021 +0900 Use predefined IDs M object.c M rational.c commit 0754cc4888bf96c77504c385d7aab0068202aa8f Author: Nobuyoshi Nakada Date: Tue Jul 27 09:11:23 2021 +0900 Added intern_ids.rb M defs/id.def A tool/intern_ids.rb commit 13f8521c630a15c87398dee0763e95f59c032a94 Author: Samuel Williams Date: Mon Jul 19 19:21:46 2021 +1200 Fix potential hang when joining threads. If the thread termination invokes user code after `th->status` becomes `THREAD_KILLED`, and the user unblock function causes that `th->status` to become something else (e.g. `THREAD_RUNNING`), threads waiting in `thread_join_sleep` will hang forever. We move the unblock function call to before the thread status is updated, and allow threads to join as soon as `th->value` becomes defined. M test/fiber/scheduler.rb M test/fiber/test_thread.rb M thread.c M vm.c commit cd49940cff39601ff573add7cbcc8e80a54ad5f2 Author: Nobuyoshi Nakada Date: Tue Jul 27 14:55:20 2021 +0900 Run in a separated process to run finalizers certainly M test/ruby/test_gc.rb commit 2de7c29b378598fd300e55c3f6b9a7121e7dcf5e Author: Yusuke Endoh Date: Tue Jul 27 13:41:10 2021 +0900 test/ruby/test_parse.rb: Prevent an "unused variable" warning M test/ruby/test_parse.rb commit 2d0a1e5f610be3230e0f5e4ab9650fef610fd342 Author: Nobuyoshi Nakada Date: Tue Jul 27 12:30:06 2021 +0900 Try GC more during suppressing the warning M test/ruby/test_gc.rb commit ed51e8b8fa9f7e811e69de30f7695dc2242e8e69 Author: Nobuyoshi Nakada Date: Tue Jul 27 11:47:11 2021 +0900 Make GCed during suppressing the warning Consume the VM stack more, to make the target object get GCed with more probability during suppressing the warning. M test/ruby/test_gc.rb commit 5b27c1a15be378bf9a4509618c4a35f337e886f2 Author: git Date: Tue Jul 27 09:57:09 2021 +0900 * 2021-07-27 [ci skip] M version.h commit bd8daa8523ef13e49cf91110fad14a2aff36cb57 Author: Daniel Niknam Date: Sun Jul 25 14:16:11 2021 +1000 [rubygems/rubygems] Remove the warning for not defining a gem server source Bundler has deprecated gemfiles without a global source and this feature is now obsolete. `Bundler::Definition#has_rubygems_remotes?` is removed because it's not used anymore. https://github.com/rubygems/rubygems/commit/d29dd2cb7b M lib/bundler/cli/install.rb M lib/bundler/definition.rb M spec/bundler/commands/install_spec.rb commit 49176e8c8cc9a0f68810736663dc9c9a3cb3b774 Author: Daniel Niknam Date: Sun Jul 25 00:42:24 2021 +1000 [rubygems/rubygems] Refactor Bundler::Dsl#check_rubygems_source_safety to improve readability `check_rubygems_source_safety` is responsible for: 1. if there are multiple global sources - for bundle 3.x raise an error - for bundle 2.x print a warning 2. print a warning if there is no explicit global source The second responsibility was added recently and now the logic could be extracted to improve readability. Conditions are still live in the `check_rubygems_source_safety` method since we don't want to call both functions always and that would help us achieve that. https://github.com/rubygems/rubygems/commit/f3d7e946ee M lib/bundler/dsl.rb M spec/bundler/bundler/dsl_spec.rb commit 1ef360230ec0bf078124a3001ef2e1ae7886e236 Author: Daniel Niknam Date: Sat Jul 24 17:25:48 2021 +1000 [rubygems/rubygems] Deprecate Gemfile without an explicit global source Raise a warning when parsing a Gemfile and it doesn't have a global source. Gemfiles like this, specially now that rubygems sources are are no longer merged into a single source for security, are very confusing because they generate a different lockfile depending on the gems you have locally installed. This is because bundler always use an implicit global source that defaults to locally installed gems. https://github.com/rubygems/rubygems/commit/b7523ad21c M lib/bundler/dsl.rb M spec/bundler/bundler/dsl_spec.rb commit 2f9e0cf1819b8679abe79494f622e1a42d7e021d Author: Daniel Niknam Date: Sun Jul 25 01:27:02 2021 +1000 [rubygems/rubygems] Explicitly define a global source for tests This is in preparation for deprecating source-less gemfiles. https://github.com/rubygems/rubygems/commit/d6493fa3e2 M spec/bundler/bundler/cli_spec.rb M spec/bundler/bundler/env_spec.rb M spec/bundler/bundler/plugin/index_spec.rb M spec/bundler/cache/gems_spec.rb M spec/bundler/cache/git_spec.rb M spec/bundler/cache/path_spec.rb M spec/bundler/commands/binstubs_spec.rb M spec/bundler/commands/check_spec.rb M spec/bundler/commands/clean_spec.rb M spec/bundler/commands/config_spec.rb M spec/bundler/commands/exec_spec.rb M spec/bundler/commands/info_spec.rb M spec/bundler/commands/install_spec.rb M spec/bundler/commands/open_spec.rb M spec/bundler/commands/update_spec.rb M spec/bundler/install/allow_offline_install_spec.rb M spec/bundler/install/deploy_spec.rb M spec/bundler/install/gemfile/eval_gemfile_spec.rb M spec/bundler/install/gemfile/gemspec_spec.rb M spec/bundler/install/gemfile/git_spec.rb M spec/bundler/install/gemfile/path_spec.rb M spec/bundler/install/gemfile/platform_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M spec/bundler/install/gemfile/specific_platform_spec.rb M spec/bundler/install/gemfile_spec.rb M spec/bundler/install/gems/compact_index_spec.rb M spec/bundler/install/gems/native_extensions_spec.rb M spec/bundler/install/gems/standalone_spec.rb M spec/bundler/install/gemspecs_spec.rb M spec/bundler/install/git_spec.rb M spec/bundler/install/redownload_spec.rb M spec/bundler/lock/git_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/other/major_deprecation_spec.rb M spec/bundler/other/platform_spec.rb M spec/bundler/plugins/install_spec.rb M spec/bundler/runtime/executable_spec.rb M spec/bundler/runtime/inline_spec.rb M spec/bundler/runtime/require_spec.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/runtime/with_unbundled_env_spec.rb M spec/bundler/update/git_spec.rb M spec/bundler/update/path_spec.rb commit b500e8fab445d5a4ad91fd71e622aff88d0c7dd6 Author: Daniel Niknam Date: Sat Jul 24 17:25:08 2021 +1000 [rubygems/rubygems] Implement Bundler::SourceList#implicit_global_source? This method is created to tell whether any global source exist in the object or not and it will be used by `Bundler:Dsl` to print a warning if no global source has been defined in the Gemfile. https://github.com/rubygems/rubygems/commit/422fec4438 M lib/bundler/source_list.rb M spec/bundler/bundler/source_list_spec.rb commit 91a3f06e98682078493a9501bdbd1302673ad96b Author: Daniel Niknam Date: Sat Jul 24 17:21:42 2021 +1000 [rubygems/rubygems] Implement Bundler::Source::Rubygems#no_remotes? This method is created to tell whether any remote exist in the object or not and it will be used by `Bundler:SourceList` to tell if a global source has been defined implicitly or not. https://github.com/rubygems/rubygems/commit/47e3ff0e47 M lib/bundler/source/rubygems.rb M spec/bundler/bundler/source/rubygems_spec.rb commit 095b5bbcc168f324588d42d4ef233b446ed9f860 Author: David Rodríguez Date: Sun Jul 25 16:10:55 2021 +0200 [rubygems/rubygems] Lazily load shellwords https://github.com/rubygems/rubygems/commit/ef6388656a M lib/bundler/cli/open.rb M lib/bundler/installer/gem_installer.rb M lib/bundler/rubygems_gem_installer.rb M lib/bundler/source/git/git_proxy.rb commit 350f4a0b66db6f056af5d75fb0b98d31628a841d Author: David Rodríguez Date: Sun Jul 25 16:12:03 2021 +0200 [rubygems/rubygems] Rubygems doesn't need to load the `base64` library https://github.com/rubygems/rubygems/commit/fe723c0f7f M lib/rubygems/s3_uri_signer.rb commit 960023ff54c658b8ccdd58d9ce296e6d07b3254c Author: David Rodríguez Date: Sun Jul 25 16:11:40 2021 +0200 [rubygems/rubygems] Rubygems doesn't need to load the `resolv` library https://github.com/rubygems/rubygems/commit/8bf41f53cc M lib/rubygems/remote_fetcher.rb commit 9cddc0ec94806b9f6850e0206f5cefd5ca5e5362 Author: David Rodríguez Date: Sun Jul 25 16:11:18 2021 +0200 [rubygems/rubygems] Lazily load `shellwords` library https://github.com/rubygems/rubygems/commit/e5532ef886 M lib/rubygems/ext/builder.rb M lib/rubygems/ext/ext_conf_builder.rb M lib/rubygems/ext/rake_builder.rb commit 9ac89fe35e0ddbf28be436c275e1de5287e35c23 Author: David Rodríguez Date: Sun Jul 25 13:03:09 2021 +0200 [rubygems/rubygems] The `--quiet` should still display warnings The is the previous intentional behaviour until https://github.com/rubygems/bundler/commit/ca0676cb1c638e0b9747ea8c18f28adf82cc01de. In my opinion, that previous behaviour was better and should be restored, because we want our users to always see warnings and fix them. And the original issue that motivated the change is fixable by other means, namely through `BUNDLE_SILENCE_ROOT_WARNING`, or through `BUNDLE_SILENCE_DEPRECATIONS` in general. Finally, the --quiet option is still documented as "only print errors and warnings". So this PR essentially reverts https://github.com/rubygems/bundler/commit/ca0676cb1c638e0b9747ea8c18f28adf82cc01de for the above reasons. https://github.com/rubygems/rubygems/commit/35f2254dfc M lib/bundler/cli/cache.rb M lib/bundler/cli/doctor.rb M lib/bundler/cli/install.rb M lib/bundler/cli/update.rb M spec/bundler/commands/install_spec.rb commit 24aca87def4944ebb6bf9e7173dd41920dc10e7a Author: David Rodríguez Date: Sun Jul 25 12:35:35 2021 +0200 [rubygems/rubygems] Make `--quiet` spec independent on the specific warning We'll be removing the warning about no gem sources, so this spec will no longer test that warnings are hidden by `--quiet`. Test that in another way so that we don't lose the coverage when we drop the specific warning about no gem server sources. https://github.com/rubygems/rubygems/commit/cce4f86d28 M spec/bundler/commands/install_spec.rb commit 803c60858e42463d33a00950883b17b1c38a2347 Author: Nobuyoshi Nakada Date: Fri Jun 4 10:38:43 2021 +0900 [rubygems/rubygems] Check requirements classes Mitigate the security risk: https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html https://github.com/rubygems/rubygems/commit/141c2f4388 M lib/rubygems/requirement.rb M test/rubygems/test_gem_requirement.rb commit 88e46cf6b83e2ca701cf122756fef9bc2550e845 Author: David Rodríguez Date: Thu Dec 5 19:03:20 2019 +0100 [rubygems/rubygems] Remove all `syck` traces from `rubygems` After reading [this blog post](https://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html), published almost 10 years ago already, my understanding is that this problem could come up in two ways: * Rubygems.org serving corrupted gemspecs". As far as I understand this was fixed in rubygems.org a lot time ago, since https://github.com/rubygems/rubygems.org/pull/331. * Clients having a ten years old gemspec cache with some of these bad gemspecs. In this case, there's no easy solution but I think ten years is enough and rebuilding the cache should do the trick. So, I think it's time we remove this. https://github.com/rubygems/rubygems/commit/afcb15d556 M lib/rubygems.rb M lib/rubygems/requirement.rb M lib/rubygems/safe_yaml.rb M lib/rubygems/specification.rb D lib/rubygems/syck_hack.rb M test/rubygems/data/null-type.gemspec.rz M test/rubygems/test_gem_specification.rb commit 6bcedabfdde74a21b8e1c93ec639afbb9698474b Author: David Rodríguez Date: Fri Jul 23 15:53:59 2021 +0200 [rubygems/rubygems] Remove `gem install` hint when installing a gem fails A fresh `gem install` might not reproduce the exact `bundle install` environment that originally caused the error. It also makes it harder for the user to troubleshoot the error since she needs to run a separate command. Instead, show the original error and backtrace directly. https://github.com/rubygems/rubygems/commit/49c2abfec6 M lib/bundler/installer/gem_installer.rb M spec/bundler/commands/install_spec.rb M spec/bundler/install/failure_spec.rb commit 6eb6f740f2c87ed7400b7423d2e80999232e66ff Author: David Rodríguez Date: Mon Jan 11 14:47:09 2021 +0100 [rubygems/rubygems] Show a backtrace in case gem installation fails For example, due to extension compilation issues. https://github.com/rubygems/rubygems/commit/adbe55bb6a M lib/bundler/installer/gem_installer.rb commit 4271f4aea5a49775cb904beffeda8d0c37ddbe64 Author: David Rodríguez Date: Thu Jul 22 11:35:15 2021 +0200 [rubygems/rubygems] Fix bundler binstub version selection To mimic built-in rubygems behaviour, only thing that should be approximated is the lockfile version. Other alternatives like `BUNDLER_VERSION` should be respected exactly. https://github.com/rubygems/rubygems/commit/dbd667d4bc M lib/bundler/templates/Executable.bundler M spec/bundler/commands/binstubs_spec.rb commit 90899c50c2890a70e7ce812a41f88b878ec50adc Author: Daniel Niknam Date: Thu Jul 22 01:02:40 2021 +1000 [rubygems/rubygems] Remove LoadError message in regards to requiring a relative file Ruby 1.9.2 removed "." from LOAD_PATH for robustness and security reasons. This code was introduced by https://github.com/rubygems/rubygems/commit/56fc830e19a573a5905eba7f4714ad1f21ed1927 commit to helping users understand the issue and had a guard condition to include the message for `RUBY_VERSION >= "1.9"`. However, the guard condition was removed as part of the "Ruby version leftover" cleanup by https://github.com/rubygems/rubygems/commit/8c9cf76e419fbd8ba83144d701b24ca388813b14 Ruby 1.9 development was ended a long time ago and this message is not useful anymore. https://github.com/rubygems/rubygems/commit/a23609b15a M lib/bundler.rb M spec/bundler/runtime/setup_spec.rb commit 705b1bdef2caf1bee052384b3c62c201f4fa5479 Author: Andrew Haines Date: Thu Jul 15 11:36:46 2021 +0100 [rubygems/rubygems] Fix interrupt handling in Bundler workers The existing interrupt handling using `SharedHelpers.trap` fails when the previous handler for a signal is not callable (for example, when it is the string "DEFAULT"). Instead, we now handle interrupts by aborting the process when worker threads are running, and restore the previous handler after worker threads are finished. Fixes #4764. https://github.com/rubygems/rubygems/commit/b9f455d487 M lib/bundler/shared_helpers.rb M lib/bundler/worker.rb M spec/bundler/bundler/worker_spec.rb commit c8172d0b96aa91b421e77ca0bedc3f12ad8c5fdc Author: Benoit Daloze Date: Mon Jul 26 13:24:38 2021 +0200 rb_iterate is no longer used in ruby/spec M spec/ruby/optional/capi/ext/rubyspec.h commit b8386f7f7f6d7a7d76481e02d389d0f5211f0f2c Author: Nobuyoshi Nakada Date: Mon Jul 26 15:43:46 2021 +0900 Prepend DebugSystem to VCS class only And revert 24e5f1c982966c379220b1bbb26b4e0320180fa1, pepending to Kernel did not affect the top level methods before 3.0. M tool/lib/vcs.rb M tool/make-snapshot commit 24e5f1c982966c379220b1bbb26b4e0320180fa1 Author: Nobuyoshi Nakada Date: Mon Jul 26 14:17:30 2021 +0900 Ignore 7z unless available `DebugSystem#system` is prepended in vcs.rb and defaulted to `exception: true`. M tool/make-snapshot commit 165a098ffce1b74d83d98d93acd3178b900de9bc Author: git Date: Mon Jul 26 05:09:20 2021 +0900 * 2021-07-26 [ci skip] M version.h commit 070557afc4ca83876b951fe090806b59e3867ae5 Author: Nobuyoshi Nakada Date: Thu Feb 6 09:14:40 2020 +0900 Distinguish signal and timeout [Bug #16608] M ext/monitor/monitor.c M test/monitor/test_monitor.rb M test/ruby/test_thread_cv.rb M thread.c M thread_sync.c commit 8897098b5ca3ce987307d1799f7765e6a279ff0d Author: Kazuhiro NISHIYAMA Date: Sun Jul 25 20:58:58 2021 +0900 Update bundled_gems M gems/bundled_gems commit 02facb86da27ccfd30d65e7bcc1c69ea9823ef05 Author: git Date: Sun Jul 25 20:07:55 2021 +0900 * 2021-07-25 [ci skip] M version.h commit b360588cd3cbac5fb4f004aa53a8fdc715906719 Author: Nobuyoshi Nakada Date: Tue Jul 13 01:03:26 2021 +0900 Sort feature index arrays by the priority of file types [Bug #15856] When looking for libraries to load with a feature name without extension, `.rb` files are given priority. However, since the feature index arrays were not in that order of priority, but in the order in which they were loaded, a lower priority extension library might be returned. In that case, the `.rb` file had to be searched for again from the `$LOAD_PATH`, resulting in poor performance. M load.c commit 971d24cd97ecf0fea542071af5ef3b134eeb4a6b Author: git Date: Sat Jul 24 17:58:57 2021 +0900 * 2021-07-24 [ci skip] M version.h commit eec45a93effe69a821960839760b9e39be1ebc63 Author: Nobuyoshi Nakada Date: Sat Jul 24 14:24:18 2021 +0900 Escape unprintable chars only, without surrounding quotes M pack.c M sprintf.c M string.c M test/-ext-/test_printf.rb commit 8cc18703cfa7ff88b6ca51267e557fa2658a78fb Author: Nobuyoshi Nakada Date: Fri Jul 23 12:41:34 2021 +0900 [NEWS] added [Feature #17798] [ci skip] M NEWS.md commit 53857313747d050ed8bca6b495255dc6b2a8f3cb Author: Nobuyoshi Nakada Date: Fri Jul 23 12:41:01 2021 +0900 [NEWS] adjusted formats [ci skip] M NEWS.md commit 377995035a8ed42e4c0d5c84bb3c88c2d53dcf0a Author: Nobuyoshi Nakada Date: Fri Jul 23 00:44:19 2021 +0900 Suppress exception message in finalizer [Feature #17798] M gc.c M test/ruby/test_gc.rb commit fc4dd45d0142221880d1b2c9b54dee0597be2b78 Author: Nobuyoshi Nakada Date: Fri Jul 23 00:32:09 2021 +0900 Show exception in finalizer [Feature #17798] M gc.c M test/ruby/test_objectspace.rb commit 63e5f4df387ba24b561c304c56a2f4357de15fe3 Author: Nobuyoshi Nakada Date: Fri Jul 23 00:31:20 2021 +0900 Access rb_execution_context_t::errinfo directly M gc.c commit b726c4ee385dae6cd2d02712274890a4fe2c099a Author: Nobuyoshi Nakada Date: Thu Jul 22 23:46:03 2021 +0900 Use rb_equal It can be optimized and handles Qnil properly. M gc.c commit 4da07ac2f3d79103cde83a7213d4f7d0a878fc62 Author: Nobuyoshi Nakada Date: Thu Jul 22 23:21:28 2021 +0900 Finalizers no longer store the safe level M gc.c commit fc78a0890481e092ec9737c1ab3cbd4c32793eaa Author: git Date: Fri Jul 23 03:13:31 2021 +0900 * 2021-07-23 [ci skip] M version.h commit 86e0eecc843b937357edd8db33457e75e3494ab3 Author: manga_osyo Date: Tue Jul 20 22:25:32 2021 +0900 [ruby/irb] Fix #256 Support int that follow on symbeg in IRB https://github.com/ruby/irb/commit/90cb27b1bd M lib/irb/ruby-lex.rb commit 62661dd9e4ce107eccb5aa6146f9295dd9b78179 Author: Peter Zhu Date: Thu Jul 22 09:28:05 2021 -0400 Don't recompute the heap page We already page the page of the zombie calculated. Don't recalculate the page. M gc.c commit 018f3961ae83ab48e40f8041cd4cfb543e9b1d1e Author: Peter Zhu Date: Thu Jul 22 09:19:04 2021 -0400 Don't set flags in finalize_list The call after it to `heap_page_add_freeobj` will set the flags. M gc.c commit 75f60e5a460b96b3130fbc941ddcce86df0fc2da Author: Nobuyoshi Nakada Date: Thu Jul 22 11:25:48 2021 +0900 Sort out quad_t related macros M sprintf.c commit fc50b2eae5b1f73d7be790e7e864f810d2bebdc9 Author: S.H Date: Thu Jul 22 15:41:03 2021 +0900 Remove unneeded function declarations M process.c commit e4b68ab700b1e8fea162a63ea3c6e856442cc740 Author: Ulysses Zhan <2938747508@qq.com> Date: Thu Jul 22 13:10:57 2021 +0800 [DOC] Fixed the description of regexp alternations [ci skip] M doc/regexp.rdoc commit d6b8819b7939c2689a36f13ffae4e6d1442f5e3a Author: S-H-GAMELINKS Date: Tue Jul 13 20:41:50 2021 +0900 Refactor rb_proc_call_with_block function M proc.c commit e882905d0d67acd4ab8996c8456e1a4285f34dee Author: S-H-GAMELINKS Date: Sun Jul 11 13:56:03 2021 +0900 Refactor sym_each_i function M range.c commit e3cda75436020d3f0b95576b3860908efc8630e2 Author: Nobuyoshi Nakada Date: Thu Jul 22 09:58:23 2021 +0900 Remove useless casts M hash.c commit a4e39112a8ef8871160defa0aa4a77d8b453ab0f Author: Nobuyoshi Nakada Date: Tue Jul 20 23:21:05 2021 +0900 Cast to size_t instead of int len and *retlen are size_t since r22957 (commit:4de12b6ae9a7fc1e28ada4b62291a78f28ae7528). M util.c commit 31144fe9876f5624e1fe7ed8f529e28fc4d65bdb Author: Peter Zhu Date: Wed Jul 21 13:56:32 2021 -0400 Change GC verification to walk all pages `gc_verify_internal_consistency_` does not walk pages in the tomb heap so numbers were off. This commit changes it to walk all allocated pages. M gc.c commit f5f7010613ee404dfa670eda4fcde4ad24c39a39 Author: git Date: Thu Jul 22 02:06:59 2021 +0900 * 2021-07-22 [ci skip] M version.h commit b940a453572b5c3ed5c0951647929e14f5843a7d Author: eileencodes Date: Tue Jul 20 13:53:22 2021 -0400 Fix interpolated heredoc This fixes https://bugs.ruby-lang.org/issues/18038. The provided reproduction showed that this happens in heredocs with double interpolation. In this case `DSTR` was getting returned but needs to be convered to a `EVSTR` which is what is returned by the function. There may be an additional bug here that we weren't able to produce. It seems odd that `STR` returns `DSTR` while everything else should return `EVSTR` since the function is `new_evstr`. [Bug #18038][ruby-core:104597] Co-authored-by: Aaron Patterson M parse.y M test/ruby/test_parse.rb commit fa308a683d507996ee68352753bbb1813dceff31 Author: Nobuyoshi Nakada Date: Wed Jul 21 20:44:34 2021 +0900 Update bundled_gems M gems/bundled_gems commit c25cf1eaaa886aaf510ebe92961daab716a6faef Author: Nobuyoshi Nakada Date: Wed Jul 21 20:44:13 2021 +0900 Drop optional commit hash when updated M tool/update-bundled_gems.rb commit 04b5e85bfda5ba281f2129d148c952eabc5e49a3 Author: Nobuyoshi Nakada Date: Tue Jul 20 19:54:59 2021 +0900 Look up ruby_digit36_to_number_table Instead of scanning ruby_hexdigits. M util.c commit b2749e0026768f6a7968fc627ba50446632b8288 Author: git Date: Wed Jul 21 17:40:23 2021 +0900 * 2021-07-21 [ci skip] M version.h commit 1c80e0e6b03d494b4f6e010aee5ee8a0db3c0766 Author: Nobuyoshi Nakada Date: Wed Jul 21 16:28:04 2021 +0900 Use typeprof supporting rbs 1.3 M gems/bundled_gems commit 42745ecae3ce95774f2fcc66467320471ca0460a Author: Nobuyoshi Nakada Date: Tue Jul 20 19:33:25 2021 +0900 Remove meaningless IO#close_on_exec= spec [Feature #17745] M spec/ruby/core/io/close_on_exec_spec.rb commit bc1323ce5c9388261a0cfe07137c8814428ea69f Author: Nobuyoshi Nakada Date: Tue Jul 20 19:21:37 2021 +0900 Use RB_INTEGER_TYPE_P M object.c commit 261dca2ee20b8f02d651642a79aef9869a69d587 Author: aycabta Date: Sat Jul 17 19:49:32 2021 +0900 [ruby/irb] Support non-English code page message https://github.com/ruby/irb/commit/e7d71fea46 M lib/irb/cmd/info.rb commit 5e7675d442d968825fec100b915905a7706c981f Author: git Date: Tue Jul 20 14:47:50 2021 +0900 * 2021-07-20 [ci skip] M version.h commit 2e6704304166d05014e89c1009d9c78c9e8d269a Author: Kazuhiro NISHIYAMA Date: Tue Jul 20 14:46:46 2021 +0900 Use UNREACHABLE instead of fall through M error.c commit 036f26a4e24d7e6e8de30aa7e3cedb19f7da88b0 Author: Kazuhiro NISHIYAMA Date: Mon Jul 19 17:21:45 2021 +0900 Add `fall through` Pointed out by Coverity Scan ``` ** CID 1487522: Control flow issues (MISSING_BREAK) /error.c: 1273 in exc_full_message() ``` M error.c commit fa239e04792e4b83c551257bd24bcc3cad822bf8 Author: Nobuyoshi Nakada Date: Mon Jul 19 17:18:51 2021 +0900 Remove unneeded quotes [ci skip] M common.mk commit 95dd46138706121a1dee2cd1e7bf401bb315f771 Author: Hiroshi SHIBATA Date: Mon Jul 19 11:32:41 2021 +0900 [ruby/racc] Removed pre-setup from gemspec https://github.com/ruby/racc/commit/2f6f02e5c1 M lib/racc/racc.gemspec commit dbcfc8d49939593c6db541139bb8c62b54f4bb87 Author: Hiroshi SHIBATA Date: Mon Jul 19 11:32:25 2021 +0900 [ruby/racc] Removed needless files from gemspec https://github.com/ruby/racc/commit/d044ae883f M lib/racc/racc.gemspec commit b5b3cd27222a055500123fd59486dfedc7bbd824 Author: Hiroshi SHIBATA Date: Mon Jul 19 11:28:10 2021 +0900 [ruby/racc] Move document from library directory https://github.com/ruby/racc/commit/2e8d7d286d M lib/racc/racc.gemspec D lib/racc/rdoc/grammar.en.rdoc commit 7217f60bb344d2e97fb6bf3ae6cf29c7f5ca7dbf Author: Hiroshi SHIBATA Date: Mon Jul 19 11:22:21 2021 +0900 [ruby/racc] Removed generate code from parser.rb. It's already migrated by rake task https://github.com/ruby/racc/commit/ec7d01980a D lib/racc/pre-setup commit ab2bd3ff35176031965613abfeb06a9c47e9eee1 Author: Yusuke Endoh Date: Mon Jul 19 10:57:56 2021 +0900 test/openssl/test_x509cert.rb: Prevent "unused variable" warning M test/openssl/test_x509cert.rb commit 91ffce8f24336f2dabb4e8b9efc3fe11738deda4 Author: Yusuke Endoh Date: Wed Jun 30 13:39:45 2021 +0900 [ruby/did_you_mean] Prevent "warning: ambiguity between regexp and two divisions" ``` test/did_you_mean/spell_checking/test_uncorrectable_name_check.rb:13: warning: ambiguity between regexp and two divisions: wrap regexp in parentheses or add a space after `/' operator ``` http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20210630T033005Z.log.html.gz#test-all https://github.com/ruby/did_you_mean/commit/842ede4186 M test/did_you_mean/spell_checking/test_uncorrectable_name_check.rb commit bac5ec0f0610f203421b73a6197f91c9ff716156 Author: git Date: Mon Jul 19 07:43:56 2021 +0900 * 2021-07-19 [ci skip] M version.h commit a541fe1a7593f95c5b7d36993cf3fba0ec525574 Author: Burdette Lamar Date: Sun Jul 18 17:43:34 2021 -0500 Doc guide for class/module (#4600) Co-authored-by: Marivaldo Cavalheiro A doc/documentation_guide.rdoc D doc/method_documentation.rdoc commit 8a6ef5ef8f4f14f1679bbab3a85fa05217e49a43 Author: Nobuyoshi Nakada Date: Sun Jul 18 20:51:30 2021 +0900 Make boolean expected messages more consitent M error.c M object.c commit 9b972310fafc0126ff8c27bdc514808dacea8fcc Author: Benoit Daloze Date: Tue Jul 6 18:23:01 2021 +0200 [ruby/racc] Add missing check for rb_block_call() * It used to be hardcoded since 0affbf9d2c7c5c618b8d3fe191e74d9ae8ad22fc but got removed in 23abf3d3fb82afcc26d35769f0dec59dd46de4bb * This means that since that second commit, rb_iterate() was used unintentionally. https://github.com/ruby/racc/commit/8816ced525 M ext/racc/cparse/extconf.rb commit 23c4b93e54d96717607c9b067fa167c31f928ec9 Author: Bruno Arueira Date: Thu Jun 17 19:42:45 2021 -0300 [ruby/racc] Shrink gem size https://github.com/ruby/racc/commit/27e2a64e13 M lib/racc/racc.gemspec commit 56d983697fc7c40aa09526fd73cb4a2dd31637f0 Author: Nobuyoshi Nakada Date: Sun Jul 18 19:55:33 2021 +0900 Constified a local table M object.c commit ab37e6ee7ef6d1da8a7b9b4722466d251ace4582 Author: Nobuyoshi Nakada Date: Sun Jul 18 19:55:07 2021 +0900 Adjust styles [ci skip] * --procnames-start-lines M cont.c commit 803eb1ee83207cf66a6ffe010da85eea755e79fe Author: Nobuyoshi Nakada Date: Wed Jul 14 00:51:53 2021 +0900 Get rid of type aliasing M load.c commit bd356c689918f53c282cd18eb48fb0ba028cc195 Author: Kazuki Yamaguchi Date: Sun Jul 18 18:04:25 2021 +0900 [ruby/openssl] Strip trailing spaces https://github.com/ruby/openssl/commit/68fa9c86f1 M ext/openssl/lib/openssl/x509.rb M ext/openssl/ossl_ssl.c M ext/openssl/ossl_x509cert.c commit 3f1d8a18eac7d775e69b99f761e756f2abb60c12 Author: Samuel Williams Date: Sat Jun 19 13:47:16 2021 +1200 [ruby/openssl] Deprecate and rework old (fd) centric functions [ky: fixed compatibility with older versions of Ruby] (cherry picked from commit ruby/ruby@45e65f302b663b2c6ab69df06d3b6f219c1797b2) https://github.com/ruby/openssl/commit/8d928e0fb9 M ext/openssl/extconf.rb M ext/openssl/ossl_ssl.c commit 397584078006946ec3673d30b4810334c1a5f06d Author: Benoit Daloze Date: Tue Jul 6 19:25:22 2021 +0200 [ruby/openssl] Use rb_block_call() instead of the deprecated rb_iterate() in OpenSSL * See https://bugs.ruby-lang.org/issues/18025 and https://github.com/ruby/ruby/pull/4629 https://github.com/ruby/openssl/commit/b8e4852dcc M ext/openssl/ossl_ssl.c commit 11651ab703336744b47174568b168900dd4590e8 Author: Yusuke Nakamura Date: Sun Jun 27 16:37:18 2021 +0900 [ruby/openssl] Add example to OpenSSL::KDF.hkdf method (https://github.com/ruby/openssl/pull/447) The values from RFC 5869 https://datatracker.ietf.org/doc/html/rfc5869#appendix-A.1 https://github.com/ruby/openssl/commit/ec14a87f4f M ext/openssl/ossl_kdf.c commit 70f0a802fee58b7795b81f0273cee1c9bf8b1bd3 Author: Kazuki Yamaguchi Date: Fri Jun 25 20:27:14 2021 +0900 [ruby/openssl] use Bundler for dependency management and Rake gem tasks Back in 2016, we chose not to use Bundler in Ruby/OpenSSL development because Bundler depended on openssl and could not be used for testing openssl itself - "bundle exec rake test" would end up with loading two different versions of openssl at the same time. This has been resolved long time ago. We can now safely use it for development dependency management and for Rake tasks. https://github.com/ruby/openssl/commit/47283d9161 M ext/openssl/openssl.gemspec commit 4f7c3f631a8afa3a7e990487ddd042a6124a6526 Author: Vinicius Stock Date: Thu Feb 25 18:18:44 2021 -0500 [ruby/openssl] Include peer socket IP address in errors https://github.com/ruby/openssl/commit/8a1e3f5085 M ext/openssl/ossl_ssl.c M test/openssl/test_ssl.rb commit 3d37e5d11cdf02ed433493126e195e194d4000dc Author: Yusuke Endoh Date: Tue Feb 16 18:21:51 2021 +0900 [ruby/openssl] Add OpenSSL::BN#set_flags and #get_flags Also, OpenSSL::BN::CONSTTIME is added. OpenSSL itself had a feature that was vulnerable against a side-channel attack. The OpenSSL authors determined that it was not a security issue, and they have already fixed the issue by using BN_set_flags. https://github.com/openssl/openssl/pull/13888 If a Ruby OpenSSL user was faced with a similar issue, they couldn't prevent the issue because Ruby OpenSSL lacks a wrapper to BN_set_flags. For the case, this change introduces the wrapper. https://github.com/ruby/openssl/commit/1e565eba89 M ext/openssl/ossl_bn.c M test/openssl/test_bn.rb commit 5fc2912e60c2bc58ff486d3f23f654f742332d3f Author: Kazuki Yamaguchi Date: Fri Jul 10 13:51:18 2020 +0900 [ruby/openssl] pkey/dsa: refactor DSA#sys{sign,verify} with PKey#{sign,verify}_raw With the newly added OpenSSL::PKey::PKey#{sign,verify}_raw, OpenSSL::PKey::DSA's low level signing operation methods can be implemented in Ruby. The definitions are now in lib/openssl/pkey.rb. https://github.com/ruby/openssl/commit/ce805adf0c M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_dsa.c commit 0c23e4a7aa5ff260281be07873eaeaebfa5d5155 Author: Kazuki Yamaguchi Date: Fri Jul 10 13:43:20 2020 +0900 [ruby/openssl] pkey/ec: refactor EC#dsa_{sign,verify}_asn1 with PKey#{sign,verify}_raw With the newly added OpenSSL::PKey::PKey#{sign,verify}_raw, OpenSSL::PKey::EC's low level signing operation methods can be implemented in Ruby. The definitions are now in lib/openssl/pkey.rb. https://github.com/ruby/openssl/commit/1f9da0cd9d M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_ec.c commit 857a177b03dded0d56c395e979a35b9a27753e15 Author: Kazuki Yamaguchi Date: Mon May 18 20:24:08 2020 +0900 [ruby/openssl] pkey/rsa: port RSA#{private,public}_{encrypt,decrypt} to the EVP API Implement these methods using the new OpenSSL::PKey::PKey#{encrypt,sign} family. The definitions are now in lib/openssl/pkey.rb. Also, recommend using those generic methods in the documentation. https://github.com/ruby/openssl/commit/2dfc1779d3 M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_rsa.c commit 4ebff35971d499f4ddd13f48bff0444f77d63421 Author: Kazuki Yamaguchi Date: Fri May 22 16:10:35 2020 +0900 [ruby/openssl] pkey: implement PKey#sign_raw, #verify_raw, and #verify_recover Add a variant of PKey#sign and #verify that do not hash the data automatically. Sometimes the caller has the hashed data only, but not the plaintext to be signed. In that case, users would have to use the low-level API such as RSA#private_encrypt or #public_decrypt directly. OpenSSL 1.0.0 and later supports EVP_PKEY_sign() and EVP_PKEY_verify() which provide the same functionality as part of the EVP API. This patch adds wrappers for them. https://github.com/ruby/openssl/commit/16cca4e0c4 M ext/openssl/ossl_pkey.c M test/openssl/test_pkey_dsa.rb M test/openssl/test_pkey_ec.rb M test/openssl/test_pkey_rsa.rb commit cbc560e38f9127c723f6b91734abbc0a1b0c14cc Author: Kazuki Yamaguchi Date: Tue May 25 18:43:29 2021 +0900 [ruby/openssl] pkey: update version reference in #sign and #verify documentation The next release is decided to be 3.0 rather than 2.3. https://github.com/ruby/openssl/commit/b8a434e462 M ext/openssl/ossl_pkey.c commit 87458ff2aecc3e054716271f3416d4a389d2352c Author: Kazuki Yamaguchi Date: Mon May 18 20:06:16 2020 +0900 [ruby/openssl] pkey: implement PKey#encrypt and #decrypt Support public key encryption and decryption operations using the EVP API. https://github.com/ruby/openssl/commit/75326d4bbc M ext/openssl/ossl_pkey.c M test/openssl/test_pkey_rsa.rb commit eac7fd57f807cc9e0ec4307efcaa412b343971a5 Author: Kazuki Yamaguchi Date: Tue May 25 17:31:08 2021 +0900 [ruby/openssl] pkey: remove deprecated parameter setters Remove the following methods, which have been marked as deprecated and produced a warning since version 2.0, commit 7ea72f1f5084 ("adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs", 2016-06-05). - OpenSSL::PKey::RSA#n=, #e=, #d=, #p=, #q=, #dmp1=, #dmq1=, #iqmp= - OpenSSL::PKey::DSA#p=, #q=, #g=, #priv_key=, #pub_key= - OpenSSL::PKey::DH#p=, #g=, #priv_key=, #pub_key= These methods could only work with OpenSSL 1.0.2 or older, which is now EOL. https://github.com/ruby/openssl/commit/2334862cc0 M ext/openssl/ossl_pkey.h commit 1146a94aeea7d2ea1ead3bfcbddd0f4de696abe6 Author: Samuel Williams Date: Sat May 22 08:47:20 2021 +1200 [ruby/openssl] Implement `Certificate.load` to load certificate chain. (https://github.com/ruby/openssl/pull/441) * Add feature for loading the chained certificate into Certificate array. https://github.com/ruby/openssl/commit/05e1c015d6 Co-authored-by: Sao I Kuan M ext/openssl/lib/openssl/x509.rb M ext/openssl/ossl_x509cert.c A test/openssl/fixtures/pkey/certificate.der A test/openssl/fixtures/pkey/empty.der A test/openssl/fixtures/pkey/empty.pem A test/openssl/fixtures/pkey/fullchain.pem A test/openssl/fixtures/pkey/garbage.txt M test/openssl/test_x509cert.rb commit a01daab656a3d32b52bd236503e3d9aebaf39483 Author: Kazuki Yamaguchi Date: Wed May 19 17:58:18 2021 +0900 [ruby/openssl] x509, ssl, pkcs7: try to parse as DER-encoding first Methods that take both PEM-encoding and DER-encoding have not been consistent in the order in which encoding to attempt to parse. A DER-encoding may contain a valid PEM block ("\n-----BEGIN ..-----" to "-----END ...-----") embedded within it. Also, the PEM-encoding parser allows arbitrary data around the PEM block and silently skips it. As a result, attempting to parse data in DER-encoding as PEM-encoding first can incorrectly finds the embedded PEM block instead. This commit ensures that DER encoding will always be attempted before PEM encoding. OpenSSL::X509::Certificate is one of the updated classes. With this, the following will always be true: # obj is an OpenSSL::X509::Certificate obj == OpenSSL::X509::Certificate.new(obj.to_der) obj == OpenSSL::X509::Certificate.new(obj.to_pem) https://github.com/ruby/openssl/commit/b280eb1fd0 M ext/openssl/ossl_pkcs7.c M ext/openssl/ossl_ssl_session.c M ext/openssl/ossl_x509cert.c M ext/openssl/ossl_x509crl.c M ext/openssl/ossl_x509req.c M test/openssl/test_x509cert.rb commit 29ad4ab3d0407b99bbdad654b2138527859694cf Author: Ryuta Kamizono Date: Mon Apr 26 00:31:08 2021 +0900 [ruby/openssl] Fix some typos [ci skip] https://github.com/ruby/openssl/commit/51b3030b2b M ext/openssl/ossl.c M ext/openssl/ossl_ocsp.c M ext/openssl/ossl_ssl.c commit 593164c2bea634e33682a0095825ef17021a7433 Author: Aaron Patterson Date: Thu Apr 15 16:53:47 2021 -0700 [ruby/openssl] Add SSLSocket#getbyte Normal sockets respond to `getbyte`, so we should make SSLSocket respond to `getbyte` as well. This way we can substitute SSLSockets for regular sockets. https://github.com/ruby/openssl/commit/ac1490b7c9 M ext/openssl/lib/openssl/buffering.rb M test/openssl/test_ssl.rb M test/openssl/ut_eof.rb commit 6d71918d94a6b34249015499e5e822d3b20fd10f Author: Kazuki Yamaguchi Date: Fri Jul 10 14:34:51 2020 +0900 [ruby/openssl] pkey/dh, pkey/ec: use EVP_PKEY_check() family Use EVP_PKEY_param_check() instead of DH_check() if available. Also, use EVP_PKEY_public_check() instead of EC_KEY_check_key(). EVP_PKEY_*check() is part of the EVP API and is meant to replace those low-level functions. They were added by OpenSSL 1.1.1. It is currently not provided by LibreSSL. https://github.com/ruby/openssl/commit/797e9f8e08 M ext/openssl/extconf.rb M ext/openssl/ossl_pkey_dh.c M ext/openssl/ossl_pkey_ec.c M test/openssl/test_pkey_dh.rb commit 3fe8387950f83874372172a79233ffc0d5d335b0 Author: Kazuki Yamaguchi Date: Thu Apr 15 19:11:32 2021 +0900 [ruby/openssl] pkey: implement {DH,DSA,RSA}#public_key in Ruby The low-level API that is used to implement #public_key is deprecated in OpenSSL 3.0. It is actually very simple to implement in another way, using existing methods only, in much shorter code. Let's do it. While we are at it, the documentation is updated to recommend against using #public_key. Now that OpenSSL::PKey::PKey implements public_to_der method, there is no real use case for #public_key in newly written Ruby programs. https://github.com/ruby/openssl/commit/48a6c391ef M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_dh.c M ext/openssl/ossl_pkey_dsa.c M ext/openssl/ossl_pkey_rsa.c M test/openssl/test_pkey_rsa.rb commit 5d1693aac56bcae37e1f81af1f25966269c4619a Author: Kazuki Yamaguchi Date: Sun May 17 18:25:38 2020 +0900 [ruby/openssl] pkey: implement #to_text using EVP API Use EVP_PKEY_print_private() instead of the low-level API *_print() functions, such as RSA_print(). EVP_PKEY_print_*() family was added in OpenSSL 1.0.0. Note that it falls back to EVP_PKEY_print_public() and EVP_PKEY_print_params() as necessary. This is required for EVP_PKEY_DH type for which _private() fails if the private component is not set in the pkey object. Since the new API works in the same way for all key types, we now implement #to_text in the base class OpenSSL::PKey::PKey rather than in each subclass. https://github.com/ruby/openssl/commit/e0b4c56956 M ext/openssl/ossl_pkey.c M ext/openssl/ossl_pkey_dh.c M ext/openssl/ossl_pkey_dsa.c M ext/openssl/ossl_pkey_ec.c M ext/openssl/ossl_pkey_rsa.c M test/openssl/test_pkey.rb commit 436aecb520e63f318ed515d0ca6c0b2cc6cc8115 Author: Kazuki Yamaguchi Date: Mon Apr 5 00:39:04 2021 +0900 [ruby/openssl] pkey: remove unused ossl_generate_cb_2() helper function The previous series of commits re-implemented key generation with the low level API with the EVP API. The BN_GENCB-based callback function is no longer used. https://github.com/ruby/openssl/commit/81027b7463 M ext/openssl/extconf.rb M ext/openssl/openssl_missing.h M ext/openssl/ossl_pkey.c M ext/openssl/ossl_pkey.h commit 38436d1f5cb03520a2a4acca81f013de1c20daa5 Author: Kazuki Yamaguchi Date: Sun May 17 22:14:03 2020 +0900 [ruby/openssl] pkey/dsa: use high level EVP interface to generate parameters and keys Implement PKey::DSA.new(size) and PKey::DSA.generate using OpenSSL::PKey.generate_parameters and .generate_key instead of the low level DSA functions. https://github.com/ruby/openssl/commit/1800a8d5eb M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_dsa.c M test/openssl/test_pkey_dsa.rb commit b8dcf9c8fd7c093bfac003d6293315e2c9b1e46f Author: Kazuki Yamaguchi Date: Sun May 17 20:48:23 2020 +0900 [ruby/openssl] pkey/rsa: use high level EVP interface to generate parameters and keys Implement PKey::RSA.new(size, exponent) and PKey::RSA.generate using OpenSSL::PKey.generate_key instead of the low level RSA functions. https://github.com/ruby/openssl/commit/363fd10713 M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_rsa.c commit 098985a5e66e4dd6b01d246909b66d3d7e4024c0 Author: Kazuki Yamaguchi Date: Sun May 17 20:48:23 2020 +0900 [ruby/openssl] pkey/dh: use high level EVP interface to generate parameters and keys Implement PKey::DH.new(size, gen), PKey::DH.generate(size, gen), and PKey::DH#generate_key! using PKey.generate_parameters and .generate_key instead of the low level DH functions. Note that the EVP interface can enforce additional restrictions - for example, DH key shorter than 2048 bits is no longer accepted by default in OpenSSL 3.0. The test code is updated accordingly. https://github.com/ruby/openssl/commit/c2e9b16f0b M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_dh.c M test/openssl/test_pkey_dh.rb commit 595644e4f65f35e35f4c81e3aa228ac7d7f091d4 Author: Kazuki Yamaguchi Date: Mon Apr 5 00:30:01 2021 +0900 [ruby/openssl] pkey: fix interrupt handling in OpenSSL::PKey.generate_key rb_thread_call_without_gvl() can be interrupted, but it may be able to resume the operation. Call rb_thread_check_ints() to see if it raises an exception or not. https://github.com/ruby/openssl/commit/88b90fb856 M ext/openssl/ossl_pkey.c commit 8cfe92b8a249465457ebef1d49b9e14a9fdaaddd Author: Kazuki Yamaguchi Date: Sat Jul 18 20:40:39 2020 +0900 [ruby/openssl] pkey: allow setting algorithm-specific options in #sign and #verify Similarly to OpenSSL::PKey.generate_key and .generate_parameters, let OpenSSL::PKey::PKey#sign and #verify take an optional parameter for specifying control strings for EVP_PKEY_CTX_ctrl_str(). https://github.com/ruby/openssl/commit/faf85d7c1d M ext/openssl/ossl_pkey.c M test/openssl/test_pkey_rsa.rb commit e2014d03542b7d1a9d4a624f82fb94c9a8119fdb Author: Kazuki Yamaguchi Date: Fri Apr 2 23:58:48 2021 +0900 [ruby/openssl] pkey: prepare pkey_ctx_apply_options() for usage by other operations The routine to apply Hash to EVP_PKEY_CTX_ctrl_str() is currently used by key generation, but it is useful for other operations too. Let's change it to a slightly more generic name. https://github.com/ruby/openssl/commit/b2b77527fd M ext/openssl/ossl_pkey.c commit 1706302be51454c4c81ab06b771e8cad8879078e Author: Kazuki Yamaguchi Date: Fri Jun 12 14:12:59 2020 +0900 [ruby/openssl] pkey: fix potential memory leak in PKey#sign Fix potential leak of EVP_MD_CTX object in an error path. This path is normally unreachable, since the size of a signature generated by any supported algorithms would not be larger than LONG_MAX. https://github.com/ruby/openssl/commit/99e8630518 M ext/openssl/ossl_pkey.c commit b7a908af3420d12a6471c5f2d9cbae7faa4451b8 Author: Kazuki Yamaguchi Date: Fri Aug 21 17:33:25 2020 +0900 [ruby/openssl] ossl.c: do not set locking callbacks on LibreSSL Similarly to OpenSSL >= 1.1.0, LibreSSL 2.9.0 ensures thread safety without requiring applications to set locking callbacks and made related functions no-op. https://github.com/ruby/openssl/commit/7276233e1a M ext/openssl/extconf.rb M ext/openssl/ossl.c commit 88d64418ddb77118b17c20a1455aa0c6341e077a Author: Kazuki Yamaguchi Date: Thu Aug 6 15:35:30 2020 +0900 [ruby/openssl] ssl: use TLS_method() instead of SSLv23_method() for LibreSSL LibreSSL 2.2.2 introduced TLS_method(), but with different semantics from OpenSSL: TLS_method() enabled TLS >= 1.0 while SSLv23_method() enabled all available versions, which included SSL 3.0 in addition. However, LibreSSL 2.3.0 removed SSL 3.0 support completely and now TLS_method() and SSLv23_method() are equivalent. https://github.com/ruby/openssl/commit/3b7d7045b8 M ext/openssl/ossl_ssl.c commit 50332c40710ab421318c97be0c6ca94b71d4fe58 Author: Kazuki Yamaguchi Date: Thu Aug 6 15:24:42 2020 +0900 [ruby/openssl] ssl: call SSL_CTX_set_ecdh_auto() on OpenSSL 1.0.2 only SSL_CTX_set_ecdh_auto() exists in OpenSSL 1.1.0 and LibreSSL 2.6.1, but it is made no-op and the automatic curve selection cannot be disabled. Wrap it with ifdef to make it clear that it is safe to remove it completely when we drop support for OpenSSL 1.0.2. https://github.com/ruby/openssl/commit/2ae8f21234 M ext/openssl/ossl_ssl.c commit cd002305f0db447b47b54b93e1ecb3c666d37c06 Author: Kazuki Yamaguchi Date: Tue Aug 4 23:14:44 2020 +0900 [ruby/openssl] require OpenSSL >= 1.0.2 and LibreSSL >= 3.1 Clean up old version guards in preparation for the upcoming OpenSSL 3.0 support. OpenSSL 1.0.1 reached its EOL on 2016-12-31. At that time, we decided to keep 1.0.1 support because many major Linux distributions were still shipped with 1.0.1. Now, nearly 4 years later, most Linux distributions are reaching their EOL and it should be safe to assume nobody uses them anymore. Major ones that were using 1.0.1: - Ubuntu 14.04 is EOL since 2019-04-30 - RHEL 6 will reach EOL on 2020-11-30 LibreSSL 3.0 and older versions are no longer supported by the LibreSSL team as of October 2020. Note that OpenSSL 1.0.2 also reached EOL on 2019-12-31 and 1.1.0 also did on 2018-08-31. https://github.com/ruby/openssl/commit/c055938f4b M ext/openssl/extconf.rb M ext/openssl/openssl_missing.c M ext/openssl/openssl_missing.h M ext/openssl/ossl_ocsp.c M ext/openssl/ossl_ssl.c M ext/openssl/ossl_ts.c M ext/openssl/ossl_x509.c M test/openssl/test_asn1.rb M test/openssl/test_ocsp.rb M test/openssl/test_ssl.rb commit decce40da7ee5180a4093f794eacc1dc5fe8e814 Author: Kazuki Yamaguchi Date: Fri Apr 2 22:08:13 2021 +0900 [ruby/openssl] bn: update documentation of OpenSSL::BN#initialize and #to_s Clarify that BN.new(str, 2) and bn.to_s(2) handles binary string in big-endian, and the sign of the bignum is ignored. Reference: https://github.com/ruby/openssl/issues/431 https://github.com/ruby/openssl/commit/6fae2bd612 M ext/openssl/ossl_bn.c commit 01fcb8f45b28d9b33e04c9b9873e47276faf5581 Author: Rick Mark Date: Thu Apr 1 12:29:21 2021 -0700 [ruby/openssl] BN.abs and BN uplus Adds standard math abs fuction and revises uplus to return a duplicated object due to BN mutability https://github.com/ruby/openssl/commit/0321b1e945 M ext/openssl/ossl_bn.c M test/openssl/test_bn.rb commit ed1e5663a4019291e2e8cb38f1630f007697bb6b Author: git Date: Sun Jul 18 12:40:58 2021 +0900 * 2021-07-18 [ci skip] M version.h commit e0e12202c7688881b8fcdad96669ca0cd7be8622 Author: Nobuyoshi Nakada Date: Sun Jul 18 11:40:21 2021 +0900 Use rb_block_call() instead of the deprecated rb_iterate() M spec/ruby/optional/capi/array_spec.rb M spec/ruby/optional/capi/ext/array_spec.c commit 4885c44bca25346716969a3a0732c1bfea60f508 Author: Kazuki Yamaguchi Date: Sat Jul 17 13:37:28 2021 +0900 cont.c: fix formatting of RDoc for Fiber class M cont.c commit f11f9fc9212c088087b1af1dd7de66eb25135377 Author: Kazuhiro NISHIYAMA Date: Sat Jul 17 13:24:23 2021 +0900 Disable spec of `pattern matching is experimental` since 3.1 M spec/ruby/language/pattern_matching_spec.rb commit 2a5b5ff49a0fb62a98451323a608f5f1ba0c9116 Author: Kazuhiro NISHIYAMA Date: Sat Jul 17 13:24:08 2021 +0900 Fix a spec failure ``` 1) Warning.[]= :experimental emits and suppresses warnings for :experimental FAILED Expected "" =~ /is experimental/ to be truthy but was nil ``` M spec/ruby/core/warning/element_set_spec.rb commit 503fa1620c1da74a15831bf864320cae4b17dc56 Author: Kazuhiro NISHIYAMA Date: Sat Jul 17 13:16:48 2021 +0900 Fix a spec failure ``` 1) The -W command line option with :no-experimental suppresses experimental warnings FAILED Expected "" =~ /is experimental/ to be truthy but was nil ``` M spec/ruby/command_line/dash_upper_w_spec.rb commit f36a5a7624f7b5ac453d3bb2eef5d32c7ee4fea3 Author: git Date: Sat Jul 17 11:16:40 2021 +0900 * 2021-07-17 [ci skip] M version.h commit eed5e8f796ab18e2e0a436dab83e35504ae3ded0 Author: Kazuki Tsujimoto Date: Sat Jul 17 11:13:52 2021 +0900 One-line pattern matching is no longer experimental https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210715Japan.md#feature-17724-make-the-pin-operator-support-instanceclassglobal-variables-jeremyevans0 M NEWS.md M doc/syntax/pattern_matching.rdoc M parse.y M test/ruby/test_pattern_matching.rb commit fd0df9c4fb36597e5e3f500670b29dbd77a14eca Author: Benoit Daloze Date: Tue Jul 6 18:52:29 2021 +0200 Emit deprecatation warnings for rb_iterate() * It is obsolete since 1.9, see https://github.com/ruby/ruby/blob/master/doc/extension.rdoc#label-Control+Structure and [Misc #18025] M include/ruby/internal/iterator.h M proc.c M vm_eval.c commit 301d194ee3b49e6b078eccb999dd538e9bfa8c7c Author: Nobuyoshi Nakada Date: Sun Oct 7 13:02:46 2018 +0900 Add Integer.try_convert [Feature #15211] M NEWS.md M internal/numeric.h M numeric.c M object.c A spec/ruby/core/integer/try_convert_spec.rb M test/ruby/test_integer.rb commit eee709595cecdbc35d7bca9e779c36523c4659c5 Author: Yusuke Endoh Date: Thu Jun 17 11:34:20 2021 +0900 io.c: Clarify the behavior of `IO.read` when called as `File.read` Ditto to `IO.binread`, `IO.write`, `IO.binwrite`, `IO.foreach`, and `IO.readlines`. M io.c commit 650a65c6fc7955d1ccfca16d3876c3f6a07a015c Author: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Thu Jul 15 20:25:12 2021 +0900 [rubygems/rubygems] Add missing `require 'fileutils'` in `Gem::ConfigFile` https://github.com/rubygems/rubygems/commit/c4004fadd9 M lib/rubygems/config_file.rb commit 71d3c9bbfaa1cf251205e1fb7f9611c9dee54e57 Author: David Rodríguez Date: Tue Jul 13 13:00:02 2021 +0200 [rubygems/rubygems] Fix `bundle plugin install --help` showing `bundle install`'s help https://github.com/rubygems/rubygems/commit/b7b7d16aa8 M lib/bundler/cli.rb M spec/bundler/plugins/install_spec.rb commit c5f78ade5a9245e9620de7f9d0e0d7af19f9f863 Author: Andre Arko Date: Tue Jul 13 02:13:48 2021 -0700 [rubygems/rubygems] fix dangling empty hooks it turns out that running `bundle plugin uninstall some-plugin` would remove that plugin from the list of hooks, but if the list of hooks for an event was now empty, we would serialize the empty array into yaml as an empty single bullet item. which would then get unserialized as a plugin with the name empty string. which we would then try to load and explode. 😬 https://github.com/rubygems/rubygems/commit/545ebba9a5 M lib/bundler/plugin/index.rb M spec/bundler/bundler/plugin/index_spec.rb commit a3d2200b2ab29d4b8a127993254c34e90a5f341f Author: Andre Arko Date: Tue Jul 13 02:25:09 2021 -0700 [rubygems/rubygems] test loading bad plugins with nil/empty names https://github.com/rubygems/rubygems/commit/e64b1f3497 M lib/bundler/plugin.rb M spec/bundler/bundler/plugin_spec.rb commit 5cce96891ec288462b98149410d53c301cbf7682 Author: Andre Arko Date: Tue Jul 13 02:12:00 2021 -0700 [rubygems/rubygems] remove focus https://github.com/rubygems/rubygems/commit/584a393812 M spec/bundler/bundler/plugin/index_spec.rb commit 44ba77d16d0017639d425a5355f07a5b42eef1ea Author: Andre Arko Date: Tue Jul 13 02:25:21 2021 -0700 [rubygems/rubygems] lock for development on macos https://github.com/rubygems/rubygems/commit/60469e4cac M tool/bundler/rubocop_gems.rb.lock M tool/bundler/standard_gems.rb.lock commit 227c2deff4c4bc7e937020e6d9998f89fa6fdd97 Author: David Rodríguez Date: Mon Jul 12 10:30:16 2021 +0200 [rubygems/rubygems] Fix development gem unintentionally removed on an edge case When a development dependency was duplicated inside the gemspec and Gemfile with the same requirements, we went from printing a warning to removing the gem altogether. This change makes it not print a warning, but don't remove the gem either. https://github.com/rubygems/rubygems/commit/8bb2488131 M lib/bundler/dsl.rb M spec/bundler/commands/install_spec.rb commit bbaebbf5290adcbbfe30bbd925c2bf85ce190f52 Author: Jared Beck Date: Thu Jul 8 11:27:50 2021 -0400 [rubygems/rubygems] Fix contradictory message about deletion of default gem [Fixes #4733] https://github.com/rubygems/rubygems/commit/fce7f3eb7d M lib/rubygems/uninstaller.rb M test/rubygems/test_gem_uninstaller.rb commit 29ed9d1aaaad576f18b771aee9a183750ba37070 Author: Nobuyoshi Nakada Date: Thu Jul 15 21:08:57 2021 +0900 [ruby/error_highlight] Fix leaked tempfiles https://github.com/ruby/error_highlight/commit/8b353a10a7 M test/error_highlight/test_error_highlight.rb commit 6073a8bdc01c7cfae9671faa4edf85abf6e28c29 Author: Samuel Williams Date: Fri Jul 16 15:43:57 2021 +1200 Add debug assertion in `rb_funcall*` that the current thread has the gvl. M common.mk M vm.c M vm_eval.c commit 55a79b648cabcd2a8b837f89c4d32c3c861d8b7a Author: Hiroshi SHIBATA Date: Fri Jul 16 13:50:15 2021 +0900 Adjust the release version of ruby2_keywords M lib/ruby2_keywords.gemspec commit 25689024cf3ab81c950cca3f0d17dff9f9036e22 Author: Nobuyoshi Nakada Date: Fri Jul 16 11:23:36 2021 +0900 Added code fence to the example in [Feature #17724] [ci skip] M NEWS.md commit 95f8ffa5f6c70aa9383e1f6db02b22707c183402 Author: Jeremy Evans Date: Thu Jul 15 10:04:17 2021 -0700 Copy hash compare_by_identity setting in more cases This makes the compare_by_identity setting always copied for the following methods: * except * merge * reject * select * slice * transform_values Some of these methods did not copy the setting, or only copied the setting if the receiver was not empty. Fixes [Bug #17757] Co-authored-by: Kenichi Kamiya M hash.c M test/ruby/test_hash.rb commit fa87f72e1e84e2b55516be188f00434a683b924c Author: Jeremy Evans Date: Thu May 13 15:31:46 2021 -0700 Add pattern matching pin support for instance/class/global variables Pin matching for local variables and constants is already supported, and it is fairly simple to add support for these variable types. Note that pin matching for method calls is still not supported without wrapping in parentheses (pin expressions). I think that's for the best as method calls are far more complex (arguments/blocks). Implements [Feature #17724] M NEWS.md M compile.c M doc/syntax/pattern_matching.rdoc M parse.y M test/ruby/test_pattern_matching.rb commit f1035248af04b2a4d58990740c3f1b840a5eac78 Author: aycabta Date: Thu Jul 15 23:42:11 2021 +0900 [ruby/irb] Show code page by irb_info on Windows https://github.com/ruby/irb/commit/6160d74199 M lib/irb/cmd/info.rb M test/irb/test_cmd.rb commit 456d0019dddec74b80583f02ffdb7d84b096ab32 Author: aycabta Date: Wed Jul 14 16:27:17 2021 +0900 [ruby/irb] Escape space in free-spacing mode https://github.com/ruby/irb/commit/085ac42947 M test/irb/test_cmd.rb commit feec80a36286cefb3a403bb5661176a331f1d3b0 Author: git Date: Fri Jul 16 00:49:08 2021 +0900 * 2021-07-16 [ci skip] M version.h commit e5fe48646c68be0bd45fb8a1d7de36da00eaec4d Author: Peter Zhu Date: Tue Jun 29 14:32:54 2021 -0400 [Bug #18014] Add assertion to verify freelist This commit adds an assertion has been added after `gc_page_sweep` to verify that the freelist length is equal to the number of free slots in the page. M gc.c commit 4a627dbdfd1165022fa9e716ba845e937b03773d Author: Peter Zhu Date: Tue Jun 29 14:32:50 2021 -0400 [Bug #18014] Fix memory leak in GC when using Ractors When a Ractor is removed, the freelist in the Ractor cache is not returned to the GC, leaving the freelist permanently lost. This commit recycles the freelist when the Ractor is destroyed, preventing a memory leak from occurring. M gc.c M internal/gc.h M ractor.c M ractor_core.h commit 119697f61e2b2b157816a8aa33aada5863959900 Author: Peter Zhu Date: Tue Jun 29 14:32:28 2021 -0400 [Bug #18014] Fix rb_gc_force_recycle unmark before sweep If we force recycle an object before the page is swept, we should clear it in the mark bitmap. If we don't clear it in the bitmap, then during sweeping we won't account for this free slot so the `free_slots` count of the page will be incorrect. M gc.c commit 3e7a7fb28a9a6a9544e1e49dfab51122ccfdac3f Author: Nobuyoshi Nakada Date: Thu Jul 15 21:33:39 2021 +0900 Make Struct#keyword_init? return nil by default [Feature #18008] M struct.c M test/ruby/test_struct.rb commit 33bea3bdff3b91b3373a85a5c077361073b127d8 Author: Nobuyoshi Nakada Date: Thu Jul 15 21:30:15 2021 +0900 Regularize keyword_init values not to hold the argument object M struct.c commit 835c63cd8818dfa86bce54d818c11cbec25b1285 Author: NARUSE, Yui Date: Thu Jul 15 18:21:49 2021 +0900 Add tests and NEWS [Feature #18008] M NEWS.md M test/ruby/test_struct.rb commit 1a637544166eca6b917fb6f32baeb771f4914b7a Author: hkdnet Date: Thu Jul 15 18:14:27 2021 +0900 struct.c: Add keyword_init? singleton method for StructClass (#4609) Fixes [Feature #18008] M struct.c commit 3ce2bf4d908c5cc80b8c53a21a09cd0d9d8ec26c Author: 卜部昌平 Date: Thu Jul 15 16:49:55 2021 +0900 rb_interned_id_p: does not exist This declaration was added at commit 0ee5a49dd4ffbbb285c25fa6cba88370ce9 without its implementation. Must be a mistake. Note also that we ended up having this exct same functionality implemented under a name of rb_check_id(). M include/ruby/encoding.h commit 2d9aacf64457b87a9e9c7ced294a290c9a72626c Author: 卜部昌平 Date: Thu Jul 15 16:46:59 2021 +0900 rb_enc_casefold: does not exist This declaration was added at commit 0ee5a49dd4ffbbb285c25fa6cba88370ce9 without its implementation. Must be a mistake. M include/ruby/encoding.h commit 645616c273aa9a328ca4ed3fceac8705e2e036cd Author: Yusuke Endoh Date: Thu Jul 15 16:41:54 2021 +0900 process.c: Call rb_thread_atfork in rb_fork_ruby All occurrences of rb_fork_ruby are followed by a call rb_thread_fork in the created child process. This is refactoring and a potential preparation for [Feature #17795]. (rb_fork_ruby may be wrapped by Process._fork_.) M io.c M process.c commit 8f62f12c35cf0bb3c6b48c1e59477d6b0da79067 Author: Patrik Ragnarsson Date: Thu Jul 15 08:38:39 2021 +0200 Fix typo in flag in NEWS.md M NEWS.md commit f347b586fb2ae53a630593a39984a4f1e9dae10b Author: Nobuyoshi Nakada Date: Thu Jul 15 09:49:56 2021 +0900 [ruby/fiddle] Handle#file_name results in very platform dependent M test/fiddle/test_handle.rb commit 0d74ddc5fff202fe7e439fbd2ab6c27dc071e38f Author: git Date: Thu Jul 15 09:26:19 2021 +0900 * 2021-07-15 [ci skip] M version.h commit c67c83fb68e2f514f359633da12b59d93d7dda5a Author: Nobuyoshi Nakada Date: Thu Jul 15 09:19:58 2021 +0900 [ruby/fiddle] Module file name may be the realpath Even when the path which was used to dlopen may be a symlink. M test/fiddle/test_handle.rb commit 2fa3209a350f21f31d65e0d85f9903244d40f8f1 Author: Nobuyoshi Nakada Date: Wed Jul 14 22:00:56 2021 +0900 [ruby/fiddle] fixed the test on case-insensitive filesystem M test/fiddle/test_handle.rb commit 67897762cf3cabad99effd636b50a2db26fb0f3f Author: Kenta Murata Date: Wed Jul 14 15:51:26 2021 +0900 [ruby/fiddle] Add Fiddle::Handle#file_name (https://github.com/ruby/fiddle/pull/88) https://github.com/ruby/fiddle/commit/4ee1c6fc4b M ext/fiddle/extconf.rb M ext/fiddle/fiddle.h M ext/fiddle/handle.c M test/fiddle/test_handle.rb commit 169529a0c0973fa925ad3b36f4427d31e802a37e Author: Nobuyoshi Nakada Date: Wed Jul 14 15:38:55 2021 +0900 [ruby/fiddle] Check HAVE_RUBY_MEMORY_VIEW_H rather than API version (https://github.com/ruby/fiddle/pull/86) https://github.com/ruby/fiddle/commit/c5abcc3a7e M ext/-test-/memory_view/extconf.rb M ext/-test-/memory_view/memory_view.c M ext/fiddle/fiddle.c M ext/fiddle/fiddle.h M ext/fiddle/memory_view.c M ext/fiddle/pointer.c commit 818c74b7f4d5b88833af26226fc81e563b5d11b9 Author: Kenta Murata Date: Wed Jul 14 11:26:52 2021 +0900 [ruby/fiddle] Return the module handle value in Fiddle::Handle#to_i and add FIddle::Handle#to_ptr (https://github.com/ruby/fiddle/pull/87) https://github.com/ruby/fiddle/commit/170111a0cb M ext/fiddle/fiddle.h M ext/fiddle/handle.c M ext/fiddle/pointer.c M test/fiddle/test_handle.rb commit 57a743efa408f0c47fc18dd16758a1a1cd54d296 Author: git Date: Wed Jul 14 10:48:29 2021 +0900 * 2021-07-14 [ci skip] M version.h commit 896bbb9fadd10e1ad06ff3fd7d0608acda01ac06 Author: Hiroshi SHIBATA Date: Tue Jul 13 20:58:08 2021 +0900 Merge RubyGems/Bundler master from 8459ebd6ad65ce3397233416dc64083ae7572bb9 M lib/bundler.rb M lib/bundler/definition.rb M lib/bundler/dsl.rb M lib/bundler/index.rb M lib/bundler/installer/standalone.rb M lib/bundler/plugin/installer.rb M lib/bundler/rubygems_ext.rb M lib/bundler/runtime.rb M lib/bundler/settings.rb M lib/bundler/spec_set.rb M lib/bundler/vendor/connection_pool/lib/connection_pool.rb D lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb M lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb M lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb A lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb M lib/bundler/vendor/uri/lib/uri.rb M lib/bundler/vendor/uri/lib/uri/common.rb M lib/bundler/vendor/uri/lib/uri/ftp.rb M lib/bundler/vendor/uri/lib/uri/generic.rb M lib/bundler/vendor/uri/lib/uri/http.rb M lib/bundler/vendor/uri/lib/uri/https.rb M lib/bundler/vendor/uri/lib/uri/ldap.rb M lib/bundler/vendor/uri/lib/uri/mailto.rb M lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb M lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb M lib/bundler/vendor/uri/lib/uri/version.rb A lib/bundler/vendor/uri/lib/uri/ws.rb A lib/bundler/vendor/uri/lib/uri/wss.rb M lib/rubygems/exceptions.rb M lib/rubygems/gemcutter_utilities.rb M lib/rubygems/package/io_source.rb M spec/bundler/bundler/bundler_spec.rb M spec/bundler/bundler/settings_spec.rb M spec/bundler/commands/check_spec.rb M spec/bundler/commands/exec_spec.rb M spec/bundler/commands/install_spec.rb M spec/bundler/commands/newgem_spec.rb M spec/bundler/install/gemfile/specific_platform_spec.rb M spec/bundler/plugins/install_spec.rb M spec/bundler/realworld/edgecases_spec.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/support/artifice/vcr.rb M spec/bundler/support/hax.rb A test/rubygems/test_exit.rb M test/rubygems/test_gem_package.rb commit 29f6f79e7396018962eb25c5f5e409f5fe28a73b Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Thu Apr 29 23:26:16 2021 +0900 Get `ruby_nonempty_memcpy` to have C linkage Fixes [Bug #17788] M include/ruby/internal/memory.h commit cb955dc9ac28ace4b9463261b425ac32750b053c Author: Nobuyoshi Nakada Date: Tue Jul 13 21:34:28 2021 +0900 [ruby/fiddle] update dependencies M ext/fiddle/depend commit 1d03c7da041cb426dfd269193818722279cebaa4 Author: aycabta Date: Tue Jul 13 21:21:35 2021 +0900 [ruby/irb] Add an explanation of default sub commands of "measure", which are :time and :stackprof https://github.com/ruby/irb/commit/759be5a344 M lib/irb/cmd/measure.rb commit 40d45ab093fbd03fa71a5f3ca1982166f12693ef Author: Nobuyoshi Nakada Date: Tue Jul 13 20:32:13 2021 +0900 [ruby/fiddle] Check HAVE_RUBY_MEMORY_VIEW_H rather than API version https://github.com/ruby/fiddle/commit/93f9564446 M ext/fiddle/fiddle.h commit a5d6ea9266abbdcf87b09dacebc2123fa82a4291 Author: Yusuke Endoh Date: Tue Jul 13 20:29:30 2021 +0900 [ruby/error_highlight] Set the binary mode for Tempfile creation in a test https://github.com/ruby/error_highlight/commit/8273d3b6f2 M test/error_highlight/test_error_highlight.rb commit 472d8c5555ad090e62ca813edf5501c2e86e416c Author: Nobuyoshi Nakada Date: Mon Jul 12 05:26:58 2021 +0900 [ruby/fiddle] Update required_ruby_version (https://github.com/ruby/fiddle/pull/85) Drop supports for old versions, keeping 2.5 as CI supports it for now. https://github.com/ruby/fiddle/commit/90634e7c55 M ext/fiddle/fiddle.gemspec commit bb868f4814c09c978f20f224c5e99656bc8b9bee Author: Sutou Kouhei Date: Mon Jul 5 10:45:48 2021 +0900 [ruby/fiddle] Use have_header and have_type to detect memory view availability Fix https://github.com/ruby/fiddle/pull/84 It may detect ruby/memory_view.h for system Ruby that is installed in /usr. We can use RUBY_API_VERSION_MAJOR to detect memory view availability because memory view is available since Ruby 3.0. Reported by Jun Aruga. Thanks!!! https://github.com/ruby/fiddle/commit/3292929830 M ext/fiddle/extconf.rb M ext/fiddle/fiddle.h M ext/fiddle/memory_view.c M ext/fiddle/pointer.c commit 5c0d8c6369f92915bf99924f58f0763abe4f493e Author: Aaron Patterson Date: Wed Jun 30 17:35:04 2021 -0700 [ruby/fiddle] Add "offsetof" to Struct classes (https://github.com/ruby/fiddle/pull/83) * Add "offsetof" to Struct classes I need to get the offset of a member inside a struct without allocating the struct. This patch adds an "offsetof" class method to structs that are generated. The usage is like this: ```ruby MyStruct = struct [ "int64_t i", "char c", ] MyStruct.offsetof("i") # => 0 MyStruct.offsetof("c") # => 8 ``` * Update test/fiddle/test_c_struct_builder.rb Co-authored-by: Sutou Kouhei https://github.com/ruby/fiddle/commit/4e3b60c5b6 Co-authored-by: Sutou Kouhei M ext/fiddle/lib/fiddle/struct.rb A test/fiddle/test_c_struct_builder.rb commit a2c9e1b58a9bc1da0533171236da43fcb556ead7 Author: Sutou Kouhei Date: Sat Jun 19 09:44:36 2021 +0900 [ruby/fiddle] Bump version https://github.com/ruby/fiddle/commit/049138b4b8 M ext/fiddle/lib/fiddle/version.rb commit 70b0318646f5372940071b727c650b96884ab63e Author: Sutou Kouhei Date: Fri Jun 18 09:29:46 2021 +0900 [ruby/fiddle] MemoryView: ensure reset rb_memory_view_t::obj on error https://github.com/ruby/fiddle/commit/0ed39345fe M ext/fiddle/memory_view.c commit 9f86e50e1e03daff73a36fd8490f0457db98a641 Author: Sutou Kouhei Date: Thu Jun 17 13:40:11 2021 +0900 [ruby/fiddle] StringValuePtr may change the val https://github.com/ruby/fiddle/commit/bddca7c895 M ext/fiddle/pointer.c commit 10e26cfa76468dea6f828dbe8031b5ffcff543cb Author: Sutou Kouhei Date: Thu Jun 17 13:36:18 2021 +0900 [ruby/fiddle] Add MemoryView.export and MemoryView#release (https://github.com/ruby/fiddle/pull/80) fix https://github.com/ruby/fiddle/pull/79 Users can release memory views explicitly before process exit. Reported by xtkoba. Thanks!!! https://github.com/ruby/fiddle/commit/1de64b7e76 M ext/fiddle/memory_view.c M test/fiddle/test_memory_view.rb commit 9988f6ac4e887437b5a76f0a1c27fa6f5c17c039 Author: Sutou Kouhei Date: Thu May 20 06:29:26 2021 +0900 [ruby/fiddle] Add Fiddle::MemoryView#to_s (https://github.com/ruby/fiddle/pull/78) Fix https://github.com/ruby/fiddle/pull/74 Reported by dsisnero. Thanks!!! M ext/fiddle/memory_view.c M test/fiddle/test_memory_view.rb commit 8c905349bb35fa4c21614272f8e23da646e94957 Author: Sutou Kouhei Date: Tue Apr 20 11:17:38 2021 +0900 [ruby/fiddle] test: fix SetLastError's input type https://github.com/ruby/fiddle/commit/ca5e6a0404 M test/fiddle/test_function.rb commit 37d16bb9dc2fbb42a93d899f6eed1857b304e3d6 Author: Sutou Kouhei Date: Tue Apr 20 11:17:25 2021 +0900 [ruby/fiddle] test: use double quote for string literal https://github.com/ruby/fiddle/commit/fab7eab95b M test/fiddle/test_function.rb commit 5516d74ad2465ec98a09f80337a2ff9a78ba22c6 Author: Sutou Kouhei Date: Tue Apr 20 11:11:16 2021 +0900 [ruby/fiddle] test: add a test for win32_last_socket_error https://github.com/ruby/fiddle/commit/c86cec03cd M test/fiddle/test_function.rb commit 303ab5da8b34faf6b4b608f1f7512dfd08544cc8 Author: Sutou Kouhei Date: Tue Apr 20 11:07:27 2021 +0900 [ruby/fiddle] test: add missing receiver https://github.com/ruby/fiddle/commit/1da3b4af16 M test/fiddle/test_function.rb commit d1eeb9fec953c41ebaf312d7a56948bca43e9f93 Author: Sutou Kouhei Date: Tue Apr 20 10:58:23 2021 +0900 [ruby/fiddle] windows: use GetLastError() for win32_last_error Ruby: [Bug #11579] Patch by cremno phobia. Thanks!!! https://github.com/ruby/fiddle/commit/760a8f9b14 M ext/fiddle/function.c M test/fiddle/test_function.rb commit c0f9191ab6691b2fc526cd099e27cd4f53c45525 Author: Sutou Kouhei Date: Mon Apr 19 16:48:17 2021 +0900 [ruby/fiddle] Bump version https://github.com/ruby/fiddle/commit/3784cfeec4 M ext/fiddle/lib/fiddle/version.rb commit 4c039a2ea07fa20916b2bc6a4aaee92e06cf6421 Author: Nobuyoshi Nakada Date: Tue Jul 13 19:36:52 2021 +0900 tool/sync_default_gems.rb: remove CRs M tool/sync_default_gems.rb commit f9c559a0a2892d131e7d16c72d6ebd61f3cde208 Author: Nobuyoshi Nakada Date: Tue Jul 13 19:05:50 2021 +0900 sync_default_gems.rb: expand links to PRs of the upstream M tool/sync_default_gems.rb commit 5fd5d71a4b100fdeca55352a5441b095a1d82e16 Author: Yusuke Endoh Date: Tue Jul 13 16:53:52 2021 +0900 [ruby/error_highlight] Support a file that has no final newline https://github.com/ruby/error_highlight/commit/9d671284cb M lib/error_highlight/base.rb M test/error_highlight/test_error_highlight.rb commit 23c8bc367c6d700789a4059b831606966efb674c Author: Yusuke Endoh Date: Tue Jul 13 16:47:35 2021 +0900 [ruby/error_highlight] Support hard tabs Now, the highlight line is created by replacing non-tab characters with spaces, and keeping all hard tabs as-is. This means the highlight line has the completely same indentation as the code snippet line. Fixes #7 https://github.com/ruby/error_highlight/commit/38f20fa542 M lib/error_highlight/formatter.rb M test/error_highlight/test_error_highlight.rb commit b18f6fff69c4a3904f6714ab107ba48745df42f7 Author: git Date: Tue Jul 13 16:28:57 2021 +0900 * 2021-07-13 [ci skip] M version.h commit 9df712a0e2013018bf44be71404ffc17dce21744 Author: Samuel Williams Date: Tue Jul 13 18:46:32 2021 +1200 Expose `rb_obj_is_fiber`. M include/ruby/internal/intern/cont.h M internal/cont.h commit 84fea8ee39249ff9e7a03c407e5d16ad93074f3e Author: Yusuke Endoh Date: Mon Jul 12 16:48:28 2021 +0900 [ruby/error_highlight] Update a test for multibyte characters https://github.com/ruby/error_highlight/commit/2fc70d7f8e M test/error_highlight/test_error_highlight.rb commit 8b01d16ad661a02157311a6a24f415713d69a8a4 Author: Yusuke Endoh Date: Mon Jul 12 16:47:24 2021 +0900 [ruby/error_highlight] Stop showing a code snippet if it has non-ascii characters See https://github.com/ruby/error_highlight/issues/4 https://github.com/ruby/error_highlight/commit/c20efd3961 M lib/error_highlight/base.rb commit 028441d22fee121d129126c55938690be38bd3d9 Author: Samuel Williams Date: Mon Jul 12 16:28:43 2021 +1200 Avoid calling `fstat` on things we already know are valid sockets. M ext/socket/basicsocket.c M ext/socket/init.c commit 0895d57d3115f162dcb6cff82da1834a7241633e Author: git Date: Mon Jul 12 13:45:15 2021 +0900 * 2021-07-12 [ci skip] M version.h commit 6504ca006b4a97ca875d629b5dcf942b3b8fd72a Author: Nobuyoshi Nakada Date: Mon Jul 12 12:10:16 2021 +0900 Show node IDs in dump M node.c commit c2ed5ab08b0f508185b4abd2d28f045616e7c7f5 Author: Nobuyoshi Nakada Date: Sun Jul 11 20:27:21 2021 +0900 [ruby/date] Fixed markups for bold [ci skip] https://github.com/ruby/date/commit/404f9d2096 M ext/date/date_core.c commit 8065670cfbfcf89249c2de12a513b5c7308c9aeb Author: Jeremy Evans Date: Tue Jun 15 10:39:42 2021 -0700 [ruby/date] Fix comparison with Float::INFINITY Fixes [Bug #17945] https://github.com/ruby/date/commit/953d907238 M ext/date/lib/date.rb M test/date/test_date.rb commit 49ba7cd2598e047aba37c204c143ce6ee2364e8c Author: Nobuyoshi Nakada Date: Sun Jul 11 20:08:08 2021 +0900 [DOC] Move mailing-list URLs to footnotes [ci skip] M README.ja.md M README.md commit 690385014a767d01549991655a424a13d3279b0f Author: Nobuyoshi Nakada Date: Fri Jan 15 23:18:41 2021 +0900 Move core_assertions.rb from test/unit This file contains extended assertions for ruby core which do not belong to test/unit. R099 tool/lib/test/unit/core_assertions.rb tool/lib/core_assertions.rb M tool/lib/test/unit/assertions.rb commit b32ae9898f0311a3755a361bc0bdcbb38f143deb Author: S-H-GAMELINKS Date: Sun Jun 27 17:11:24 2021 +0900 Move rb_str_escape function declaration M internal/string.h M object.c commit e330bbeeb1bd70180e5f6b835f2a39488e6c2d42 Author: git Date: Sun Jul 11 06:12:24 2021 +0900 * 2021-07-11 [ci skip] M version.h commit 947d0198e00b2ba991a566e503a66675de625c2f Author: aycabta Date: Sat Jul 10 22:32:51 2021 +0900 [ruby/irb] Show LANG and LC_ALL env by irb_info Co-authored-by: Nobuyoshi Nakada https://github.com/ruby/irb/commit/b431742430 M lib/irb/cmd/info.rb M test/irb/test_cmd.rb commit 491ab2820aada99f53c328f83f0345acc517fc37 Author: Nobuyoshi Nakada Date: Sat Jul 10 21:02:26 2021 +0900 Remove half-defined Reline on LoadError When fiddle is not avaiable, reline/terminfo depending on it also fails. M test/readline/helper.rb commit d172f8ac099a3850a3aed6136e50c59d5a81b11f Author: Nobuyoshi Nakada Date: Sat Jul 10 19:14:40 2021 +0900 Skip fiddle tests if fiddle is not avaiable M test/fiddle/test_memory_view.rb M test/fiddle/test_pinned.rb commit cb3eb3d7d516a12957939491f3c3cc663c1a9240 Author: Nobuyoshi Nakada Date: Sat Jul 10 17:39:25 2021 +0900 Get rid of conflict in ccan/list Undefine LIST_HEAD from BSD-origin sys/queue.h. M gc.c commit 9c2851508e49eb2cd22ee1a52b846626180a965f Author: git Date: Sat Jul 10 13:44:33 2021 +0900 * 2021-07-10 [ci skip] M version.h commit 289fd3c801495b8188b8549b5a095cd479d048de Author: Jeremy Evans Date: Fri Jul 9 21:44:01 2021 -0700 [ruby/irb] Pass local variables from workspace binding to lexer This fixes at least an issue where irb will incorrectly assume code opens a heredoc when it does not, such as this code: ```ruby s1 = 'testing' s2 = 'this' s2 <6072239121360293dbd2ed607f16b6a11668999a Author: Martin Dürst Date: Fri Jul 9 15:31:51 2021 +0900 Remove no longer needed include files (Unicode Version 12.1.0) D enc/unicode/12.1.0/casefold.h D enc/unicode/12.1.0/name2ctype.h commit 23ed8ef44004ec9e195495133bfcb60770ee6b01 Author: Kazuhiro NISHIYAMA Date: Fri Jul 9 15:39:08 2021 +0900 Update bundled_gems M gems/bundled_gems commit f3e4c3400e53717e9998427dbf1f755ae7985c34 Author: git Date: Fri Jul 9 08:54:05 2021 +0900 * 2021-07-09 [ci skip] M version.h commit fbe9b691bd4d5fc21e893e60cd026830b5e16a90 Author: Nobuyoshi Nakada Date: Fri Jul 9 08:52:35 2021 +0900 Added missing declarations in readline.h bundled with macOS 10.13 M ext/readline/readline.c commit a7c85ccb18fd0d2111a69f34db01f145711cccb8 Author: Kazuhiro NISHIYAMA Date: Thu Jul 8 20:21:49 2021 +0900 Update bundled_gems M gems/bundled_gems commit 524513be399e81bb170ec88aa0d501f33cbde8c3 Author: Nobuyoshi Nakada Date: Thu Jul 8 16:56:32 2021 +0900 mkmf.rb: try linking at try_var To check for variables accessible but not declared. M lib/mkmf.rb A test/mkmf/test_have_var.rb commit d6cf4c0c997752c9e23876a8d5c205737317a6e3 Author: Nobuyoshi Nakada Date: Thu Jul 8 17:58:25 2021 +0900 rbinstall.rb: just call File.basename directly M tool/rbinstall.rb commit b90ca734f38b54852d60f4d83afdbbad3861e557 Author: Nobuyoshi Nakada Date: Thu Jul 8 17:57:11 2021 +0900 Ubuntu: remove pthread coroutine which is done in Compilations M .github/workflows/ubuntu.yml commit 7a2383b5c16208dde00de9414001d03422770280 Author: Nobuyoshi Nakada Date: Thu Jul 8 16:45:33 2021 +0900 Split test of Hash.[] and add assertion for default value/proc For a73f13c9070a5189947641638398cbffb8d012d8. M test/ruby/test_hash.rb commit 771f6dd75dd38e378e2e0f6de09398b6660b09f2 Author: Nobuyoshi Nakada Date: Thu Jul 8 16:38:08 2021 +0900 [ruby/stringio] Suppress a sign-compare warning https://github.com/ruby/stringio/commit/a88c070e0b M ext/stringio/stringio.c commit 3b36e34b9081fc0e43b2fde484f6d07f45ddb2b1 Author: Martin Dürst Date: Thu Jul 8 14:40:47 2021 +0900 Adapt test_emoji_breaks.rb to Unicode 13.0.0/Emoji 13.0 - Add UNICODE_VERSION,... to deal with new location of some of the emoji-related data files. - Introduce class BreakFile to handle various file properties. - Adapt main code to use BreakFile. M test/ruby/enc/test_emoji_breaks.rb commit 146a943d9aabb9dda3c5fa1fc3d493c1df969184 Author: Martin Dürst Date: Sun Jul 4 20:56:13 2021 +0900 Fix ruby_version guards in Unicode/Emoji version specs Correct version guards in ruby_version in Unicode/Emoji version specs to correctly use exclusive range endings. M spec/ruby/library/rbconfig/unicode_emoji_version_spec.rb M spec/ruby/library/rbconfig/unicode_version_spec.rb commit 323ff38c04d15c3efe5eed497620d9bf242817e6 Author: Martin Dürst Date: Sun Jul 4 19:48:02 2021 +0900 Add directory and include files for Unicode version 13.0.0 - Add directory enc/unicode/13.0.0 - Add include files casefold.h and name2ctype.h for Unicode version 13.0.0 A enc/unicode/13.0.0/casefold.h A enc/unicode/13.0.0/name2ctype.h commit ba357bace26a118e2ef10ca25cf3741bfb971bb6 Author: Martin Dürst Date: Sun Jul 4 19:06:26 2021 +0900 Add new Unicode/Emoji version checks to spec/ruby/library/rbconfig - Limit Unicode version 12.1.0 to Ruby versions 2.6.3 - 3.0 - Check that Ruby version 3.1 has Unicode version 13.0.0 - Limit Unicode Emoji version 12.1 to Ruby versions 2.7 - 3.0 - Check that Ruby version 3.1 has Unicode Emoji version 13.0 M spec/ruby/library/rbconfig/unicode_emoji_version_spec.rb M spec/ruby/library/rbconfig/unicode_version_spec.rb commit 99cd0e1f79186f7beb15d8a1f3c9f030d5d07de0 Author: Martin Dürst Date: Sun Jul 4 18:18:23 2021 +0900 Update lib/unicode_normalize/tables.rb to Unicode version 13.0.0 M lib/unicode_normalize/tables.rb commit 94fc4b18695d3ffa7a379b0ee7150eef237ac1cf Author: Martin Dürst Date: Sun Jul 4 17:11:22 2021 +0900 Adjust tool/enc-unicode.rb to deal with new location of some emoji files - Change location of file emoji-data.txt - Change range of files in emoji directory ([stz] is for emoji-sequences.txt, emoji-test.txt, and emoji-zwj-sequences.txt) - Make sure that version of all emoji files is checked against Emoji version M tool/enc-unicode.rb commit b6113a3fd8471a9bd41a866c602746e3eb391de0 Author: Martin Dürst Date: Sun Jul 4 16:27:38 2021 +0900 Update common.mk to deal with Unicode version 13.0.0 - Change Unicode version to 13.0.0 - Change Emoji version to 13.0 - Adjust to moved locations of emoji-data.txt and emoji-variation-sequences.txt by splitting these files from $(UNICODE_EMOJI_FILES) and putting them into a new group $(UNICODE_UCD_EMOJI_FILES) M common.mk commit 6185b8a0efcb6832fd32dff77f1a5310555f0bb3 Author: git Date: Thu Jul 8 00:53:46 2021 +0900 * 2021-07-08 [ci skip] M version.h commit 372d94b6ba73d85b2c63c70e873a4914bbe9dbad Author: Nobuyoshi Nakada Date: Wed Jul 7 10:35:15 2021 +0900 Shared libruby also needs MAINLIBS for jemalloc M configure.ac commit e8d953937388e498f9850f72d9d930962381a10b Author: Nobuyoshi Nakada Date: Wed Jul 7 01:08:00 2021 +0900 Refactor --with-jemalloc option Find jemalloc header first, then using the found header, try [with mangle, without mangle] x [no more additional libraries, adding jemalloc] combination. M configure.ac commit 82d425515d2c1a14f964fc7a571e272f933bba7a Author: 卜部昌平 Date: Wed Jul 7 17:50:11 2021 +0900 comment about the situation [ci skip] M configure.ac commit 737e4432b978eb4b9f5b10fb6cc6d9c883a5d17a Author: 卜部昌平 Date: Wed Jul 7 10:16:48 2021 +0900 configure: add -Wl,--no-as-needed It is reported that combination of `--enable-shared --with-jemalloc` breaks on Debian bullseye (testig). Deeper investigation revealed that this system's `ld(1)` is patched, to turn `ld --as-needed` on by default. This linker flag strips "unnecessary" library dependencies from an executable. In case of `ruby(1)` (of `--enable-shared`), because everything is in `libruby.so`, the binary itself doesn't include any calls to `malloc(3)` at all. So in spite of our explicit `-ljemalloc` flag, it is ignored. Libc's one is chosen instead. This is not what we want. Let's force our `ruby(1)` link what we want. Fixes https://github.com/ruby/ruby/pull/4627 The author would like to acknowledge Akihiko Odaki for their contributions. M configure.ac commit 1293042307a5ecdd706212c897a57ff1aed07a0d Author: Yusuke Endoh Date: Wed Jul 7 17:17:52 2021 +0900 gc.c: use each_stack_location for emscripten follow up of e4e416380d4b1b36ca1cc2e1e1ed993c9be694bb M gc.c commit c082c6eb7c786a432bea23cf78839f64585cb630 Author: Hiroshi SHIBATA Date: Wed Jul 7 14:07:29 2021 +0900 Sync RubyGems and Bundler with upstream M lib/bundler.rb M lib/bundler/cli/doctor.rb M lib/bundler/cli/install.rb M lib/bundler/compact_index_client.rb M lib/bundler/current_ruby.rb M lib/bundler/definition.rb M lib/bundler/dsl.rb M lib/bundler/installer.rb M lib/bundler/lockfile_parser.rb M lib/bundler/plugin/installer.rb M lib/bundler/rubygems_ext.rb M lib/bundler/source/rubygems.rb M lib/bundler/source_list.rb M lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb M lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb M lib/bundler/worker.rb M lib/rubygems.rb M lib/rubygems/core_ext/tcpsocket_init.rb M lib/rubygems/deprecate.rb M lib/rubygems/gemcutter_utilities.rb M lib/rubygems/installer.rb M lib/rubygems/remote_fetcher.rb M lib/rubygems/request/connection_pools.rb M lib/rubygems/request/http_pool.rb M lib/rubygems/request_set.rb M lib/rubygems/specification.rb M lib/rubygems/uri_parser.rb D lib/rubygems/uri_parsing.rb M lib/rubygems/user_interaction.rb M spec/bundler/bundler/cli_spec.rb M spec/bundler/bundler/definition_spec.rb M spec/bundler/bundler/source_list_spec.rb M spec/bundler/commands/doctor_spec.rb M spec/bundler/commands/update_spec.rb M spec/bundler/install/gemfile/eval_gemfile_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M spec/bundler/install/gems/compact_index_spec.rb M spec/bundler/install/gems/dependency_api_spec.rb M spec/bundler/install/global_cache_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/realworld/edgecases_spec.rb M spec/bundler/realworld/slow_perf_spec.rb M spec/bundler/spec_helper.rb A spec/bundler/support/api_request_limit_hax.rb M spec/bundler/support/artifice/compact_index_rate_limited.rb M spec/bundler/support/artifice/endpoint.rb M spec/bundler/support/hax.rb M spec/bundler/support/helpers.rb M spec/bundler/support/matchers.rb M spec/bundler/support/path.rb M test/rubygems/helper.rb M test/rubygems/test_gem_gemcutter_utilities.rb commit 6e2240a2f954c84ed12357382c9c065ae4b91e11 Author: David Rodríguez Date: Fri May 28 12:47:49 2021 +0200 Sync latest bundler & rubygems development version M lib/bundler.rb M lib/bundler/cli.rb M lib/bundler/cli/check.rb M lib/bundler/cli/install.rb M lib/bundler/cli/lock.rb M lib/bundler/cli/outdated.rb M lib/bundler/cli/update.rb M lib/bundler/definition.rb M lib/bundler/feature_flag.rb M lib/bundler/fetcher/compact_index.rb M lib/bundler/fetcher/downloader.rb M lib/bundler/fetcher/index.rb M lib/bundler/friendly_errors.rb M lib/bundler/index.rb M lib/bundler/installer.rb M lib/bundler/man/bundle-add.1 M lib/bundler/man/bundle-binstubs.1 M lib/bundler/man/bundle-cache.1 M lib/bundler/man/bundle-check.1 M lib/bundler/man/bundle-clean.1 M lib/bundler/man/bundle-config.1 M lib/bundler/man/bundle-config.1.ronn M lib/bundler/man/bundle-doctor.1 M lib/bundler/man/bundle-exec.1 M lib/bundler/man/bundle-gem.1 M lib/bundler/man/bundle-info.1 M lib/bundler/man/bundle-init.1 M lib/bundler/man/bundle-inject.1 M lib/bundler/man/bundle-install.1 M lib/bundler/man/bundle-list.1 M lib/bundler/man/bundle-lock.1 M lib/bundler/man/bundle-open.1 M lib/bundler/man/bundle-outdated.1 M lib/bundler/man/bundle-platform.1 M lib/bundler/man/bundle-pristine.1 M lib/bundler/man/bundle-remove.1 M lib/bundler/man/bundle-show.1 M lib/bundler/man/bundle-update.1 M lib/bundler/man/bundle-update.1.ronn M lib/bundler/man/bundle-viz.1 M lib/bundler/man/bundle.1 M lib/bundler/man/gemfile.5 M lib/bundler/plugin/api/source.rb M lib/bundler/resolver.rb M lib/bundler/rubygems_ext.rb M lib/bundler/rubygems_integration.rb M lib/bundler/settings.rb M lib/bundler/source.rb M lib/bundler/source/rubygems.rb A lib/bundler/source/rubygems_aggregate.rb M lib/bundler/source_list.rb A lib/bundler/source_map.rb M lib/bundler/spec_set.rb M lib/bundler/templates/newgem/newgem.gemspec.tt M lib/rubygems/command.rb M lib/rubygems/commands/build_command.rb M lib/rubygems/commands/cert_command.rb M lib/rubygems/config_file.rb M lib/rubygems/ext/ext_conf_builder.rb M lib/rubygems/installer.rb M lib/rubygems/request.rb M lib/rubygems/specification.rb M lib/rubygems/specification_policy.rb M lib/rubygems/uninstaller.rb M lib/rubygems/util/licenses.rb M spec/bundler/bundler/definition_spec.rb M spec/bundler/bundler/fetcher/downloader_spec.rb M spec/bundler/bundler/fetcher/index_spec.rb M spec/bundler/bundler/settings_spec.rb M spec/bundler/commands/cache_spec.rb M spec/bundler/commands/check_spec.rb M spec/bundler/commands/lock_spec.rb M spec/bundler/commands/outdated_spec.rb M spec/bundler/commands/update_spec.rb M spec/bundler/install/gemfile/groups_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M spec/bundler/install/gemfile/specific_platform_spec.rb M spec/bundler/install/gems/compact_index_spec.rb M spec/bundler/install/gems/dependency_api_spec.rb M spec/bundler/install/global_cache_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/other/major_deprecation_spec.rb M spec/bundler/realworld/double_check_spec.rb M spec/bundler/realworld/edgecases_spec.rb M spec/bundler/runtime/inline_spec.rb M spec/bundler/runtime/load_spec.rb M spec/bundler/runtime/platform_spec.rb M spec/bundler/runtime/require_spec.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/support/artifice/endpoint.rb M spec/bundler/support/helpers.rb M spec/bundler/support/indexes.rb M spec/bundler/support/matchers.rb M spec/bundler/support/path.rb M test/rubygems/helper.rb A test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem M test/rubygems/test_gem_bundler_version_finder.rb M test/rubygems/test_gem_command.rb M test/rubygems/test_gem_commands_help_command.rb M test/rubygems/test_gem_commands_push_command.rb M test/rubygems/test_gem_commands_setup_command.rb M test/rubygems/test_gem_commands_signin_command.rb M test/rubygems/test_gem_dependency.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_ext_ext_conf_builder.rb M test/rubygems/test_gem_ext_rake_builder.rb M test/rubygems/test_gem_gemcutter_utilities.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_kernel.rb M test/rubygems/test_require.rb commit 9952e9358ea73a1bda8d5f8c8672ee1c04892ce4 Author: S-H-GAMELINKS Date: Tue Jul 6 21:19:57 2021 +0900 Refactor rb_str_export and rb_str_export_locale function's M string.c commit b1b7f997aeb8a09e863f4d6271ab38da179e246d Author: git Date: Wed Jul 7 09:48:59 2021 +0900 * 2021-07-07 [ci skip] M version.h commit 2599d1a8dff29a2376f36c8cc301839b454fc064 Author: Aaron Patterson Date: Tue Jul 6 15:11:49 2021 -0700 Store the dup'd CDHASH in the object list during IBF load Since b2fc592c304 nothing was holding a reference to the dup'd CDHASH during IBF loading. If a GC happened to run during IBF load then the copied hash wouldn't have anything to keep it alive. We don't really want to keep the originally loaded CDHASH hash, so this patch just overwrites the original hash with the copied / modified hash. [Bug #17984] [ruby-core:104259] M compile.c commit 91258ed4490652e4c44ceca447ed1ebb5ec48ca3 Author: Nobuyoshi Nakada Date: Tue Jul 6 21:26:14 2021 +0900 Enable libruby-relative on FreeBSD M configure.ac commit 166d148355384c73d18c8465eb99dbc69e3eb400 Author: Nobuyoshi Nakada Date: Tue Jul 6 19:35:38 2021 +0900 Fix check for malloc_conf when no library is required M configure.ac commit c5e6fa4853a2e71b43377931f686d6eb41aacc52 Author: Nobuyoshi Nakada Date: Tue Jul 6 19:20:39 2021 +0900 Moved native coroutine type checking message Not to be interleaved by fallback checking messages M configure.ac commit afd4cfcf22a4ec6e2dbd5f774169ce771d22acea Author: Nobuyoshi Nakada Date: Tue Jul 6 19:06:49 2021 +0900 Try "so" attribute if "smso" is not found M tool/lib/colorize.rb M tool/m4/_colorize_result_prepare.m4 commit 9accb92ba1db93ccb30785e4a637f345569afb4e Author: Hiroshi SHIBATA Date: Tue Jul 6 20:27:12 2021 +0900 Bump up Rake-13.0.4 M gems/bundled_gems commit 02a3cac658a969c2bef2460f61b8346dcb44e8f3 Author: Hiroshi SHIBATA Date: Mon Jul 5 19:32:09 2021 +0900 [ruby/rdoc] Bump version to 6.3.2 https://github.com/ruby/rdoc/commit/0a3a674583 M lib/rdoc/version.rb commit 8a5e161cd9a251054e851d46ccc367609a31c1c7 Author: Nobuyoshi Nakada Date: Tue Jul 6 01:43:41 2021 +0900 Set ENCSTATIC in rbconfig.rb [Bug #17929] M win32/Makefile.sub commit eecc4570cd0f775cc83b3ce9c811cd5142e838f2 Author: Nobuyoshi Nakada Date: Mon Jul 5 23:22:44 2021 +0900 Found library is not usable if the header is not found M ext/zlib/extconf.rb commit e359d637eeb47cd900e01f63632fa1d3c6604be4 Author: git Date: Tue Jul 6 01:16:04 2021 +0900 * 2021-07-06 [ci skip] M version.h commit 1dfe75b0beb7171b8154ff0856d5149be0207724 Author: Nobuyoshi Nakada Date: Tue Jul 6 00:14:58 2021 +0900 Fixed 'maybe_unused' attribute ``` ../../../src/ext/bigdecimal/bigdecimal.c:303:5: error: 'maybe_unused' attribute cannot be applied to types ENTER(1); ^ ``` M ext/bigdecimal/bigdecimal.c commit 3db7f6353fd3b047b1fa9ea5d88a9bce36e8d46d Author: Nobuyoshi Nakada Date: Tue Jul 6 00:09:05 2021 +0900 Suppress unused-but-set-variable warning M ruby.c commit 3dacc14fd3dded7feda31c195f6bf6c096c91e21 Author: Nobuyoshi Nakada Date: Thu Jul 1 05:39:13 2021 +0900 [ruby/rdoc] Fix links without paths https://github.com/ruby/rdoc/commit/424bd5db4d M lib/rdoc/markup/to_html.rb M test/rdoc/test_rdoc_markup_to_html.rb commit f88a9097a4708e8c179eead4e67ee67f15fcdefe Author: Nobuyoshi Nakada Date: Sat May 15 01:06:36 2021 +0900 [ruby/rdoc] Fix for explicit http link https://github.com/ruby/rdoc/commit/caf234665c M lib/rdoc/markup/to_html.rb M test/rdoc/test_rdoc_markup_to_html.rb commit 7c8aa0a5d2bc3f079077d113b350a58d7b7c2b0d Author: Nobuyoshi Nakada Date: Sat Apr 10 01:58:09 2021 +0900 [ruby/rdoc] Allow a label in a link to another document text https://github.com/ruby/rdoc/commit/85bb2d33bb M lib/rdoc/markup/to_html.rb M test/rdoc/test_rdoc_markup_to_html.rb commit 46ab28d6c9a80e91f6f56e9f902e0eff8eb1207e Author: Nobuyoshi Nakada Date: Wed Jun 30 11:29:59 2021 +0900 [ruby/rdoc] Fix assertions which look very likely unintended https://github.com/ruby/rdoc/commit/dc7c890a3d M test/rdoc/test_rdoc_task.rb commit caa123b50e12c5ea95763d7661adb6096e48df21 Author: aycabta Date: Tue Jun 29 20:01:46 2021 +0900 [ruby/rdoc] Support ActiveSupport::Concern.included ref. https://github.com/rails/rails/blob/168ddaa08a63cd956bb7c3ba10be1a7ae36d4ee2/activerecord/lib/active_record/core.rb#L9-L20 https://github.com/ruby/rdoc/commit/a2d651dade Co-authored-by: Fumiaki MATSUSHIMA M lib/rdoc/parser/ruby.rb M test/rdoc/test_rdoc_parser_ruby.rb commit 2f3edf28f3a251bac2cf3b47b46b372faac71e8e Author: Nobuyoshi Nakada Date: Mon Jun 28 12:53:52 2021 +0900 [ruby/rdoc] Prefer omit to pend These conditions are not temporary, rather platform dependent. https://github.com/ruby/rdoc/pull/815#discussion_r654660411 https://github.com/ruby/rdoc/commit/92545fa250 M test/rdoc/test_rdoc_rubygems_hook.rb commit ec9a9af3754671cd066eb9827c4207b36a5f9dba Author: Ulysse Buonomo Date: Sun Jun 27 00:33:34 2021 +0200 [ruby/rdoc] Fix chained inclusion ancestors_of Fixes #814 Signed-off-by: Ulysse Buonomo https://github.com/ruby/rdoc/commit/b45f747216 M lib/rdoc/ri/driver.rb M test/rdoc/test_rdoc_ri_driver.rb commit c7d1989986becc0e403afc35ad4caa5806e787be Author: xstnztk <42609037+xstnztk@users.noreply.github.com> Date: Fri Apr 16 13:42:23 2021 +0200 [ruby/rdoc] Document 'ruby:' to show core documentation in ri ri supports 'ruby:' as a kind of "pseudo gem name" to display files of the core Ruby documentation such as syntax and NEWS. Add the appropriate documentation to the description of options shown by "ri --help". https://github.com/ruby/rdoc/commit/a0e5df6702 M lib/rdoc/ri/driver.rb commit cca2f7ab14ace71eb93992472d8fa0f29de9cad4 Author: Nobuyoshi Nakada Date: Mon Jul 5 11:17:07 2021 +0900 programs will be made from exts `programs` after `exts` overwrites programs built with extension libraries when static-linked-ext. M common.mk commit e127c85fac281dcd02c724c3a33e6b4b99f761a9 Author: git Date: Mon Jul 5 10:22:42 2021 +0900 * 2021-07-05 [ci skip] M version.h commit 0a32cefabd2fb583a9141ef9c9553994a9fb4a4a Author: Nobuyoshi Nakada Date: Sun Jul 4 19:22:11 2021 +0900 Add domain check macros M math.c M test/ruby/test_math.rb commit 2488589b2f1a70dbfdc4155ac9bea3c533ef35d8 Author: Nobuyoshi Nakada Date: Sun Jul 4 15:28:25 2021 +0900 Removed extra double quotes from domain error messages M math.c M test/ruby/test_math.rb commit a73f13c9070a5189947641638398cbffb8d012d8 Author: Nobuyoshi Nakada Date: Sun Jul 4 14:56:23 2021 +0900 [DOC] `Hash.[]` returns a hash with no default value/proc [ci skip] M hash.c commit f810c007cf449d91303a0e8aff3f948f1d3f8068 Author: git Date: Sun Jul 4 11:31:21 2021 +0900 * 2021-07-04 [ci skip] M version.h commit eaa1c3190a41140c6459dc48c91a19f346c8df74 Author: Nobuyoshi Nakada Date: Sun Jul 4 10:45:24 2021 +0900 [Win32] Fix assembler name when cross compiling Hostx64\x86\nmake.exe sets AS to ml64 which targets amd64, but we need assembler for x86. M win32/setup.mak commit ac6924e10eed6a0747ed61f53d793b2611a5f72f Author: Nobuyoshi Nakada Date: Sat Jul 3 22:39:14 2021 +0900 goruby.c: include golf_prelude.c to get rid of overwriting EXTOBJS M common.mk M goruby.c commit 2d3572a1548943b857362fff690d5194d1e03604 Author: Nobuyoshi Nakada Date: Sat Jul 3 22:11:17 2021 +0900 Separate toolchain dependent test M test/mkmf/test_libs.rb commit 71146bd4a32f26b26d76b8847cdb62a8126be491 Author: Samuel Williams Date: Sat Jul 3 09:13:38 2021 +1200 Remove copy coroutine build rule. M win32/Makefile.sub commit 6f85c9d51c354a76f1141585b482e861dfb194dc Author: git Date: Sat Jul 3 12:54:28 2021 +0900 * 2021-07-03 [ci skip] M version.h commit ac86fcbfd0bab8667d277aa575bc5b81e5135d3c Author: Nobuyoshi Nakada Date: Sat Jul 3 01:07:53 2021 +0900 Removed extinit.o from main programs It is included in libruby, which is linked into the main programs. M template/Makefile.in M win32/Makefile.sub commit 6d8422659a4c8a51f37433b6e63cc98d8526abe9 Author: Nobuyoshi Nakada Date: Sat Jul 3 01:02:46 2021 +0900 Fix linking bundled zlib * Prefix "./" to the import library name to expanded when static linking exts. * Copy zlib shared library to the top build directory. M ext/zlib/extconf.rb commit 287fb680e24aabc73102bc7a47366a48c77f3086 Author: Nobuyoshi Nakada Date: Sat Jul 3 00:15:21 2021 +0900 Library arguments to VC are bare file names M lib/mkmf.rb commit 1ac228378cc0447220d229c1e1a7448e7b862b78 Author: Nobuyoshi Nakada Date: Fri Jul 2 20:07:23 2021 +0900 Use $ignore_error defined in mkmf.rb M enc/depend M lib/mkmf.rb commit 3a95834739aababba9eac418d7f122a1e499684b Author: Yusuke Endoh Date: Fri Jul 2 16:45:48 2021 +0900 [ruby/error_highlight] Suppress SyntaxError during RubyVM::AST.of When the original source code is erb, RubyVM::AST.of does not work well. https://github.com/rails/rails/issues/42678. https://github.com/ruby/error_highlight/commit/b1572761a6 M lib/error_highlight/core_ext.rb commit e105d93b4fe0dd9984ec34f0c78d5465c33542a7 Author: Kazuhiro NISHIYAMA Date: Fri Jul 2 13:23:20 2021 +0900 Fix default prompt mode in doc/irb/irb.rd.ja M doc/irb/irb.rd.ja commit 8ebb5e23ebc5f1675e3479b9a29f124dc458226b Author: Nobuyoshi Nakada Date: Tue Mar 9 16:29:50 2021 +0900 Keep GC disabled until VM bootstrap has done [Bug #17583] M test/ruby/test_thread.rb M vm.c commit 1862d961a9b18acbf30d9391e091d91de9c0f16d Author: Samuel Williams Date: Fri Jul 2 09:52:56 2021 +1200 Ignore dead threads in `coroutine_join`. M coroutine/pthread/Context.c commit b8da141d3223a5b7f3386742bd513aa1fbc6fa4f Author: git Date: Fri Jul 2 06:47:55 2021 +0900 * 2021-07-02 [ci skip] M version.h commit e8933fda0c54e1708cf4049dfee2230ffac15271 Author: Jeremy Evans Date: Tue Jun 29 10:13:12 2021 -0700 Remove gdbm/dbm related code from CI The related extensions have been removed. M .github/workflows/check_dependencies.yml M .github/workflows/codeql-analysis.yml M .github/workflows/macos.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml commit f6539202c52a051a4e6946a318a1d9cd29002990 Author: Martin Dürst Date: Thu Jul 1 17:33:43 2021 +0900 - add regression tests for U+6E7F (湿) in ISO-2022-JP In ISO-2022-JP, the bytes use to code are the same as those for "<>". This adds regression tests to make sure that these bytes, when representing 湿, are NOT escaped with encode("ISO-2022-JP, xml: :text) or similar. These are additional regression tests for #12052. M test/ruby/test_transcode.rb commit 9ca30516605e4fb3aaaaa268a6542635736ba1e4 Author: Nobuyoshi Nakada Date: Thu Jul 1 14:26:06 2021 +0900 [DOC] fixed the default value of flags [ci skip] M dir.rb commit 9692aeedf117a35933cf63cdce964e6403337306 Author: Nobuyoshi Nakada Date: Tue Oct 27 00:52:43 2020 +0900 [DOC] expanded `pattern`s in examples of File.fnmatch [ci skip] M dir.rb commit 1467328edc877ada0361e89f55158d2ed1bbb075 Author: Samuel Williams Date: Wed Jun 30 14:11:12 2021 +1200 More general matrix "configure" parameter, add `--with-coroutine=pthread`. M .github/workflows/ubuntu.yml commit 42130a64f02294dc8025af3a51bda518c67ab33d Author: Samuel Williams Date: Sat Jun 26 10:17:26 2021 +1200 Replace copy coroutine with pthread implementation. M .github/workflows/compilers.yml M NEWS.md M bootstraptest/test_fiber.rb M configure.ac M cont.c D coroutine/Stack.h M coroutine/amd64/Context.h M coroutine/arm32/Context.h M coroutine/arm64/Context.h D coroutine/copy/Context.c D coroutine/copy/Context.h M coroutine/emscripten/Context.h M coroutine/ppc64le/Context.h A coroutine/pthread/Context.c A coroutine/pthread/Context.h M coroutine/riscv64/Context.h M coroutine/ucontext/Context.c M coroutine/ucontext/Context.h M coroutine/win32/Context.h M coroutine/win64/Context.h M coroutine/x86/Context.h M eval.c M eval_intern.h M process.c M test/ruby/test_fiber.rb M thread.c M thread_pthread.c M thread_sync.c M thread_win32.c M vm_core.h commit 9c9531950c007872d7726f050a1dc0cb6f8f0490 Author: Nobuyoshi Nakada Date: Thu Jul 1 06:42:00 2021 +0900 rbinstall.rb: get rid of making directories when dryrun M tool/rbinstall.rb commit 8ee24840c844a25c749e7e69017e5a2331c49c1c Author: Keiko Kaneko Date: Tue Jun 29 21:29:22 2021 +0900 [ruby/irb] Update ls.rb without requiring Set, because Set is one of standard libraries https://github.com/ruby/irb/commit/7092ad2ab5 M lib/irb/cmd/ls.rb commit 518d39388a2bfca8bffa08804ceba9d099be89d5 Author: git Date: Thu Jul 1 05:12:22 2021 +0900 * 2021-07-01 [ci skip] M version.h commit 4a3df35239b122f9260fd4ca2b844b9d41f61225 Author: Peter Zhu Date: Wed Jun 30 15:24:22 2021 -0400 Use stride passed into os_obj_of_i M gc.c commit acbddbe68cdcf5506791d8e19c184536ba253b02 Author: Takashi Kokubun Date: Wed Jun 30 21:04:56 2021 +0900 [ruby/irb] Rescue a specific error Rescuing StandardError is prone to bugs caused by a typo or obsoleted methods. https://github.com/ruby/irb/commit/eb5260fcd5 M lib/irb/cmd/ls.rb commit e8c2b03ee145e10217a8ed58dbadfe30f9edbdfe Author: Masataka Pocke Kuwabara Date: Tue Jun 29 19:16:58 2021 +0900 [ruby/irb] Fix error on `ls object_cant_define_singleton` such as `ls 42`, `ls :sym` and so on https://github.com/ruby/irb/commit/b1d436a853 M lib/irb/cmd/ls.rb M test/irb/test_cmd.rb commit 0feec7984622f0ceb0514b3b340203fdc51550dc Author: Nobuyoshi Nakada Date: Wed Jun 30 19:55:59 2021 +0900 "nodoc" needs to exclude "doc" [ci skip] M common.mk commit b6c910e1f426b702579fe22c60401c57042148e1 Author: Yusuke Endoh Date: Wed Jun 30 17:33:28 2021 +0900 [ruby/error_highlight] Allow the development version (= master branch) of Ruby 3.1 https://github.com/ruby/error_highlight/commit/2dca1446c9 M lib/error_highlight/error_highlight.gemspec commit 59ead8856335c651eec8481095f85e22ac5305e6 Author: Nobuyoshi Nakada Date: Wed Jun 30 15:45:04 2021 +0900 [DOC] add notes and examples for pipe [ci skip] M io.c commit 8ccc257434a73bcb8073d4ebb957a259126f686e Author: Yusuke Endoh Date: Wed Jun 30 14:02:28 2021 +0900 Add the gemspec for error_highlight A lib/error_highlight/error_highlight.gemspec commit b270b5df2c849879af42cb0d948d970bfe404946 Author: Yusuke Endoh Date: Wed Jun 30 13:41:18 2021 +0900 Prevent "warning: ambiguity between regexp and two divisions" M test/ruby/test_name_error.rb commit 6c6b128c671c27c2c68830439b1618da8f3acfdd Author: Yusuke Endoh Date: Wed Jun 30 13:36:16 2021 +0900 [ruby/error_highlight] Bump version https://github.com/ruby/error_highlight/commit/8d483c251e M lib/error_highlight/version.rb commit ca4e5b1eb33f3bae9ced2e7643ae7db3e11fa65d Author: Yusuke Endoh Date: Wed Jun 30 12:31:55 2021 +0900 [ruby/error_highlight] Reconsider the API of ErrorHighlight.spot https://github.com/ruby/error_highlight/commit/acb2046a82 M lib/error_highlight/base.rb M lib/error_highlight/core_ext.rb commit f428ced69c70473b8405aae9c98828aa6f69b254 Author: Yusuke Endoh Date: Wed Jun 30 12:28:22 2021 +0900 [ruby/error_highlight] Experimentally support a custom formatter https://github.com/ruby/error_highlight/commit/f40a1de20e M lib/error_highlight/base.rb M lib/error_highlight/core_ext.rb A lib/error_highlight/formatter.rb M test/error_highlight/test_error_highlight.rb commit db7e9b1aac7752259e60e09b92ea2d2e74b0886d Author: Yusuke Endoh Date: Wed Jun 30 11:44:48 2021 +0900 [ruby/error_highlight] Add some comments https://github.com/ruby/error_highlight/commit/e0c90c72c3 M lib/error_highlight/core_ext.rb commit 3391682edaf43d415e509809f72d6b859d69d7a4 Author: Yusuke Endoh Date: Wed Jun 30 11:39:39 2021 +0900 tool/sync_default_gems.rb: remove unneeded code for error_highlight sync M tool/sync_default_gems.rb commit 393f84da4a47134c5cb8235f299e3c5d2e92f21d Author: Yusuke Endoh Date: Wed Jun 30 10:55:56 2021 +0900 tool/sync_default_gems.rb: Add error_highlight gem M tool/sync_default_gems.rb commit 3dd3ea092acead6179033f2c95525ffc5b8bb6ff Author: Alan Wu Date: Thu Jun 17 17:47:11 2021 -0400 Use Module#ancestors order in recursive constant lookup Before this commit, const_get with inherit=true and constant lookup expressions searched the ancestors of the starting point in an order different from `starting_point.ancestors`. Items in the ancestry list introduced through prepend were searched after searching the module they were prepended into. This oddity allowed for situations where constant lookups gave different results even though `starting_point.ancestors` is the same. Do the lookup in the same order as `starting_point.ancestors` by skipping classes and modules that have an origin iclass. The origin iclass is in the super chain after the prepended modules. Note that just like before this commit, the starting point of the constant lookup is always the first item that we search, regardless of the presence of any prepended modules. [Bug #17887] M test/ruby/test_module.rb M variable.c commit dcd1eedba7af06cdb7f81f1fc4866088665c9d99 Author: git Date: Wed Jun 30 10:47:24 2021 +0900 * 2021-06-30 [ci skip] M version.h commit 94bd3bde8181b9abbd0b55f1382268dc78be2c37 Author: Nobuyoshi Nakada Date: Thu Jan 7 16:40:49 2021 +0900 Specify version to remove as bare numbers M error.c M hash.c M internal/error.h M object.c M string.c commit 21600a5f643d7edb3ce76e0257b92848ee86568e Author: Nobuyoshi Nakada Date: Thu Jan 7 16:35:35 2021 +0900 Ensure that version number starts with digits M internal/error.h commit 0b726924a4ac6a09b33d0f7d082c30d667b7564e Author: Nobuyoshi Nakada Date: Mon Dec 28 19:17:52 2020 +0900 Show the removal version M error.c M internal/error.h commit 8118d435d000adec3023a0ff509baa11cc73fabb Author: Nobuyoshi Nakada Date: Tue Dec 22 16:37:35 2020 +0900 rb_warn_deprecated_to_remove_at [Feature #17432] At compilation time with RUBY_DEBUG enabled, check if the removal version has been reached. M error.c M hash.c M internal/error.h M object.c M string.c commit d1998d8767affe58be0bd09ec536dae9198a7fbd Author: Yusuke Endoh Date: Mon Jun 28 13:55:49 2021 +0900 tool/test-bundled-gems.rb: Stop tests conflicting with error_highlight This hack should be removed after the minitest side is updated. https://github.com/seattlerb/minitest/pull/880 M tool/test-bundled-gems.rb commit 9438c99590f5476a81cee8b4cf2de25084a40b42 Author: Yusuke Endoh Date: Mon Jun 28 13:27:35 2021 +0900 Rename error_squiggle to error_highlight M gem_prelude.rb A lib/error_highlight.rb R099 lib/error_squiggle/base.rb lib/error_highlight/base.rb R090 lib/error_squiggle/core_ext.rb lib/error_highlight/core_ext.rb R052 lib/error_squiggle/version.rb lib/error_highlight/version.rb D lib/error_squiggle.rb M ruby.c R094 test/error_squiggle/test_error_squiggle.rb test/error_highlight/test_error_highlight.rb commit e94604966572bb43fc887856d54aa54b8e9f7719 Author: Yusuke Endoh Date: Fri Jun 18 17:11:39 2021 +0900 [WIP] add error_squiggle gem ``` $ ./local/bin/ruby -e '1.time {}' -e:1:in `
': undefined method `time' for 1:Integer (NoMethodError) 1.time {} ^^^^^ Did you mean? times ``` https://bugs.ruby-lang.org/issues/17930 M gem_prelude.rb A lib/error_squiggle.rb A lib/error_squiggle/base.rb A lib/error_squiggle/core_ext.rb A lib/error_squiggle/version.rb M ruby.c M spec/ruby/core/exception/no_method_error_spec.rb A test/error_squiggle/test_error_squiggle.rb M test/ruby/marshaltestlib.rb M test/ruby/test_marshal.rb M test/ruby/test_module.rb M test/ruby/test_name_error.rb M test/ruby/test_nomethod_error.rb M test/ruby/test_object.rb commit 03dc66449326ce0945c1ccad7f51e57125b2b854 Author: Peter Zhu Date: Mon Jun 28 14:44:22 2021 -0400 Fix crash on RGENGC_CHECK_MODE=4 When running btest there is a crash when compiled with RGENGC_CHECK_MODE=4. The crash happens because `during_gc` is not turned off before `gc_marks_check` is called, causing the marking to happen on the main mark stack instead of mark stack created in `objspace_allrefs`. M gc.c commit 5e75280c8edcd0f3c8f79d0c532cbfd18074886a Author: Samuel Williams Date: Tue Jun 29 21:58:31 2021 +1200 Add basic test for updated IO wait functions. A ext/-test-/wait/depend A ext/-test-/wait/extconf.rb A ext/-test-/wait/wait.c A test/-ext-/wait/test_wait.rb D test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb commit 39f99b8176ddec14058919ae8a317ea0c5216812 Author: Yusuke Endoh Date: Fri Jun 18 17:54:02 2021 +0900 Use assert_not_match "Did you mean?" for UncorrectableNameCheckTest ... instead of exact matching. I'm now creating a built-in gem that modifies Exception's error message, so the expectation value is changed. IMO, it is good to check that did_you_mean suggestion is NOT added in the uncorrectable case. https://github.com/ruby/did_you_mean/commit/ebe88ec4d2 M test/did_you_mean/spell_checking/test_uncorrectable_name_check.rb commit 809f1203744e25fc4d095863593edbfb71529249 Author: Yusuke Endoh Date: Fri Jun 18 17:45:10 2021 +0900 Use String#include? instead of end_with? to avoid message duplication Previously, did_you_mean used `msg.end_with?(suggestion)` to check if its suggestion is already added. I'm now creating a gem that also modifies Exception's message. This breaks did_you_mean's duplication check. This change makes the check use String#include? instead of end_with?. https://github.com/ruby/did_you_mean/commit/b35e030549 M lib/did_you_mean/core_ext/name_error.rb commit 612b6fcd371adc199fb4503941edfdbbac704ef4 Author: Yusuke Endoh Date: Fri Jun 18 17:32:47 2021 +0900 Let Correctable#original_message skip prepended method definitions Previously, DidYouMean::Correctable#original_message did `method(:to_s).super_method.call` to call the original to_s method by skipping Correctable#to_s. I'm now creating a gem that prepends another to_s method to NameError, which confuses the hack. An immediate solution is to replace it with `method(:to_s).super_method.super_method.call` to skip the two methods. But it is too ad-hoc. This changeset uses more extensible approach and allow a prepended module to declare that they should be skipped by defining a constant named `SKIP_TO_S_FOR_SUPER_LOOKUP`. https://github.com/ruby/did_you_mean/commit/8352c154e3 M lib/did_you_mean/core_ext/name_error.rb commit 4670458af890e9430395c7f56cb23437932f7f52 Author: Nobuyoshi Nakada Date: Tue Jan 19 09:00:01 2021 +0900 Should require "rbconfig" to use RbConfig https://github.com/ruby/did_you_mean/commit/fbe5aaaae8 M lib/did_you_mean/spell_checkers/require_path_checker.rb commit 8356d9e37485be0a1409c6f3add9a42f2f1a876c Author: Yuki Nishijima Date: Tue Dec 22 15:14:51 2020 +0900 Start v1.6.0 development https://github.com/ruby/did_you_mean/commit/3f69171813 M lib/did_you_mean/version.rb commit 9eae8cdefba61e9e51feb30a4b98525593169666 Author: Nobuyoshi Nakada Date: Mon Jun 28 23:01:53 2021 +0900 Prefer qualified names under Thread M benchmark/vm_thread_condvar1.rb M benchmark/vm_thread_condvar2.rb M bootstraptest/test_insns.rb M bootstraptest/test_ractor.rb M lib/forwardable.rb M lib/mutex_m.rb M sample/drb/dchats.rb M test/fiber/scheduler.rb M test/fiber/test_mutex.rb M test/monitor/test_monitor.rb M test/ruby/test_bignum.rb M test/ruby/test_dir.rb M test/ruby/test_exception.rb M test/ruby/test_io.rb M test/ruby/test_process.rb M test/ruby/test_settracefunc.rb M test/ruby/test_thread.rb M test/ruby/test_thread_cv.rb M test/ruby/test_thread_queue.rb M test/test_pstore.rb M test/yaml/test_store.rb M thread.c M thread_sync.c commit 983c9ad3f197ab8612c08ea894765b43ed089749 Author: git Date: Tue Jun 29 06:06:50 2021 +0900 * 2021-06-29 [ci skip] M version.h commit d795f494a89e0d9498dfedc54b8a98acc2bc4d7b Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Thu Apr 29 23:53:55 2021 +0900 Avoid `free(3)`ing invalid pointer Fixes [Bug #17794] M addr2line.c commit b7d01b0d1bf0526e12e01c58963453f9711c67b5 Author: Nobuyoshi Nakada Date: Mon Jun 28 16:52:49 2021 +0900 Refined define_thread_class Reduce duplications * ID caluculations of the same name * checks against the same name * registration to the root module hash M thread_sync.c commit ac8c674a8108182ee49edca97bd9b65e28c2b03b Author: git Date: Mon Jun 28 12:10:24 2021 +0900 * 2021-06-28 [ci skip] M version.h commit 47a9b58b2ae52a10c93c5368c7aa30b1eb398bc7 Author: Nobuyoshi Nakada Date: Mon Jun 28 10:51:42 2021 +0900 Share freeze option handling M hash.c M internal/object.h M object.c commit e724857f42280fe285e6d0de69b4832458b80b0a Author: Nobuyoshi Nakada Date: Sun Jun 27 21:17:00 2021 +0900 Show leaked file descriptors only, without cwd, txt, and so on M tool/lib/leakchecker.rb commit 3839a8fe79a3ec95ff9bf78ad1fd95953d600876 Author: Nobuyoshi Nakada Date: Sun Jun 27 21:13:37 2021 +0900 Narrow the tracing of object allocations to during each test M tool/lib/minitest/unit.rb commit 13939d61b4b69bd109c5f41303c79868d639fa44 Author: Nobuyoshi Nakada Date: Sun Jun 27 09:42:01 2021 +0900 Check if closed after each yield [Bug #17661] M io.c M test/ruby/test_io.rb commit 35c7e83bb32869cd96112ffd850b02047b48fac1 Author: Takashi Kokubun Date: Sun Jun 27 10:48:53 2021 +0900 [ruby/irb] Optimize show_source command further https://github.com/ruby/irb/pull/249 actually slowed down how `code` is concatenated. The original way of creating `code` is faster. [before] user system total real 2.420137 0.005364 2.425501 ( 2.426264) [after] user system total real 1.000221 0.007454 1.007675 ( 1.008295) Theoretically, this implementation might skip lines that don't appear in Ripper tokens, but this assumes such lines don't impact whether the code passes compilation or not. At least normal blank lines seem to have an `on_ignored_nl` token anyway though. https://github.com/ruby/irb/commit/27dd2867cd M lib/irb/cmd/show_source.rb commit 6eb7c663c665c633bdeae185d45e78832e672acc Author: Masataka Pocke Kuwabara Date: Fri Jun 25 14:29:28 2021 +0900 [ruby/irb] Improve performance of `show_source` for large class https://github.com/ruby/irb/commit/2b79e9ad21 M lib/irb/cmd/show_source.rb commit bf789af28a3b7108186743f3cb4fd2f649afdd20 Author: Nobuyoshi Nakada Date: Sat Jun 26 22:52:30 2021 +0900 Added macros for days in month M time.c commit 1fd8b6f2b9b856a7becbda989d3d93f3c795f9a8 Author: Nobuyoshi Nakada Date: Sat Jun 26 22:23:54 2021 +0900 Shrink monthly tables M time.c commit b1428b279fe5069f38dae19951dc0a7031422a2b Author: git Date: Sun Jun 27 04:32:56 2021 +0900 * 2021-06-27 [ci skip] M version.h commit e86c1f6fc53433ef5c82ed2b7a4cc9a12c153e4c Author: Jeremy Evans Date: Sat Jun 26 12:32:39 2021 -0700 Work around issue transcoding issue with non-ASCII compatible encodings and xml escaping When using a non-ASCII compatible source and destination encoding and xml escaping (the :xml option to String#encode), the resulting string was broken, as it used the correct non-ASCII compatible encoding, but contained data that was ASCII-compatible instead of compatible with the string's encoding. Work around this issue by detecting the case where both the source and destination encoding are non-ASCII compatible, and transcoding the source string from the non-ASCII compatible encoding to UTF-8. The xml escaping code will correctly handle the UTF-8 source string and the return the correctly encoded and escaped value. Fixes [Bug #12052] Co-authored-by: Nobuyoshi Nakada M test/ruby/test_transcode.rb M transcode.c commit 391abc543cea118a9cd7d6310acadbfa352668ef Author: Nobuyoshi Nakada Date: Sat Jun 26 16:05:15 2021 +0900 Scan the coderange in the given encoding M ext/-test-/string/enc_str_buf_cat.c M string.c M test/-ext-/string/test_enc_str_buf_cat.rb commit 457a4913be7de70f43a40cdec20e9cbfaacfda36 Author: Yusuke Endoh Date: Sat Jun 26 02:29:12 2021 +0900 Disable RBIMPL_ATTR_DEPRECATED for Coverity Scan build Coverity Scan emulates gcc but seems not to support this attribute correctly. M include/ruby/internal/attr/deprecated.h commit c86f03be5527f9b199ffe1b0037996a43d478347 Author: git Date: Sat Jun 26 00:15:38 2021 +0900 * 2021-06-26 [ci skip] M version.h commit 68e1dc51720b0f8bb033aac368122dad6c9aa2ed Author: Yusuke Endoh Date: Sat Jun 26 00:13:47 2021 +0900 iseq.c: Make ast_line_count return 0 when syntax error occurred This broke coverage CI ``` 1) Failure: TestRequire#test_load_syntax_error [/home/runner/work/actions/actions/ruby/test/ruby/test_require.rb:228]: Exception(SyntaxError) with message matches to /unexpected/. [SyntaxError] exception expected, not #. ``` https://github.com/ruby/actions/runs/2914743968?check_suite_focus=true M iseq.c commit 5ffb313ccc5d5a25eb8114332093fbdd20850411 Author: aycabta Date: Fri Jun 25 18:56:46 2021 +0900 Revert "Revert "[ruby/reline] Fix failed test"" I'm so sorry, the previous revert was just a mistake. This reverts commit 9103c3ba8bc09f287f69ca322f58faa34e003f2e. M test/reline/test_key_actor_emacs.rb commit 9103c3ba8bc09f287f69ca322f58faa34e003f2e Author: aycabta Date: Fri Jun 25 16:29:55 2021 +0900 Revert "[ruby/reline] Fix failed test" This reverts commit 491591c7cee842601118efc2698e0e41283827b3. M test/reline/test_key_actor_emacs.rb commit bf376cae0c308f738bb255d110ac7c85019515cb Author: Samuel Williams Date: Wed Jun 23 19:48:45 2021 +1200 [ruby/reline] Fix missing require. https://github.com/ruby/reline/commit/010b28dfe9 M lib/reline/ansi.rb commit e788481843d71030bd5dfee28fd0fc22dcae2f97 Author: Samuel Williams Date: Wed Jun 23 19:44:46 2021 +1200 [ruby/reline] Avoid using blocking `IO.select`. https://github.com/ruby/reline/commit/de94746393 M lib/reline/ansi.rb commit d340b091a82461b039cdfb9ba9c7ffee0ec89f0a Author: ima1zumi Date: Fri Jun 25 01:04:16 2021 +0900 [ruby/reline] Fix failed test For ruby/ruby repository's AppVeyor CI (Windows environment), `Reline::IOGate.encoding` will be changed from `UTF-8` to `Windows-31J` after the test is run. So, when `test/reline/test_key_actor_emacs.rb` is loaded, `Reline::IOGate.encoding == Encoding::UTF_8` will be `true`, but at the time of test execution, `Reline::IOGate.encoding` is `Windows-31J`. For this reason, I changed the test method to check `Reline::IOGate.encoding` in the test method. https://github.com/ruby/reline/commit/10e1ce3320 M test/reline/test_key_actor_emacs.rb commit b048fd572af71c1015ac6701f718fbcf6dca2fb2 Author: Hiroshi SHIBATA Date: Fri Jun 25 17:27:17 2021 +0900 Followed up 66d2fc7989d741bf5a73286233139901cecb4fc2 M lib/racc/parser-text.rb commit b036a44e57a662d94ba2e67512f6d390b1e36b45 Author: Aaron Patterson Date: Tue Apr 27 11:49:20 2021 -0700 [ruby/racc] Remove Object monkey patch I don't think we need this monkey patch anymore, so lets remove it! https://github.com/ruby/racc/commit/464485e912 M lib/racc/statetransitiontable.rb commit 7641a83d1f314c3c9400f733cd758164de4fa6c1 Author: Hiroshi SHIBATA Date: Tue Jun 22 18:17:06 2021 +0900 [ruby/racc] Removed needless condition for old versions of RubyGems. https://github.com/ruby/racc/commit/fe3183b1ff M lib/racc/racc.gemspec commit dd0a9507a2a818d34dc4413717666800ede78f2d Author: Hiroshi SHIBATA Date: Tue Jun 22 18:16:36 2021 +0900 [ruby/racc] Drop to support Ruby 2.4 https://github.com/ruby/racc/commit/5af1a42a3b M lib/racc/racc.gemspec commit 77c1f6b1ecd48d991a8e876b539602f0624ecb3a Author: Hiroshi SHIBATA Date: Tue Jun 22 18:24:06 2021 +0900 [ruby/racc] Followed up #162 https://github.com/ruby/racc/commit/d66cd12166 M lib/racc/racc.gemspec commit 71344a1d63038aa30328f91a180efb486ae4c19a Author: Jean Boussier Date: Mon May 31 12:15:56 2021 +0200 [ruby/racc] Stop compressing integer lists It is unclear why this was implemented, I assume it was for performance back in 2006. However today, this compression defeats bytecode caching entirely and end up being counter productive. https://github.com/ruby/racc/commit/ae3703c1d0 M lib/racc/parserfilegenerator.rb M test/racc/regress/cast M test/racc/regress/huia M test/racc/regress/nasl M test/racc/regress/opal M test/racc/regress/riml M test/racc/regress/ruby18 M test/racc/regress/ruby22 commit be230615d016e27d5b45b465d1481f6ecf7f1d28 Author: Jeremy Evans Date: Tue Jun 15 10:06:52 2021 -0700 Remove shift of ep when computing Proc#hash The shift was causing far fewer unique values of hash than expected. Fix pointed out by xtkoba (Tee KOBAYASHI) Fixes [Bug #17951] M proc.c M test/ruby/test_proc.rb commit 3ab68b910fc2c7bad0432892bddd9874e77ad35e Author: git Date: Fri Jun 25 04:22:30 2021 +0900 * 2021-06-25 [ci skip] M version.h commit a2592702ae4c18662a162805aa06d88046742f05 Author: Jeremy Evans Date: Thu Jun 17 10:13:33 2021 -0700 Actually ignore FNM_CASEFOLD flag in Dir.glob This was already documented as being ignored, but it wasn't being ignored, causing an issue in a particular case where a UTF-8 pattern was provided and a filename was tested that wasn't valid UTF-8. Fixes [Bug #14456] M dir.c M test/ruby/test_dir.rb commit 189f154786fd6392633fefd50bd76e9bdb401b52 Author: Nobuyoshi Nakada Date: Thu Jun 24 21:53:59 2021 +0900 [DOC] fixed return value of ENV.clone [ci skip] M hash.c commit fb978fab6d51c3ec0114098f0195fcef9bfc6efc Author: Nobuyoshi Nakada Date: Thu Jun 24 20:39:52 2021 +0900 Tests for MiniTest define anonymous test cases M tool/lib/minitest/unit.rb commit e1c3cb9357aa952633757556fccb4e7e14dfa091 Author: Nobuyoshi Nakada Date: Thu Jun 24 18:49:49 2021 +0900 test: imply random test order by --seed option M tool/lib/test/unit.rb commit 627aafac866b8eef562e9772998d0967f26b1c20 Author: Nobuyoshi Nakada Date: Wed Jun 23 21:55:56 2021 +0900 Remove also debug symbol directory at clean on macOS M configure.ac M lib/mkmf.rb commit 1356b90c9121ab6993307eb9d7e18dd462636ef5 Author: Nobuyoshi Nakada Date: Wed Jun 23 21:53:48 2021 +0900 Prefer configured command as RM_RF M lib/mkmf.rb commit 358a357f727be271a1a59dfbc2ec0bf634261205 Author: Nobuyoshi Nakada Date: Wed Jun 23 11:02:44 2021 +0900 Reduce repeated same code M thread.c commit 4c8c3fb2309fe4204a4d8d972a8f64b2911bca9f Author: Nobuyoshi Nakada Date: Wed Jun 23 19:18:22 2021 +0900 Load rubygems before default gems M tool/make-snapshot commit 6875408583996731882b4b981c3a4cd64f0d2186 Author: Nobuyoshi Nakada Date: Mon Jun 21 14:04:29 2021 +0900 Introduced RUBY_CRLF_ENVIRONMENT to simplify repeated condition M io.c commit 0fbdaaf7c91dd2ad09da3107d92fdce24eb21d42 Author: 卜部昌平 Date: Thu Jun 24 11:57:40 2021 +0900 rand_bytes: prefer rng->get_bytes Because why not. There was no use case of rng->get_bytes before this changeset. M random.c commit 31f4d262736c224a37e7c630a0790d40b11cdd57 Author: eileencodes Date: Wed Jun 23 13:28:22 2021 -0400 Check type of instruction - can be INSN or ADJUST If the type is ADJUST we don't want to treat it like an INSN so we have to check the type before reading from `insn_info.events`. [Bug #18001] [ruby-core:104371] Co-authored-by: Aaron Patterson M compile.c M test/coverage/test_coverage.rb commit b29c48efc0b08a52b6f72cf8f0ac16b93e373a5c Author: git Date: Thu Jun 24 02:03:26 2021 +0900 * 2021-06-24 [ci skip] M version.h commit 8209b735807d449c0a870562ee240585127ee100 Author: eileencodes Date: Tue Jun 22 13:43:18 2021 -0400 Evacuate transient heap when enabling ractors If the GC has been disabled we need to re-enable it so we can evacuate the transient heap. Fixes https://bugs.ruby-lang.org/issues/17985 [Bug #17985] [ruby-core:104260] Co-authored-by: Aaron Patterson M bootstraptest/test_ractor.rb M ractor.c commit 2fb435b3ab19bab644083c6eaf7ff06ce5b01841 Author: Ketan Bhatt Date: Thu May 13 10:28:51 2021 +0100 Add Related link from String#hash to Object#hash We came across a bug in our code because we assumed `String#hash` to be consistent across Ruby processes, which was incorrect. Our search lead us to `Object#hash` which has the right warning that `String#hash` doesn't. We also noticed that a previous version of the documentation for `String#hash` pointed to `Object#hash` that was removed by https://github.com/ruby/ruby/pull/3565. We think this removal might not be intended and just got missed amidst other changes. M string.c commit 7c31ecd3accd75d164b4f87b0651b47f31da286d Author: Jeremy Evans Date: Tue Jun 15 10:11:00 2021 -0700 Add parentheses to avoid pointless condition Pointed out by xtkoba (Tee KOBAYASHI). Fixes [Bug #17946] M win32/win32.c commit 557b4eb4aa83f60eacfaae3f5054d78dcc57d1b6 Author: aycabta Date: Wed Jun 23 21:00:20 2021 +0900 Add detailed message to assert_external_string_equal M test/reline/test_history.rb commit 298d65b1e4f3019af7fc9b905390b56736f5fd0e Author: Nobuyoshi Nakada Date: Wed Jun 23 18:57:39 2021 +0900 Discard RDOCOPT environment variable to make tests stable M test/rdoc/test_rdoc_rubygems_hook.rb commit 09e7a0c4a4fba18e3308e4f8cb4b8b5b52b41d20 Author: Nobuyoshi Nakada Date: Wed Jun 23 18:56:10 2021 +0900 Dispose the global rubygems configuration wholely M test/rdoc/test_rdoc_rubygems_hook.rb commit ddb87396349fa4699153d5c4c7569c2e0186adfc Author: Nobuyoshi Nakada Date: Wed Jun 23 18:46:16 2021 +0900 Clear rdoc options in the global rubygems configuration M test/rdoc/test_rdoc_rubygems_hook.rb commit 69ce9e4187589335124077029496ee293d4e9189 Author: Nobuyoshi Nakada Date: Wed Jun 23 15:14:21 2021 +0900 Clear default configurations Remove environment variables which can affect the default configurations. M test/rdoc/test_rdoc_rubygems_hook.rb commit 950c7a12efa19d73bed10d377368a50664cae32c Author: Nobuyoshi Nakada Date: Wed Jun 23 14:15:54 2021 +0900 Make temporary directory under the regular location M test/rdoc/test_rdoc_rubygems_hook.rb commit 923b3652247aa17ac99dc45cb1cd0654fa08d976 Author: Nobuyoshi Nakada Date: Wed Jun 23 12:52:32 2021 +0900 Close UserInteraction for tests to fix leaked file descriptors M test/rdoc/test_rdoc_rubygems_hook.rb commit 8f16a715e1727d83e09c95f5c87a5837a6c26db1 Author: Nobuyoshi Nakada Date: Wed Jun 23 12:41:54 2021 +0900 Revert deprecations for now M include/ruby/io.h commit 6aaa1c4d09249baae93d5bb7fba585be420c4fee Author: Hiroshi SHIBATA Date: Fri Jun 18 14:21:20 2021 +0900 [ruby/rdoc] Use pend instead of skip https://github.com/ruby/rdoc/commit/8460a36d84 M test/rdoc/test_rdoc_rubygems_hook.rb commit 193eea9dcd77561521a85250aa008fd633a124bc Author: Hiroshi SHIBATA Date: Fri Jun 18 13:59:58 2021 +0900 [ruby/rdoc] Specify working directory for RDoc::Options#check_files https://github.com/ruby/rdoc/commit/f6cca9bd2f M lib/rdoc/rubygems_hook.rb commit f2e39e5fed498b51ae914ed42ec51ae578330583 Author: Hiroshi SHIBATA Date: Fri Jun 18 13:13:27 2021 +0900 [ruby/rdoc] Update test/rdoc/test_rdoc_rubygems_hook.rb https://github.com/ruby/rdoc/commit/fb264c4cc4 Co-authored-by: Nobuyoshi Nakada M test/rdoc/test_rdoc_rubygems_hook.rb commit c483aa8394fc26e341666db66938b1d6fc2cbb8e Author: Hiroshi SHIBATA Date: Fri Jun 18 09:51:23 2021 +0900 [ruby/rdoc] Rwrite test-case for rubygems_hook without Gem::TestCase https://github.com/ruby/rdoc/commit/f8d1087ce5 M test/rdoc/test_rdoc_rubygems_hook.rb commit def7b3ee091781c61e8a30d1b63949dfe3654b51 Author: Nobuyoshi Nakada Date: Wed Jun 23 10:50:09 2021 +0900 Get rid of pointer casting M variable.c commit 0700ee0e946ff278699eb9aa068e7abbc3700dda Author: Nobuyoshi Nakada Date: Wed Jun 23 09:39:04 2021 +0900 Refactor class variable cache functions Extracted repeated code as update_classvariable_cache. When cvc table is not set in getclassvariable, an empty table was created but it has no id and would cause [BUG], so made the code same as setclassvariable. M variable.c M vm_insnhelper.c commit 46ff44ef17cc6ed48f4c5657b26ee8c8c7cab9c8 Author: S-H-GAMELINKS Date: Sat Jun 19 13:07:46 2021 +0900 Add nilclass.rb to .document M .document commit fd7023a87e73abf2ef531a1a6b0c0645887ec841 Author: Nobuyoshi Nakada Date: Wed Jun 23 10:09:25 2021 +0900 Convert ssize_t properly M ext/socket/udpsocket.c commit 3b615f4353aa43016c79fd7f44b1f918ddd6e54c Author: Nobuyoshi Nakada Date: Wed Jun 23 10:07:28 2021 +0900 Strip trailing spaces M test/irb/test_cmd.rb commit 87e52ee38b540d09d621162592b5b96f07756606 Author: Kazuhiro NISHIYAMA Date: Wed Jun 23 09:23:54 2021 +0900 Fix a link [ci skip] M NEWS.md commit ad588456953a770e3ef98a8ab9774c4e8c95831f Author: git Date: Wed Jun 23 06:34:24 2021 +0900 * 2021-06-23 [ci skip] M version.h commit 4f77a54f07b17b19e0dd329877ce9895d98c6cad Author: eileencodes Date: Tue Jun 22 14:00:16 2021 -0400 Fix asan error when walking heap for T_PAYLOAD objects Related to https://bugs.ruby-lang.org/issues/18001 Co-authored-by: Aaron Patterson M gc.c commit de779f4a620f408b72004a06545455f5a51a8584 Author: Keiko Kaneko Date: Sun Jun 20 11:36:40 2021 +0900 [ruby/irb] Sort ls result ordered by anscestry https://github.com/ruby/irb/commit/fdd5c0a71e M lib/irb/cmd/ls.rb M test/irb/test_cmd.rb commit bce0021f75eaca118c18ebb5a4fe29ede565071f Author: Anton Rieder <1301152+aried3r@users.noreply.github.com> Date: Tue Jun 22 13:15:21 2021 +0200 [Documentation] Fix typo, formatting in `time.c` Backticks do not result in code formatting. M time.c commit eef3c08edc2fc74496cdc1e4d89798d053e32561 Author: Samuel Williams Date: Tue Jun 22 23:18:40 2021 +1200 Fix NEWS formatting. M NEWS.md commit e01fa2f6fffe4599b10e88865992f476f9656039 Author: Samuel Williams Date: Tue Jun 22 23:14:45 2021 +1200 Add fiber scheduler news. M NEWS.md commit fcc6fd23ec779a2421154bad441e168e4c6d4194 Author: Samuel Williams Date: Sun Jun 20 11:05:15 2021 +1200 Rework `sysread` to use blocking `read_internal_locktmp`. M io.c M test/ruby/test_io.rb commit 45e65f302b663b2c6ab69df06d3b6f219c1797b2 Author: Samuel Williams Date: Sat Jun 19 13:47:16 2021 +1200 Deprecate and rework old (fd) centric functions. D ext/-test-/wait_for_single_fd/depend D ext/-test-/wait_for_single_fd/extconf.rb D ext/-test-/wait_for_single_fd/wait_for_single_fd.c M ext/openssl/ossl_ssl.c M ext/socket/ancdata.c M ext/socket/basicsocket.c M ext/socket/init.c M ext/socket/rubysocket.h M ext/socket/udpsocket.c M include/ruby/internal/intern/thread.h M include/ruby/io.h M io.c M ruby.c M thread.c commit 3deb5d7113e1fd6e4b468e09464d524d390d811e Author: Samuel Williams Date: Sun May 9 00:13:47 2021 +1200 Direct io for accept, send, sendmsg, recvfrom, and related methods. M ext/socket/basicsocket.c M ext/socket/init.c M ext/socket/rubysocket.h M ext/socket/socket.c M ext/socket/tcpserver.c M ext/socket/unixserver.c M include/ruby/io.h M io.c commit ff609eee98dc5c20f68b7befac147537e640aad1 Author: Yusuke Endoh Date: Tue Jun 22 16:36:36 2021 +0900 Avoid a duplicated method definition of Object#stub http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20210622T063005Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20210622T063005Z/ruby/test/rubygems/helper.rb:1565: warning: method redefined; discarding old stub /home/chkbuild/chkbuild/tmp/build/20210622T063005Z/ruby/test/resolv/test_dns.rb:8: warning: previous definition of stub was here ``` M test/rubygems/helper.rb commit 6a48f62c51bfd59e487bf3ebe01436c43f52c681 Author: aycabta Date: Mon Jun 14 17:18:32 2021 +0900 [ruby/readline-ext] Version 0.1.2 https://github.com/ruby/readline-ext/commit/8541aaccb5 M ext/readline/readline-ext.gemspec commit 4b28fea6ee9682dfad2afa2138c0e5820babadaa Author: Nobuyoshi Nakada Date: Fri May 7 00:10:16 2021 +0900 Run ifchange with shell explicitly, workaround of noexec mount M configure.ac M template/Makefile.in commit e2599a358d6b6a83f2da0972e1f91eccbf69c55e Author: git Date: Tue Jun 22 02:40:47 2021 +0900 * 2021-06-22 [ci skip] M version.h commit c1741df1a1a92d227b1afd03931c3b54fb2d4429 Author: Burdette Lamar Date: Tue May 18 08:27:41 2021 -0500 What's Here for Numeric and Comparable M array.c M compar.c M file.c M hash.c M io.c M numeric.c M string.c commit 8509532c78ab2a8cc0efeadee6367bbe7991ee49 Author: aycabta Date: Mon Jun 21 23:13:04 2021 +0900 Fix finish_using_lib_reline M test/readline/helper.rb commit 06d52249de50cef381fc6579d7a55f5a86322664 Author: aycabta Date: Mon Jun 21 22:29:04 2021 +0900 Call super method by teardown of tests of Reline as Readline M test/readline/test_readline.rb M test/readline/test_readline_history.rb commit 215fd1bf2ca70c5853623a0575b34863cc165057 Author: aycabta Date: Mon Jun 21 22:24:31 2021 +0900 Call Reline-specific method in helper file M test/readline/helper.rb M test/readline/test_readline.rb M test/readline/test_readline_history.rb commit 046fd3ac8c9b00560cbe1055a300c3bb5f35f1bc Author: aycabta Date: Mon Jun 21 22:12:06 2021 +0900 Rescue conversion error of inputrc M lib/reline.rb M lib/reline/config.rb M test/reline/test_config.rb commit 574c8ee9f1ad53ab85f9f97d43f405aa70ccbdb7 Author: aycabta Date: Mon Jun 21 22:11:34 2021 +0900 Call Reline.test_reset in teardown of tests for readline definitely M test/readline/test_readline.rb M test/readline/test_readline_history.rb commit e11800e11461741b76c727d321850c04e63f8885 Author: aycabta Date: Mon Jun 21 22:09:24 2021 +0900 Use test encoding for TestRelineAsReadline and TestRelineAsReadlineHistory M test/readline/test_readline.rb M test/readline/test_readline_history.rb commit 1192393b3ed0952705e0faa476d84d757c50f1ce Author: aycabta Date: Mon Jun 21 22:08:13 2021 +0900 Stop using global constant, RELINE_TEST_ENCODING M test/reline/helper.rb M test/reline/test_history.rb M test/reline/test_key_actor_emacs.rb M test/reline/test_key_actor_vi.rb M test/reline/test_macro.rb M test/reline/test_reline.rb M test/reline/test_string_processing.rb M test/reline/test_within_pipe.rb commit af19f9a6e9525b062ce3788f7120a8b72f737c6d Author: aycabta Date: Mon Jun 21 22:06:33 2021 +0900 Call Reline.test_reset in teardown definitely M test/reline/test_history.rb M test/reline/test_key_actor_emacs.rb M test/reline/test_key_actor_vi.rb M test/reline/test_macro.rb M test/reline/test_string_processing.rb M test/reline/test_unicode.rb M test/reline/test_within_pipe.rb commit 9498ea9385c5e9b29daa8a5109c99507ebc326f9 Author: aycabta Date: Mon Jun 21 21:43:00 2021 +0900 Revert "Use Encoding.default_external for tests of Readline::HISTORY" This reverts commit 089a26b0a619a649b1958061df8f21a6cdc6cacd. M test/readline/test_readline_history.rb commit ed8e265d4be53e15bffea3b1db649b1cea4ea864 Author: Yusuke Endoh Date: Mon Jun 21 21:15:25 2021 +0900 Experimentally expose RubyVM::AST::Node#node_id Now ISeq#to_a includes the node_id list for each bytecode instruction. I want a way to retrieve the AST::Node instance corresponding to an instruction for a research purpose including TypeProf-based LSP server. M ast.c M ast.rb commit 089a26b0a619a649b1958061df8f21a6cdc6cacd Author: aycabta Date: Mon Jun 21 19:31:14 2021 +0900 Use Encoding.default_external for tests of Readline::HISTORY M test/readline/test_readline_history.rb commit 30cc07fdc127e36d42e832bfcca755c863daf336 Author: aycabta Date: Mon Jun 21 18:44:10 2021 +0900 Check Ruby version to use Fiddle with variadic args in test-all M lib/reline/terminfo.rb commit 5cc11845b2feb609a54fd1be8748da590eeebdb3 Author: Ulysse Buonomo Date: Thu May 27 07:35:09 2021 +0200 [ruby/irb] Improve stackprof measure Allow usage of more detailed args when setting stackprof callback. Signed-off-by: Ulysse Buonomo https://github.com/ruby/irb/commit/c9d101f450 M lib/irb/init.rb commit 90df42642628340a6826053d2db606b425833964 Author: aycabta Date: Sun Jun 20 17:36:39 2021 +0900 [ruby/reline] Version 0.2.6 https://github.com/ruby/reline/commit/5917e3a337 M lib/reline/version.rb commit 00b027a69ba4f6b0df8d10cb84ef0547d592dc91 Author: aycabta Date: Wed Jun 9 20:37:10 2021 +0900 [ruby/reline] Fix explamation of #read_io https://github.com/ruby/reline/commit/301ed11bec M lib/reline.rb commit cf6f686d299d7b2f54512b985f0f4540ebcbe71a Author: aycabta Date: Sun Jun 6 23:53:03 2021 +0900 [ruby/reline] Remove an obsolete commented-out test https://github.com/ruby/reline/commit/5354d02e03 M test/reline/test_key_actor_emacs.rb commit 95a3cdade6c1b81c550d044c1be7b2dcdef0c002 Author: aycabta Date: Thu Jun 3 19:10:49 2021 +0900 [ruby/reline] Remove FIXME comment in #render https://github.com/ruby/reline/commit/acd8f8efbb M lib/reline/line_editor.rb commit b06218ce6ffdaf73d3668e760a34118021b978b5 Author: aycabta Date: Wed Jun 2 19:10:08 2021 +0900 [ruby/reline] Remove TODO comment in #render_partial https://github.com/ruby/reline/commit/bb6ea232c2 M lib/reline/line_editor.rb commit cf186bfe146d187048f3902078682d0ebce4e001 Author: aycabta Date: Mon May 31 17:20:34 2021 +0900 [ruby/reline] Add yamatanooroti test about set and exchange mark https://github.com/ruby/reline/commit/2e6fdca5c6 M test/reline/yamatanooroti/test_rendering.rb commit 8135f489bee3e89e3bdd4f55ee7b71d92f96d99e Author: aycabta Date: Sun May 30 17:19:57 2021 +0900 [ruby/reline] Add binding C-x C-x to em_exchange_mark on Windows https://github.com/ruby/reline/commit/24a2489b62 M lib/reline/ansi.rb M lib/reline/windows.rb commit 882c0d50159c95415843e34df5111a25081e3a93 Author: aycabta Date: Sat May 29 22:46:22 2021 +0900 [ruby/reline] Reset config for random test https://github.com/ruby/reline/commit/c39615e1dd M test/reline/test_within_pipe.rb commit fa5a258e932d82123545c4ddba0be0ca370fa303 Author: aycabta Date: Fri May 28 17:09:25 2021 +0900 [ruby/reline] Treat C-Space as M-Space on Windows https://github.com/ruby/reline/commit/69beca2863 M lib/reline/windows.rb commit 582b5705abf70318b00be7c3cb9a41bbe4897a20 Author: aycabta Date: Thu May 20 19:40:09 2021 +0900 [ruby/reline] Check existance of a constant, Fiddle::VERSION https://github.com/ruby/reline/commit/4b74c3d83a M lib/reline/terminfo.rb commit 18b79b4c49767e647564f59e130fd20b1bd014fe Author: aycabta Date: Wed May 19 17:58:25 2021 +0900 [ruby/reline] Add Meta+arrow-keys in extended entries of terminfo https://github.com/ruby/reline/commit/af6f6ed088 M lib/reline/ansi.rb commit 60d1d6aa897860cb2994d873956dacdf1678269a Author: aycabta Date: Wed May 19 17:57:30 2021 +0900 [ruby/reline] Terminfo.tigetstr should be able to receive tiparm in method chain https://github.com/ruby/reline/commit/4a3e308163 M lib/reline/terminfo.rb commit 5e09da2f7a29d076ffefb8585758fc1fbee2ac08 Author: aycabta Date: Wed May 19 17:53:17 2021 +0900 [ruby/reline] Terminfo.tigetstr and tiparm should return String object https://github.com/ruby/reline/commit/1e287d10cc M lib/reline/ansi.rb M lib/reline/terminfo.rb commit 46c813969be642e61763379e03c9698b91ab1a96 Author: aycabta Date: Tue May 18 21:46:16 2021 +0900 [ruby/reline] Add terminfo support https://github.com/ruby/reline/commit/74a7ffaa2f M lib/reline/ansi.rb A lib/reline/terminfo.rb commit 1b543dc2261fee0317ba69b366b6a26fe3aeb43f Author: aycabta Date: Sun May 16 22:50:59 2021 +0900 [ruby/reline] Handle Errno::ENOTTY correctly https://github.com/ruby/reline/commit/8daa392ba6 M lib/reline/ansi.rb M test/reline/yamatanooroti/test_rendering.rb commit 242bad9a87dbfc8a6af829ee3da3853925be14ab Author: Jeremy Evans Date: Thu May 13 14:42:00 2021 -0700 [ruby/reline] Fix Reline::Unicode.calculate_width when input is not a TTY This fixes an error when output is redirected: ``` $ run_ruby -rreline -e '$stderr.puts Reline::Unicode.calculate_width("\u221a").inspect' /dev/null /home/jeremy/tmp/ruby/lib/reline/ansi.rb:189:in `raw': Operation not supported by device (Errno::ENODEV) ``` The @@encoding -> defined?(@@encoding) changes is necessary because without that part of the commit, the following error would be raised by the above command: ``` /home/jeremy/tmp/reline/lib/reline/general_io.rb:10:in `encoding': uninitialized class variable @@encoding in Reline::GeneralIO (NameError) ``` Problem reported and initial patch for Windows provided by Richard Sharman. I tested this only on OpenBSD, but hopefully it works for other operating systems. Fixes [Bug #17493] https://github.com/ruby/reline/commit/c001971bb3 M lib/reline.rb M lib/reline/general_io.rb commit 26f31f880cef107d4c13dfe90a988c0f2e185338 Author: aycabta Date: Fri Apr 23 13:29:20 2021 +0900 [ruby/reline] Treat return key correctly on Windows To fix Reline::TestRendering#test_binding_for_vi_movement_mode. https://github.com/ruby/reline/commit/0df3d2a1dc M lib/reline/windows.rb commit 754bfc66f85071295d2c46ba325f5847ef678a72 Author: aycabta Date: Thu Apr 22 14:02:37 2021 +0900 [ruby/reline] Add a test for pasting Cyrillic chars into command prompt on cp 850 This closes https://github.com/ruby/reline/issues/103. https://github.com/ruby/reline/commit/213e0523d5 M test/reline/yamatanooroti/test_rendering.rb commit b0cc46b484028b65b3306e9d19803e49c7b7cd58 Author: aycabta Date: Tue Apr 20 12:00:08 2021 +0900 [ruby/reline] The config file must accept any character encoding In Japan, so many programmers used EUC-JP to write text files that contain Japanese. Many .inputrc files which contain EUC-JP are still being copied and used. This commit supports the whole encoding of what user set including UTF-8. ref. https://github.com/ruby/reline/pull/280 https://github.com/ruby/reline/commit/0b45022e16 M lib/reline/config.rb M lib/reline/general_io.rb M test/reline/helper.rb M test/reline/test_config.rb M test/reline/test_history.rb M test/reline/test_reline.rb commit c59bbd86a6bd0f1ce8a7babf56feabeb41a7e675 Author: aycabta Date: Fri Apr 16 19:59:36 2021 +0900 [ruby/reline] Use ReadConsoleInputW() instead of getwch() This needs https://github.com/aycabta/yamatanooroti/pull/19, which is released by yamatanooroti gem 0.0.7, to test with yamatanooroti. https://github.com/ruby/reline/commit/06c1f45da1 M lib/reline/windows.rb M test/reline/yamatanooroti/test_rendering.rb commit a049dfd10a3b9ae24a1822e807398422e87d142f Author: Mark Delk Date: Tue Apr 13 21:23:07 2021 -0500 [ruby/reline] ensure reline's encoding is used when reading inputrc character values This change ensures we use `Reline::IOGate`'s `encoding` when converting characters from their integer values. This fixes an issue that may occur if you have UTF characters in your `.inputrc`, but your default encoding isn't set. For example: ``` > 127864.ord.chr RangeError: 127864 out of char range from (pry):1:in `chr' > Reline::IOGate.encoding => # > 127864.ord.chr(Reline::IOGate.encoding) => "🍸" ``` https://github.com/ruby/reline/commit/cf372fc0fc M lib/reline/config.rb M test/reline/test_config.rb commit c2f30aaade9abe103a727a5440325baff58f66ba Author: aycabta Date: Sat Jun 19 17:34:01 2021 +0900 [ruby/irb] Version 1.3.6 https://github.com/ruby/irb/commit/75aa8d159b M lib/irb/version.rb commit 60eee3c3cb90465e3b8ac30fb269bea044840690 Author: Nobuyoshi Nakada Date: Mon Jun 21 11:20:13 2021 +0900 Fix syntax error in generated code M template/encdb.h.tmpl commit 86b5c15e70d61903e14482ee40fa0485706c1bba Author: git Date: Mon Jun 21 11:08:33 2021 +0900 * 2021-06-21 [ci skip] M version.h commit 28933c1071b2238066fdc428208745507de33a63 Author: Nobuyoshi Nakada Date: Mon Jun 21 11:08:02 2021 +0900 Adjust indents M template/encdb.h.tmpl commit 72a4e1d3bbbdfff71ec2c6b2ddb3b9323193cacd Author: Jeremy Evans Date: Fri Jun 18 11:57:55 2021 -0700 Tweak description of TracePoint :line event "code" here is too ambiguous. TracePoint events only occur if there is a new statement or expression on that line, not if the line is a continuation of a previous statement or expression and there is no new statement or expression on the line. For example: ``` [ foo, # start of expression, line event bar # continuation of expression, no line event ] [ foo, # start of expression, line event (bar) # new expression, line event ] foo( # start of expression, line event bar # continuation of expression, no line event ) foo( # start of expression, line event (bar) # new expression, line event ) ``` Fixes [Bug #15634] M trace_point.rb commit 53a094ea45567cdfb7b8aab2f3dde96a15b89565 Author: git Date: Sat Jun 19 02:03:03 2021 +0900 * 2021-06-19 [ci skip] M version.h commit b91b3bc7717a97f4f1cdf6131b1688e1958dcfed Author: eileencodes Date: Tue Jun 1 13:34:06 2021 -0400 Add a cache for class variables Redo of 34a2acdac788602c14bf05fb616215187badd504 and 931138b00696419945dc03e10f033b1f53cd50f3 which were reverted. GitHub PR #4340. This change implements a cache for class variables. Previously there was no cache for cvars. Cvar access is slow due to needing to travel all the way up th ancestor tree before returning the cvar value. The deeper the ancestor tree the slower cvar access will be. The benefits of the cache are more visible with a higher number of included modules due to the way Ruby looks up class variables. The benchmark here includes 26 modules and shows with the cache, this branch is 6.5x faster when accessing class variables. ``` compare-ruby: ruby 3.1.0dev (2021-03-15T06:22:34Z master 9e5105c) [x86_64-darwin19] built-ruby: ruby 3.1.0dev (2021-03-15T12:12:44Z add-cache-for-clas.. c6be009) [x86_64-darwin19] | |compare-ruby|built-ruby| |:--------|-----------:|---------:| |vm_cvar | 5.681M| 36.980M| | | -| 6.51x| ``` Benchmark.ips calling `ActiveRecord::Base.logger` from within a Rails application. ActiveRecord::Base.logger has 71 ancestors. The more ancestors a tree has, the more clear the speed increase. IE if Base had only one ancestor we'd see no improvement. This benchmark is run on a vanilla Rails application. Benchmark code: ```ruby require "benchmark/ips" require_relative "config/environment" Benchmark.ips do |x| x.report "logger" do ActiveRecord::Base.logger end end ``` Ruby 3.0 master / Rails 6.1: ``` Warming up -------------------------------------- logger 155.251k i/100ms Calculating ------------------------------------- ``` Ruby 3.0 with cvar cache / Rails 6.1: ``` Warming up -------------------------------------- logger 1.546M i/100ms Calculating ------------------------------------- logger 14.857M (± 4.8%) i/s - 74.198M in 5.006202s ``` Lastly we ran a benchmark to demonstate the difference between master and our cache when the number of modules increases. This benchmark measures 1 ancestor, 30 ancestors, and 100 ancestors. Ruby 3.0 master: ``` Warming up -------------------------------------- 1 module 1.231M i/100ms 30 modules 432.020k i/100ms 100 modules 145.399k i/100ms Calculating ------------------------------------- 1 module 12.210M (± 2.1%) i/s - 61.553M in 5.043400s 30 modules 4.354M (± 2.7%) i/s - 22.033M in 5.063839s 100 modules 1.434M (± 2.9%) i/s - 7.270M in 5.072531s Comparison: 1 module: 12209958.3 i/s 30 modules: 4354217.8 i/s - 2.80x (± 0.00) slower 100 modules: 1434447.3 i/s - 8.51x (± 0.00) slower ``` Ruby 3.0 with cvar cache: ``` Warming up -------------------------------------- 1 module 1.641M i/100ms 30 modules 1.655M i/100ms 100 modules 1.620M i/100ms Calculating ------------------------------------- 1 module 16.279M (± 3.8%) i/s - 82.038M in 5.046923s 30 modules 15.891M (± 3.9%) i/s - 79.459M in 5.007958s 100 modules 16.087M (± 3.6%) i/s - 81.005M in 5.041931s Comparison: 1 module: 16279458.0 i/s 100 modules: 16087484.6 i/s - same-ish: difference falls within error 30 modules: 15891406.2 i/s - same-ish: difference falls within error ``` Co-authored-by: Aaron Patterson A benchmark/vm_cvar.yml M class.c M common.mk M compile.c M debug_counter.h M gc.c M id_table.c M include/ruby/internal/intern/variable.h M insns.def M internal/class.h M variable.c M vm.c M vm_core.h M vm_insnhelper.c M vm_insnhelper.h commit 9d96837dbd1887d04f5ff7c2a1f0a27d7339133a Author: Hiroshi SHIBATA Date: Fri Jun 18 19:13:36 2021 +0900 Bump matrix version to 0.4.2 M gems/bundled_gems commit bdeaa60e7be8153e247508801158d3062056918f Author: Nobuyoshi Nakada Date: Fri Jun 18 11:58:15 2021 +0900 Make frozen Time Ractor-shareable M time.c commit 1de063a10b5c5c71d0602c961862b8396702dbb1 Author: Jeremy Evans Date: Thu Jun 17 10:34:36 2021 -0700 Add section on build requirements to the README I'm not sure that this is section is complete (may be missing requirements), or accurate (minimum automake or bison versions may not be correct). However, I think it's useful, and we can adjust it in the future to add requirements or adjust requirement versions. Fixes [Bug #14409] M README.md commit 0a36cab1b53646062026c3181117fad73802baf4 Author: Yusuke Endoh Date: Tue Jun 8 17:57:44 2021 +0900 Enable USE_ISEQ_NODE_ID by default ... which is formally called EXPERIMENTAL_ISEQ_NODE_ID. See also ff69ef27b06eed1ba750e7d9cab8322f351ed245. https://bugs.ruby-lang.org/issues/17930 M ast.c M compile.c M iseq.c M iseq.h M vm_backtrace.c commit dfba87cd622f9699f54d1d0b8c057deb428874b6 Author: Yusuke Endoh Date: Tue Jun 8 17:34:08 2021 +0900 Make it possible to get AST::Node from Thread::Backtrace::Location RubyVM::AST.of(Thread::Backtrace::Location) returns a node that corresponds to the location. Typically, the node is a method call, but not always. This change also includes iseq's dump/load support of node_ids for each instructions. M ast.c M compile.c M internal/vm.h M iseq.c M vm_backtrace.c commit ea6062898ad0d66ede0a1866028c0605c357e2cb Author: Yusuke Endoh Date: Tue Jun 8 13:22:27 2021 +0900 Remove LOCATION_TYPE_ISEQ_CALCED state from Backtrace::Location Previously Backtrace::Location had two possible states: LOCATION_TYPE_ISEQ and LOCATION_TYPE_ISEQ_CALCED. The former had the location information as PC, and the latter had it as lineno. Once lineno was caluculated, the state was changed to LOCATION_TYPE_ISEQ_CALCED and the caluculated result was kept. This change removes LOCATION_TYPE_ISEQ_CALCED, so lineno is calculated whenever it is needed. It will be slow a little, but lineno is typically needed only when its backtrace is shown, so I believe that it does not matter. This is a preparation to add column information to Backtrace::Location because PC is needed to caluculate node_id for AST::Node even after lineno is calculated. This change is approved by ko1. M vm_backtrace.c commit ed3e30fc09b79d025cdcaedd7bc10b04fd8514fe Author: git Date: Fri Jun 18 02:34:45 2021 +0900 * 2021-06-18 [ci skip] M version.h commit fb01411ae842dbcc16d18dec2216fa2719649dff Author: Yusuke Endoh Date: Fri Jun 18 01:31:50 2021 +0900 node.h: Reduce struct size to fit with Ruby object size (five VALUEs) by merging `rb_ast_body_t#line_count` and `#script_lines`. Fortunately `line_count == RARRAY_LEN(script_lines)` was always satisfied. When script_lines is saved, it has an array of lines, and when not saved, it has a Fixnum that represents the old line_count. M ast.c M compile.c M iseq.c M node.h M parse.y M vm.c commit acae5f363dfaedd9c2873cee68c9498da3c072f5 Author: Yusuke Endoh Date: Thu Jun 17 23:43:08 2021 +0900 ast.rb: RubyVM::AST.parse and .of accepts `save_script_lines: true` This option makes the parser keep the original source as an array of the original code lines. This feature exploits the mechanism of `SCRIPT_LINES__` but records only the specified code that is passed to RubyVM::AST.of or .parse, instead of recording all parsed program texts. M ast.c M ast.rb M compile.c M internal/parse.h M node.c M node.h M parse.y M test/ruby/test_ast.rb commit c639b58823cd8cc62853acf00a49b67ac359ea73 Author: Peter Zhu Date: Thu Jun 17 10:19:33 2021 -0400 Refactor heap_set_increment heap_set_increment essentially only calls heap_allocatable_pages_set. They only differ in behaviour when `additional_pages == 0`. However, this is only possible because heap_extend_pages may return 0. This commit also changes heap_extend_pages to always return at least 1. M gc.c commit 95ef5459978300e4a3bbbeb1bd6cd86d040db168 Author: Nobuyoshi Nakada Date: Thu Jun 17 12:13:13 2021 +0900 [rubygems/rubygems] Close then unlink tempfiles on Windows In ruby/ruby test actions, number of "leaked tempfile" messages are shown on Windows. As Windows disallows removing open files, `Tempfile#unlink` fails silently before `#close`. Close then unlink by `#close!` instead. https://github.com/rubygems/rubygems/commit/fe0b88ac30 M test/rubygems/helper.rb commit e4f891ce8d4833fea1e1f9abd69c2896d429a948 Author: Nobuyoshi Nakada Date: Wed Jun 16 22:07:05 2021 +0900 Adjust styles [ci skip] * --braces-after-func-def-line * --dont-cuddle-else * --procnames-start-lines * --space-after-for * --space-after-if * --space-after-while M array.c M compile.c M enumerator.c M gc.c M hash.c M include/ruby/internal/core/rbignum.h M io.c M memory_view.c M mjit_worker.c M object.c M parse.y M proc.c M scheduler.c M st.c M string.c M thread.c M thread_sync.c M variable.c M vm.c M vm_backtrace.c M vm_method.c M vm_trace.c commit 4e097226370ec93bd25823d6a0dd34963619b1b9 Author: git Date: Thu Jun 17 06:09:36 2021 +0900 * 2021-06-17 [ci skip] M version.h commit c1a7e86f40fea7e83c797af34d389cdccb869817 Author: git Date: Thu Jun 17 06:09:26 2021 +0900 * expand tabs. [ci skip] 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. M mini_builtin.c commit c10d5085a247266c6399dc6fb68706d87cbdab05 Author: John Hawthorn Date: Mon Jun 14 17:32:42 2021 -0700 Enable frozen_string_literal in builtin_iseq_load Currently this has a fairly minor effect as strings are not used heavily inside the builtins (outside of warnings, requires, and errors). Hopefully this allows us to use strings in the future where appropriate. M mini_builtin.c commit 2b17d2f2970d382ac61d15d66f46d1c56f8f2598 Author: Nobuyoshi Nakada Date: Thu Jun 3 15:36:38 2021 +0900 [ruby/net-protocol] Get rid of `__send__` Mitigate the security risk: https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html https://github.com/ruby/net-protocol/commit/a9970437e8 M lib/net/protocol.rb commit f4640f64a4d242e7ce56b248de41b3021dcdf77d Author: Nobuyoshi Nakada Date: Wed Jun 16 14:28:11 2021 +0900 Fixed comments in cmd.exe script [ci skip] M .github/workflows/windows.yml commit f136c1ec804e1837f006f3abbf2ef90f1ef8134d Author: Nobuyoshi Nakada Date: Wed Jun 16 13:31:57 2021 +0900 Removed redundant NUM2IOCTLREQ definition [Bug #17759] Fix up c2d9967f78d2e6f93f8d9876c2b3ab25aa6b86e7. M io.c commit c2d9967f78d2e6f93f8d9876c2b3ab25aa6b86e7 Author: Nobuyoshi Nakada Date: Wed Jun 16 11:51:21 2021 +0900 Configure ioctl request argument type [Bug #17759] M configure.ac M io.c commit d4db18d6adf93ba48bb15657f4d96d15cf0b7f93 Author: git Date: Wed Jun 16 00:09:02 2021 +0900 * 2021-06-16 [ci skip] M version.h commit 43ed1e68a183a64237671bd7daa42dfb49950faa Author: Nobuyoshi Nakada Date: Wed Jun 16 00:08:28 2021 +0900 Make ext directory before extinit.c when out-of-place build M common.mk commit d09f097eec4fb85cbb43481bdc6d7fcc82f94697 Author: Nobuyoshi Nakada Date: Tue Jun 15 21:39:34 2021 +0900 Time#getlocal tests for [Feature #17544] M test/ruby/test_time.rb commit b32e6c168a3463c1eda7a94f7716adbd3d607a38 Author: Nobuyoshi Nakada Date: Tue Jun 15 15:55:52 2021 +0900 Convert initial contents before allocating queue buffer M thread_sync.c commit f0818982e947dc52d9ad57ccd02fe034b84ab374 Author: Marc-Andre Lafortune Date: Mon Jun 14 13:15:23 2021 -0400 [ruby/ostruct] v0.4.0 https://github.com/ruby/ostruct/commit/8534f69e4e M lib/ostruct.rb commit 2088a457981b0f71a3bfd14871ed5b6f0d090e6a Author: Eileen M. Uchitelle Date: Mon Jun 14 20:34:57 2021 -0400 [Bug #17880] Set leaf false on opt_setinlinecache (#4565) This change fixes the bug described in https://bugs.ruby-lang.org/issues/17880. Checking `ractor_shareable_p` will cause the method to call back into Ruby. Anything calling this method can't be a leaf instruction, otherwise it could crash. By adding `attr bool leaf = false` we no longer crash because it marks the function as not a leaf. Here's a simplified reproduction script: ```ruby require "set" class Id attr_reader :db_id def initialize(db_id) @db_id = db_id end def ==(other) other.class == self.class && other.db_id == db_id end alias_method :eql?, :== def hash 10 end def <=>(other) db_id <=> other.db_id if other.is_a?(self.class) end end class Namespace IDS = Set[ Id.new(1).freeze, Id.new(2).freeze, Id.new(3).freeze, Id.new(4).freeze, ].freeze class << self def test?(id) IDS.include?(id) end end end p Namespace.test?(Id.new(1)) p Namespace.test?(Id.new(5)) ``` Co-authored-by: Aaron Patterson Co-authored-by: Aaron Patterson M insns.def A test/ruby/test_insns_leaf.rb commit a09ddfc4207cce58693f2226ebbbc4b8f009fb23 Author: Marc-Andre Lafortune Date: Mon Jun 14 10:15:11 2021 -0400 [lib/ostruct] Fix YAML test M test/ostruct/test_ostruct.rb commit 52369fc545c458efb2fa7e8ca183b119252bb4f9 Author: Marc-Andre Lafortune Date: Mon Jun 14 10:07:51 2021 -0400 [lib/ostruct] Allow overriding of `block_given?` M lib/ostruct.rb M test/ostruct/test_ostruct.rb commit fc98602ecc0cfbf6bb0fb5925298330a1ab227e0 Author: git Date: Tue Jun 15 00:04:05 2021 +0900 * 2021-06-15 [ci skip] M version.h commit edbe0e224c2594b7a7b055f0986cbfd690d754d5 Author: Nobuyoshi Nakada Date: Tue Jun 15 00:03:05 2021 +0900 Suppress exception report in inner thread M test/fiber/test_thread.rb commit 57eaa07ba6c1ee958c16d5c451e2dceb2208edf1 Author: Nobuyoshi Nakada Date: Tue Jun 15 00:02:15 2021 +0900 Close leaked file descriptors M test/fiber/test_sleep.rb M test/fiber/test_thread.rb commit 5dde13e5ce7236d1de428f6a74f1043c6893bacf Author: Nobuyoshi Nakada Date: Mon Jun 14 23:30:31 2021 +0900 [ruby/ostruct] bump up https://github.com/ruby/ostruct/commit/bb253be3e9 M lib/ostruct.rb commit 70833fab7fc2e912f5a405157b3afa101b482c17 Author: Nobuyoshi Nakada Date: Mon Jun 14 13:49:10 2021 +0900 Suppress gcc11 clobbered warning M load.c commit 931ea7cfbec6d863cd8b48308804323704a2696c Author: jfrazx Date: Mon Jun 14 08:53:20 2021 -0500 Add fallback block to `OpenStruct#delete_field` (#1409) M lib/ostruct.rb M test/ostruct/test_ostruct.rb commit 90cad6e14745d812f042df61a6455db022be7389 Author: 卜部昌平 Date: Mon Jun 14 09:34:25 2021 +0900 prefer cc/gcc over clang on solaris requested by tankf33der at https://bugs.ruby-lang.org/issues/17949#change-92430 M configure.ac commit b513fc2fe747e1ad349fa1fe4bfdb5e91dbda0d3 Author: Nobuyoshi Nakada Date: Mon Jun 14 21:15:12 2021 +0900 Fixed method names in exception messages These methods are not !-suffixed, and the messages were very confusing. M scheduler.c commit 1ab71a5b9875d38bebb7500cc7fa5af40d2f359e Author: Bruno Sutic Date: Mon Jun 14 11:07:59 2021 +0200 Fix fiber scheduler address resolve solaris tests M test/fiber/test_address_resolve.rb commit 25921fe1d67e4bdd2370e1e9c26f1ed4533af73e Author: Samuel Williams Date: Mon Jun 14 20:49:43 2021 +1200 Revert "Suppress gcc11 clobbered warning" This reverts commit f0f9e77b65990001bd2acb42e1c6b673f6324425. M load.c commit 050a89543952a2c9e7c9bc938f4fdb538f6c9278 Author: Samuel Williams Date: Mon Jun 14 17:56:53 2021 +1200 Wake up join list within thread EC context. (#4471) * Wake up join list within thread EC context. * Consume items from join list so that they are not re-executed. If `rb_fiber_scheduler_unblock` raises an exception, it can result in a segfault if `rb_threadptr_join_list_wakeup` is not within a valid EC. This change moves `rb_threadptr_join_list_wakeup` into the thread's top level EC which initially caused an infinite loop because on exception will retry. We explicitly remove items from the thread's join list to avoid this situation. * Verify the required scheduler interface. * Test several scheduler hooks methods with broken `unblock` implementation. M scheduler.c M test/fiber/scheduler.rb M test/fiber/test_scheduler.rb M test/fiber/test_sleep.rb M test/fiber/test_thread.rb M thread.c commit 626427c2e0f886ff8353c5faa8254699afd88ca8 Author: Nobuyoshi Nakada Date: Mon Jun 14 14:11:38 2021 +0900 Removed no longer used variables M ext/socket/socket.c commit 635e1c5282a4207281ad8ed698e77547648b2ce9 Author: Nobuyoshi Nakada Date: Mon Jun 14 13:52:26 2021 +0900 Pack values to preserve M load.c commit f0f9e77b65990001bd2acb42e1c6b673f6324425 Author: Nobuyoshi Nakada Date: Mon Jun 14 13:49:10 2021 +0900 Suppress gcc11 clobbered warning M load.c commit 2792acc8f29c6ee1d04b57b7b70d43519a0ceda8 Author: Samuel Williams Date: Mon Jun 14 16:21:08 2021 +1200 Add scheduler hook `Addrinfo.getaddrinfo`. (#4375) Co-authored-by: Bruno Sutic M doc/fiber.md M ext/socket/depend M ext/socket/raddrinfo.c M ext/socket/rubysocket.h M ext/socket/socket.c M include/ruby/fiber/scheduler.h M scheduler.c M test/fiber/scheduler.rb A test/fiber/test_address_resolve.rb commit 688b217706546c2bc9a0926de246dc29d0935261 Author: Yusuke Endoh Date: Mon Jun 14 10:40:41 2021 +0900 time.c: Check if defined(RUBY_MSVCRT_VERSION) to build on Solaris Fixes [Bug #17947] M time.c commit 09ea2bb0408740313fec03cb38163a60ce8bb188 Author: git Date: Mon Jun 14 10:09:30 2021 +0900 * 2021-06-14 [ci skip] M version.h commit 70313ec01a674e15d301f2dabb368cd90c78fa40 Author: Yusuke Endoh Date: Mon Jun 14 10:02:02 2021 +0900 parse.y: Fix the location of a target constant of OP_CDECL ``` p RubyVM::AbstractSyntaxTree.parse("::Foo += 1").children #=> before: [[], nil, (OP_CDECL@1:0-1:10 (COLON3@1:0-1:10 :Foo) :+ (LIT@1:9-1:10 1))] #=> after: [[], nil, (OP_CDECL@1:0-1:10 (COLON3@1:0-1:5 :Foo) :+ (LIT@1:9-1:10 1))] ``` M parse.y commit 32b18fe9d04e9c95ac0b8d5df258226867efc063 Author: Nobuyoshi Nakada Date: Sun Jun 13 14:59:48 2021 +0900 Suppress array-parameter warnings by gcc 11 M ext/digest/sha2/sha2.c commit 9ab6d39a66f4df16d0a6940a966afc69ba6c14d3 Author: Nobuyoshi Nakada Date: Sat Dec 12 14:22:59 2020 +0900 Added parentheses to silence sizeof-array-div warnings As well as 2366c681166a1dab95de6b9ca8ffcaae18aadd39. M gc.c commit 9ec6c83c97d9e66b6d165329c0711bf8e096afaf Author: Nobuyoshi Nakada Date: Sun Jun 13 14:34:46 2021 +0900 Removed duplicate include M gc.c commit 122ce52e8f4f1a7654e0e2f80081487e23af42ce Author: Nobuyoshi Nakada Date: Sun Jun 13 14:29:01 2021 +0900 Check if alternative malloc header can work in C++ jemalloc (5.2.1 at least) cannot compile in C++ on macOS SDK, due to conflicts on exception specification. M ext/-test-/cxxanyargs/extconf.rb commit cba92b328967256a526b5e0c7cd976347eefcb79 Author: git Date: Sun Jun 13 13:45:07 2021 +0900 * 2021-06-13 [ci skip] M version.h commit d54f74a48b8b996f9c27077e28d9d24f2c4e4c1d Author: S.H Date: Sun Jun 13 13:44:46 2021 +0900 Refactor rb_block_call function rb_block_call and rb_block_call_kw have similar code. So, using rb_block_kw function in rb_block_call function for refactoring. M vm_eval.c commit 146721ef6a46d1d7ed6c9452c2c6c6342fafc8b0 Author: git Date: Sat Jun 12 20:17:25 2021 +0900 * 2021-06-12 [ci skip] M version.h commit 8366506de1b5538573bbbed7b4ab8a36ace68fc6 Author: nagachika Date: Sat Jun 12 20:15:08 2021 +0900 cont.c: Replace "iff" with "if and only if" M cont.c commit 9210f8df7ff23f06c03dedf9f89fd8ab902043e3 Author: git Date: Fri Jun 11 08:31:51 2021 +0900 * 2021-06-11 [ci skip] M version.h commit d74e5d5b4fba41a9120b3ed2762cf765478605ad Author: Aaron Patterson Date: Thu Jun 10 16:03:11 2021 -0700 Crash more nicely when the VM isn't fully set up If we crash but the VM isn't fully alive, we can get an infinite loop. M vm_dump.c commit 929cc615a749f467809a865a3d40adcc0b58c667 Author: Peter Zhu Date: Thu Jun 10 09:59:12 2021 -0400 Finish GC before calling gc_set_initial_pages If we are during incremental sweeping when calling gc_set_initial_pages there is an assertion error. The following patch will artificially produce the bug: ``` diff --git a/gc.c b/gc.c index c3157dbe2c..d7282cf8f0 100644 --- a/gc.c +++ b/gc.c @@ -404,7 +404,7 @@ int ruby_rgengc_debug; * 5: show all references */ #ifndef RGENGC_CHECK_MODE -#define RGENGC_CHECK_MODE 0 +#define RGENGC_CHECK_MODE 1 #endif // Note: using RUBY_ASSERT_WHEN() extend a macro in expr (info by nobu). @@ -10821,6 +10821,10 @@ gc_set_initial_pages(void) void ruby_gc_set_params(void) { + for (int i = 0; i < 10000; i++) { + rb_ary_new(); + } + /* RUBY_GC_HEAP_FREE_SLOTS */ if (get_envparam_size("RUBY_GC_HEAP_FREE_SLOTS", &gc_params.heap_free_slots, 0)) { /* ok */ ``` The crash looks like: ``` Assertion Failed: ../gc.c:2038:heap_add_page:!(heap == heap_eden && heap->sweeping_page) ``` M gc.c commit d281fc525dbf81b7b3eeda5d529c921a89902127 Author: Takashi Kokubun Date: Thu Jun 10 00:53:26 2021 -0700 Add missing dependencies https://github.com/ruby/ruby/runs/2791163586?check_suite_focus=true M common.mk commit 474f79958bd0dbb3ae9bf7fdaff6e229094dfe08 Author: Takashi Kokubun Date: Thu Jun 10 00:40:58 2021 -0700 Cast jit_func for Windows https://ci.appveyor.com/project/ruby/ruby/builds/39542385/job/8b7aq951f9t01x4x M mjit.c commit c5e8a49bdeadd8e424274c17c0d2a9ffed64417b Author: Takashi Kokubun Date: Thu Jun 10 00:32:15 2021 -0700 Avoid enqueueing the same ISeq twice by a race condition by multiple Ractors. Atmically incrementing body->total_calls may have its own cost, so for now we intentionally leave the unreliable total_calls. So we allow an ISeq to be never pushed when you use multiple Ractors. However, if you enqueue a single ccan node twice, get_from_list loops infinitely. Thus this patch takes care of such a situation. M common.mk M mjit.c M mjit.h M mjit_worker.c commit 791d7d49476e6363c1bd24af637a9581acc627bb Author: Nobuyoshi Nakada Date: Thu Jun 10 15:15:35 2021 +0900 Freeze command line script M ruby.c commit 8a46b480a719a419e1d596ce20740da020501003 Author: Peter Zhu Date: Wed Jun 9 13:31:44 2021 -0400 Refactor gc_marks_start_heap to only configure heap Move the non-heap related configurations to gc_marks_start. M gc.c commit fa340dd9f1ce410360474ca7b07d0af8968599c7 Author: git Date: Thu Jun 10 00:17:15 2021 +0900 * 2021-06-10 [ci skip] M version.h commit f7741cda323e759432f34c954d7da0ac3d865ab1 Author: Jun Aruga Date: Mon Jun 7 17:36:59 2021 +0200 Enable Travis on the specific branches or forked repositories. Align the Travis enabling timing with GitHub Actions. For the syntax, see . We use `repo` syntax rather than `fork = true/false` syntax to show a general usage in any repositories on GitHub. The non-forked repo is not always a primary repo in any GitHub repositories. [Bug #17936] M .travis.yml commit e03bf76b312e9cba0e44488fcd8f67099af816cb Author: Nobuyoshi Nakada Date: Wed Jun 9 19:15:57 2021 +0900 Pack iseq_inline_constant_cache_entry Reordered iseq_inline_constant_cache_entry members not to exceed the size of RValue. M vm_core.h commit 9ba335e2eb79b1a75166828f437b71a1398ec3c5 Author: Nobuyoshi Nakada Date: Wed Jun 9 18:49:14 2021 +0900 [Win32] fixed PACKED_STRUCT_UNALIGNED on x86 Use MACHINE for x86 CPU family, ARCH is CPU model name (i386) and cannot be x86. M win32/Makefile.sub commit 73f9831a57e133ab5645221df862a176a42f6685 Author: Nobuyoshi Nakada Date: Wed Jun 9 12:32:18 2021 +0900 POSIX timer cannot be shared in forked process [Bug #17941] M thread_pthread.c commit 9f110ced578ec944f7f7cbe11ba3519a25adf714 Author: Peter Zhu Date: Tue Jun 8 10:45:18 2021 -0400 Add multi-heap support to gc_marks_wb_unprotected_objects M gc.c commit f9e13cda0432d125d7c277b95249192df0c61163 Author: git Date: Wed Jun 9 02:19:27 2021 +0900 * 2021-06-09 [ci skip] M version.h commit 117310bdc00236c0a7676616ce25b5106775dabc Author: Jeremy Evans Date: Tue Jun 8 10:19:08 2021 -0700 Make ENV.clone warn and ENV.dup raise ENV.dup returned a plain Object, since all of ENV's behavior is defined in ENV's singleton class. So using dup makes no sense. ENV.clone works and is used in some gems, but it doesn't do what the user expects, since modifying ENV.clone also modifies ENV. Add a deprecation warning pointing the user to use ENV.to_h instead. This also undefines some private initialize* methods in ENV, since they are not needed. Fixes [Bug #17767] M hash.c M test/ruby/test_env.rb commit 8c87efaa8a45166ed977294330c32a4b186b8e7b Author: Yusuke Endoh Date: Mon Jun 7 22:56:47 2021 +0900 [ruby/psych] Fix the test that does not work with libyaml-0.1.7 https://github.com/ruby/psych/commit/542cf9754f M test/psych/test_psych.rb commit a49a08ab98659d09c89fc6404ca37a764c7b0d8e Author: git Date: Tue Jun 8 03:47:48 2021 +0900 * 2021-06-08 [ci skip] M version.h commit 459a9f82c91bddabef0fe1d394c23b0adce96b7c Author: Aaron Patterson Date: Mon Jun 7 11:46:01 2021 -0700 Don't create objects during GC If we crash during GC, allocating new objects in the segv handler can cause an infinite loop. This commit is to avoid creating new objects in the crash handler M vm_dump.c commit 26fcec5ae5edb9269f5fb91e2ea4827be05e3a59 Author: Nobuyoshi Nakada Date: Mon Jun 7 20:43:43 2021 +0900 [DOC] fix metacharacter markups [ci skip] M dir.rb commit c741ea0be7402fd709207548d78b044fb89dffd0 Author: Nobuyoshi Nakada Date: Sun Jun 6 12:08:54 2021 +0900 timev.rb: moved class rdoc from time.c M time.c M timev.rb commit 4bd538e847c9e9b106ebd2bab9bb5075ffb8014d Author: Nobuyoshi Nakada Date: Sun Jun 6 12:08:28 2021 +0900 dir.rb: moved class rdoc from dir.c M dir.c M dir.rb commit bb4a10208c8564a6c080a0de14ef6a5884c6173c Author: Hiroshi SHIBATA Date: Mon Jun 7 19:24:20 2021 +0900 Do not use YAML module in tests of Psych M test/psych/test_psych.rb commit d7146dfd7dbe370ec9b7d6fde75bf1066bf7ed57 Author: Hiroshi SHIBATA Date: Mon Jun 7 19:21:41 2021 +0900 Use assert_raise instead of assert_raises M test/psych/test_psych.rb commit 85b94144f2a05771f05d731e7ee06dd849756402 Author: Hiroshi SHIBATA Date: Mon Jun 7 12:19:26 2021 +0900 [ruby/psych] Bump version to 4.0.1 https://github.com/ruby/psych/commit/4049939006 M ext/psych/lib/psych/versions.rb commit fd6225c7a974e5154099c9f7be82bebd44a19116 Author: Jean Boussier Date: Wed May 19 16:07:24 2021 +0200 [ruby/psych] Implement YAML.safe_dump to make safe_load more usable. In case where Psych is used as a two way serializers, e.g. to serialize some cache or config, it is preferable to have the same restrictions on both load and dump. Otherwise you might dump and persist some objects payloads that you later won't be able to read. https://github.com/ruby/psych/commit/441958396f M ext/psych/lib/psych.rb M ext/psych/lib/psych/class_loader.rb M ext/psych/lib/psych/exception.rb M ext/psych/lib/psych/visitors/yaml_tree.rb M test/psych/test_psych.rb commit 430883158f3d01f80917d6eefbaa82521c95c05a Author: Yusuke Endoh Date: Mon May 17 23:09:37 2021 +0900 [ruby/psych] Make YAML.load_file use YAML.load instead of safe_load YAML.load and YAML.safe_load are different a little; the former allows Symbol by default but the latter doesn't. So YAML.load_file and YAML.safe_load_file should reflect the difference. Fixes #490 https://github.com/ruby/psych/commit/f8a5e512a1 M ext/psych/lib/psych.rb commit dd765f9e605eb1a6426a0e3165e2db71b2081d03 Author: Nobuyoshi Nakada Date: Mon Jun 7 12:19:57 2021 +0900 Get rid of updating Unicode files Some certificates on Unicode.org have expired. M .travis.yml M appveyor.yml commit bc126d91fee738393f712171c49f421c2cc1c6db Author: Yusuke Endoh Date: Mon Jun 7 16:22:18 2021 +0900 Skip make update-unicode for BASERUBY CI Unfortunately it often fails depending on the status of www.unicode.org. https://github.com/mame/ruby/runs/2761346164?check_suite_focus=true ``` ./tool/downloader.rb:248:in `rescue in download': failed to download 12.1.0/ucd/UnicodeData.txt (RuntimeError) OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed: https://www.unicode.org/Public/12.1.0/ucd/UnicodeData.txt ``` M .github/workflows/baseruby.yml commit a9d761720134c76cbc68baefddf663292ebf591f Author: git Date: Mon Jun 7 10:23:16 2021 +0900 * 2021-06-07 [ci skip] M version.h commit ad22e88956ec4ea476549f6c7331075b2d5f3f2f Author: Utkarsh Mathur <78642104+UtkarshMathur05@users.noreply.github.com> Date: Sat Jun 5 12:55:08 2021 +0530 Fix Typo M coverage/README commit cf92b3cc97679303cee285190171c7135c81fa27 Author: Nobuyoshi Nakada Date: Sun Jun 6 23:02:06 2021 +0900 ast.rb: reduce nesting M ast.rb commit c9af563e10f2adc12846100371da42a266869c3b Author: git Date: Sun Jun 6 22:45:55 2021 +0900 * 2021-06-06 [ci skip] M version.h commit 2e972406174ebf0c5ddc8d819fd76c1cef5e7b23 Author: Nobuyoshi Nakada Date: Sun Jun 6 22:45:37 2021 +0900 prelude.c.tmpl: strip comment-only or empty lines at the beginning M template/prelude.c.tmpl commit 3208a5df2dfb429752a130a36274464e9924cf44 Author: S.H Date: Sat Jun 5 13:57:21 2021 +0900 Improve perfomance for Integer#size method [Feature #17135] (#3476) * Improve perfomance for Integer#size method [Feature #17135] * re-run ci * Let MJIT frame skip work for Integer#size Co-authored-by: Takashi Kokubun M benchmark/mjit_integer.yml M mjit_compile.c M mjit_worker.c M numeric.c M numeric.rb commit 033e76e7602d06e037e1d9bb8527280a58d548da Author: git Date: Sat Jun 5 12:28:20 2021 +0900 * 2021-06-05 [ci skip] M version.h commit 67ca2cce0ab3d6db6c569034ac0f533e8fcb9021 Author: Kazuhiro NISHIYAMA Date: Sat Jun 5 12:27:52 2021 +0900 Update bundled_gems M gems/bundled_gems commit 91c542ad0570d02c269877226689085128038f54 Author: Nobuyoshi Nakada Date: Fri Jun 4 09:24:57 2021 +0900 lldb_cruby.py: push non-flonum float to history [ci skip] M misc/lldb_cruby.py commit 3c57c087ec4ac9f2d7b9f4111a667efe42d30cfb Author: Nobuyoshi Nakada Date: Fri Jun 4 09:12:34 2021 +0900 lldb_cruby.py: fix non-flonum float inspection [ci skip] M misc/lldb_cruby.py commit 9f3240d4f4439e253d230f8c06d9923c76a68c6d Author: git Date: Fri Jun 4 05:57:15 2021 +0900 * 2021-06-04 [ci skip] M version.h commit 38c5f2737f8a62efce93595c8b6c6ea1d6b5e739 Author: Aaron Patterson Date: Tue Jun 1 16:28:35 2021 -0700 Support an arbitrary number of header bits (< BITS_BITLENGTH) NUM_IN_PAGE(page->start) will sometimes return a 0 or a 1 depending on how the alignment of the 40 byte slots work out. This commit uses the NUM_IN_PAGE function to shift the bitmap down on the first bitmap plane. Iterating on the first bitmap plane is "special", but this commit allows us to align object addresses on something besides 40 bytes, and also eliminates the need to fill guard bits. M gc.c commit 93be7a4c6bda8269b3d82ce4cfde6b2bde3b9718 Author: Nobuyoshi Nakada Date: Thu Jun 3 20:07:26 2021 +0900 Suppress clobbered warnings on Travis-CI ppc64le-linux M cont.c M thread.c commit dc25412042dcb921c27491ef09791d03bc377d98 Author: Samuel Williams Date: Thu Jun 3 16:29:58 2021 +1200 Expose `rb_fiber_transfer` and `rb_fiber_transfer_kw`. M cont.c M include/ruby/internal/intern/cont.h commit 7e14762159643b4415e094f9d2a90afaf7994588 Author: Takashi Kokubun Date: Wed Jun 2 23:55:23 2021 -0700 Do not doubly hold an MJIT lock This is a follow-up of 86c262541ad07528842d76dab4b9b34bd888d5f4. CRITICAL_SECTION_START/FINISH are not needed when it's called from an MJIT worker. Also, ZALLOC needs to be calloc because ZALLOC may trigger GC, which an MJIT worker must not do. M mjit.c M mjit_worker.c commit 9f3888d6a3387773c8707b7971ce64c60df33d36 Author: Nobuyoshi Nakada Date: Thu Jun 3 13:26:11 2021 +0900 Warn more duplicate literal hash keys Following non-special_const literals: * T_REGEXP M compile.c M internal/re.h M parse.y M re.c M test/ruby/test_literal.rb commit 37eb5e74395f148782f7d67b5218fb2e66b113d7 Author: Nobuyoshi Nakada Date: Thu Jun 3 12:32:44 2021 +0900 Warn more duplicate literal hash keys Following non-special_const literals: * T_BIGNUM * T_FLOAT (non-flonum) * T_RATIONAL * T_COMPLEX M compile.c M internal/compile.h M parse.y M test/ruby/test_literal.rb commit a023db49bfbbbe119638bae6abf8113f0de371de Author: Nobuyoshi Nakada Date: Thu Jun 3 12:26:52 2021 +0900 Assertions for duplicate literal hash key warnings M test/ruby/test_literal.rb commit 31b9ce365dff68f2e7a96b78d7dded98e338e5c6 Author: Takashi Kokubun Date: Wed Jun 2 22:25:48 2021 -0700 Note about 07c05b6fe931337e928a89ac5ebf654862dc0eca M NEWS.md commit 86c262541ad07528842d76dab4b9b34bd888d5f4 Author: Takashi Kokubun Date: Wed Jun 2 22:07:44 2021 -0700 Fix a race condition around mjit_recompile This fixes SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true. When mjit_recompile is called when mjit_compile is compiling the exact same iseq (and after it called mjit_capture_cc_entries), iseq->body->jit_unit is re-created and its cc_entries becomes NULL. Then, when it tries to lookup cc_entries through iseq->body->jit_unit, it fails. M mjit.c M mjit_worker.c commit 007e439fe965871c73127928f7244ebb96a86e58 Author: Takashi Kokubun Date: Wed Jun 2 21:39:11 2021 -0700 Do not expect ec on rb_vm_bugreport because a SEGV might happen on an MJIT worker. As you can clearly see from `if (vm && ec) {`, ec is not guaranteed to exist here. M vm_dump.c commit b957c3dbcb3cfee6908f4217cfb9ab0e78b4c618 Author: Yusuke Endoh Date: Wed Jun 2 12:32:47 2021 +0900 [rubygems/rubygems] Rename test/rubygems/test_{case,utilities}.rb to avoid "test_" prefix This changes "test/rubygems/test_case.rb" to "test/rubygems/helper.rb", and "test/rubygems/test_utilities.rb" to "test/rubygems/utilities.rb". The two files are a helper for tests, not test files. However, a file starting with "test_" prefix is handled as a test file directly loaded by test-unit because Rakefile specifies: ``` t.test_files = FileList['test/**/test_*.rb'] ``` Directly loading test/rubygems/test_utilities.rb caused "uninitialized constant Gem::TestCase". This issue was fixed by 59c682097197fee4052b47e4b4ab86562f3eaa9b, but the fix caused a "circular require" warning because test_utilities.rb and test_case.rb are now requiring each other. Anyway, adding "test_" prefix to a test helper file is confusing, so this changeset reverts the fix and solve the issue by renaming them. https://github.com/rubygems/rubygems/commit/6460e018df R099 test/rubygems/test_case.rb test/rubygems/helper.rb M test/rubygems/installer_test_case.rb M test/rubygems/package/tar_test_case.rb M test/rubygems/test_bundled_ca.rb M test/rubygems/test_config.rb M test/rubygems/test_deprecate.rb M test/rubygems/test_gem.rb M test/rubygems/test_gem_available_set.rb M test/rubygems/test_gem_bundler_version_finder.rb M test/rubygems/test_gem_command.rb M test/rubygems/test_gem_command_manager.rb M test/rubygems/test_gem_commands_build_command.rb M test/rubygems/test_gem_commands_cert_command.rb M test/rubygems/test_gem_commands_check_command.rb M test/rubygems/test_gem_commands_cleanup_command.rb M test/rubygems/test_gem_commands_contents_command.rb M test/rubygems/test_gem_commands_dependency_command.rb M test/rubygems/test_gem_commands_environment_command.rb M test/rubygems/test_gem_commands_fetch_command.rb M test/rubygems/test_gem_commands_generate_index_command.rb M test/rubygems/test_gem_commands_help_command.rb M test/rubygems/test_gem_commands_info_command.rb M test/rubygems/test_gem_commands_install_command.rb M test/rubygems/test_gem_commands_list_command.rb M test/rubygems/test_gem_commands_lock_command.rb M test/rubygems/test_gem_commands_mirror.rb M test/rubygems/test_gem_commands_open_command.rb M test/rubygems/test_gem_commands_outdated_command.rb M test/rubygems/test_gem_commands_owner_command.rb M test/rubygems/test_gem_commands_pristine_command.rb M test/rubygems/test_gem_commands_push_command.rb M test/rubygems/test_gem_commands_query_command.rb M test/rubygems/test_gem_commands_search_command.rb M test/rubygems/test_gem_commands_server_command.rb M test/rubygems/test_gem_commands_setup_command.rb M test/rubygems/test_gem_commands_signin_command.rb M test/rubygems/test_gem_commands_signout_command.rb M test/rubygems/test_gem_commands_sources_command.rb M test/rubygems/test_gem_commands_specification_command.rb M test/rubygems/test_gem_commands_stale_command.rb M test/rubygems/test_gem_commands_unpack_command.rb M test/rubygems/test_gem_commands_update_command.rb M test/rubygems/test_gem_commands_which_command.rb M test/rubygems/test_gem_commands_yank_command.rb M test/rubygems/test_gem_config_file.rb M test/rubygems/test_gem_dependency.rb M test/rubygems/test_gem_dependency_installer.rb M test/rubygems/test_gem_dependency_list.rb M test/rubygems/test_gem_dependency_resolution_error.rb M test/rubygems/test_gem_doctor.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_ext_cmake_builder.rb M test/rubygems/test_gem_ext_configure_builder.rb M test/rubygems/test_gem_ext_ext_conf_builder.rb M test/rubygems/test_gem_ext_rake_builder.rb M test/rubygems/test_gem_gem_runner.rb M test/rubygems/test_gem_gemcutter_utilities.rb M test/rubygems/test_gem_impossible_dependencies_error.rb M test/rubygems/test_gem_indexer.rb M test/rubygems/test_gem_local_remote_options.rb M test/rubygems/test_gem_name_tuple.rb M test/rubygems/test_gem_package_old.rb M test/rubygems/test_gem_package_task.rb M test/rubygems/test_gem_path_support.rb M test/rubygems/test_gem_platform.rb M test/rubygems/test_gem_rdoc.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_request.rb M test/rubygems/test_gem_request_connection_pools.rb M test/rubygems/test_gem_request_set.rb M test/rubygems/test_gem_request_set_gem_dependency_api.rb M test/rubygems/test_gem_request_set_lockfile.rb M test/rubygems/test_gem_request_set_lockfile_parser.rb M test/rubygems/test_gem_request_set_lockfile_tokenizer.rb M test/rubygems/test_gem_requirement.rb M test/rubygems/test_gem_resolver.rb M test/rubygems/test_gem_resolver_activation_request.rb M test/rubygems/test_gem_resolver_api_set.rb M test/rubygems/test_gem_resolver_api_specification.rb M test/rubygems/test_gem_resolver_best_set.rb M test/rubygems/test_gem_resolver_composed_set.rb M test/rubygems/test_gem_resolver_conflict.rb M test/rubygems/test_gem_resolver_dependency_request.rb M test/rubygems/test_gem_resolver_git_set.rb M test/rubygems/test_gem_resolver_git_specification.rb M test/rubygems/test_gem_resolver_index_set.rb M test/rubygems/test_gem_resolver_index_specification.rb M test/rubygems/test_gem_resolver_installed_specification.rb M test/rubygems/test_gem_resolver_installer_set.rb M test/rubygems/test_gem_resolver_local_specification.rb M test/rubygems/test_gem_resolver_lock_set.rb M test/rubygems/test_gem_resolver_lock_specification.rb M test/rubygems/test_gem_resolver_requirement_list.rb M test/rubygems/test_gem_resolver_specification.rb M test/rubygems/test_gem_resolver_vendor_set.rb M test/rubygems/test_gem_resolver_vendor_specification.rb M test/rubygems/test_gem_security.rb M test/rubygems/test_gem_security_policy.rb M test/rubygems/test_gem_security_signer.rb M test/rubygems/test_gem_security_trust_dir.rb M test/rubygems/test_gem_server.rb M test/rubygems/test_gem_silent_ui.rb M test/rubygems/test_gem_source.rb M test/rubygems/test_gem_source_fetch_problem.rb M test/rubygems/test_gem_source_git.rb M test/rubygems/test_gem_source_installed.rb M test/rubygems/test_gem_source_list.rb M test/rubygems/test_gem_source_local.rb M test/rubygems/test_gem_source_lock.rb M test/rubygems/test_gem_source_specific_file.rb M test/rubygems/test_gem_source_subpath_problem.rb M test/rubygems/test_gem_source_vendor.rb M test/rubygems/test_gem_spec_fetcher.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_stream_ui.rb M test/rubygems/test_gem_stub_specification.rb M test/rubygems/test_gem_text.rb M test/rubygems/test_gem_unsatisfiable_dependency_error.rb M test/rubygems/test_gem_uri_formatter.rb M test/rubygems/test_gem_util.rb M test/rubygems/test_gem_validator.rb M test/rubygems/test_gem_version.rb M test/rubygems/test_gem_version_option.rb M test/rubygems/test_kernel.rb M test/rubygems/test_project_sanity.rb M test/rubygems/test_remote_fetch_error.rb M test/rubygems/test_require.rb R099 test/rubygems/test_utilities.rb test/rubygems/utilities.rb commit 28b481938b5c8211aad53ba82fe4ddd978ffc00f Author: S.H Date: Thu Jun 3 12:04:56 2021 +0900 Implemented some NilClass method in Ruby code is faster [Feature #17054] (#3366) A benchmark/nilclass.yml M common.mk M inits.c A nilclass.rb M object.c commit bc65cf1a920b715635fbd3e658c4abdebfb87e3b Author: Aaron Patterson Date: Wed Jun 2 13:29:03 2021 -0700 use a bool instead of int M gc.c commit ad734a8cc3181cb4ad510e3c7dc73dd8bb943742 Author: Peter Zhu Date: Wed Jun 2 14:42:09 2021 -0400 Allocate exact space for objspace_each_objects We are only iterating over the eden heap so `heap_eden->total_pages` contains the exact number of pages we need to allocate for. `heap_allocated_pages` may contain pages in the tomb. M gc.c commit 2a685da1fcd928530509e99f5edb4117bc377994 Author: git Date: Thu Jun 3 00:07:44 2021 +0900 * 2021-06-03 [ci skip] M version.h commit e451f0f678b88f9634712856c4a5e45b7d3ca7dc Author: Daisuke Fujimura (fd0) Date: Thu May 13 07:22:08 2021 +0900 Fix `_MSC_VER` warnings M ext/win32ole/win32ole.c M ext/win32ole/win32ole_variant.c M ext/win32ole/win32ole_variant_m.c commit 750f80757523bb916beff51cf30e585a378acd84 Author: Benoit Daloze Date: Wed Jun 2 15:54:38 2021 +0200 Update to ruby/spec@c6e9285 M spec/ruby/library/yaml/fixtures/common.rb M spec/ruby/library/yaml/load_spec.rb M spec/ruby/library/yaml/shared/load.rb M spec/ruby/library/yaml/unsafe_load_spec.rb commit 22e2a6a999b958efe5d84d9c7314e450fda82254 Author: Benoit Daloze Date: Wed Jun 2 14:34:07 2021 +0200 Update to ruby/spec@a0b7d0d M spec/ruby/README.md M spec/ruby/command_line/dash_encoding_spec.rb M spec/ruby/command_line/dash_r_spec.rb M spec/ruby/command_line/dash_upper_e_spec.rb M spec/ruby/command_line/dash_upper_s_spec.rb M spec/ruby/command_line/dash_upper_u_spec.rb M spec/ruby/command_line/dash_x_spec.rb M spec/ruby/command_line/error_message_spec.rb M spec/ruby/command_line/rubyopt_spec.rb M spec/ruby/command_line/syntax_error_spec.rb M spec/ruby/core/array/element_set_spec.rb M spec/ruby/core/encoding/replicate_spec.rb A spec/ruby/core/enumerator/lazy/filter_map_spec.rb M spec/ruby/core/exception/signal_exception_spec.rb M spec/ruby/core/exception/system_exit_spec.rb M spec/ruby/core/exception/top_level_spec.rb M spec/ruby/core/fiber/raise_spec.rb M spec/ruby/core/file/atime_spec.rb M spec/ruby/core/file/basename_spec.rb M spec/ruby/core/hash/rehash_spec.rb M spec/ruby/core/io/binmode_spec.rb M spec/ruby/core/io/dup_spec.rb M spec/ruby/core/io/external_encoding_spec.rb M spec/ruby/core/io/internal_encoding_spec.rb M spec/ruby/core/io/lineno_spec.rb M spec/ruby/core/io/set_encoding_by_bom_spec.rb M spec/ruby/core/io/sysread_spec.rb M spec/ruby/core/io/sysseek_spec.rb M spec/ruby/core/kernel/at_exit_spec.rb M spec/ruby/core/kernel/eval_spec.rb M spec/ruby/core/kernel/format_spec.rb M spec/ruby/core/kernel/inspect_spec.rb M spec/ruby/core/kernel/shared/sprintf.rb M spec/ruby/core/module/define_method_spec.rb M spec/ruby/core/module/include_spec.rb M spec/ruby/core/module/prepend_spec.rb M spec/ruby/core/module/remove_method_spec.rb M spec/ruby/core/objectspace/_id2ref_spec.rb M spec/ruby/core/objectspace/define_finalizer_spec.rb M spec/ruby/core/process/status/equal_value_spec.rb M spec/ruby/core/process/status/exited_spec.rb M spec/ruby/core/process/status/exitstatus_spec.rb M spec/ruby/core/process/status/signaled_spec.rb M spec/ruby/core/process/status/success_spec.rb M spec/ruby/core/process/status/termsig_spec.rb M spec/ruby/core/process/status/to_i_spec.rb M spec/ruby/core/range/step_spec.rb M spec/ruby/core/signal/trap_spec.rb M spec/ruby/core/string/inspect_spec.rb M spec/ruby/core/string/rpartition_spec.rb M spec/ruby/core/string/split_spec.rb M spec/ruby/core/struct/dig_spec.rb M spec/ruby/language/fixtures/return.rb M spec/ruby/language/hash_spec.rb M spec/ruby/language/source_encoding_spec.rb M spec/ruby/library/datetime/strftime_spec.rb M spec/ruby/library/rbconfig/rbconfig_spec.rb A spec/ruby/library/rubygems/gem/load_path_insert_index_spec.rb M spec/ruby/optional/capi/data_spec.rb M spec/ruby/optional/capi/ext/data_spec.c M spec/ruby/optional/capi/ext/object_spec.c M spec/ruby/optional/capi/ext/typed_data_spec.c M spec/ruby/optional/capi/object_spec.rb M spec/ruby/optional/capi/typed_data_spec.rb M spec/ruby/shared/process/exit.rb M spec/ruby/shared/time/strftime_for_time.rb commit a4fbc7e2884ba694278adea3b32ddb8c2ac10efe Author: Benoit Daloze Date: Wed Jun 2 14:34:01 2021 +0200 Update to ruby/mspec@0091e8a A spec/mspec/.rspec M spec/mspec/lib/mspec/helpers/ruby_exe.rb M spec/mspec/spec/helpers/ruby_exe_spec.rb commit 2048dfc5d37eecb6f1ae18e9d1770a71b46a40b9 Author: Jun Aruga Date: Wed Jun 2 11:13:04 2021 +0200 Skip a `File.atime` test randomly failing on Travis ppc64le. See . M spec/ruby/core/file/atime_spec.rb commit 070caf54d2a17168d3de05aa1633979c8545f8f4 Author: Takashi Kokubun Date: Wed Jun 2 01:16:49 2021 -0700 Refactor rb_vm_insn_addr2insn calls It's been a way too much amount of ifdefs. M compile.c M internal/compile.h M iseq.c M mjit_compile.c M mjit_worker.c commit c32ce2cbf100edd2a88e4230f08879c7cc73a891 Author: Takashi Kokubun Date: Wed Jun 2 00:09:47 2021 -0700 Clarify these are just for MJIT and not for third-party libraries. See: e6484a153038703447b50fcac26349249922ab28 M vm_core.h M vm_insnhelper.h commit 0f97aaa6cff486cce5e5d0cea796a6522df0e5e6 Author: Nobuyoshi Nakada Date: Wed Jun 2 13:41:54 2021 +0900 Suppress false warning by MSVC https://github.com/ruby/ruby/runs/2707566811#step:10:147 ``` D:\a\ruby\ruby\src\mjit_worker.c(1212): warning C4090: 'function': different 'const' qualifiers ``` M mjit_worker.c commit 9137caaf457d65bc4c4c05cc0d6e5d6740f669f1 Author: aycabta Date: Mon May 24 00:06:46 2021 +0900 [ruby/rdoc] Add a dependency on psych gem 4.0.0 or newer https://github.com/ruby/rdoc/commit/ebe185c877 M lib/rdoc/rdoc.gemspec commit 77e1b477297a48e285d34b21e8d30ab4b46bf90c Author: aycabta Date: Sun May 23 23:48:41 2021 +0900 [ruby/rdoc] Add an alias for test-unit with older versions of RubyGems https://github.com/ruby/rdoc/commit/b8d68fdd87 M test/rdoc/test_rdoc_rubygems_hook.rb commit 04a5ee6a23c317228fde57d99cd06970ce1b9b6a Author: git Date: Wed Jun 2 07:25:36 2021 +0900 * 2021-06-02 [ci skip] M version.h commit f9b9d1c58052fa566bddc7fcc902ef123902bdc2 Author: Aaron Patterson Date: Tue Jun 1 14:34:34 2021 -0700 Use the current object as the compaction index Instead of keeping track of the current bit plane, keep track of the actual slot when compacting. This means we don't need to re-scan objects inside the same bit plane when we continue with movement M gc.c commit 9024c7f1bb3ea432a2b52e7c701b06f83aafd4d5 Author: Nobuyoshi Nakada Date: Tue Jun 1 22:27:13 2021 +0900 Make `Thread#native_thread_id` not-implemented if unsupported Raise `NotImplementedError` on unsupported platforms regardless the argument consistently. M test/ruby/test_thread.rb M thread.c M thread_pthread.c M thread_win32.c commit 6e7e9a80adfe69e6e6d20e01997b97a5c24cd33e Author: Hiroshi SHIBATA Date: Tue Jun 1 19:38:02 2021 +0900 Expose assert_all? for ruby/csv repo M tool/lib/test/unit/assertions.rb M tool/lib/test/unit/core_assertions.rb commit c57610dcd5e1ffcea0414d515995d950036869b0 Author: S.H Date: Tue Jun 1 17:00:45 2021 +0900 Add static modifier to C function in hash.c (#3138) * add static modifier for rb_hash_reject_bang func * add static modifier for rb_hash_reject func * add static modifier for rb_hash_values_at func * add static modifier for rb_hash_assoc func * add static modifier for rb_hash_rassoc func M hash.c commit d627b75e016c855fe4c921170a76773f6da7f163 Author: S.H Date: Tue Jun 1 16:59:33 2021 +0900 Add static modifier to C function in re.c (#3153) * add static modifier for rb_reg_eqq func * add static modifier for rb_check_regexp_type func M re.c commit b70fdf1b55beb9344d97b47d0587471d23b280df Author: S.H Date: Tue Jun 1 16:38:50 2021 +0900 Refactor rb_define_class_variable function (#4400) commit 588446c39c5852637ad15906f80dae3800e01233 Author: S.H Date: Tue Jun 1 16:37:45 2021 +0900 Remove unneeded rb_ary_ptr_use_start defination in internal/array.h (#4427) M internal/array.h commit 45662c54c95db007d8738cc0bbaa6bdb36d00567 Author: S.H Date: Tue Jun 1 16:37:24 2021 +0900 Remove unneeded rb_str_initialize defination in internal/string.h (#4465) M internal/string.h commit a2cf0607b06f9a0cf522a971fa6226bb627ecf20 Author: S.H Date: Tue Jun 1 16:34:56 2021 +0900 Refactor rb_class_path_cached function (#4485) M variable.c commit 1055b37ef56ff786b5dfd407c23dcf585eb86748 Author: S.H Date: Tue Jun 1 16:32:24 2021 +0900 Refactor rb_define_class_variable function (#4492) M variable.c commit e1b03b0c2b2449a7794f4701bab8b2382eb15116 Author: Takashi Kokubun Date: Tue Jun 1 00:15:51 2021 -0700 Enable VM_ASSERT in --jit CIs (#4543) M .github/workflows/mjit.yml M ractor.c M vm_core.h M vm_method.c commit 0d32a18f5b8cb07ef766ac3ae6de6d41c95af43f Author: Takashi Kokubun Date: Mon May 31 22:56:15 2021 -0700 Make --without-mjit-tabs work again vm_sync.{c,h} don't have tabs M tool/mjit_tabs.rb commit b9019c1ae860ee92a162d5fc2af55c10768980de Author: Takashi Kokubun Date: Mon May 31 22:46:56 2021 -0700 Revert "Try enabling VM_ASSERT in --jit CIs" This reverts commit e9e3b65d836b5796882b5bf28717e4586366ceec. We were not ready for it https://github.com/ruby/ruby/runs/2715306375?check_suite_focus=true M .github/workflows/mjit.yml commit 028f1887c2bfa50dcfc1b623470d6ab1b880fdde Author: Takashi Kokubun Date: Mon May 31 22:00:14 2021 -0700 Change the default --jit-max-cache to 10000 This is useful for large applications like Rails. https://k0kubun.medium.com/ruby-3-jit-can-make-rails-faster-756310f235a M NEWS.md M mjit.c M mjit_worker.c commit 2209e152c0ec2c0548c22b2b14e52007b74a9efb Author: Takashi Kokubun Date: Mon May 31 21:57:56 2021 -0700 Decompose the captured_cc code for investigation I'm investigating SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true. Because a lot of things are going on on this line, it's hard to identify the cause, especially because we can't get the core file of the failures. Therefore I intentionally increased the number of lines for investigation. M tool/ruby_vm/views/_mjit_compile_send.erb commit e9e3b65d836b5796882b5bf28717e4586366ceec Author: Takashi Kokubun Date: Mon May 31 21:50:37 2021 -0700 Try enabling VM_ASSERT in --jit CIs M .github/workflows/mjit.yml commit 45651e800ba2aa5ecbdab3bf6a34d3d561ca1d20 Author: git Date: Tue Jun 1 13:14:56 2021 +0900 * 2021-06-01 [ci skip] M version.h commit 07c05b6fe931337e928a89ac5ebf654862dc0eca Author: Takashi Kokubun Date: Mon May 31 21:12:27 2021 -0700 Drop JIT_ISEQ_SIZE_THRESHOLD Compiling everything seems to contributed to improving the final performance in general. MJIT's compilation is slow anyway, especially when you need to wait for JIT compaction. This might make sense for short-time benchmarks like Optcarrot with default parameters, but it didn't give benefits in my local environment. M mjit.c M mjit.h commit c9ab8fe2b12652db7f66b71b03248a6387e378fe Author: aycabta Date: Mon May 31 23:34:17 2021 +0900 The test for command injection on Unix platforms should be omitted on Windows M test/rdoc/test_rdoc_rdoc.rb commit ff6f4e631ccddb436c3c7a3a0ebf6a3f3e4b63ec Author: Jun Aruga Date: Mon May 31 16:21:10 2021 +0200 tool/ci_functions.sh: Fix typos and improve the comment. [ci skip] M tool/ci_functions.sh commit 395479907159c5d948492cf761c614fb7c8364df Author: David Rodríguez Date: Thu May 27 12:06:23 2021 +0200 Tweak skipped files in bundler gemspec We won't be using the `extra_rdoc_files` field, because it's very slow for markdown files. M tool/sync_default_gems.rb commit cd2190448d55edce5695c73b062e3faa7fb9bc3a Author: Hiroshi SHIBATA Date: Mon May 31 16:52:36 2021 +0900 [ruby/net-protocol] Bump version to 0.1.1 https://github.com/ruby/net-protocol/commit/97c4b68528 M lib/net/protocol.rb commit 1aac0e88193a82ed36b43e852c46414181b66455 Author: Takashi Kokubun Date: Sun May 30 21:42:02 2021 -0700 Mark inlined ISeqs during MJIT compilation (#4539) [Bug #17584] M common.mk M mjit.c M mjit_compile.c M mjit_worker.c commit 2cc3639ebfb8497d351bfed67ab64f1775b40e80 Author: git Date: Mon May 31 09:26:04 2021 +0900 * 2021-05-31 [ci skip] M version.h commit 43ac55ad24eda5bf4fdd3495e5fad01a125face2 Author: Kazuhiro NISHIYAMA Date: Mon May 31 09:25:29 2021 +0900 Update bundled_gems M gems/bundled_gems commit fd65ef2a5aa8629676d1edb6410e4d4cf60b8045 Author: Jeremy Evans Date: Sat May 29 14:08:24 2021 -0700 Attempt to fix floating point test failure The previous behavior depending on exact float values, it seemed to work OK on amd64 and i386, but other CI platforms are experiencing non-deterministic test failures with it. Relax test slightly to hopefully pass on such platforms. M test/ruby/test_float.rb commit 9bb76201dd70632f26b06d9b6ef3ef18e32b358c Author: git Date: Sun May 30 00:56:38 2021 +0900 * 2021-05-30 [ci skip] M version.h commit f516379853f36d143d820c55d5eeaa9fc410ef52 Author: Jeremy Evans Date: Thu Apr 29 12:51:05 2021 -0700 Fix Enumerator::ArithmeticSequence handling of float ranges Depending on the float range, there could be an off-by-one error, where the last result that should be in the range was missed. Fix this by checking if the computed value for the expected value outside the range is still inside the range, and if so, increment the step size. Fixes [Bug #16612] M numeric.c M spec/ruby/core/range/step_spec.rb M test/ruby/test_float.rb commit e56ba6231f77dd0aa88a1ce737a342baafc884c7 Author: git Date: Sat May 29 01:34:27 2021 +0900 * 2021-05-29 [ci skip] M version.h commit 5ada23ac1265a1da5d7ef82e1c71f14c40dddc26 Author: Alan Wu Date: Wed May 26 11:50:37 2021 -0400 compile.c: Emit send for === calls in when statements The checkmatch instruction with VM_CHECKMATCH_TYPE_CASE calls === without a call cache. Emit a send instruction to make the call instead. It includes a call cache. The call cache improves throughput of using when statements to check the class of a given object. This is useful for say, JSON serialization. Use of a regular send instead of checkmatch also avoids taking the VM lock every time, which is good for multi-ractor workloads. Calculating ------------------------------------- master post vm_case_classes 11.013M 16.172M i/s - 6.000M times in 0.544795s 0.371009s vm_case_lit 2.296 2.263 i/s - 1.000 times in 0.435606s 0.441826s vm_case 74.098M 64.338M i/s - 6.000M times in 0.080974s 0.093257s Comparison: vm_case_classes post: 16172114.4 i/s master: 11013316.9 i/s - 1.47x slower vm_case_lit master: 2.3 i/s post: 2.3 i/s - 1.01x slower vm_case master: 74097858.6 i/s post: 64338333.9 i/s - 1.15x slower The vm_case benchmark is a bit slower post patch, possibily due to the larger instruction sequence. The benchmark dispatches using opt_case_dispatch so was not running checkmatch and does not make the === call post patch. A benchmark/vm_case_classes.yml M compile.c M test/ruby/test_jit.rb commit 788d30a8b388cd5500862a4015537203ef49ea85 Author: Alan Wu Date: Thu May 6 18:54:52 2021 -0400 Make range literal peephole optimization target "newrange" It looks for "checkmatch", when it could be applied to anything that has "newrange". Making the optimization target more ranges might only be fair play when all ranges are frozen. So I'm putting a reference to the ticket that froze all ranges. [Feature #15504] M compile.c commit 12214b7814220389f2e1e32421699bb54f834158 Author: Hiroshi SHIBATA Date: Fri May 28 14:01:58 2021 +0900 Resolve to missing `Gem::TestCase` issue with random order tests M test/rubygems/test_utilities.rb commit 6e6be107dd0c820afc4db68d09110ad96c4aebdd Author: Hiroshi SHIBATA Date: Fri May 28 13:01:54 2021 +0900 Ignore test-bundled-gems on GitHub Actions because matrix tests has unknown issues M .github/workflows/macos.yml commit e487ba7ddab9dd46e95a4cff222cf08471dbd817 Author: Hiroshi SHIBATA Date: Tue May 11 12:27:07 2021 +0900 [rubygems/rubygems] Use pend instead of skip M test/rubygems/test_bundled_ca.rb M test/rubygems/test_gem.rb M test/rubygems/test_gem_bundler_version_finder.rb M test/rubygems/test_gem_commands_build_command.rb M test/rubygems/test_gem_commands_install_command.rb M test/rubygems/test_gem_commands_owner_command.rb M test/rubygems/test_gem_commands_unpack_command.rb M test/rubygems/test_gem_ext_cmake_builder.rb M test/rubygems/test_gem_install_update_options.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_package_old.rb M test/rubygems/test_gem_package_tar_reader_entry.rb M test/rubygems/test_gem_package_tar_writer.rb M test/rubygems/test_gem_path_support.rb M test/rubygems/test_gem_rdoc.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_request.rb M test/rubygems/test_gem_resolver_git_specification.rb M test/rubygems/test_gem_security_signer.rb M test/rubygems/test_gem_spec_fetcher.rb M test/rubygems/test_gem_stub_specification.rb M test/rubygems/test_gem_uninstaller.rb M test/rubygems/test_gem_util.rb M test/rubygems/test_project_sanity.rb M test/rubygems/test_require.rb commit a634ef53764e9160cb984d01e92e3e596bf41dae Author: David Rodríguez Date: Wed May 26 19:58:52 2021 +0200 [rubygems/rubygems] Fix "instance variable not initialized" warning This variable had a typo (it's `@gemhome`), but the test is still passing, so I assume it's not needed. https://github.com/rubygems/rubygems/commit/3b88642bdb M test/rubygems/test_gem_installer.rb commit 1f505000e653505b8e9e6ce4f5679ddca3c35043 Author: David Rodríguez Date: Wed May 12 11:44:16 2021 +0200 [rubygems/rubygems] Test installing a non deprecated file https://github.com/rubygems/rubygems/commit/a678959eda M test/rubygems/test_gem_commands_setup_command.rb commit 9382bda78bb701bb1df806ff0b25795a4bfc6d0c Author: David Rodríguez Date: Wed May 12 11:43:55 2021 +0200 [rubygems/rubygems] Remove no longer needed `RUBYGEMS_TEST_PATH` env variable https://github.com/rubygems/rubygems/commit/0efb894c3b M test/rubygems/test_case.rb commit 4fb3dd2c42a707a6298971991eb7eef23e415a20 Author: David Rodríguez Date: Wed May 12 11:43:01 2021 +0200 [rubygems/rubygems] Remove no longer relevant commentsº https://github.com/rubygems/rubygems/commit/8dfe1e30b5 M test/rubygems/test_case.rb M test/rubygems/test_utilities.rb commit f7732ae2eb5ae245aa3089475af8f81c08478349 Author: David Rodríguez Date: Wed May 12 11:41:32 2021 +0200 [rubygems/rubygems] Require the new files in `test/` relatively https://github.com/rubygems/rubygems/commit/c77868a555 M test/rubygems/installer_test_case.rb M test/rubygems/package/tar_test_case.rb M test/rubygems/test_bundled_ca.rb M test/rubygems/test_case.rb M test/rubygems/test_config.rb M test/rubygems/test_deprecate.rb M test/rubygems/test_gem.rb M test/rubygems/test_gem_available_set.rb M test/rubygems/test_gem_bundler_version_finder.rb M test/rubygems/test_gem_command.rb M test/rubygems/test_gem_command_manager.rb M test/rubygems/test_gem_commands_build_command.rb M test/rubygems/test_gem_commands_cert_command.rb M test/rubygems/test_gem_commands_check_command.rb M test/rubygems/test_gem_commands_cleanup_command.rb M test/rubygems/test_gem_commands_contents_command.rb M test/rubygems/test_gem_commands_dependency_command.rb M test/rubygems/test_gem_commands_environment_command.rb M test/rubygems/test_gem_commands_fetch_command.rb M test/rubygems/test_gem_commands_generate_index_command.rb M test/rubygems/test_gem_commands_help_command.rb M test/rubygems/test_gem_commands_info_command.rb M test/rubygems/test_gem_commands_install_command.rb M test/rubygems/test_gem_commands_list_command.rb M test/rubygems/test_gem_commands_lock_command.rb M test/rubygems/test_gem_commands_mirror.rb M test/rubygems/test_gem_commands_open_command.rb M test/rubygems/test_gem_commands_outdated_command.rb M test/rubygems/test_gem_commands_owner_command.rb M test/rubygems/test_gem_commands_pristine_command.rb M test/rubygems/test_gem_commands_push_command.rb M test/rubygems/test_gem_commands_query_command.rb M test/rubygems/test_gem_commands_search_command.rb M test/rubygems/test_gem_commands_server_command.rb M test/rubygems/test_gem_commands_setup_command.rb M test/rubygems/test_gem_commands_signin_command.rb M test/rubygems/test_gem_commands_signout_command.rb M test/rubygems/test_gem_commands_sources_command.rb M test/rubygems/test_gem_commands_specification_command.rb M test/rubygems/test_gem_commands_stale_command.rb M test/rubygems/test_gem_commands_uninstall_command.rb M test/rubygems/test_gem_commands_unpack_command.rb M test/rubygems/test_gem_commands_update_command.rb M test/rubygems/test_gem_commands_which_command.rb M test/rubygems/test_gem_commands_yank_command.rb M test/rubygems/test_gem_config_file.rb M test/rubygems/test_gem_dependency.rb M test/rubygems/test_gem_dependency_installer.rb M test/rubygems/test_gem_dependency_list.rb M test/rubygems/test_gem_dependency_resolution_error.rb M test/rubygems/test_gem_doctor.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_ext_cmake_builder.rb M test/rubygems/test_gem_ext_configure_builder.rb M test/rubygems/test_gem_ext_ext_conf_builder.rb M test/rubygems/test_gem_ext_rake_builder.rb M test/rubygems/test_gem_gem_runner.rb M test/rubygems/test_gem_gemcutter_utilities.rb M test/rubygems/test_gem_impossible_dependencies_error.rb M test/rubygems/test_gem_indexer.rb M test/rubygems/test_gem_install_update_options.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_local_remote_options.rb M test/rubygems/test_gem_name_tuple.rb M test/rubygems/test_gem_package.rb M test/rubygems/test_gem_package_old.rb M test/rubygems/test_gem_package_tar_header.rb M test/rubygems/test_gem_package_tar_reader.rb M test/rubygems/test_gem_package_tar_reader_entry.rb M test/rubygems/test_gem_package_tar_writer.rb M test/rubygems/test_gem_package_task.rb M test/rubygems/test_gem_path_support.rb M test/rubygems/test_gem_platform.rb M test/rubygems/test_gem_rdoc.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_request.rb M test/rubygems/test_gem_request_connection_pools.rb M test/rubygems/test_gem_request_set.rb M test/rubygems/test_gem_request_set_gem_dependency_api.rb M test/rubygems/test_gem_request_set_lockfile.rb M test/rubygems/test_gem_request_set_lockfile_parser.rb M test/rubygems/test_gem_request_set_lockfile_tokenizer.rb M test/rubygems/test_gem_requirement.rb M test/rubygems/test_gem_resolver.rb M test/rubygems/test_gem_resolver_activation_request.rb M test/rubygems/test_gem_resolver_api_set.rb M test/rubygems/test_gem_resolver_api_specification.rb M test/rubygems/test_gem_resolver_best_set.rb M test/rubygems/test_gem_resolver_composed_set.rb M test/rubygems/test_gem_resolver_conflict.rb M test/rubygems/test_gem_resolver_dependency_request.rb M test/rubygems/test_gem_resolver_git_set.rb M test/rubygems/test_gem_resolver_git_specification.rb M test/rubygems/test_gem_resolver_index_set.rb M test/rubygems/test_gem_resolver_index_specification.rb M test/rubygems/test_gem_resolver_installed_specification.rb M test/rubygems/test_gem_resolver_installer_set.rb M test/rubygems/test_gem_resolver_local_specification.rb M test/rubygems/test_gem_resolver_lock_set.rb M test/rubygems/test_gem_resolver_lock_specification.rb M test/rubygems/test_gem_resolver_requirement_list.rb M test/rubygems/test_gem_resolver_specification.rb M test/rubygems/test_gem_resolver_vendor_set.rb M test/rubygems/test_gem_resolver_vendor_specification.rb M test/rubygems/test_gem_security.rb M test/rubygems/test_gem_security_policy.rb M test/rubygems/test_gem_security_signer.rb M test/rubygems/test_gem_security_trust_dir.rb M test/rubygems/test_gem_server.rb M test/rubygems/test_gem_silent_ui.rb M test/rubygems/test_gem_source.rb M test/rubygems/test_gem_source_fetch_problem.rb M test/rubygems/test_gem_source_git.rb M test/rubygems/test_gem_source_installed.rb M test/rubygems/test_gem_source_list.rb M test/rubygems/test_gem_source_local.rb M test/rubygems/test_gem_source_lock.rb M test/rubygems/test_gem_source_specific_file.rb M test/rubygems/test_gem_source_vendor.rb M test/rubygems/test_gem_spec_fetcher.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_stream_ui.rb M test/rubygems/test_gem_stub_specification.rb M test/rubygems/test_gem_text.rb M test/rubygems/test_gem_uninstaller.rb M test/rubygems/test_gem_unsatisfiable_dependency_error.rb M test/rubygems/test_gem_uri_formatter.rb M test/rubygems/test_gem_util.rb M test/rubygems/test_gem_validator.rb M test/rubygems/test_gem_version.rb M test/rubygems/test_gem_version_option.rb M test/rubygems/test_kernel.rb M test/rubygems/test_project_sanity.rb M test/rubygems/test_remote_fetch_error.rb M test/rubygems/test_require.rb commit 59c682097197fee4052b47e4b4ab86562f3eaa9b Author: David Rodríguez Date: Wed May 12 11:35:19 2021 +0200 [rubygems/rubygems] Copy files specific to testing rubygems to `test` https://github.com/rubygems/rubygems/commit/aa390a3500 R100 lib/rubygems/installer_test_case.rb test/rubygems/installer_test_case.rb R100 lib/rubygems/package/tar_test_case.rb test/rubygems/package/tar_test_case.rb R099 lib/rubygems/test_case.rb test/rubygems/test_case.rb R100 lib/rubygems/test_utilities.rb test/rubygems/test_utilities.rb commit f7d661e783e02f87e1e0d0d67b1ca2ed306a1904 Author: Hiroshi SHIBATA Date: Mon May 17 11:59:59 2021 +0900 [rubygems/rubygems] Try fix ruby-core CI * Port https://github.com/ruby/ruby/commit/8e91b969df08b7a2eb27a5d6d38733eea42dc7ad from ruby-core, and make it compatible with psych 3 & 4. M lib/rubygems/test_case.rb M test/rubygems/test_gem_commands_signin_command.rb M test/rubygems/test_gem_commands_specification_command.rb M test/rubygems/test_gem_config_file.rb M test/rubygems/test_gem_gemcutter_utilities.rb M test/rubygems/test_gem_package.rb M test/rubygems/test_gem_specification.rb commit ded7dd9ccc6d084c5e65689ddcbcd27df703e58e Author: Hiroshi SHIBATA Date: Fri May 28 11:37:35 2021 +0900 Use require_relative to use Minitest library for testing. There is no reason to care for minitest gem. M tool/lib/test/unit.rb commit 2ad7a550f33676cb18367d07f48756c62cde5d9b Author: git Date: Fri May 28 06:17:54 2021 +0900 * 2021-05-28 [ci skip] M version.h commit fd8991f797c145615820b4c76e6b7ac5a71339ea Author: Jeremy Evans Date: Thu May 27 13:29:24 2021 -0700 Fix lazy enumerator with index size Fixes [Bug #17889] M enumerator.c M test/ruby/test_lazy_enumerator.rb commit 029169bc5b45d8ec783c19eaf713395b7983d16a Author: Hiroshi SHIBATA Date: Thu May 27 17:15:58 2021 +0900 Fixed target directory when copying from upstream M tool/sync_default_gems.rb commit c1c60a4498d86f2cf0f00615893f75a112d19040 Author: Hiroshi SHIBATA Date: Thu May 27 17:14:31 2021 +0900 Removed dbm from sync_default_gems M tool/sync_default_gems.rb commit d2664b908af427096712ed03574ba7cdd4d5dfe9 Author: Hiroshi SHIBATA Date: Thu May 27 07:56:01 2021 +0900 Update rbs-1.2.1 M gems/bundled_gems commit 835a4956081e43ae21a78667f2b87f275467b70e Author: Hiroshi SHIBATA Date: Wed May 26 20:36:23 2021 +0900 Guard ruby/spec with spec/mspec/tool/wrap_with_guard.rb M spec/ruby/library/matrix/I_spec.rb M spec/ruby/library/matrix/antisymmetric_spec.rb M spec/ruby/library/matrix/build_spec.rb M spec/ruby/library/matrix/clone_spec.rb M spec/ruby/library/matrix/coerce_spec.rb M spec/ruby/library/matrix/collect_spec.rb M spec/ruby/library/matrix/column_size_spec.rb M spec/ruby/library/matrix/column_spec.rb M spec/ruby/library/matrix/column_vector_spec.rb M spec/ruby/library/matrix/column_vectors_spec.rb M spec/ruby/library/matrix/columns_spec.rb M spec/ruby/library/matrix/conj_spec.rb M spec/ruby/library/matrix/conjugate_spec.rb M spec/ruby/library/matrix/constructor_spec.rb M spec/ruby/library/matrix/det_spec.rb M spec/ruby/library/matrix/determinant_spec.rb M spec/ruby/library/matrix/diagonal_spec.rb M spec/ruby/library/matrix/divide_spec.rb M spec/ruby/library/matrix/each_spec.rb M spec/ruby/library/matrix/each_with_index_spec.rb M spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalue_matrix_spec.rb M spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalues_spec.rb M spec/ruby/library/matrix/eigenvalue_decomposition/eigenvector_matrix_spec.rb M spec/ruby/library/matrix/eigenvalue_decomposition/eigenvectors_spec.rb M spec/ruby/library/matrix/eigenvalue_decomposition/initialize_spec.rb M spec/ruby/library/matrix/eigenvalue_decomposition/to_a_spec.rb M spec/ruby/library/matrix/element_reference_spec.rb M spec/ruby/library/matrix/empty_spec.rb M spec/ruby/library/matrix/eql_spec.rb M spec/ruby/library/matrix/equal_value_spec.rb M spec/ruby/library/matrix/exponent_spec.rb M spec/ruby/library/matrix/find_index_spec.rb M spec/ruby/library/matrix/hash_spec.rb M spec/ruby/library/matrix/hermitian_spec.rb M spec/ruby/library/matrix/identity_spec.rb M spec/ruby/library/matrix/imag_spec.rb M spec/ruby/library/matrix/imaginary_spec.rb M spec/ruby/library/matrix/inspect_spec.rb M spec/ruby/library/matrix/inv_spec.rb M spec/ruby/library/matrix/inverse_from_spec.rb M spec/ruby/library/matrix/inverse_spec.rb M spec/ruby/library/matrix/lower_triangular_spec.rb M spec/ruby/library/matrix/lup_decomposition/determinant_spec.rb M spec/ruby/library/matrix/lup_decomposition/initialize_spec.rb M spec/ruby/library/matrix/lup_decomposition/l_spec.rb M spec/ruby/library/matrix/lup_decomposition/p_spec.rb M spec/ruby/library/matrix/lup_decomposition/solve_spec.rb M spec/ruby/library/matrix/lup_decomposition/to_a_spec.rb M spec/ruby/library/matrix/lup_decomposition/u_spec.rb M spec/ruby/library/matrix/map_spec.rb M spec/ruby/library/matrix/minor_spec.rb M spec/ruby/library/matrix/minus_spec.rb M spec/ruby/library/matrix/multiply_spec.rb M spec/ruby/library/matrix/new_spec.rb M spec/ruby/library/matrix/normal_spec.rb M spec/ruby/library/matrix/orthogonal_spec.rb M spec/ruby/library/matrix/permutation_spec.rb M spec/ruby/library/matrix/plus_spec.rb M spec/ruby/library/matrix/rank_spec.rb M spec/ruby/library/matrix/real_spec.rb M spec/ruby/library/matrix/rect_spec.rb M spec/ruby/library/matrix/rectangular_spec.rb M spec/ruby/library/matrix/regular_spec.rb M spec/ruby/library/matrix/round_spec.rb M spec/ruby/library/matrix/row_size_spec.rb M spec/ruby/library/matrix/row_spec.rb M spec/ruby/library/matrix/row_vector_spec.rb M spec/ruby/library/matrix/row_vectors_spec.rb M spec/ruby/library/matrix/rows_spec.rb M spec/ruby/library/matrix/scalar/Fail_spec.rb M spec/ruby/library/matrix/scalar/Raise_spec.rb M spec/ruby/library/matrix/scalar/divide_spec.rb M spec/ruby/library/matrix/scalar/exponent_spec.rb M spec/ruby/library/matrix/scalar/included_spec.rb M spec/ruby/library/matrix/scalar/initialize_spec.rb M spec/ruby/library/matrix/scalar/minus_spec.rb M spec/ruby/library/matrix/scalar/multiply_spec.rb M spec/ruby/library/matrix/scalar/plus_spec.rb M spec/ruby/library/matrix/scalar_spec.rb M spec/ruby/library/matrix/singular_spec.rb M spec/ruby/library/matrix/square_spec.rb M spec/ruby/library/matrix/symmetric_spec.rb M spec/ruby/library/matrix/t_spec.rb M spec/ruby/library/matrix/to_a_spec.rb M spec/ruby/library/matrix/to_s_spec.rb M spec/ruby/library/matrix/tr_spec.rb M spec/ruby/library/matrix/trace_spec.rb M spec/ruby/library/matrix/transpose_spec.rb M spec/ruby/library/matrix/unit_spec.rb M spec/ruby/library/matrix/unitary_spec.rb M spec/ruby/library/matrix/upper_triangular_spec.rb M spec/ruby/library/matrix/vector/cross_product_spec.rb M spec/ruby/library/matrix/vector/each2_spec.rb M spec/ruby/library/matrix/vector/eql_spec.rb M spec/ruby/library/matrix/vector/inner_product_spec.rb M spec/ruby/library/matrix/vector/normalize_spec.rb M spec/ruby/library/matrix/zero_spec.rb M spec/ruby/library/net/FTPError_spec.rb M spec/ruby/library/net/FTPPermError_spec.rb M spec/ruby/library/net/FTPProtoError_spec.rb M spec/ruby/library/net/FTPReplyError_spec.rb M spec/ruby/library/net/FTPTempError_spec.rb M spec/ruby/library/net/ftp/abort_spec.rb M spec/ruby/library/net/ftp/acct_spec.rb M spec/ruby/library/net/ftp/binary_spec.rb M spec/ruby/library/net/ftp/chdir_spec.rb M spec/ruby/library/net/ftp/close_spec.rb M spec/ruby/library/net/ftp/closed_spec.rb M spec/ruby/library/net/ftp/connect_spec.rb M spec/ruby/library/net/ftp/debug_mode_spec.rb M spec/ruby/library/net/ftp/default_passive_spec.rb M spec/ruby/library/net/ftp/delete_spec.rb M spec/ruby/library/net/ftp/dir_spec.rb M spec/ruby/library/net/ftp/get_spec.rb M spec/ruby/library/net/ftp/getbinaryfile_spec.rb M spec/ruby/library/net/ftp/getdir_spec.rb M spec/ruby/library/net/ftp/gettextfile_spec.rb M spec/ruby/library/net/ftp/help_spec.rb M spec/ruby/library/net/ftp/initialize_spec.rb M spec/ruby/library/net/ftp/last_response_code_spec.rb M spec/ruby/library/net/ftp/last_response_spec.rb M spec/ruby/library/net/ftp/lastresp_spec.rb M spec/ruby/library/net/ftp/list_spec.rb M spec/ruby/library/net/ftp/login_spec.rb M spec/ruby/library/net/ftp/ls_spec.rb M spec/ruby/library/net/ftp/mdtm_spec.rb M spec/ruby/library/net/ftp/mkdir_spec.rb M spec/ruby/library/net/ftp/mtime_spec.rb M spec/ruby/library/net/ftp/nlst_spec.rb M spec/ruby/library/net/ftp/noop_spec.rb M spec/ruby/library/net/ftp/open_spec.rb M spec/ruby/library/net/ftp/passive_spec.rb M spec/ruby/library/net/ftp/put_spec.rb M spec/ruby/library/net/ftp/putbinaryfile_spec.rb M spec/ruby/library/net/ftp/puttextfile_spec.rb M spec/ruby/library/net/ftp/pwd_spec.rb M spec/ruby/library/net/ftp/quit_spec.rb M spec/ruby/library/net/ftp/rename_spec.rb M spec/ruby/library/net/ftp/resume_spec.rb M spec/ruby/library/net/ftp/retrbinary_spec.rb M spec/ruby/library/net/ftp/retrlines_spec.rb M spec/ruby/library/net/ftp/return_code_spec.rb M spec/ruby/library/net/ftp/rmdir_spec.rb M spec/ruby/library/net/ftp/sendcmd_spec.rb M spec/ruby/library/net/ftp/set_socket_spec.rb M spec/ruby/library/net/ftp/site_spec.rb M spec/ruby/library/net/ftp/size_spec.rb M spec/ruby/library/net/ftp/status_spec.rb M spec/ruby/library/net/ftp/storbinary_spec.rb M spec/ruby/library/net/ftp/storlines_spec.rb M spec/ruby/library/net/ftp/system_spec.rb M spec/ruby/library/net/ftp/voidcmd_spec.rb M spec/ruby/library/net/ftp/welcome_spec.rb M spec/ruby/library/prime/each_spec.rb M spec/ruby/library/prime/instance_spec.rb M spec/ruby/library/prime/int_from_prime_division_spec.rb M spec/ruby/library/prime/integer/each_prime_spec.rb M spec/ruby/library/prime/integer/from_prime_division_spec.rb M spec/ruby/library/prime/integer/prime_division_spec.rb M spec/ruby/library/prime/integer/prime_spec.rb M spec/ruby/library/prime/next_spec.rb M spec/ruby/library/prime/prime_division_spec.rb M spec/ruby/library/prime/prime_spec.rb M spec/ruby/library/prime/succ_spec.rb commit 350bc29107e96871030ccffaf334c3e0a9d80f5f Author: Hiroshi SHIBATA Date: Wed May 26 20:18:46 2021 +0900 Guard for the ftp protocol feature of OpenURI M lib/open-uri.rb M test/open-uri/test_open-uri.rb commit b8dcad8d32a5405cbbf29f6705c8975f1773170a Author: Hiroshi SHIBATA Date: Wed May 26 19:51:33 2021 +0900 Defer to require prime for OpenSSL::TestBN M test/openssl/test_bn.rb commit 9f192d42a69b06d05a575d2df99ba605301e8cf8 Author: Hiroshi SHIBATA Date: Wed May 26 18:51:52 2021 +0900 Use https://github.com/ruby/rbs/pull/679 for rbs tests on test-bundled-gems M gems/bundled_gems commit be2e2b480540bcc38aaf75f1767dfff1b8199097 Author: Hiroshi SHIBATA Date: Wed May 26 15:58:26 2021 +0900 Promote net-smtp to the bundled gems M doc/maintainers.rdoc M doc/standard_library.rdoc M gems/bundled_gems D lib/net/net-smtp.gemspec D lib/net/smtp.rb M misc/expand_tabs.rb D test/net/smtp/test_response.rb D test/net/smtp/test_smtp.rb D test/net/smtp/test_ssl_socket.rb D test/net/smtp/test_sslcontext.rb D test/net/smtp/test_starttls.rb M tool/sync_default_gems.rb commit aa9726f7b99a7ace3d371b278288235c57f8e91a Author: Hiroshi SHIBATA Date: Wed May 26 15:52:29 2021 +0900 Promote net-pop to the bundled gems M doc/maintainers.rdoc M doc/standard_library.rdoc M gems/bundled_gems D lib/net/net-pop.gemspec D lib/net/pop.rb M misc/expand_tabs.rb D test/net/pop/test_pop.rb M tool/sync_default_gems.rb commit d5bc6b23370908f19d1a4a19ead56e61444f0974 Author: Hiroshi SHIBATA Date: Wed May 26 15:48:36 2021 +0900 Promote net-imap to the bundled gems M doc/maintainers.rdoc M doc/standard_library.rdoc M gems/bundled_gems D lib/net/imap.rb D lib/net/imap/authenticators.rb D lib/net/imap/authenticators/cram_md5.rb D lib/net/imap/authenticators/digest_md5.rb D lib/net/imap/authenticators/login.rb D lib/net/imap/authenticators/plain.rb D lib/net/imap/command_data.rb D lib/net/imap/data_encoding.rb D lib/net/imap/flags.rb D lib/net/imap/net-imap.gemspec D lib/net/imap/response_data.rb D lib/net/imap/response_parser.rb M misc/expand_tabs.rb D test/net/imap/test_imap.rb D test/net/imap/test_imap_authenticators.rb D test/net/imap/test_imap_data_encoding.rb D test/net/imap/test_imap_response_parser.rb M tool/sync_default_gems.rb commit e49c998d1e41737016c8afb7e1b22797018caebb Author: Hiroshi SHIBATA Date: Wed May 26 15:44:27 2021 +0900 Promote net-ftp to the bundled gems M doc/maintainers.rdoc M doc/standard_library.rdoc M gems/bundled_gems D lib/net/ftp.rb D lib/net/net-ftp.gemspec M misc/expand_tabs.rb D test/net/ftp/test_buffered_socket.rb D test/net/ftp/test_ftp.rb D test/net/ftp/test_mlsx_entry.rb M tool/sync_default_gems.rb commit 454a36794f83395d0827a9e2e85ac8f0d9e53e16 Author: Hiroshi SHIBATA Date: Wed May 26 15:36:16 2021 +0900 Promote matrix to the bundled gems M doc/maintainers.rdoc M doc/standard_library.rdoc M gems/bundled_gems D lib/matrix.rb D lib/matrix/eigenvalue_decomposition.rb D lib/matrix/lup_decomposition.rb D lib/matrix/matrix.gemspec D lib/matrix/version.rb M misc/expand_tabs.rb D test/matrix/test_matrix.rb D test/matrix/test_vector.rb M tool/sync_default_gems.rb commit c9178c11271ccd3410c53687dd9cb2508e180a98 Author: Hiroshi SHIBATA Date: Wed May 26 15:33:42 2021 +0900 Promote prime to the bundled gems M doc/maintainers.rdoc M doc/standard_library.rdoc M gems/bundled_gems D lib/prime.gemspec D lib/prime.rb D test/test_prime.rb M tool/sync_default_gems.rb commit eae7fd0ea3081378ee20ad76eee08e9301fbd638 Author: git Date: Thu May 27 06:22:10 2021 +0900 * 2021-05-27 [ci skip] M version.h commit 8fdb15fdd3ed2636d28d60153a7520256d72594e Author: Aaron Patterson Date: Mon May 24 14:23:45 2021 -0700 Fill out switch statement in push_mark_stack When objects are popped from the mark stack, we check that the object is the right type (otherwise an rb_bug happens). The problem is that when we pop a bad object from the stack, we have no idea what pushed the bad object on the stack. This change makes an error happen when a bad object is pushed on the mark stack, that way we can track down the source of the bug. M gc.c commit af43198738bf45d55d91d7f48b197f94dc526967 Author: Jun Aruga Date: Wed May 26 09:51:18 2021 +0200 .travis.yml: Remove skipped tests on ppc64le. It was fixed at fc832ffbfaf581ff63ef40dc3f4ec5c8ff39aae6 . M .travis.yml commit 055ec5254dc79cfa5d9500b8c301751fe594e481 Author: Yusuke Endoh Date: Wed May 26 18:02:06 2021 +0900 Rescue NotImplementedError for a test of Thread#native_thread_id http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20210526T070003Z.fail.html.gz ``` 1) Error: TestThread#test_thread_native_thread_id: NotImplementedError: native_thread_id() function is unimplemented on this machine /export/home/users/chkbuild/cb-gcc/tmp/build/20210526T070003Z/ruby/test/ruby/test_thread.rb:1338:in `native_thread_id' /export/home/users/chkbuild/cb-gcc/tmp/build/20210526T070003Z/ruby/test/ruby/test_thread.rb:1338:in `test_thread_native_thread_id' ``` M test/ruby/test_thread.rb commit 251fafec1b981076d6ba589ace2a4aa9502cbad2 Author: Nobuyoshi Nakada Date: Wed May 26 15:33:25 2021 +0900 Suppress debug message M test/psych/test_numeric.rb commit 9ddc767434c5bc105ee2239876f77227a53f03d2 Author: NARUSE, Yui Date: Wed May 26 15:18:16 2021 +0900 Add NEWS about 46655156dcc37509dcb69fcd0717c110eb1c624a * Add Thread#native_thread_id [Feature #17853] M NEWS.md commit 46655156dcc37509dcb69fcd0717c110eb1c624a Author: NARUSE, Yui Date: Sat May 22 21:36:27 2021 +0900 Add Thread#native_thread_id [Feature #17853] M test/ruby/test_thread.rb M thread.c M thread_pthread.c M thread_win32.c M vm_core.h commit 88e3848fca69915a24657bcc26da1a65b659c6f3 Author: Hiroshi SHIBATA Date: Wed May 26 11:39:01 2021 +0900 RSS library is the bundled gems now M test/ruby/test_require_lib.rb commit e54bef92d599049a0950e76024a15fd14561e8bd Author: Hiroshi SHIBATA Date: Wed May 26 10:04:24 2021 +0900 Ignore lib/irb/ext/tracer.rb with TestRequireLib because tracer library was removed from ruby repo M test/ruby/test_require_lib.rb commit 59928a75bde5833c2ffeca2977f6e0f47043ce13 Author: git Date: Wed May 26 09:37:39 2021 +0900 * 2021-05-26 [ci skip] M version.h commit fc832ffbfaf581ff63ef40dc3f4ec5c8ff39aae6 Author: Aaron Patterson Date: Tue May 25 16:20:52 2021 -0700 Disable compaction on platforms that can't support it Manual compaction also requires a read barrier, so we need to disable even manual compaction on platforms that don't support mprotect. [Bug #17871] M gc.c M test/ruby/test_gc_compact.rb commit 2a29a5311ce34bcbd0186455df2d5b724dcc501c Author: Jun Aruga Date: Tue May 25 14:42:25 2021 +0200 Add Travis badge image to `README.md`. [ci skip] (#4527) Align the order of the badges with ones on the wiki page. https://bugs.ruby-lang.org/projects/ruby/wiki/CIServers M README.md commit 43fb97dfba5fb422ee20a78eaa49c61c22d43077 Author: Hiroshi SHIBATA Date: Tue May 25 20:19:11 2021 +0900 Update the latest list of default gems for misc/expand_tabs.rb M misc/expand_tabs.rb commit edcc29dcff1b269b7748ab83adf21b2f3f97ebff Author: Hiroshi SHIBATA Date: Tue May 25 15:20:06 2021 +0900 Removed gdbm from ruby repo M doc/maintainers.rdoc M doc/standard_library.rdoc D ext/gdbm/README D ext/gdbm/depend D ext/gdbm/extconf.rb D ext/gdbm/gdbm.c D ext/gdbm/gdbm.gemspec D test/gdbm/test_gdbm.rb M tool/sync_default_gems.rb commit 9e56a22be6706c8698268d5ebe4f59960d3485b1 Author: Jun Aruga Date: Tue May 25 10:28:18 2021 +0200 bootstraptest/test_ractor.rb: Skip an assertion on Travis arm64. Skip the assertion to test the `Ractor.select` from multiple ractors that rarely fails on Travis arm64. See . M bootstraptest/test_ractor.rb commit 9d4266fd5555c9c4388e2e8592008d0e0d8ccf21 Author: Jun Aruga Date: Tue May 25 10:24:45 2021 +0200 .travis.yml: Update to use arm64/ppc64le/s390x. * Use only the free pipelines arm64/ppc64le/s390x without credits on Travis. See . * Add ppc64le case. * Update the gcc to gcc-11. * Remove unused logic. * Add the `tool/travis_wait.sh` to avoid a command timeout. * Run the tests skipping some failing tests. * Set `TEST_ALL_SKIPPED_TESTS` env to skip the tests. * Run the tests separately returning ok status. The tests are executed if `TEST_ALL_SKIPPED_TESTS` env is set or `TEST_ALL_SEPARATED_TESTS` env is set. * Add `tool/ci_functions.sh` to manage the functions used in CI. * Add arm64 to allow_failures due to the following issue. An arm64 job sometimes does not start right now. https://travis-ci.community/t/11629 M .travis.yml A tool/ci_functions.sh A tool/travis_wait.sh commit 83efb2e47cd5648dfff3d416820003b44f77bb44 Author: 卜部昌平 Date: Mon Jun 1 10:44:08 2020 +0900 .travis.yml: Ubuntu 20.04 Focal Fossa This is a LTS. Must be better than Xenial. M .travis.yml commit 4f735903c2288f985ebf64e62817fb3cc47549d5 Author: Jun Aruga Date: Wed May 5 18:10:41 2021 +0200 Revert "Remove .travis.yml" to revive Travis. This reverts commit 6b978d542704a5614af5e9375c4b31b8d2618652. A .travis.yml commit 55cd3e4ebff8fa75854ecadcd77abbf7cf4b5823 Author: Hiroshi SHIBATA Date: Mon May 24 18:52:18 2021 +0900 Removed dbm from ruby repo M doc/maintainers.rdoc M doc/standard_library.rdoc D ext/dbm/dbm.c D ext/dbm/dbm.gemspec D ext/dbm/depend D ext/dbm/extconf.rb D test/dbm/test_dbm.rb M tool/sync_default_gems.rb commit ab3266ea5c2c45b6e0ce9ba377a035710cb4fd1b Author: Hiroshi SHIBATA Date: Mon May 24 18:20:07 2021 +0900 Removed tracer from ruby repo M doc/maintainers.rdoc M doc/standard_library.rdoc D lib/tracer.rb D lib/tracer/tracer.gemspec D test/test_tracer.rb M tool/sync_default_gems.rb commit 274d0aa76886c0f08f17363ce6dc8639b4336727 Author: git Date: Tue May 25 08:03:04 2021 +0900 * 2021-05-25 [ci skip] M version.h commit 45ddefb14a0b88a70d91e29236bc7d6827e15a54 Author: Aaron Patterson Date: Mon May 24 16:02:17 2021 -0700 add rb_id2str to lldb debugging scripts M misc/lldb_cruby.py commit 4aaa98e62663f1e6e999c8741fe5bd518d178e0c Author: Hiroshi SHIBATA Date: Mon May 24 18:35:14 2021 +0900 xibbar is retired from cgi.rb maintainer M doc/maintainers.rdoc commit f57968e329ce039395a6b7dc1886eb097c99b867 Author: aycabta Date: Mon May 24 12:13:46 2021 +0900 Set USE_COLORIZE to the default value in a test M test/irb/test_init.rb commit d06d4560a1196c72831fe59faa698d6672883448 Author: jethrodaniel Date: Tue Aug 11 21:32:44 2020 -0500 [ruby/irb] update test/irb/test_init.rb to avoid useless eval Co-authored-by: Nobuyoshi Nakada https://github.com/ruby/irb/commit/2dfdc031ec M test/irb/test_init.rb commit b8ffb1c46f03dacfdb6b4417274ca66cc9142e5b Author: Mark Delk Date: Sun May 17 20:12:02 2020 -0500 [ruby/irb] respect NO_COLOR environment variable When `NO_COLOR` is set to any non-nil value, output is not colorized. See https://no-color.org/ https://github.com/ruby/irb/commit/401d0916fe M lib/irb/init.rb M test/irb/test_init.rb commit e16a642900b17c18e014360370b4a5eb0897605d Author: git Date: Mon May 24 09:41:24 2021 +0900 * 2021-05-24 [ci skip] M version.h commit ce36097748630ffd64927b80703a669e85e017ae Author: S.H Date: Mon May 24 09:41:03 2021 +0900 Refactor num_zero_p function (#4522) M numeric.c commit c264d30261cb7d79caddd982300a7ae002293967 Author: aycabta Date: Fri May 21 21:45:03 2021 +0900 Use YAML.safe_load to use the permitted_classes option M lib/rdoc/rdoc.rb M test/rdoc/test_rdoc_options.rb commit fb4195b9695c5e1034c896ea41a3e0371bfdb48a Author: Takashi Kokubun Date: Fri May 21 23:36:55 2021 -0700 Show a backtrace when tool/extlibs.rb fails I'd like to retry this kind of error, but showing no backtrace is hard to deal with. https://github.com/ruby/ruby/runs/2644908002 M tool/extlibs.rb commit 141861a2223560601151db1a351308e489bed9e6 Author: Takashi Kokubun Date: Fri May 21 23:19:46 2021 -0700 Update a comment about what 'inline' attr means M vm_core.h commit c4162a4cb82278b0674452304c96b5775d5b7d6d Author: Nobuyoshi Nakada Date: Sat May 22 14:32:22 2021 +0900 Refined portability of test for [Bug #17739] The order of arguments to callback of qsort is not defined. That means `a` may not be 3 at all. M test/ruby/test_array.rb commit 8b00bfb7c2c33827490c78a16c44b102cb0d724b Author: Jeremy Evans Date: Fri May 21 18:33:56 2021 -0700 Do not allow array modifications after freeze inside sort! If freezing an array inside sort!, previously the array could be modified after the freeze. This checks whether the receiver is frozen after every yield and potential call to #> or #<, preventing modifications if the receiver is frozen inside the block or by the #> or #< call. Fixes [Bug #17739] M array.c M test/ruby/test_array.rb commit b2fc592c3046e60fdfbb5692d52cc7cbf814b6d0 Author: Alan Wu Date: Fri May 21 12:13:55 2021 -0400 Build CDHASH properly when loading iseq from binary Before this change, CDHASH operands were built as plain hashes when loaded from binary. Without setting up the hash with the correct st_table type, the hash can sometimes be an ar_table. When the hash is an ar_table, lookups can call the `eql?` method on keys of the hash, which makes the `opt_case_dispatch` instruction not "leaf" as it implicitly declares. The following script trips the stack canary for checking the leaf attribute for `opt_case_dispatch` on VM_CHECK_MODE > 0 (enabled by default with RUBY_DEBUG). rb_vm_iseq = RubyVM::InstructionSequence iseq = rb_vm_iseq.compile(<<-EOF) case Class.new(String).new("foo") when "foo" 42 end EOF puts rb_vm_iseq.load_from_binary(iseq.to_binary).eval This commit changes the binary loading logic to build CDHASH with the right st_table type. The dumping logic and the dump format stays the same M compile.c M test/ruby/test_iseq.rb commit 0772f1b583cedebddb493a8eb542243f6d2437d8 Author: git Date: Sat May 22 01:12:48 2021 +0900 * 2021-05-22 [ci skip] M version.h commit 636d4f7eb9f3fcb088e1a44af4181c4aa36789b4 Author: Alan Wu Date: Thu May 20 18:52:32 2021 -0400 Avoid setting the visibility of refinement method entries Since refinement search is always performed, these entries should always be public. The method entry that the refinement search returns decides the visibility. Fixes [Bug #17822] M test/ruby/test_refinement.rb M vm_method.c commit 50a534a1526e2b9f4ea41e44b802bd73f9cebbeb Author: Nobuyoshi Nakada Date: Fri May 21 15:35:30 2021 +0900 ripper: wrap endless method in bodystmt [Bug #17869] M parse.y M test/ripper/test_parser_events.rb commit 050bb06e66d8c08c43bf0cc74271f35c3edce25d Author: Nobuyoshi Nakada Date: Fri May 21 15:34:23 2021 +0900 ripper: assertions for rescue/ensure in method body M test/ripper/test_parser_events.rb commit e9974a466ac7edcb8035f5f7bc65c4c6731e2ee2 Author: Nobuyoshi Nakada Date: Thu May 20 20:15:43 2021 +0900 Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661] M test/socket/test_addrinfo.rb M test/socket/test_socket.rb commit 817764bd82513e2a0a672f5958f65854ea172c08 Author: Koichi Sasada Date: Tue May 18 17:11:39 2021 +0900 simple rescue+while+break should not use `throw` 609de71f043e8ba34f22b9993e444e2e5bb05709 fixes the issue by using `throw` insn if `ensure` is used. However, that patch introduce additional `throw` even if it is not needed. This patch solves the issue. This issue is pointed by @mame. M compile.c M test/ruby/test_exception.rb commit 59b327aa58d3f514030b0afb767f11ab6ca0a76d Author: Nobuyoshi Nakada Date: Mon May 17 19:33:12 2021 +0900 [ruby/rdoc] Drop support for Ruby 2.4 https://github.com/ruby/rdoc/commit/f480b970cc M lib/rdoc/rdoc.gemspec M test/rdoc/test_rdoc_rdoc.rb commit f18a0b7654d471101b207e7fe553e12a25398e45 Author: Nobuyoshi Nakada Date: Sat May 15 01:08:33 2021 +0900 [ruby/rdoc] Follow-up rubygems Use test-unit assertions instead of minitest. https://github.com/ruby/rdoc/commit/d6a6209d7f M test/rdoc/test_rdoc_rubygems_hook.rb commit 10e63f3f56cc0f559816d921f3e771dea02f3eb9 Author: Nobuyoshi Nakada Date: Sat May 15 01:26:51 2021 +0900 [ruby/rdoc] Vertical-bar is disallowed in path names on Windows No risk of remote code execution, when the file cannot be created. https://github.com/ruby/rdoc/runs/2565343916?check_suite_focus=true#step:5:58 ``` Error: test_remove_unparseable_CVE_2021_31799(TestRDocRDoc): Errno::EINVAL: Invalid argument @ utime_failed - | touch evil.txt && echo tags D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1142:in `utime' D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1142:in `block in touch' D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1139:in `each' D:/rubyinstaller-head-x64/lib/ruby/3.1.0/fileutils.rb:1139:in `touch' D:/a/rdoc/rdoc/test/rdoc/test_rdoc_rdoc.rb:463:in `block (2 levels) in test_remove_unparseable_CVE_2021_31799' 460: temp_dir do 461: file_list = ['| touch evil.txt && echo tags'] 462: file_list.each do |f| => 463: FileUtils.touch f 464: end 465: 466: assert_equal file_list, @rdoc.remove_unparseable(file_list) ``` https://github.com/ruby/rdoc/commit/a7df7dc8fa M test/rdoc/test_rdoc_rdoc.rb commit a298bdf8606bda9c9868c44618c5b70a96c2712c Author: Nobuyoshi Nakada Date: Sat May 15 01:24:15 2021 +0900 [ruby/rdoc] Dir.children is 2.5+ RDoc seems still supporting outdated 2.4. https://github.com/ruby/rdoc/runs/2565344070?check_suite_focus=true#step:5:64 ``` Error: test_remove_unparseable_CVE_2021_31799(TestRDocRDoc): NoMethodError: undefined method `children' for Dir:Class /home/runner/work/rdoc/rdoc/test/rdoc/test_rdoc_rdoc.rb:467:in `block in test_remove_unparseable_CVE_2021_31799' 464: end 465: 466: assert_equal file_list, @rdoc.remove_unparseable(file_list) => 467: assert_equal file_list, Dir.children('.') 468: end 469: end 470: ``` https://github.com/ruby/rdoc/commit/5a4a64dc0f M test/rdoc/test_rdoc_rdoc.rb commit 21d24767e83e6a75847c0c728d99f6103757e868 Author: Yusuke Endoh Date: Tue May 11 07:48:51 2021 +0900 [ruby/rdoc] Update rdoc.gemspec by adding lib/rdoc/markup/table.rb Fixes ruby/rdoc#808 https://github.com/ruby/rdoc/commit/80766fd389 M lib/rdoc/rdoc.gemspec commit 0ee24b4fab1a1faef600a42c29863e1c3edd8c61 Author: aycabta Date: Sun May 2 20:52:41 2021 +0900 [ruby/rdoc] Version 6.3.1 https://github.com/ruby/rdoc/commit/9307f932b7 M lib/rdoc/version.rb commit b1c73f239fe9af97de837331849f55d67c27561e Author: aycabta Date: Sun May 2 20:52:23 2021 +0900 [ruby/rdoc] Use File.open to fix the OS Command Injection vulnerability in CVE-2021-31799 https://github.com/ruby/rdoc/commit/a7f5d6ab88 M lib/rdoc/rdoc.rb M test/rdoc/test_rdoc_rdoc.rb commit 9edad0df74c6ad39281852cca9793fc7dba5c81f Author: Nobuyoshi Nakada Date: Fri May 21 10:34:28 2021 +0900 Remove short options with argument [Bug #17870] Remove GNU make `-O` and `-W` options which are short but followed by an argument, so that `$mflags.set?(?n)` does not return `true` wrongly. M defs/gmake.mk M tool/rbinstall.rb commit a35d137a37a0c12cb5694e419284b9e0ab718467 Author: Nobuyoshi Nakada Date: Thu May 20 22:57:33 2021 +0900 [DOC] Moved `File.fnmatch?` to dir.rb So that no longer disturbed by C comment delimiters. M dir.c M dir.rb commit a7fae2af72f5e542a40551aee7583cca79467a47 Author: git Date: Fri May 21 04:25:55 2021 +0900 * 2021-05-21 [ci skip] M version.h commit 2e919e4a643814735c68cf6724972cf7aa0cd91e Author: Jeremy Evans Date: Thu May 20 12:24:41 2021 -0700 Remove extra word in heredoc documentation From Thibault Jouan Fixes [Misc #17872] M doc/syntax/literals.rdoc commit c71109355987f290257e977c1634db6328916786 Author: Nobuyoshi Nakada Date: Thu May 20 20:15:43 2021 +0900 Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661] M test/socket/test_socket.rb commit dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 Author: Takashi Kokubun Date: Thu May 20 03:33:28 2021 -0700 Do not block JIT with pending_stale_p Because we want to flush pending stale units before unloading units, the pending_stale_p check is implemented in this waiting loop. However, once all methods are called more than --jit-min-calls, mjit_worker_wakeup will not be signaled again. As a result, when mjit_recompile is called after that and pending_stale_p becomes true, MJIT stops processing methods in the unit queue even if the queue is very long and MJIT does nothing, waiting for the signal. There should be a better way to handle this, but as a fix to be backported to Ruby 3.0, let me make an obvious simple commit here. M mjit_worker.c commit 5026f9a5d5012248729a0052cd6cec811748291b Author: Yusuke Endoh Date: Thu May 20 19:13:39 2021 +0900 compile.c: stop the jump-jump optimization if the second has any event Fixes [Bug #17868] M compile.c M test/ruby/test_settracefunc.rb commit 821e3c128f8e9efce9dbd2b1b96abc22d0312a60 Author: git Date: Thu May 20 14:35:14 2021 +0900 * 2021-05-20 [ci skip] M version.h commit 63663bb459b8592fa6c8f78a77fa15e9d8e1fcbc Author: Nobuyoshi Nakada Date: Thu May 20 14:31:49 2021 +0900 Rename nucomp_false s nucomp_real_p_m M complex.c commit adcbae8d49ec04d365ce13274783b1495c3c7d0e Author: Hiroshi SHIBATA Date: Wed May 19 14:24:01 2021 +0900 Removed minitest/mock M test/resolv/test_dns.rb D tool/lib/minitest/mock.rb D tool/test/minitest/test_minitest_mock.rb commit 1d170fdc6d0af128c9e5ea2d6082790d5885a4ae Author: Nobuyoshi Nakada Date: Wed May 19 10:16:22 2021 +0900 ext/json/parser/parser.h: Add fallback MAYBE_UNUSED https://github.com/flori/json/commit/e2ad91fc2094d3cc2f76adc6c55d420cd06f34d8 M ext/json/parser/parser.h commit 637683c9f4113fff73f3c438b33dd91b25001666 Author: git Date: Wed May 19 06:53:29 2021 +0900 * 2021-05-19 [ci skip] M version.h commit e4e416380d4b1b36ca1cc2e1e1ed993c9be694bb Author: Aaron Patterson Date: Mon May 17 16:46:49 2021 -0700 Revert any references that are on the machine stack after compacting Since compaction can be concurrent, the machine stack is allowed to change while compaction is happening. When compaction finishes, there may be references on the machine stack that need to be reverted so that we can remove the read barrier. M gc.c commit 7c716b686ca396733028f9a824f8cd656e23f7a2 Author: Nobuyoshi Nakada Date: Tue May 18 11:48:21 2021 +0900 ext/json/parser/prereq.mk: fix warnings for code generated by ragel * type-limits when plain-char is unsigned * unused-const-variable for NFA constants M ext/json/parser/parser.c M ext/json/parser/prereq.mk commit 6b32f1f3389fa38c0f26380e066a617c8049abb4 Author: Burdette Lamar Date: Tue May 18 08:16:29 2021 -0500 Object whats here (#4503) What's Here section for class Object. M object.c commit 6d6391bf679fef29b38d7257a9060d4fd8d0dd2b Author: Yusuke Endoh Date: Tue May 18 19:21:41 2021 +0900 Update bundled_gems M gems/bundled_gems commit ceea1ea8af2376845f5f6164e9432e5b9845c033 Author: Yusuke Endoh Date: Tue May 18 19:06:48 2021 +0900 test/rubygems/test_gem_commands_open_command.rb: prevent a warning http://rubyci.s3.amazonaws.com/debian9/ruby-master/log/20210518T093002Z.log.html.gz ``` [ 9396/21186] TestGemCommandsOpenCommand#test_execute-e:1: warning: possibly useless use of a literal in void context = 0.06 s ``` M test/rubygems/test_gem_commands_open_command.rb commit 837cbea64b74d464bfbfb10e6c81a8f92c6eee71 Author: Yusuke Endoh Date: Tue May 18 19:01:27 2021 +0900 test/psych/test_coder.rb: Suppress non-parenthesis warnings http://rubyci.s3.amazonaws.com/debian9/ruby-master/log/20210518T093002Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20210518T093002Z/ruby/test/psych/test_coder.rb:277: warning: ambiguity between regexp and two divisions: wrap regexp in parentheses or add a space after `/' operator ``` M test/psych/test_coder.rb commit 6674dd61fde8ff233853846c3bdf368549b146d2 Author: Kazuhiro NISHIYAMA Date: Tue May 18 18:51:15 2021 +0900 Remove ubuntu-16.04 (already commented out) https://github.blog/changelog/2021-04-29-github-actions-ubuntu-16-04-lts-virtual-environment-will-be-removed-on-september-20-2021 M .github/workflows/ubuntu.yml commit 9bd79c2cefb349a00958e35801acb724f0dcae15 Author: Hiroshi SHIBATA Date: Tue May 18 17:31:34 2021 +0900 Removed minitest/benchmark D tool/lib/minitest/benchmark.rb D tool/test/minitest/test_minitest_benchmark.rb commit 5a0b89de32eba93f254df2ebabe3f02a76ccba0a Author: Hiroshi SHIBATA Date: Tue May 18 17:08:26 2021 +0900 Removed minitest/autorun D tool/lib/minitest/autorun.rb M tool/test/minitest/metametameta.rb M tool/test/minitest/test_minitest_benchmark.rb M tool/test/minitest/test_minitest_mock.rb commit 8ab2afb20b000396ef82fb428b9bfdfa0e13d816 Author: Hiroshi SHIBATA Date: Tue May 18 16:48:16 2021 +0900 Use Test::Unit instead of Minitest::Unit M tool/test/webrick/test_httpresponse.rb commit 0d343bf823ae0f9e2281329cc1ac7f3db454fc20 Author: Yusuke Endoh Date: Tue May 18 17:00:15 2021 +0900 Update bundled_gems M gems/bundled_gems commit 34bc8210ed1624dc6ba24afef4616baa5a934df9 Author: Nobuyoshi Nakada Date: Tue May 18 16:02:56 2021 +0900 test/irb/test_raise_no_backtrace_exception.rb: fix test file path Create a file for test under the temporary directory. M test/irb/test_raise_no_backtrace_exception.rb commit 79717f81f8ba24960cca6c934d00c72db64139ed Author: Sutou Kouhei Date: Mon Apr 19 16:45:11 2021 +0900 [ruby/fiddle] windows: link to ws2_32 for WSAGetLastError() https://github.com/ruby/fiddle/commit/e9955d74ae M ext/fiddle/extconf.rb commit 71d4a493b890a21fdf3b302849d6d60c11ba1d9e Author: Sutou Kouhei Date: Mon Apr 19 16:37:17 2021 +0900 [ruby/fiddle] windows: add Fiddle.win32_last_socket_error{,=} GitHub: fix GH-72 Users can't use WSAGetLastError() with Ruby 3.0 or later because rb_funcall() resets the last socket error internally. Users can get the last socket error by Fiddle.win32_last_socket_error. Reported by Kentaro Hayashi. Thanks!!! https://github.com/ruby/fiddle/commit/76158db00a M ext/fiddle/function.c M ext/fiddle/lib/fiddle.rb commit 2579593a56fd96d9085daa7f11dfc2dd231cb70f Author: Jeremy Evans Date: Wed Mar 10 13:48:00 2021 -0800 [ruby/fiddle] Do not use a libdir for glibc, it breaks Linux PPC64 (#70) Fixes [Bug #12666] https://github.com/ruby/fiddle/commit/a267a40be7 M test/fiddle/helper.rb commit ab5212b3c9e696b13a5959e22df75db7b54fed93 Author: Sutou Kouhei Date: Wed Feb 17 16:54:35 2021 +0900 [ruby/fiddle] Add support for "const" in type GitHub: fix #68 Reported by kojix2. Thanks!!! https://github.com/ruby/fiddle/commit/d7322c234a M ext/fiddle/lib/fiddle/cparser.rb M test/fiddle/test_cparser.rb commit 4d1bb460f64eafacc2ef8c4116a1bbe7e63e732f Author: Sutou Kouhei Date: Sun Jan 3 06:17:56 2021 +0900 [ruby/fiddle] Add --enable-debug-build option to extconf.rb https://github.com/ruby/fiddle/commit/e0498e60ea M ext/fiddle/extconf.rb commit 791e8eec66d3aebcee36c1369b0bf52bc3815e94 Author: Sutou Kouhei Date: Tue Dec 29 05:19:25 2020 +0900 [ruby/fiddle] win32types: sort https://github.com/ruby/fiddle/commit/35dec6c5a5 M ext/fiddle/lib/fiddle/types.rb commit 8758b07b1e4fd636dffb4b442388a3033c63d4b5 Author: Sutou Kouhei Date: Tue Dec 29 05:18:33 2020 +0900 [ruby/fiddle] Fix more Win32Types definitions https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types https://github.com/ruby/fiddle/commit/805c1a595a M ext/fiddle/lib/fiddle/types.rb commit 25e56fe374478a2266ac25f22a07bb3c6a423c83 Author: Orgad Shaneh Date: Mon Dec 28 22:04:46 2020 +0200 [ruby/fiddle] Fix Win32Types for Windows 64-bit (#63) https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types https://github.com/ruby/fiddle/commit/28ee5b1608 M ext/fiddle/lib/fiddle/types.rb commit 8d63b1dc75cd6f03f581e99d71fe3ccfb3d15613 Author: Sutou Kouhei Date: Fri Dec 25 06:05:29 2020 +0900 [ruby/fiddle] Bump version https://github.com/ruby/fiddle/commit/0cbd370fd6 M ext/fiddle/lib/fiddle/version.rb commit 881b2dc89865c1b7a7fbc2c89e13789a068f335d Author: Sutou Kouhei Date: Fri Dec 25 06:02:19 2020 +0900 [ruby/fiddle] closure: add support for const char * GitHub: fix GH-62 Reported by Cody Krieger. Thanks!!! https://github.com/ruby/fiddle/commit/284b820f2d M ext/fiddle/closure.c M test/fiddle/test_closure.rb commit b2de5999d88d81310b3c9f0c1f14451d7eca8e6e Author: Sutou Kouhei Date: Fri Dec 25 06:01:12 2020 +0900 [ruby/fiddle] closure: accept symbol as type https://github.com/ruby/fiddle/commit/dc2da6633e M ext/fiddle/closure.c M test/fiddle/test_closure.rb commit 212d836cd72742dcdf44187e0cebd7caed26bb41 Author: Sutou Kouhei Date: Fri Dec 25 05:52:28 2020 +0900 [ruby/fiddle] Remove wrong comment https://github.com/ruby/fiddle/commit/831522e768 M ext/fiddle/conversions.h commit 7bd3d6d23e9f083ef00c7e9a6110bbb79120bba0 Author: Kenta Murata Date: Wed Dec 23 23:38:37 2020 +0900 [ruby/fiddle] Bump version https://github.com/ruby/fiddle/commit/63e5f98412 M ext/fiddle/lib/fiddle/version.rb commit 4ba97c6ffc71f88a4de4ed88b188dbec2e5ff325 Author: git Date: Tue May 18 03:19:16 2021 +0900 * 2021-05-18 [ci skip] M version.h commit 725b6660769c0fb5cb66c725d3271949c68e21d1 Author: Benoit Daloze Date: Mon May 17 20:17:52 2021 +0200 Use a shared spec for YAML.load and YAML.unsafe_load M spec/ruby/library/yaml/load_spec.rb A spec/ruby/library/yaml/shared/load.rb M spec/ruby/library/yaml/unsafe_load_spec.rb commit 2321ade41d9644207efb262137a3748b85b6c635 Author: Benoit Daloze Date: Mon May 17 20:12:39 2021 +0200 Prefer respond_to? to defined? in MSpec M spec/mspec/lib/mspec/matchers/match_yaml.rb commit ee611341c9bc547e7d76fa3dd5c8f1452eb04d0f Author: Hiroshi SHIBATA Date: Tue Feb 23 10:05:13 2021 +0900 Bump version of required_ruby_version to 2.3. Fixes #464 M ext/json/json.gemspec commit 2de594ca98d95e62f7fcf000f21e174ac3f6fcaf Author: Jean Boussier Date: Wed Nov 18 11:59:27 2020 +0100 [flori/json] Deduplicate strings inside json_string_unescape [ci 2] https://github.com/flori/json/commit/1982070cb8 M ext/json/parser/extconf.rb M ext/json/parser/parser.c M ext/json/parser/parser.h M ext/json/parser/parser.rl commit 1d2b4ccaf28596efee65c59dc69ea489a4237079 Author: Jean Boussier Date: Wed Nov 18 11:33:42 2020 +0100 [flori/json] Refactor json_string_unescape https://github.com/flori/json/commit/f398769332 M ext/json/parser/parser.c M ext/json/parser/parser.h M ext/json/parser/parser.rl commit 8a974dc83cd2c8a8befb0b612b4f18c3f6f55370 Author: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Wed Dec 23 11:20:13 2020 +0900 [flori/json] Fix incorrect `#` position in API doc This change fixes an incorrect `#` position in the API documentation of the `JSON` module. https://github.com/flori/json/commit/dc4b62424f M ext/json/lib/json.rb commit 1f91627c8e8e6bbe9e86ff3d9c0c4e39bae1ec4c Author: Hiroshi SHIBATA Date: Mon May 17 19:22:52 2021 +0900 Removed EOL version from .github/workflows/spec_guards.yml M .github/workflows/spec_guards.yml commit 93fb186dd0d2fbb4ccea04c976e4d25665c65857 Author: Yusuke Endoh Date: Mon May 17 15:42:22 2021 +0900 spec/ruby/library/yaml: Test YAML.unsafe_load instead of YAML.load in 3.1 M spec/mspec/lib/mspec/matchers/match_yaml.rb M spec/ruby/library/yaml/load_spec.rb A spec/ruby/library/yaml/unsafe_load_spec.rb commit 008a63c477c35ff72344370005029fc73c5ae6eb Author: Yusuke Endoh Date: Mon May 17 15:32:41 2021 +0900 Revert "Use YAML.unsafe_load instead of YAML.load." This reverts commit a0e97b0e2e4314a0815d09beb825e38f234778da. M spec/mspec/lib/mspec/matchers/match_yaml.rb M spec/ruby/library/yaml/load_spec.rb commit e36da7ba186ed825a9fd1bfd993c504e95e021e3 Author: Hiroshi SHIBATA Date: Mon May 17 15:28:47 2021 +0900 Revert an accidentally commits at df86a13cc150f573b1078779667a1573747d3dbd D test/lib/core_assertions.rb D test/lib/envutil.rb D test/lib/find_executable.rb D test/lib/helper.rb commit 31a757a4426f1ac8c479313e01542940386fc2fe Author: Yusuke Endoh Date: Mon May 17 14:22:42 2021 +0900 Make the test pass with the old libyaml I have no idea what result is right, but it fails with libyaml 0.1.7 (bundled with Ubuntu 18.04) anyway. M test/psych/test_coder.rb commit f367b4ffe739453e87e55f955138b0ce662942b7 Author: Yusuke Endoh Date: Mon May 17 14:21:47 2021 +0900 assert_equal accepts an expected value as the first argument M test/psych/test_coder.rb commit a0e97b0e2e4314a0815d09beb825e38f234778da Author: Hiroshi SHIBATA Date: Mon May 17 13:36:55 2021 +0900 Use YAML.unsafe_load instead of YAML.load. This is a temporary workaround. We should rewrite the examples with permitted_classes. M spec/mspec/lib/mspec/matchers/match_yaml.rb M spec/ruby/library/yaml/load_spec.rb commit dfecc650c3f9bbd8b4fb0eefc1e3da65f151d3a8 Author: Hiroshi SHIBATA Date: Mon May 17 12:57:32 2021 +0900 Workaround with fbb4e3f96c10de2240f2d87eac19cf6f62f65fea in yaml/store.rb M lib/yaml/store.rb commit ffdf0232efd4955a234955c8372885b850fcfe33 Author: Yusuke Endoh Date: Mon May 17 12:50:21 2021 +0900 lib/rdoc/rdoc.rb: Allow only RDoc::Options in .rdoc_options Follow-up of d8fd92f62024d85271a3f1125bc6928409f912e1. Instead of using unsafe_load blindly, RDoc::Options is only supposed to be allowed. M lib/rdoc/rdoc.rb M test/rdoc/test_rdoc_options.rb commit d8fd92f62024d85271a3f1125bc6928409f912e1 Author: Hiroshi SHIBATA Date: Mon May 17 12:04:40 2021 +0900 Workaround with fbb4e3f96c10de2240f2d87eac19cf6f62f65fea in rdoc M lib/rdoc/rdoc.rb M test/rdoc/test_rdoc_options.rb commit 8e91b969df08b7a2eb27a5d6d38733eea42dc7ad Author: Hiroshi SHIBATA Date: Mon May 17 11:59:59 2021 +0900 Workaround with fbb4e3f96c10de2240f2d87eac19cf6f62f65fea M test/rubygems/test_gem_commands_signin_command.rb M test/rubygems/test_gem_commands_specification_command.rb M test/rubygems/test_gem_config_file.rb M test/rubygems/test_gem_gemcutter_utilities.rb M test/rubygems/test_gem_package.rb M test/rubygems/test_gem_specification.rb commit da5b28396397ace84d914cb188055cbeb46b8725 Author: Yusuke Endoh Date: Mon May 17 11:36:16 2021 +0900 test/ostruct/test_ostruct.rb: Use YAML.unsafe_load instead of YAML.load Follow-up of fbb4e3f96c10de2240f2d87eac19cf6f62f65fea M test/ostruct/test_ostruct.rb commit 42b20bdbfe770053e02948e9577bdd412a8c98cf Author: Aaron Patterson Date: Tue May 11 13:49:20 2021 -0700 [ruby/psych] remove deprecated interface https://github.com/ruby/psych/commit/0767227051 M ext/psych/lib/psych.rb M test/psych/test_exception.rb M test/psych/test_psych.rb M test/psych/test_safe_load.rb commit b0e21197ceb5329f751c421510048055d3c2af57 Author: Aaron Patterson Date: Tue May 11 13:35:16 2021 -0700 [ruby/psych] Bump version https://github.com/ruby/psych/commit/1df86a2e81 M ext/psych/lib/psych/versions.rb commit fbb4e3f96c10de2240f2d87eac19cf6f62f65fea Author: Aaron Patterson Date: Mon May 10 09:50:06 2021 -0700 [ruby/psych] Use Psych.safe_load by default Psych.load is not safe for use with untrusted data. Too many applications make the mistake of using `Psych.load` with untrusted data and that ends up with some kind of security vulnerability. This commit changes the default `Psych.load` to use `safe_load`. Users that want to parse trusted data can use Psych.unsafe_load. https://github.com/ruby/psych/commit/176494297f M ext/psych/lib/psych.rb commit c7c2ad5749f7f0767ef38be160f4b391228396c1 Author: Aaron Patterson Date: Mon May 10 09:50:06 2021 -0700 [ruby/psych] Introduce `Psych.unsafe_load` In future versions of Psych, the `load` method will be mostly the same as the `safe_load` method. In other words, the `load` method won't allow arbitrary object deserialization (which can be used to escalate to an RCE). People that need to load *trusted* documents can use the `unsafe_load` method. This commit introduces the `unsafe_load` method so that people can incrementally upgrade. For example, if they try to upgrade to 4.0.0 and something breaks, they can downgrade, audit callsites, change to `safe_load` or `unsafe_load` as required, and then upgrade to 4.0.0 smoothly. https://github.com/ruby/psych/commit/cb50aa8d3f M ext/psych/lib/psych.rb M ext/psych/lib/psych/versions.rb M test/psych/helper.rb M test/psych/test_alias_and_anchor.rb M test/psych/test_array.rb M test/psych/test_coder.rb M test/psych/test_date_time.rb M test/psych/test_deprecated.rb M test/psych/test_exception.rb M test/psych/test_hash.rb M test/psych/test_marshalable.rb M test/psych/test_merge_keys.rb M test/psych/test_object.rb M test/psych/test_object_references.rb M test/psych/test_omap.rb M test/psych/test_psych.rb M test/psych/test_ractor.rb M test/psych/test_serialize_subclasses.rb M test/psych/test_set.rb M test/psych/test_string.rb M test/psych/test_struct.rb M test/psych/test_yaml.rb M test/psych/test_yaml_special_cases.rb M test/psych/test_yamlstore.rb M test/psych/visitors/test_to_ruby.rb M test/psych/visitors/test_yaml_tree.rb commit bcaa6aeceadd34eb6a0de1d55bf17ecb153a7916 Author: Hiroshi SHIBATA Date: Mon May 10 18:38:01 2021 +0900 [ruby/psych] Removed needless platform detection https://github.com/ruby/psych/commit/57d704fd63 M test/lib/helper.rb commit df86a13cc150f573b1078779667a1573747d3dbd Author: Hiroshi SHIBATA Date: Mon May 10 18:10:13 2021 +0900 [ruby/psych] Import test assertions from ruby/ruby https://github.com/ruby/psych/commit/01dda86681 A test/lib/core_assertions.rb A test/lib/envutil.rb A test/lib/find_executable.rb A test/lib/helper.rb commit a3ceed50b877e57554ec825d7fefe066c81ff0ee Author: Jean Boussier Date: Thu Feb 25 18:36:15 2021 +0100 [ruby/psych] Fix symabolize_name with non-string keys https://github.com/ruby/psych/commit/1c5c29e81f M ext/psych/lib/psych/visitors/to_ruby.rb M test/psych/test_psych.rb commit 830778db95c1dca5dfad591eae5176d3133bf7ee Author: Jeremy Ebler Date: Sun Feb 7 18:39:07 2021 -0800 [ruby/psych] feat: allow scalars and sequences to be styled when dumped https://github.com/ruby/psych/commit/546154ddb7 M ext/psych/lib/psych/visitors/yaml_tree.rb M test/psych/test_coder.rb commit 167cff6a5d5241e2929392682cc3a68ece3b0caf Author: Yusuke Endoh Date: Mon May 17 08:49:53 2021 +0900 NEWS.md: mention lib/objspace/trace.rb [Feature #17762] M NEWS.md commit 35981cb5e914df04760bc5a17d0b6bb44bf45383 Author: git Date: Mon May 17 08:33:31 2021 +0900 * 2021-05-17 [ci skip] M version.h commit 229cb0fcdb7957b19d7042b000d803ae58cc6593 Author: Gabriel Nagy Date: Mon May 17 02:33:08 2021 +0300 [Win32] long path name support [Bug #12551] Implement long path support on Windows by applying Microsoft's recommended application manifest. To make this work on both Visual C++ and MinGW, include the manifest as a resource when generating the resource files. This way it will be embedded into the executables generated by both compilers. It's important for the manifest resource to have ID 1, otherwise GCC will embed a default manifest. Note that in addition to this, the user needs to have [long paths enabled] either by modifying the registry or by enabling a group policy. [long paths enabled]: https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later Co-authored-by: Nobuyoshi Nakada M test/ruby/test_process.rb M win32/resource.rb A win32/ruby.manifest commit adafa8105f58bddc05a6ca12314890e07cbf5f5b Author: Nobuyoshi Nakada Date: Sun May 16 18:27:31 2021 +0900 PAGE_SIZE is never used on msys/mingw M gc.c commit de6e76ff25d9dd33a13f06111514bcac869f4830 Author: git Date: Sun May 16 00:07:50 2021 +0900 * 2021-05-16 [ci skip] M version.h commit 8560f3424606fda9fd286e59abbb4d4bdf8ef99d Author: Kazuhiro NISHIYAMA Date: Sun May 16 00:06:38 2021 +0900 Fix a typo [ci skip] M io.c commit 3e1d32a233c84dac9e8aaf12f5bc21573a2477cb Author: git Date: Sat May 15 19:13:13 2021 +0900 * 2021-05-15 [ci skip] M version.h commit eef406acf413d61db9f9ec12f036386eda61e338 Author: aycabta Date: Thu May 13 19:18:06 2021 +0900 [ruby/irb] IRB should use the latest Reline, 0.2.5 https://github.com/ruby/irb/commit/34496e20e8 M lib/irb/irb.gemspec commit 5f8bca32571fa9c651f6903d36f66082363f8879 Author: Yusuke Endoh Date: Fri May 14 18:10:07 2021 +0900 tool/lib/minitest/mock.rb: define Object#stub only when not defined Recently, lib/rubygems/test_case.rb also defines the method. M tool/lib/minitest/mock.rb commit f210d456a8a3ab29085bd811494c3bdf36dd6f69 Author: Yusuke Endoh Date: Fri May 14 18:07:58 2021 +0900 test/objspace/test_objspace.rb: check stderr before stdout When `require "objspace/trace"` fails, previously the failure says: ``` 1) Failure: TestObjSpace#test_objspace_trace [/tmp/ruby/v3/src/trunk-mjit/test/objspace/test_objspace.rb:621]: <3> expected but was <0>. ``` but this is hard to debug. M test/objspace/test_objspace.rb commit 702961a88bbbfd556139c208d8f4d373b52e530d Author: Yusuke Endoh Date: Fri May 14 15:44:13 2021 +0900 test/ruby/test_refinement.rb: prevent "assigned but unused variable" M test/ruby/test_refinement.rb commit f691c15792a587eeaa36a8c3ab1a6354368bfd33 Author: Yusuke Endoh Date: Fri May 14 15:39:57 2021 +0900 ext/objspace/lib/objspace/trace.rb: Remove the original Kernel#p ... to disable a "method redefined" warning. http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210514T050008Z.fail.html.gz ``` 1) Failure: TestObjSpace#test_objspace_trace [/export/home/chkbuild/chkbuild-gcc/tmp/build/20210514T050008Z/ruby/test/objspace/test_objspace.rb:621]: <["objspace/trace is enabled"]> expected but was <["/export/home/chkbuild/chkbuild-gcc/tmp/build/20210514T050008Z/ruby/.ext/common/objspace/trace.rb:29: warning: method redefined; discarding old p", "objspace/trace is enabled"]>. ``` M ext/objspace/lib/objspace/trace.rb commit cf1e1879f12ad547f95fe94ab62b4d960e804eb8 Author: Yusuke Endoh Date: Fri May 14 13:40:32 2021 +0900 ext/objspace/lib/objspace/trace.rb: Added This file, when require'ed, starts tracing the object allocations, and redefines `Kernel#p` to show the allocation site. This commit is experimental; the library name and APIs may change. [Feature #17762] A ext/objspace/lib/objspace/trace.rb M test/objspace/test_objspace.rb commit 7cf90f99f5674fdadc0ff9d8341b315b2490ea26 Author: Nobuyoshi Nakada Date: Fri May 14 09:33:20 2021 +0900 Refix PAGE_SIZE * honor actually used headers * include sys/user.h only when `PAGE_SIZE` is not defined M configure.ac M gc.c commit a168c4772827bc6105177c4b605dcf6e6e1943a5 Author: Nobuyoshi Nakada Date: Fri May 14 09:31:09 2021 +0900 Make USE_MMAP_ALIGNED_ALLOC static const M gc.c commit 434cd3c399d2213ad319b7e203af0b07a1d0d64f Author: Burdette Lamar Date: Thu May 13 17:19:07 2021 -0500 What's Here for BasicObject (#4499) * What's Here for BasicObject M object.c commit 879cc64d06fa5b5a86abe7f03f678b65797af974 Author: Burdette Lamar Date: Thu May 13 12:09:07 2021 -0500 What's Here for Kernel (#4488) M object.c commit 4155a93c2d2b531a352c2224adf89f6787f3672c Author: git Date: Fri May 14 00:14:52 2021 +0900 * 2021-05-14 [ci skip] M version.h commit 0aa4ca1477e76c7ea0b5d76b4afbc226297dd874 Author: John Hawthorn Date: Wed May 12 14:17:43 2021 -0700 Fix compilation with jemalloc on macos On darwin we avoid including sys/user.h to avoid a conflict. Previously we still ended up with PAGE_SIZE being defined because the headers for system malloc define it. However, when compiling with jemalloc nothing would define PAGE_SIZE. This commit changes configure.ac so that we never use the PAGE_SIZE constant on darwin and to always use the sysconf fallback. M configure.ac commit 2420119f47a6c5d478c721b2f30565d5a074dd32 Author: Koichi Sasada Date: Thu May 13 18:18:08 2021 +0900 skip rb_bug for inconsistent zombies count It seems a bug but it takes more time to debug. To stop CI failures, skip this rb_bug on `RGENGC_CHECK_MODE=2` temporarily. M gc.c commit 110f242ef9b495037f59e4972ee102a8b8b372d5 Author: Nobuyoshi Nakada Date: Thu May 13 12:30:48 2021 +0900 Also `\U` after control/meta is invalid [Bug #17861] As well as `\u`, `\U` should be invalid there too. And highlight including `u`/`U` not only the backslash before it. M parse.y M test/ruby/test_parse.rb commit 9ce29c94d82c6bf278b1be088435726a9c47e225 Author: Jeremy Evans Date: Wed May 12 15:06:12 2021 -0700 Avoid improper optimization of case statements mixed integer/rational/complex Fixes [Bug #17857] M compile.c M test/ruby/test_case.rb commit 11ae581a4a7f5d5f5ec6378872eab8f25381b1b9 Author: Jeremy Evans Date: Wed May 12 12:37:55 2021 -0700 Fix handling of control/meta escapes in literal regexps Ruby uses a recursive algorithm for handling control/meta escapes in strings (read_escape). However, the equivalent code for regexps (tokadd_escape) in did not use a recursive algorithm. Due to this, Handling of control/meta escapes in regexp did not have the same behavior as in strings, leading to behavior such as the following returning nil: ```ruby /\c\xFF/ =~ "\c\xFF" ``` Switch the code for handling \c, \C and \M in literal regexps to use the same code as for strings (read_escape), to keep behavior consistent between the two. Fixes [Bug #14367] M parse.y M spec/ruby/language/regexp/interpolation_spec.rb M test/ruby/test_regexp.rb commit 9484f9ebdf675f71811a5583c1af2415b26c932f Author: Yusuke Endoh Date: Wed May 12 23:31:24 2021 +0900 [rubygems/rubygems] Use `Time.stub :now` to avoid a random failure Essentially this reverts 45464bfcbdf9f9cfb440950bc57a27d237627a17. The commit removed a mock of Time.now, which caused a random failure. http://rubyci.s3.amazonaws.com/ubuntu1804/ruby-master/log/20210512T123004Z.fail.html.gz ``` 1) Failure: TestGemPackageTarWriter#test_add_file_signer [/home/chkbuild/chkbuild/tmp/build/20210512T123004Z/ruby/test/rubygems/test_gem_package_tar_writer.rb:117]: Field mtime of the tar header differs.. <"14046746312\u0000"> expected but was <"14046746311\x00">. ``` Object#stub is defined at f1af59fe02ef2cc58f13e2742e4cc6cf8c2a1a20, so now `Time.stub :now` works. https://github.com/rubygems/rubygems/commit/85f60a9ed0 M test/rubygems/test_gem_package_tar_writer.rb commit 9225352bf1b6f66578f848180ead23bc3eb3e219 Author: git Date: Thu May 13 00:17:34 2021 +0900 * 2021-05-13 [ci skip] M version.h commit 31794d2e733e081e4e221f27aff6380393981681 Author: Yusuke Endoh Date: Thu May 13 00:14:50 2021 +0900 parse.y: Allow "command" syntax in endless method definition This change allows `def hello = puts "Hello"` without parentheses. Note that `private def hello = puts "Hello"` does not parse for technical reason. [Feature #17398] M parse.y M test/ruby/test_syntax.rb commit 81513c9dab75fa26e02e16945c8886eb6bb9413c Author: git Date: Wed May 12 17:40:52 2021 +0900 * remove trailing spaces. [ci skip] M test/objspace/test_objspace.rb commit 523a6998dd45eb910ccd3fe6a8d9d008f7a12cf2 Author: Koichi Sasada Date: Wed May 12 17:35:57 2021 +0900 Use another class for the comparison. `memsize_of(Object.new)` can be changed with past ivar creation history for Object instances (another Object instance has 4 or more ivars, next created Object instance has the area for the ivars). So use antoher class for the comparison. M test/objspace/test_objspace.rb commit 81720b947ac1ee8ed5dba551d38014810f9c129b Author: Hiroshi SHIBATA Date: Wed May 12 16:01:49 2021 +0900 Use assert_raise instead of assert_raises M test/rdoc/test_rdoc_rubygems_hook.rb commit cdcfe1082c54830de810c22095635a31405c043b Author: Hiroshi SHIBATA Date: Tue May 11 13:48:16 2021 +0900 Revert 924ce2c5ba4d1c1dc781a6a06682204d358421bb Because test-unit didn't provide the benchmark test. And This test is fragile with the several environments. M test/rubygems/test_gem_version.rb commit bef49e6e8d03a34b95f3e69ef7d23395027a44d2 Author: Hiroshi SHIBATA Date: Tue May 11 21:00:54 2021 +0900 [rubygems/rubygems] Added begin-end block for java platform Because pend of test-unit raises exception. https://github.com/rubygems/rubygems/commit/b5e2d0855a M test/rubygems/test_gem_installer.rb commit b314885af0dad39cad1d556c574a41eb785d8703 Author: Hiroshi SHIBATA Date: Tue May 11 20:27:16 2021 +0900 [rubygems/rubygems] Update the link of minitest code with the commit hash. https://github.com/rubygems/rubygems/commit/e7280f8d30 M lib/rubygems/test_case.rb commit 32d25660b9935a04f33a7e7635b571260d634caf Author: Hiroshi SHIBATA Date: Tue May 11 20:24:43 2021 +0900 [rubygems/rubygems] Removed the related code for minitest-bisect https://github.com/rubygems/rubygems/commit/83ebdec27a M lib/rubygems/test_case.rb commit 9620a30b1b327faef9740e39967fa13da8bed42e Author: Hiroshi SHIBATA Date: Tue May 11 20:23:33 2021 +0900 [rubygems/rubygems] Fixed an intentional blank-line https://github.com/rubygems/rubygems/commit/795b572ac2 M lib/rubygems/test_case.rb commit 655727ee1b9e5fa2f0e1c6e6ad2b12a596c0c4b6 Author: Hiroshi SHIBATA Date: Tue May 11 18:31:47 2021 +0900 [rubygems/rubygems] Added comment for Minitest::Mock https://github.com/rubygems/rubygems/commit/ae44b68d57 M lib/rubygems/test_case.rb commit d33888bf9656818e74401a28dc4725fc8b43ea03 Author: Hiroshi SHIBATA Date: Tue May 11 18:21:00 2021 +0900 [rubygems/rubygems] Replace skip to pend https://github.com/rubygems/rubygems/commit/0b145135c7 M test/rubygems/test_gem_ext_configure_builder.rb M test/rubygems/test_gem_ext_ext_conf_builder.rb M test/rubygems/test_gem_install_update_options.rb M test/rubygems/test_gem_installer.rb commit 129bc04ab7fb36f8a9e89cbe0264918bd7cc1d02 Author: Hiroshi SHIBATA Date: Tue May 11 16:45:31 2021 +0900 [rubygems/rubygems] util/rubocop -a https://github.com/rubygems/rubygems/commit/a10ff97830 M lib/rubygems/test_case.rb M test/rubygems/test_gem_commands_help_command.rb M test/rubygems/test_gem_package_tar_writer.rb M test/rubygems/test_gem_request_set.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_remote_fetch_error.rb commit 00f5b4b54614d28941fd31f93eaf36357bd8c099 Author: Hiroshi SHIBATA Date: Tue May 11 16:31:18 2021 +0900 [rubygems/rubygems] Don't use Minitest::Mock https://github.com/rubygems/rubygems/commit/d3fa893597 M test/rubygems/test_gem_commands_open_command.rb commit 3456335a9c624cd5f475fc71cc65e72d97acb86e Author: Hiroshi SHIBATA Date: Tue May 11 16:31:06 2021 +0900 [rubygems/rubygems] Removed minitest/mock from test/rubygems/test_gem_remote_fetcher.rb https://github.com/rubygems/rubygems/commit/f1af59fe02 M lib/rubygems/test_case.rb M test/rubygems/test_gem_remote_fetcher.rb commit ff3f990499d041d39bc4ad2ca3244be8f6f1d552 Author: Hiroshi SHIBATA Date: Tue May 11 13:59:28 2021 +0900 [rubygems/rubygems] Removed minitest/mock from test_gem_package_tar_writer.rb https://github.com/rubygems/rubygems/commit/45464bfcbd M test/rubygems/test_gem_package_tar_writer.rb commit 7b3b48549b189315a307703f93facb603339179e Author: Hiroshi SHIBATA Date: Tue May 11 13:12:33 2021 +0900 [rubygems/rubygems] capture_output will return empty string, not nil https://github.com/rubygems/rubygems/commit/3fa93f6144 M test/rubygems/test_gem_specification.rb commit 9b5e4ce611de214eea08a23eddc14dc97e5f2cd3 Author: Hiroshi SHIBATA Date: Tue May 11 13:11:36 2021 +0900 [rubygems/rubygems] Fixed variable scope at test_silent_system https://github.com/rubygems/rubygems/commit/bfcdf79657 M test/rubygems/test_gem_util.rb commit d5237c5d10013e81baab5a78ab74c5b0f2c05825 Author: Hiroshi SHIBATA Date: Tue May 11 13:04:32 2021 +0900 [rubygems/rubygems] Import capture_subprocess_io from minitest https://github.com/rubygems/rubygems/commit/8b2ca6df3a M lib/rubygems/test_case.rb commit cd375e455e21e19d966c6cee86714a41cac67878 Author: Hiroshi SHIBATA Date: Tue May 11 13:04:12 2021 +0900 [rubygems/rubygems] Rewrite with capture_output https://github.com/rubygems/rubygems/commit/a091004ded M test/rubygems/test_gem_specification.rb commit 5ed9d3f16f0b6fd9a93816740f8b41c69d03734a Author: Hiroshi SHIBATA Date: Tue May 11 12:34:03 2021 +0900 [rubygems/rubygems] Use capture_output instead of capture_io https://github.com/rubygems/rubygems/commit/c46185abe3 M test/rubygems/test_gem_package.rb commit c30594bb0c23b5b23c3d3ca490e3cac34d09c1f9 Author: Hiroshi SHIBATA Date: Tue May 11 12:25:46 2021 +0900 [rubygems/rubygems] Use assert_raise instead of assert_raises https://github.com/rubygems/rubygems/commit/769e87f011 M test/rubygems/test_gem.rb M test/rubygems/test_gem_command.rb M test/rubygems/test_gem_command_manager.rb M test/rubygems/test_gem_commands_build_command.rb M test/rubygems/test_gem_commands_cert_command.rb M test/rubygems/test_gem_commands_contents_command.rb M test/rubygems/test_gem_commands_dependency_command.rb M test/rubygems/test_gem_commands_environment_command.rb M test/rubygems/test_gem_commands_install_command.rb M test/rubygems/test_gem_commands_list_command.rb M test/rubygems/test_gem_commands_lock_command.rb M test/rubygems/test_gem_commands_open_command.rb M test/rubygems/test_gem_commands_owner_command.rb M test/rubygems/test_gem_commands_pristine_command.rb M test/rubygems/test_gem_commands_push_command.rb M test/rubygems/test_gem_commands_query_command.rb M test/rubygems/test_gem_commands_server_command.rb M test/rubygems/test_gem_commands_sources_command.rb M test/rubygems/test_gem_commands_specification_command.rb M test/rubygems/test_gem_commands_uninstall_command.rb M test/rubygems/test_gem_commands_update_command.rb M test/rubygems/test_gem_commands_which_command.rb M test/rubygems/test_gem_commands_yank_command.rb M test/rubygems/test_gem_config_file.rb M test/rubygems/test_gem_dependency.rb M test/rubygems/test_gem_dependency_installer.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_ext_cmake_builder.rb M test/rubygems/test_gem_ext_configure_builder.rb M test/rubygems/test_gem_ext_ext_conf_builder.rb M test/rubygems/test_gem_ext_rake_builder.rb M test/rubygems/test_gem_gemcutter_utilities.rb M test/rubygems/test_gem_install_update_options.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_local_remote_options.rb M test/rubygems/test_gem_package.rb M test/rubygems/test_gem_package_old.rb M test/rubygems/test_gem_package_tar_header.rb M test/rubygems/test_gem_package_tar_reader_entry.rb M test/rubygems/test_gem_package_tar_writer.rb M test/rubygems/test_gem_rdoc.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_request_connection_pools.rb M test/rubygems/test_gem_request_set.rb M test/rubygems/test_gem_request_set_gem_dependency_api.rb M test/rubygems/test_gem_request_set_lockfile.rb M test/rubygems/test_gem_request_set_lockfile_parser.rb M test/rubygems/test_gem_request_set_lockfile_tokenizer.rb M test/rubygems/test_gem_requirement.rb M test/rubygems/test_gem_resolver.rb M test/rubygems/test_gem_resolver_best_set.rb M test/rubygems/test_gem_resolver_installer_set.rb M test/rubygems/test_gem_resolver_vendor_set.rb M test/rubygems/test_gem_security.rb M test/rubygems/test_gem_security_policy.rb M test/rubygems/test_gem_security_signer.rb M test/rubygems/test_gem_security_trust_dir.rb M test/rubygems/test_gem_silent_ui.rb M test/rubygems/test_gem_source.rb M test/rubygems/test_gem_source_fetch_problem.rb M test/rubygems/test_gem_source_git.rb M test/rubygems/test_gem_source_specific_file.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_stream_ui.rb M test/rubygems/test_gem_uninstaller.rb M test/rubygems/test_gem_util.rb M test/rubygems/test_gem_version.rb M test/rubygems/test_kernel.rb M test/rubygems/test_require.rb commit 2c0072dec58cb5f99a072a3b2dd341974ec84887 Author: Hiroshi SHIBATA Date: Wed May 27 12:00:04 2020 +0900 [rubygems/rubygems] Use dummy assertion for assert_https https://github.com/rubygems/rubygems/commit/64d843fe17 M test/rubygems/test_bundled_ca.rb commit a1c416460b2cda7df6810ef8e9619d1903242de4 Author: Hiroshi SHIBATA Date: Mon May 25 22:11:47 2020 +0900 [rubygems/rubygems] Use capture_output instead of assert_silent https://github.com/rubygems/rubygems/commit/3225aab7f8 M test/rubygems/test_gem_util.rb commit 958f9d425a67678bfb1d20c11e0abf8f2d8d2144 Author: Hiroshi SHIBATA Date: Mon May 25 21:58:27 2020 +0900 [rubygems/rubygems] Use capture_output instead of capture_io for test-unit https://github.com/rubygems/rubygems/commit/ab9c80d4cb M test/rubygems/test_deprecate.rb M test/rubygems/test_gem_package_task.rb commit 3948be350312b908ea3ecf32ecf1adf420fe74ca Author: Hiroshi SHIBATA Date: Mon May 25 21:05:45 2020 +0900 [rubygems/rubygems] Use assert_path_exist and assert_path_not_exist instead of assert_path_exists and refute_path_exists https://github.com/rubygems/rubygems/commit/a7c93558c3 M lib/rubygems/test_case.rb M test/rubygems/test_gem.rb M test/rubygems/test_gem_commands_cert_command.rb M test/rubygems/test_gem_commands_check_command.rb M test/rubygems/test_gem_commands_cleanup_command.rb M test/rubygems/test_gem_commands_fetch_command.rb M test/rubygems/test_gem_commands_install_command.rb M test/rubygems/test_gem_commands_pristine_command.rb M test/rubygems/test_gem_commands_setup_command.rb M test/rubygems/test_gem_commands_unpack_command.rb M test/rubygems/test_gem_commands_update_command.rb M test/rubygems/test_gem_dependency_installer.rb M test/rubygems/test_gem_doctor.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_ext_ext_conf_builder.rb M test/rubygems/test_gem_install_update_options.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_package.rb M test/rubygems/test_gem_package_old.rb M test/rubygems/test_gem_package_task.rb M test/rubygems/test_gem_rdoc.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_request_set.rb M test/rubygems/test_gem_request_set_lockfile.rb M test/rubygems/test_gem_resolver_git_set.rb M test/rubygems/test_gem_resolver_git_specification.rb M test/rubygems/test_gem_resolver_index_specification.rb M test/rubygems/test_gem_resolver_local_specification.rb M test/rubygems/test_gem_resolver_specification.rb M test/rubygems/test_gem_security.rb M test/rubygems/test_gem_security_signer.rb M test/rubygems/test_gem_security_trust_dir.rb M test/rubygems/test_gem_source_git.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_uninstaller.rb M test/rubygems/test_require.rb commit 81d793a9216303f70143b13a88c924c22ce4af6d Author: Hiroshi SHIBATA Date: Wed Mar 18 17:56:41 2020 +0900 [rubygems/rubygems] Extract assert_output to assert_empty and assert_equal with capture_output https://github.com/rubygems/rubygems/commit/f6759440a4 M test/rubygems/test_gem.rb M test/rubygems/test_gem_request_set.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_version.rb commit 183174475c9cd51148f72668605390912339bcef Author: Hiroshi SHIBATA Date: Wed Feb 19 15:10:29 2020 +0900 [rubygems/rubygems] Use Regexp with refute_match https://github.com/rubygems/rubygems/commit/51fdbe53bc M test/rubygems/test_gem_commands_help_command.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_remote_fetch_error.rb commit 3c9633acfc5be293d27829c5a1f24a5efa2a5169 Author: Hiroshi SHIBATA Date: Wed Feb 19 15:00:24 2020 +0900 [rubygems/rubygems] Also use capture_output instead of capture_io https://github.com/rubygems/rubygems/commit/229858ea56 M test/rubygems/test_gem_doctor.rb commit 26cbda8dc903d5d663f6c759be073df3346c6874 Author: Hiroshi SHIBATA Date: Sat Jun 29 20:16:49 2019 +0900 [rubygems/rubygems] Use capture_output instead of capture_io. https://github.com/rubygems/rubygems/commit/ad9206d4d0 M test/rubygems/test_deprecate.rb M test/rubygems/test_gem.rb M test/rubygems/test_gem_commands_build_command.rb M test/rubygems/test_gem_commands_check_command.rb M test/rubygems/test_gem_config_file.rb M test/rubygems/test_gem_doctor.rb M test/rubygems/test_gem_request_set_gem_dependency_api.rb M test/rubygems/test_gem_server.rb M test/rubygems/test_gem_silent_ui.rb M test/rubygems/test_gem_source_git.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_stub_specification.rb commit cddeee21e992f1659ff9cb24d99e154aaba9daad Author: Hiroshi SHIBATA Date: Sat Jun 29 20:16:36 2019 +0900 [rubygems/rubygems] Use test-unit instead of minitest https://github.com/rubygems/rubygems/commit/a8571524ad M lib/rubygems/test_case.rb commit 5a6af44e204ed03616c0b0f43a7aeeeb79f4d0ce Author: Koichi Sasada Date: Wed May 12 12:57:53 2021 +0900 skip test for debug. test_memsize_of_iseq fails on repeat tests and it seems to difficult to solve immediately. Now this test is skipped. It seems that the result of `memsize_of(Object.new)` are increased. Why...? M test/objspace/test_objspace.rb commit 3df7c967bb5fca8767f384374710b1a1529ee37a Author: Koichi Sasada Date: Wed May 12 12:53:14 2021 +0900 suppress warnings on repeat tests. Constant definitions are affect on outer namespace of an anonymous module. To define constants on the anonymous module, this patch uses Module#class_eval(str). M test/ruby/test_gc.rb commit 6911b4bc82889860ff7da4ecf975504cdc3e5314 Author: 卜部昌平 Date: Mon May 10 10:02:12 2021 +0900 test_cdhash: refactor change class It is now strange to test Complex in a class named Rational_Test. M test/ruby/test_rational.rb M test/ruby/test_syntax.rb commit 0ab0b86c8491d639b9ff1335ddf35e341ecd867e Author: 卜部昌平 Date: Mon May 10 09:59:10 2021 +0900 cdhash_cmp: should use || cf: https://github.com/ruby/ruby/pull/4469#discussion_r628386707 M compile.c commit e1eff837cf12a8e813de9d4ff2db50c9b68b86b5 Author: 卜部昌平 Date: Fri May 7 13:31:15 2021 +0900 cdhash_cmp: recursively apply For instance a rational's numerator can be a bignum. Comparison using C's == can be insufficient. M compile.c commit cc0dc67bbbe1951ff90004bc987f78545625d772 Author: 卜部昌平 Date: Fri May 7 12:49:32 2021 +0900 cdhash_cmp: can also take complex There are complex literals `123i`, which can also be a case condition. M compile.c M complex.c M internal/complex.h M test/ruby/test_rational.rb commit d0e6c6e682b9ba2b0309a5177933a0628e8ef316 Author: 卜部昌平 Date: Fri May 7 11:07:11 2021 +0900 cdhash_cmp: rational literals with fractions Nobu kindly pointed out that rational literals can have fractions. M compile.c M test/ruby/test_rational.rb commit 2bc293e899c9d32dcd794a73de8925c49ecf8f15 Author: 卜部昌平 Date: Fri May 7 10:04:08 2021 +0900 cdhash_cmp: can take rational literals Rational literals are those integers suffixed with `r`. They tend to be a part of more complex expressions like `123/456r`, but in theory they can live alone. When such "bare" rational literals are passed to case-when branch, we have to take care of them. Fixes [Bug #17854] M common.mk M compile.c M internal/rational.h M rational.c M test/ruby/test_rational.rb commit 773c690f2553db31a9cc83a037f5449e0c1ea456 Author: Shugo Maeda Date: Tue May 11 09:45:48 2021 +0900 [ruby/net-ftp] Bump version to 0.1.2 https://github.com/ruby/net-ftp/commit/895ba44b3c M lib/net/ftp.rb commit ee1725cecb1c87ec10a8962ef8317610c5f989e4 Author: Jeremy Evans Date: Tue May 11 15:45:52 2021 -0700 Update keyword argument description in method syntax guide Remove discussion of Ruby 2.7 specific handling of keyword argument separation. Add a small example of keyword to positional hash conversion for methods not accepting keyword arguments. M doc/syntax/methods.rdoc commit cc1ea6e0238a36c08a6255a6ac7a68c54ccafa4a Author: Takashi Kokubun Date: Tue May 11 15:18:44 2021 -0700 Run nmake check on Actions (#4487) * Run nmake check on Actions * Skip tests not working in mswin GitHub Actions * Override TEMP * Revert "Skip tests not working in mswin GitHub Actions" This reverts commit 544d2575fcdf23ae63cd25aa03fce10c28b259f2. * Revert "Revert "Skip tests not working in mswin GitHub Actions"" This reverts commit e1f8ad7862c9c4be52dc6e1031a004621eb07e6e. * Fix timeouts * Skip some more broken tests * Update windows.yml * Add a guard for rbasic_spec * Revert "Update windows.yml" This reverts commit bc9694b6b3b9594d406378d15ca11723fb052bc8. * Skip the ensure clause * Simplify the ensure M .github/workflows/windows.yml M spec/ruby/optional/capi/rbasic_spec.rb M test/resolv/test_dns.rb M test/ruby/test_file_exhaustive.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_resolver_git_specification.rb M tool/test/webrick/test_filehandler.rb M tool/test/webrick/test_httpproxy.rb commit 07f055bb132f21fd71af2720382ad8d2e8f69e47 Author: Aaron Patterson Date: Tue May 11 13:30:40 2021 -0700 Revert "Filling cache values on cvar write" This reverts commit 08de37f9fa3469365e6b5c964689ae2bae0eb9f3. This reverts commit e8ae922b62adb00a80d3d4c49f7d7b0e6026eaba. D benchmark/vm_cvar.yml M class.c M common.mk M compile.c M debug_counter.h M gc.c M id_table.c M include/ruby/internal/intern/variable.h M insns.def M internal/class.h M variable.c M vm.c M vm_core.h M vm_insnhelper.c M vm_insnhelper.h commit 08de37f9fa3469365e6b5c964689ae2bae0eb9f3 Author: eileencodes Date: Fri Apr 23 13:59:16 2021 -0400 Filling cache values on cvar write Instead of on read. Once it's in the inline cache we never have to make one again. We want to eventually put the value into the cache, and the best opportunity to do that is when you write the value. M class.c M compile.c M debug_counter.h M insns.def M variable.c M vm_insnhelper.c commit e8ae922b62adb00a80d3d4c49f7d7b0e6026eaba Author: eileencodes Date: Thu Jan 7 13:28:04 2021 -0500 Add a cache for class variables This change implements a cache for class variables. Previously there was no cache for cvars. Cvar access is slow due to needing to travel all the way up th ancestor tree before returning the cvar value. The deeper the ancestor tree the slower cvar access will be. The benefits of the cache are more visible with a higher number of included modules due to the way Ruby looks up class variables. The benchmark here includes 26 modules and shows with the cache, this branch is 6.5x faster when accessing class variables. ``` compare-ruby: ruby 3.1.0dev (2021-03-15T06:22:34Z master 9e5105ca45) [x86_64-darwin19] built-ruby: ruby 3.1.0dev (2021-03-15T12:12:44Z add-cache-for-clas.. c6be0093ae) [x86_64-darwin19] | |compare-ruby|built-ruby| |:--------|-----------:|---------:| |vm_cvar | 5.681M| 36.980M| | | -| 6.51x| ``` Benchmark.ips calling `ActiveRecord::Base.logger` from within a Rails application. ActiveRecord::Base.logger has 71 ancestors. The more ancestors a tree has, the more clear the speed increase. IE if Base had only one ancestor we'd see no improvement. This benchmark is run on a vanilla Rails application. Benchmark code: ```ruby require "benchmark/ips" require_relative "config/environment" Benchmark.ips do |x| x.report "logger" do ActiveRecord::Base.logger end end ``` Ruby 3.0 master / Rails 6.1: ``` Warming up -------------------------------------- logger 155.251k i/100ms Calculating ------------------------------------- ``` Ruby 3.0 with cvar cache / Rails 6.1: ``` Warming up -------------------------------------- logger 1.546M i/100ms Calculating ------------------------------------- logger 14.857M (± 4.8%) i/s - 74.198M in 5.006202s ``` Lastly we ran a benchmark to demonstate the difference between master and our cache when the number of modules increases. This benchmark measures 1 ancestor, 30 ancestors, and 100 ancestors. Ruby 3.0 master: ``` Warming up -------------------------------------- 1 module 1.231M i/100ms 30 modules 432.020k i/100ms 100 modules 145.399k i/100ms Calculating ------------------------------------- 1 module 12.210M (± 2.1%) i/s - 61.553M in 5.043400s 30 modules 4.354M (± 2.7%) i/s - 22.033M in 5.063839s 100 modules 1.434M (± 2.9%) i/s - 7.270M in 5.072531s Comparison: 1 module: 12209958.3 i/s 30 modules: 4354217.8 i/s - 2.80x (± 0.00) slower 100 modules: 1434447.3 i/s - 8.51x (± 0.00) slower ``` Ruby 3.0 with cvar cache: ``` Warming up -------------------------------------- 1 module 1.641M i/100ms 30 modules 1.655M i/100ms 100 modules 1.620M i/100ms Calculating ------------------------------------- 1 module 16.279M (± 3.8%) i/s - 82.038M in 5.046923s 30 modules 15.891M (± 3.9%) i/s - 79.459M in 5.007958s 100 modules 16.087M (± 3.6%) i/s - 81.005M in 5.041931s Comparison: 1 module: 16279458.0 i/s 100 modules: 16087484.6 i/s - same-ish: difference falls within error 30 modules: 15891406.2 i/s - same-ish: difference falls within error ``` Co-authored-by: Aaron Patterson A benchmark/vm_cvar.yml M class.c M common.mk M compile.c M debug_counter.h M gc.c M id_table.c M include/ruby/internal/intern/variable.h M insns.def M internal/class.h M variable.c M vm.c M vm_core.h M vm_insnhelper.c M vm_insnhelper.h commit c9e02d8919852d4daa4bb063f70c2d9fa7554b37 Author: git Date: Wed May 12 01:05:27 2021 +0900 * 2021-05-12 [ci skip] M version.h commit 39a2ba5cc559900c30c3143da32446c2f20a7484 Author: Alan Wu Date: Tue May 11 12:05:06 2021 -0400 Method cache: fix refinement entry handling To invalidate some callable method entries, we replace the entry in the class. Most types of method entries are on the method table of the origin class, but refinement entries without an orig_me are housed in the method table of the class itself. They are there because refinements take priority over prepended methods. By unconditionally inserting a copy of the refinement entry into the origin class, clearing the method cache created situations where there are refinement entry duplicates in the lookup chain, leading to infinite loops and other problems. Update the replacement logic to use the right class that houses the method entry. Also, be more selective about cache invalidation when moving refinement entries for prepend. This avoids calling clear_method_cache_by_id_in_class() before refinement entries are in the place it expects. [Bug #17806] M class.c M test/ruby/test_refinement.rb M vm_method.c commit 010bb0883e67f9f4c8e609266e22c0a12163549a Author: Hiroshi SHIBATA Date: Tue May 11 20:08:03 2021 +0900 Workaround for make test-tool M tool/lib/minitest/unit.rb commit bb8a759f6b0156cb4752cf8cc0ca506b3e8dccec Author: Yusuke Endoh Date: Tue May 11 19:46:15 2021 +0900 Fix a typo of c6a11b865e1f9085c88fe169a1f47680383580c2 It failed to define `refute_path_not_exist` M tool/lib/minitest/unit.rb commit 1b61cdd5e0997b18ac63cbb21911d0e286df26d3 Author: Yusuke Endoh Date: Tue May 11 19:37:31 2021 +0900 test/irb/test_raise_no_backtrace_exception.rb: Set LC_MESSAGES as UTF-8 M test/irb/test_raise_no_backtrace_exception.rb commit c6a11b865e1f9085c88fe169a1f47680383580c2 Author: Hiroshi SHIBATA Date: Tue May 11 19:32:03 2021 +0900 Alias assert/refute_path_exists for test-unit gem. It's required at https://github.com/rubygems/rubygems/pull/3141 M tool/lib/minitest/unit.rb commit c45f7556b5555114cdaabaa852abb836878c8c6c Author: Koichi ITO Date: Tue May 11 09:44:28 2021 +0900 [ruby/irb] Fix `Encoding::ConverterNotFoundError` Follow https://github.com/ruby/irb/pull/237. This PR fixes the following `Encoding::ConverterNotFoundError`. ```console % bin/spring stop && bin/rails c Spring stopped. Running via Spring preloader in process 58395 Loading development environment (Rails 6.0.3.7) irb(main):001:0> "こんにちは".do_something Traceback (most recent call last): (snip) 12: from /Users/koic/src/github.com/ruby/irb/lib/irb.rb:547:in `eval_input' 11: from /Users/koic/src/github.com/ruby/irb/lib/irb/ruby-lex.rb:232:in `each_top_level_statement' 10: from /Users/koic/src/github.com/ruby/irb/lib/irb/ruby-lex.rb:232:in `catch' 9: from /Users/koic/src/github.com/ruby/irb/lib/irb/ruby-lex.rb:233:in `block in each_top_level_statement' 8: from /Users/koic/src/github.com/ruby/irb/lib/irb/ruby-lex.rb:233:in `loop' 7: from /Users/koic/src/github.com/ruby/irb/lib/irb/ruby-lex.rb:251:in `block (2 levels) in each_top_level_statement' 6: from /Users/koic/src/github.com/ruby/irb/lib/irb.rb:548:in `block in eval_input' 5: from /Users/koic/src/github.com/ruby/irb/lib/irb.rb:758:in `signal_status' 4: from /Users/koic/src/github.com/ruby/irb/lib/irb.rb:586:in `block (2 levels) in eval_input' 3: from /Users/koic/src/github.com/ruby/irb/lib/irb.rb:650:in `handle_exception' 2: from /Users/koic/src/github.com/ruby/irb/lib/irb.rb:601:in `encode_with_invalid_byte_sequence' 1: from /Users/koic/src/github.com/ruby/irb/lib/irb.rb:601:in `new' /Users/koic/src/github.com/ruby/irb/lib/irb.rb:601:in `initialize': code converter not found (UTF-8 to UTF-8) (Encoding::ConverterNotFoundError) ``` First, this patch skips `Encoding::Converter.new` for the same encoding. https://github.com/ruby/irb/blob/170531df19bce289444afe97360480efed5f27f0/lib/irb.rb#L601 Next, this is a talk about the condition for skipping. `IRB.conf[:LC_MESSAGES].encoding` becomes `"UTF-8"` string when `Reline.encoding_system_needs.name` is set in the below. https://github.com/ruby/irb/blob/170531df19bce289444afe97360480efed5f27f0/lib/irb/input-method.rb#L269 OTOH, `message.encoding` is `Encoding::UTF_8`, so these are compared as a string by this patch. https://github.com/ruby/irb/commit/6df6e76cfc M lib/irb.rb commit 66ca6ede16b675d1d61ff099966235db9d26fd85 Author: Takashi Kokubun Date: Mon May 10 22:45:29 2021 -0700 [ruby/irb] Skip test_raise_exception_with_invalid_byte_sequence on Windows for now. It seems like we haven't figured this out yet. https://github.com/ruby/irb/commit/ecf5a1ace1 M test/irb/test_raise_no_backtrace_exception.rb commit afa70d079f0eebc25fc10afe0ce69dd01bb9132b Author: Takashi Kokubun Date: Mon May 10 21:41:36 2021 -0700 Explicitly specify encoding for another test as well Same as e2ccc3301e2c69533b9ef2464613781c6c964c3a https://ci.appveyor.com/project/ruby/ruby/builds/39102539/job/k8m1yrrjesxbgvtq M test/irb/test_raise_no_backtrace_exception.rb commit 7c346e107283a1f6c74ec159f86bc78c20c0ade5 Author: Takashi Kokubun Date: Mon May 10 21:32:55 2021 -0700 Split a Choco-Install command In https://github.com/ruby/ruby/runs/2552065052, while it failed to install winflexbison3, it exited the retry loop because openssl was installed successfully. https://github.com/actions/virtual-environments/blob/a5ee51f72dcbc3879a91a74c63f95737e2d4a292/images/win/scripts/ImageHelpers/ChocoHelpers.ps1 M .github/workflows/windows.yml commit e2ccc3301e2c69533b9ef2464613781c6c964c3a Author: Yusuke Endoh Date: Tue May 11 13:30:28 2021 +0900 test/irb/test_raise_no_backtrace_exception.rb: UTF-8 is expected ... for the output of assert_in_out_err. This will fix the following failure on many CI machines http://rubyci.s3.amazonaws.com/arch/ruby-master/log/20210511T030005Z.fail.html.gz ``` 1) Failure: TestIRB::TestRaiseNoBacktraceException#test_raise_exception_with_different_encoding_containing_invalid_byte_sequence [/home/chkbuild/chkbuild/tmp/build/20210511T030005Z/ruby/test/irb/test_raise_no_backtrace_exception.rb:41]: pid 221531 exit 0. 1. [1/2] Assertion for "stdout" | invalid byte sequence in US-ASCII. ``` M test/irb/test_raise_no_backtrace_exception.rb commit 3c9e30aef800c8cf84bb2ac85b430fa108ce25c2 Author: Takashi Kokubun Date: Mon May 10 21:17:33 2021 -0700 Try running Choco-Install with powershell https://github.com/ruby/ruby/runs/2552047430 M .github/workflows/windows.yml commit 4ee72f4afd879f9197b3fabb9a875afb02a61150 Author: Takashi Kokubun Date: Mon May 10 21:13:06 2021 -0700 Retry choco install by using a wrapper provided by GitHub Actions https://github.com/actions/virtual-environments/pull/721 to address failures like https://github.com/ruby/ruby/runs/2551980671 M .github/workflows/windows.yml commit bb54361057c169e1209d771c189ec662fa4e7395 Author: Takashi Kokubun Date: Mon May 10 21:00:54 2021 -0700 [ruby/irb] Skip the new IRB test on Windows for now It's not passing from the beginning https://github.com/ruby/ruby/runs/2550929220 https://ci.appveyor.com/project/ruby/ruby/builds/39100747 https://github.com/ruby/irb/commit/71fc180018 M test/irb/test_raise_no_backtrace_exception.rb commit 9edc162583a4f685332239f6249745ad9b518cbe Author: Kazuki Yamaguchi Date: Fri Mar 26 18:16:07 2021 +0900 [ruby/resolv] Fix confusion of received response message This is a follow up for commit 33fb966197f1 ("Remove sender/message_id pair after response received in resolv", 2020-09-11). As the @senders instance variable is also used for tracking transaction ID allocation, simply removing an entry without releasing the ID would eventually deplete the ID space and cause Resolv::DNS.allocate_request_id to hang. It seems the intention of the code was to check that the received DNS message is actually the response for the question made within the method earlier. Let's have it actually do so. [Bug #12838] https://bugs.ruby-lang.org/issues/12838 [Bug #17748] https://bugs.ruby-lang.org/issues/17748 https://github.com/ruby/resolv/commit/53ca9c9209 M lib/resolv.rb commit 5b0abba9317f206913cf2e599d0dac7e9dbd0baa Author: David Rodríguez Date: Wed Apr 21 13:54:29 2021 +0200 Sync bundler & rubygems M lib/bundler/bundler.gemspec M lib/bundler/cli.rb M lib/bundler/cli/common.rb M lib/bundler/compact_index_client/updater.rb M lib/bundler/current_ruby.rb M lib/bundler/definition.rb M lib/bundler/dependency.rb M lib/bundler/fetcher.rb M lib/bundler/fetcher/compact_index.rb M lib/bundler/fetcher/downloader.rb M lib/bundler/man/bundle-config.1 M lib/bundler/man/bundle-config.1.ronn M lib/bundler/plugin.rb M lib/bundler/resolver.rb M lib/bundler/resolver/spec_group.rb M lib/bundler/retry.rb M lib/bundler/settings.rb M lib/bundler/source/rubygems.rb M lib/bundler/spec_set.rb M lib/bundler/templates/newgem/newgem.gemspec.tt M lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb M lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb M lib/rubygems.rb M lib/rubygems/commands/install_command.rb M lib/rubygems/commands/open_command.rb M lib/rubygems/commands/yank_command.rb M lib/rubygems/deprecate.rb M lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb M spec/bundler/bundler/compact_index_client/updater_spec.rb M spec/bundler/bundler/env_spec.rb M spec/bundler/bundler/fetcher/downloader_spec.rb M spec/bundler/bundler/plugin/dsl_spec.rb M spec/bundler/bundler/plugin/index_spec.rb M spec/bundler/commands/cache_spec.rb M spec/bundler/commands/clean_spec.rb M spec/bundler/commands/config_spec.rb M spec/bundler/commands/outdated_spec.rb M spec/bundler/commands/pristine_spec.rb M spec/bundler/commands/remove_spec.rb M spec/bundler/commands/update_spec.rb M spec/bundler/install/gemfile/gemspec_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M spec/bundler/install/gems/compact_index_spec.rb M spec/bundler/install/gems/dependency_api_spec.rb M spec/bundler/install/gems/post_install_spec.rb M spec/bundler/install/prereleases_spec.rb M spec/bundler/quality_spec.rb M spec/bundler/realworld/edgecases_spec.rb M spec/bundler/runtime/inline_spec.rb M spec/bundler/spec_helper.rb M spec/bundler/support/artifice/compact_index.rb A spec/bundler/support/artifice/compact_index_partial_update_no_etag_not_incremental.rb M spec/bundler/support/artifice/endpoint.rb M spec/bundler/support/artifice/windows.rb M spec/bundler/support/builders.rb M spec/bundler/support/helpers.rb M spec/bundler/support/rubygems_ext.rb M test/rubygems/test_deprecate.rb M tool/bundler/rubocop_gems.rb.lock M tool/bundler/standard_gems.rb.lock commit 15160e9b4feba5d531601a4f626b3132d4749629 Author: David Rodríguez Date: Mon May 10 11:58:13 2021 +0200 Sync bundler & rubygems at the same time M tool/sync_default_gems.rb commit 7dccc4ef8aeb7b07280ba92ba34ef04bfbf7148d Author: David Rodríguez Date: Wed Apr 21 13:53:07 2021 +0200 Properly synchronize bundler gemspec too By making the necessary modifications automatically. M tool/sync_default_gems.rb commit cc4d8d037cd49ff338cc32969295c32ce188e384 Author: David Rodríguez Date: Thu Apr 8 10:40:53 2021 +0200 Simplify syncing bundler These files no longer exist upstream, so they don't need to be synced. M tool/sync_default_gems.rb commit 774cc32b4d4962ef685fb852a2dbf1897f64a8f7 Author: aycabta Date: Sun May 9 12:12:42 2021 +0900 [ruby/irb] Treat encodings in exception correctly https://github.com/ruby/irb/commit/4452adbe04 M lib/irb.rb M test/irb/test_raise_no_backtrace_exception.rb commit 4785d6087aa77a0ee28881ff9fb0737e8d5a97c5 Author: 卜部昌平 Date: Mon May 10 12:15:41 2021 +0900 .github/compilers/workflows.yml: support GCC-11 GCC 11.1 was released. https://gcc.gnu.org/pipermail/gcc/2021-April/235922.html See also https://github.com/ruby/ruby-ci-image/pull/1 M .github/workflows/compilers.yml commit d6d38d9099b1780febf5cbe50431421e84162536 Author: git Date: Tue May 11 04:00:55 2021 +0900 * 2021-05-11 [ci skip] M version.h commit d2d443efc100fb4e981e9c7caa0f56f0cc368d7b Author: Burdette Lamar Date: Mon May 10 14:00:36 2021 -0500 Enhanced RDoc for Enumerable (#4479) Methods treated: #count #find #find_index #select #filter_map #reject #map #flat_map M enum.c commit 73136ebbde4faee648420e13a7edf7cfd092a6ea Author: Ryuta Kamizono Date: Mon Apr 26 02:25:11 2021 +0900 [ruby/psych] Fix some typos [ci skip] https://github.com/ruby/psych/commit/98617e55a1 M ext/psych/lib/psych/handler.rb M ext/psych/lib/psych/nodes/scalar.rb M ext/psych/yaml/scanner.c M ext/psych/yaml/yaml.h commit b7250026dd03de457cf7d36b6918e540ca2ca1c8 Author: Aaron Patterson Date: Wed Feb 24 09:29:49 2021 -0800 [ruby/psych] bump version https://github.com/ruby/psych/commit/091cd46b1f M ext/psych/lib/psych/versions.rb commit 954970162c4b912dde9d0cca68f10e2ff0b12936 Author: Tim Gates Date: Fri Dec 18 23:08:36 2020 +1100 [ruby/psych] docs: fix simple typo, expessed -> expressed There is a small typo in ext/psych/yaml/yaml.h. Should read `expressed` rather than `expessed`. https://github.com/ruby/psych/commit/1150d669cb M ext/psych/yaml/yaml.h commit 1563de599780da71a744ba504f4dea6ac0bda192 Author: Charles Oliver Nutter Date: Tue Feb 23 16:18:38 2021 -0600 [ruby/psych] Update to latest SnakeYAML Fixes jruby/jruby#6365 https://github.com/ruby/psych/commit/a88ff77f02 M ext/psych/lib/psych/versions.rb commit c110ade0d235391c2fbfe9291250f744b735a1a8 Author: Jean Boussier Date: Thu Feb 11 18:30:58 2021 +0100 [ruby/psych] Fix custom marshalization with symbolize_names: true https://github.com/ruby/psych/commit/ee26f26ab5 M ext/psych/lib/psych/visitors/to_ruby.rb M test/psych/test_marshalable.rb commit 155cd7fd2a4d5d3a732f73d42385048e16dfbc23 Author: Jean Boussier Date: Sat Jan 30 13:43:50 2021 +0100 [ruby/psych] Cache dispatch cache in an instance variable https://github.com/ruby/psych/commit/285c461cd2 M ext/psych/lib/psych/visitors/visitor.rb commit 3ab41acd3617319588a0010657d0adf1caf74d24 Author: Jean Boussier Date: Sat Jan 30 13:41:12 2021 +0100 [ruby/psych] Cache access to Psych.load_tags in Visitor::ToRuby https://github.com/ruby/psych/commit/58223f0426 M ext/psych/lib/psych/visitors/to_ruby.rb commit ab785b28e2f3cc879906aeaee0358c0de478499e Author: Hiroshi SHIBATA Date: Mon May 10 19:09:17 2021 +0900 [ruby/psych] Use assert_raise instead of assert_raises https://github.com/ruby/psych/commit/e6ad12b4e1 M test/psych/test_class.rb M test/psych/test_document.rb M test/psych/test_emitter.rb M test/psych/test_encoding.rb M test/psych/test_exception.rb M test/psych/test_merge_keys.rb M test/psych/test_parser.rb M test/psych/test_psych.rb M test/psych/test_safe_load.rb M test/psych/test_yaml.rb M test/psych/test_yamlstore.rb M test/psych/visitors/test_yaml_tree.rb commit bae9a21e40a65c0eaacebfd4b3c3a8de08892c74 Author: Hiroshi SHIBATA Date: Mon May 10 17:54:06 2021 +0900 [ruby/psych] Use pend instead of skip https://github.com/ruby/psych/commit/efd2a62c9a M test/psych/test_hash.rb M test/psych/test_psych.rb commit 53c5a4bbe1851dba0dfcaf81c167290cbca93bac Author: Hiroshi SHIBATA Date: Mon May 10 17:46:58 2021 +0900 [ruby/psych] Fixed test-case for NaN https://github.com/ruby/psych/commit/f85a008263 M test/psych/test_yaml_special_cases.rb commit 230d559f6b4e681fab8a540fb49c136100f54b2a Author: Hiroshi SHIBATA Date: Mon May 10 17:38:45 2021 +0900 [ruby/psych] Use Ractor constant for ignoreing condition https://github.com/ruby/psych/commit/cc5f957327 M test/psych/test_ractor.rb commit ce67549c503a5f31505fb292c11e40337dcba336 Author: Hiroshi SHIBATA Date: Mon May 10 17:32:29 2021 +0900 [ruby/psych] Use test-unit instead of minitest https://github.com/ruby/psych/commit/01e7310dd3 M test/psych/helper.rb commit ce5779d8cc30f28031c8d0f42836f8afae75c40b Author: Hiroshi SHIBATA Date: Tue Dec 22 21:08:09 2020 +0900 [ruby/set] set is also dual licenses https://github.com/ruby/set/commit/fc24457e53 M lib/set/set.gemspec commit 94d858f81a6c8e23e720b01fb7e24614f9a4d3df Author: Andrei Beliankou Date: Tue Apr 13 20:03:00 2021 +0200 Add a space to separate sentences in the error message M lib/set/sorted_set.rb commit 61e44995457837d30ccc3e2ae0c18aa1cdaf0c89 Author: Burdette Lamar Date: Mon Apr 19 15:54:14 2021 -0500 [ruby/set] Adding section: What's Here https://github.com/ruby/set/commit/257dc452a7 M lib/set.rb commit 0a7454794270e96b30d9308f05615939bd3afffa Author: Burdette Lamar Date: Mon Apr 19 13:39:33 2021 -0500 [ruby/set] Adding section: What's Here https://github.com/ruby/set/commit/8f4c62768d M lib/set.rb commit b8506eb4761953b9f7384aa6dff10e172a7e6a55 Author: Burdette Lamar Date: Mon Apr 19 11:16:32 2021 -0500 [ruby/set] Adding section: What's Here https://github.com/ruby/set/commit/254d927c8c M lib/set.rb commit adc86f7a58fbbd17684bc5f3dea96b298cce77cd Author: Burdette Lamar Date: Wed Apr 14 11:57:40 2021 -0500 [ruby/set] Adding section: What's Here https://github.com/ruby/set/commit/ab81354de1 M lib/set.rb commit 2d670274481647bf3bc9c82a9472bc8500a97a45 Author: Nobuyoshi Nakada Date: Sat May 1 22:07:46 2021 +0900 Removed missing/dup2.c This function should be always available, as POSIX-compliant or Windows platform are required since 1.9. Also the code in this file is MT-unsafe. M LEGAL M configure.ac M include/ruby/missing.h M io.c D missing/dup2.c commit 1d0e670e91a379bb276815014e9879a9aa9b6551 Author: Yusuke Endoh Date: Mon May 10 10:14:10 2021 +0900 LEGAL: Remove entries that no longer exist lib/bundler.gemspec and man/bundle-*,gemfile.* are now under the directory lib/bundler/. M LEGAL commit 23f935127bccf8bfb7e32e57f7f77a22555821db Author: git Date: Mon May 10 11:18:36 2021 +0900 * 2021-05-10 [ci skip] M version.h commit 043ac94db663fc4fc33027bc2632e5402f8018c3 Author: 卜部昌平 Date: Fri May 7 15:49:13 2021 +0900 rb_fiber_new_kw: doesn't exist Not against having such thing but currently we lack one. M include/ruby/internal/intern/cont.h commit 406ae7fb03640e11e200382ef61cd450b952b7aa Author: Jeremy Evans Date: Wed Apr 28 13:35:22 2021 -0700 Fix Math.cbrt(0.0) on glibc This should return 0, but on glibc it returned NaN. Fixes [Bug #17804] M math.c M test/ruby/test_math.rb commit b7fec2e3e52e29329c0b1539d30ae0951ad6a891 Author: git Date: Sun May 9 04:50:35 2021 +0900 * 2021-05-09 [ci skip] M version.h commit 43380401facc3a7b739609c15cc94a2305bfff9e Author: Burdette Lamar Date: Sat May 8 14:50:15 2021 -0500 Enhanced RDoc for Enumerable (#4473) Enhanced RDoc for Enumerable: #grep and #grep_v. M enum.c commit e3e55967826668dcf6f04c550cab5ef8df71fdb7 Author: Masataka Pocke Kuwabara Date: Sat May 8 17:04:30 2021 +0900 Fix example code in Array#max doc `[0, 1, 2, 3].max(6)` actually returns `[3, 2, 1, 0]`, but the doc said it returns `[3, 2, 1]`. M array.c commit c7601fb9ed41a6d63829b1f8b637f319e3bea462 Author: Nobuyoshi Nakada Date: Sat May 8 15:22:02 2021 +0900 [ruby/irb] Deal with different screen sizes https://github.com/ruby/irb/commit/7118b3322f M test/irb/test_cmd.rb commit de96ae9b717b51f8914f6f6916c3df0295364762 Author: Masataka Pocke Kuwabara Date: Sun May 2 17:50:46 2021 +0900 [ruby/irb] Dump ancestors' methods by ls command https://github.com/ruby/irb/commit/73edff287c M lib/irb/cmd/ls.rb M test/irb/test_cmd.rb commit 30d2d72663adfbce80ee122a2f6763eff6a7674e Author: Nobuyoshi Nakada Date: Sat May 8 11:40:20 2021 +0900 Shrink timev.rb iseq size M timev.rb commit 86b4c2fc3fb0ec815e212628f6708c5b777f523e Author: Burdette Lamar Date: Fri May 7 15:14:08 2021 -0500 What's Here for class Dir (#4472) What's Here for class Dir M dir.c A doc/time/zone_and_in.rdoc M timev.rb commit 111bfc934ccaea1bbfbefc3d798f9f545a4dc8ec Author: git Date: Sat May 8 01:22:52 2021 +0900 * 2021-05-08 [ci skip] M version.h commit 4337da377e5d2fcebf0da9600f6e09727ea9a624 Author: Burdette Lamar Date: Fri May 7 11:22:32 2021 -0500 What's Here for class File (#4460) What's Here for class File M file.c commit 40612d55c628cb80dc7cb2b98bad8d8cde9c1f75 Author: Nobuyoshi Nakada Date: Fri May 7 18:41:48 2021 +0900 Fixed shorten-64-to-32 errors when USE_COMBINATION_EXPLOSION_CHECK M regcomp.c M regexec.c commit ff69ef27b06eed1ba750e7d9cab8322f351ed245 Author: Yusuke Endoh Date: Fri Apr 30 18:54:46 2021 +0900 compile.c: Pass node instead of nd_line(node) to ADD_INSN* functions ... then, new_insn_core extracts nd_line(node). Also, if a macro "EXPERIMENTAL_ISEQ_NODE_ID" is defined, this changeset keeps nd_node_id(node) for each instruction. This is intended for TypeProf to identify what AST::Node corresponds to each instruction. This patch is originally authored by @yui-knk for showing which column a NoMethodError occurred. https://github.com/ruby/ruby/compare/master...yui-knk:feature/node_id Co-Authored-By: Yuichiro Kaneko M ast.c M compile.c M iseq.c M iseq.h commit 578e6416e71bcd5401bba63e9f3ef25a28258d9a Author: Peter Zhu Date: Thu May 6 15:51:47 2021 +0000 lldb: convert heap_page_obj_limit from a float to int M misc/lldb_cruby.py commit 550b02e4790c406450008e3bbbf28d8982cc0908 Author: git Date: Fri May 7 00:13:45 2021 +0900 * 2021-05-07 [ci skip] M version.h commit 0bbab1e5151c3396ebe544d09cad997cd9cb5e3b Author: Nobuyoshi Nakada Date: Fri May 7 00:04:36 2021 +0900 Protoized old pre-ANSI K&R style declarations and definitions M dln.c M eval_jump.c M gc.c M hash.c M include/ruby/thread_native.h M internal/gc.h M thread_pthread.h M vm_insnhelper.c M vm_method.c M vsnprintf.c commit 99644514db3768e4fd47d6ff9111091ab1a5a6d2 Author: Nobuyoshi Nakada Date: Thu May 6 23:53:26 2021 +0900 Conditionally used functions M gc.c commit b0b7751f3b94e7983d124e43102f76ff598caabd Author: Matt Valentine-House Date: Wed Apr 28 14:56:02 2021 +0100 lldb: teach rp about T_PAYLOAD M misc/lldb_cruby.py commit d1bd4e233cd4c06734173d532eb2215140b26357 Author: Matt Valentine-House Date: Tue Mar 30 13:36:58 2021 +0100 Store rb_classext_t next to RClass slots on the heap M class.c commit 8bbd3198068f5e8335ab01f0b29cdae225b25b5b Author: Matt Valentine-House Date: Tue Mar 30 13:34:14 2021 +0100 Allow newobj_of0 and newobj_slowpath to allocate into multiple heap slots M ext/objspace/objspace.c M gc.c M include/ruby/internal/value_type.h M internal/gc.h M vm_eval.c commit ddc29e29890f7f1b29effb84929e6856e45632ee Author: Nobuyoshi Nakada Date: Thu May 6 22:04:14 2021 +0900 net-http no longer requires stringio M spec/ruby/library/net/http/http/get_spec.rb M spec/ruby/library/net/http/httpresponse/read_body_spec.rb M spec/ruby/library/net/http/httpresponse/read_new_spec.rb M spec/ruby/library/net/http/httpresponse/shared/body.rb commit f2d6fa16e116cbb624ccc8df4cbc57422e236d46 Author: Hiroshi SHIBATA Date: Thu May 6 17:19:41 2021 +0900 Use assert_ractor for separating test processes M test/test_prime.rb commit 120b835fae2832ded4a02d3fcfc70749cad9d177 Author: Jeremy Evans Date: Mon May 3 08:38:54 2021 -0700 [ruby/timeout] Only run timeout_after hook on fiber scheduler if scheduler exists https://github.com/ruby/timeout/commit/4893cde0ed M lib/timeout.rb commit 44e8575ca6e7749b296366f8e7d8094e4cfd2196 Author: Jeremy Evans Date: Mon May 3 08:31:59 2021 -0700 [ruby/timeout] Avoid unnecessary object allocation Idea from nobu. https://github.com/ruby/timeout/commit/aecdaa23b3 M lib/timeout.rb commit 33b5e179a88e67f1ee12e2e8993121b2f445b54f Author: Jeremy Evans Date: Tue Apr 20 10:34:11 2021 -0700 [ruby/timeout] Make Timeout::Error#exception with multiple arguments not ignore arguments This makes: raise(Timeout::Error.new("hello"), "world") raise a TimeoutError instance with "world" as the message instead of "hello", for consistency with other Ruby exception classes. This required some internal changes to keep the tests passing. Fixes [Bug #17812] https://github.com/ruby/timeout/commit/952154dbf9 M lib/timeout.rb M test/test_timeout.rb commit a42b7de436cfceb0d6607651a3a7bf4fbd887416 Author: Gannon McGibbon Date: Wed Jan 20 20:39:21 2021 -0500 [ruby/strscan] Replace "iff" with "if and only if" (#18) iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. https://github.com/ruby/strscan/commit/066451c11e M ext/strscan/strscan.c commit 564ccd095a9d7fbe869031dbf666d61dadfdcb03 Author: Kenichi Kamiya Date: Wed Mar 31 14:56:28 2021 +0900 [ruby/strscan] Fix segmentation fault of `StringScanner#charpos` when `String#byteslice` returns non string value [Bug #17756] (#20) https://github.com/ruby/strscan/commit/92961cde2b M ext/strscan/strscan.c M test/strscan/test_stringscanner.rb commit 822eb945635974ba904393cd130071d34e4bdc12 Author: Hiroshi SHIBATA Date: Wed Apr 14 12:15:25 2021 +0900 Import from https://github.com/ruby/strscan/pull/19 * Use Gemfile instead of Gem::Specification#add_development_dependency. * Use pend instead of skip for test-unit. M ext/strscan/strscan.gemspec M test/strscan/test_ractor.rb commit 364044e0909692315bd6c2f0e1d968ede9c2beb8 Author: Kazuki Yamaguchi Date: Thu Apr 29 21:35:57 2021 +0900 [ruby/net-http] Do not require stringio It is not used in net/http library code since commit 15ccd0118c13 (r36473 in ruby svn trunk, 2012). require's in test suite are also cleaned up. https://github.com/ruby/net-http/commit/996d18a43f M lib/net/http.rb M test/net/http/test_http_request.rb commit 965719f5eb0e6dbb05a13cfe824fe82f9268e4d5 Author: Hiroshi SHIBATA Date: Thu May 6 15:24:49 2021 +0900 Fixed the file path for net-imap.gemspec M lib/net/imap/net-imap.gemspec commit 5de6f1ab4751f02670239ebe537e599c477dc4bf Author: Hiroshi SHIBATA Date: Thu May 6 14:16:41 2021 +0900 Move net-imap.gemspec to under the lib/net/imap directory. R100 lib/net/net-imap.gemspec lib/net/imap/net-imap.gemspec M tool/sync_default_gems.rb commit 5a02281fab4f2fc328007bd6238448c73b8d029d Author: nicholas a. evans Date: Wed May 5 15:01:35 2021 -0400 [ruby/net-imap] Many documentation improvements * updated obsoleted RFCs to current versions * linked most references to their RFCs * linked extension commands to their RFCs * removed unidiomatic `()` from instance method links * escaped `IMAP` in a few places * converted all response structs to explicit classes: this makes much nicer rdoc output than listing them all under "constants" * grouped flags constants into their own sections https://github.com/ruby/net-imap/commit/9cd562ac84 M lib/net/imap.rb M lib/net/imap/flags.rb M lib/net/imap/response_data.rb commit b0de2e7fe96bb689ac4ab6ccdd04fcf6a3b1d08e Author: nicholas a. evans Date: Wed May 5 13:15:52 2021 -0400 [ruby/net-imap] Move send_*_data into net/imap/command_data Partially implements #10. https://github.com/ruby/net-imap/commit/64d1080d63 M lib/net/imap.rb M lib/net/imap/command_data.rb commit deae61e939fee9e24bace3ee99334e841f663114 Author: nicholas a. evans Date: Tue May 4 15:33:21 2021 -0400 [ruby/net-imap] Move flags to net/imap/flags Partially implements #10. https://github.com/ruby/net-imap/commit/2a9afa83bf M lib/net/imap.rb A lib/net/imap/flags.rb commit 337c0e312bc4e8a13ee90b9d7b102664661cf9a7 Author: nicholas a. evans Date: Tue May 4 14:52:38 2021 -0400 [ruby/net-imap] Move UTF7 & datetime formatting to net/imap/data_encoding Partially implements #10. https://github.com/ruby/net-imap/commit/0d43c5e856 M lib/net/imap.rb A lib/net/imap/data_encoding.rb M test/net/imap/test_imap.rb A test/net/imap/test_imap_data_encoding.rb commit 4dc7b82427bafab4878f120931ef5b0988778b75 Author: nicholas a. evans Date: Mon May 3 17:18:43 2021 -0400 [ruby/net-imap] move command data formatters to net/imap/command_data Partially implements #10. https://github.com/ruby/net-imap/commit/24e929fdd2 M lib/net/imap.rb A lib/net/imap/command_data.rb commit affb51045cd38306ece58a6cd29f5b868a97dcfc Author: nicholas a. evans Date: Mon May 3 17:13:03 2021 -0400 [ruby/net-imap] move response data structs to net/imap/response_data Partially implements #10. https://github.com/ruby/net-imap/commit/746757b936 M lib/net/imap.rb A lib/net/imap/response_data.rb commit 395a2877364aff662ef0625039c34d85346bfd8b Author: nicholas a. evans Date: Mon May 3 17:07:36 2021 -0400 [ruby/net-imap] move ResponseParser to lib/net/imap/response_parser Partially implements #10. https://github.com/ruby/net-imap/commit/c2408aac9a M lib/net/imap.rb A lib/net/imap/response_parser.rb commit 2fc91da86c06405f836fb040a340c0f76a27f09f Author: nicholas a. evans Date: Wed Apr 28 17:43:34 2021 -0400 [ruby/net-imap] Clean up authenticators rdoc Added RFC links to all SASL mechanism specifications. https://github.com/ruby/net-imap/commit/53ff4b0c09 M lib/net/imap/authenticators.rb M lib/net/imap/authenticators/cram_md5.rb M lib/net/imap/authenticators/digest_md5.rb M lib/net/imap/authenticators/login.rb M lib/net/imap/authenticators/plain.rb commit 912f39b2c34103620c414d11bc4e61ca28018226 Author: nicholas a. evans Date: Tue Apr 27 17:49:22 2021 -0400 [ruby/net-imap] Update AUTH=PLAIN to be a little closer to RFC4616 * Add authzid support * must not contain NULL chars * improve rdoc https://github.com/ruby/net-imap/commit/a587fc71b7 M lib/net/imap/authenticators/plain.rb A test/net/imap/test_imap_authenticators.rb commit 331005812fc288fb27bef542ecfbb2c061d86999 Author: nicholas a. evans Date: Tue Apr 27 16:33:27 2021 -0400 [ruby/net-imap] Move each authenticator to its own file Also updates rdoc with SASL specifications and deprecations. Of these four, only `PLAIN` isn't deprecated! +@@authenticators+ was changed to a class instance var +@authenticators+. No one should have been using the class variable directly, so that should be fine. https://github.com/ruby/net-imap/commit/23f241b081 M lib/net/imap.rb A lib/net/imap/authenticators.rb A lib/net/imap/authenticators/cram_md5.rb A lib/net/imap/authenticators/digest_md5.rb A lib/net/imap/authenticators/login.rb A lib/net/imap/authenticators/plain.rb commit a7f7479872cc70678b5f8374347c509945c04e82 Author: Takashi Kokubun Date: Wed May 5 23:13:26 2021 -0700 [ruby/erb] Document that `<% #` doesn't work [Bug #17846] https://github.com/ruby/erb/commit/b58b188028fbb403f75d48d62717373fc0908f7a M lib/erb.rb commit f941dd5a9f80616fc1461625bead4774da8ab9ae Author: Nobuyoshi Nakada Date: Thu May 6 12:09:57 2021 +0900 Reuse sysconf result M gc.c commit 0dd9ac7721fe2754670b7b30aaed33e95f6ca7d1 Author: Nobuyoshi Nakada Date: Thu May 6 11:38:14 2021 +0900 Revised PAGE_MAX_SIZE case M gc.c commit a1fdc5f71cf0ad8254282e34b2a8b7dce11722ba Author: Nobuyoshi Nakada Date: Thu May 6 11:15:24 2021 +0900 Check only whether PAGE_SIZE is compile-time const M configure.ac commit 921d8ac99d264fec26e15b75ea4fbe024aef281b Author: Nobuyoshi Nakada Date: Thu May 6 09:39:47 2021 +0900 Get rid of including sys/user.h on macOS LIST_HEAD in ccan/list conflicts with sys/queue.h. ``` ./ccan/list/list.h:75:9: warning: 'LIST_HEAD' macro redefined [-Wmacro-redefined] ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/queue.h:465:9: note: previous definition is here ^ ``` M configure.ac commit b655a3fa5b8d1a30565e19425c28a1cfd8631165 Author: Peter Zhu Date: Wed May 5 21:06:56 2021 +0000 Fall back to sysconf to determine page size during runtime On some platforms the PAGE_SIZE macro does not exist so we can fall back to `sysconf` to determine the page size at runtime. M gc.c commit 23a98237df28ad01d17b163eb650dfbd321b13ba Author: Peter Zhu Date: Wed May 5 16:20:40 2021 +0000 Fix PAGE_SIZE macro detection in autoconf The current fix for PAGE_SIZE macro detection in autoconf does not work correctly. I see the following output with running configure on Linux: ``` checking PAGE_SIZE is defined... no ``` Linux has PAGE_SIZE macro. This is happening because the macro exists in sys/user.h and not in the malloc headers. M configure.ac M gc.c commit 192150051144c0242ee44df26952dfe31b83cac2 Author: Nobuyoshi Nakada Date: Thu May 6 00:29:20 2021 +0900 PAGE_SIZE is used only when mmap is available M gc.c commit d2afb03287f0fab26af2f9dd7311f97e7a89ada9 Author: git Date: Thu May 6 00:03:00 2021 +0900 * 2021-05-06 [ci skip] M version.h commit 3d5b6ddff8def49e59fb9a9ddd28a653498ae861 Author: Nobuyoshi Nakada Date: Wed May 5 23:54:36 2021 +0900 Fix compilation on M1 Mac As PAGE_SIZE may not be a preprocessor constant, dispatch at runtime in that case. M configure.ac M gc.c commit e71c9ca529f1dce2c3816653cd974ce786eea7d8 Author: Yusuke Endoh Date: Wed May 5 12:58:12 2021 +0900 configure.ac: check if __builtin_expect is available or not include/ruby/internal/has/builtin.h uses HAVE_BUILTIN___BUILTIN_EXPECT for icc but previously it was not defined. This is a follow up of 8b32de2ec9b72d4c9ede19b70ec9497718fb25a6 and this will fix the following failures: http://rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20210505T030003Z.fail.html.gz ``` 1) Failure: TestMkmf::TestConvertible#test_typeof_builtin [/home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby/test/mkmf/test_convertible.rb:9]: convertible_int: checking for convertible type of short... -------------------- short -------------------- convertible_int: checking for convertible type of int... -------------------- int -------------------- convertible_int: checking for convertible type of long... -------------------- long -------------------- convertible_int: checking for convertible type of signed short... -------------------- failed "icc -std=gnu99 -o conftest -I. -I/home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby/.ext/include/x86_64-linux -I/home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby/include -I./test -O3 -ggdb -Wall -Wextra -Wdeprecated-declarations -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-unused-parameter -Wunused-variable -diag-disable=175,188,1684,2259,2312 -Wextra-tokens -Wundef conftest.c -L. -L/home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby -Wl,-rpath,/home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/chkbuild/chkbuild/tmp/build/20210505T030003Z/lib -L/home/chkbuild/chkbuild/tmp/build/20210505T030003Z/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -lm -lc" In file included from /home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby/include/ruby/defines.h(72), from /home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby/include/ruby/ruby.h(23), from /home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby/include/ruby.h(39), from conftest.c(1): /home/chkbuild/chkbuild/tmp/build/20210505T030003Z/ruby/include/ruby/backward/2/assume.h(34): warning #193: zero used for undefined preprocessing identifier "HAVE_BUILTIN___BUILTIN_EXPECT" #if RBIMPL_HAS_BUILTIN(__builtin_expect) ... ``` M configure.ac commit 5bde2e61db8148cd5a7974f640aee38be60bf368 Author: Nobuyoshi Nakada Date: Wed May 5 09:41:07 2021 +0900 Workaround for gcc-4 bug False positive `-Wundef` in `#elif` after `#if defined`. M configure.ac commit 44cff500a0ad565952e84935bc98523c36a91b06 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Wed May 5 07:45:23 2021 +0900 `_MSC_VER` may not be defined M win32/win32.c commit 46dd295a53640a5ccf21688a5539ac50e17008f6 Author: Peter Zhu Date: Tue May 4 23:57:24 2021 +0000 Fix compilation error in thread_win32.c USE_WIN32_MUTEX flag may not be defined. M thread_win32.c commit 3d2e7e2ab5b08625efaa4d1b2b3b127d87e8dad5 Author: Peter Zhu Date: Tue May 4 21:33:30 2021 +0000 Fix compilation errors in FreeBSD __FreeBSD_version is defined in sys/param.h. M random.c commit 45bcab3c84c406dc4d0a1e34aa858aa925a71c97 Author: Peter Zhu Date: Tue May 4 21:31:29 2021 +0000 Fix compilation error in mingw __LITTLE_ENDIAN is not defined. M siphash.c commit b57c7be6a98a4739569f5ddc45095c8c59fa7512 Author: Peter Zhu Date: Tue May 4 21:29:20 2021 +0000 Fix compilation errors for c99 ENUM_OVER_INT is sometimes not defined. Use #ifdef instead if #if. M include/ruby/internal/fl_type.h commit 370949aad60e992c26037241c07489c056554ea3 Author: MSP-Greg Date: Tue May 4 10:31:19 2021 -0500 test/net/ftp/test_ftp.rb - fix intermittent MinGW failure Fixes intermittent error as below: [242/838] 5316=test_ftp # terminated with exception (report_on_exception is true): D:/a/ruby/ruby/src/tool/lib/minitest/unit.rb:199:in `assert': Expected # to be nil. (MiniTest::Assertion) from D:/a/ruby/ruby/src/tool/lib/test/unit/core_assertions.rb:504:in `assert' from D:/a/ruby/ruby/src/tool/lib/minitest/unit.rb:299:in `assert_nil' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:430:in `ensure in block in test_list_read_timeout_exceeded' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:431:in `block in test_list_read_timeout_exceeded' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:2539:in `block in create_ftp_server' D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:426:in `write': An existing connection was forcibly closed by the remote host. (Errno::ECONNRESET) from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:426:in `print' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:426:in `block (2 levels) in test_list_read_timeout_exceeded' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:420:in `each' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:420:in `each_with_index' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:420:in `block in test_list_read_timeout_exceeded' from D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:2539:in `block in create_ftp_server' M test/net/ftp/test_ftp.rb commit fd3a20348edfad3903eac6b5d2f1ccd03830429f Author: Burdette Lamar Date: Tue May 4 13:59:33 2021 -0500 What's Here for class IO (#4440) * What's Here for class IO M io.c commit c809a8cae8c2c8e64fd2d1b0fe8571faf443b8cd Author: Jeremy Evans Date: Tue May 4 11:10:39 2021 -0700 Fix documentation for IO#unget{byte,c} Fixes [Bug #14400] M io.c commit 14c932e52d5591370521177f6ff6ae1ec3cecd3e Author: git Date: Wed May 5 00:46:40 2021 +0900 * 2021-05-05 [ci skip] M version.h commit 3ca291c9ae1b6de09cce76e17aa3f08e92e1a2bf Author: Peter Zhu Date: Tue May 4 13:37:02 2021 +0000 Correctly update array capacity after realloc Reallocating to a smaller size in the transient heap may result in no change in the actual capacity but the capacity of the array is still updated to the smaller value. This commit changes `ary_heap_realloc` to return the new capacity which can be used by the caller to correctly update the capacity. M array.c commit d09988502ed75cae65b787865465361b675cf1ee Author: Benoit Daloze Date: Thu Apr 29 15:30:31 2021 +0200 Fix -Wundef warnings for RBIMPL_HAS_BUILTIN * See [Feature #17752] * Defining explicitly to 0 seems the best solution, see https://github.com/ruby/ruby/pull/4428 * For example: ./include/ruby/internal/has/builtin.h:49:33: error: "RBIMPL_HAS_BUILTIN___builtin_assume" is not defined, evaluates to 0 [-Werror=undef] 49 | # define RBIMPL_HAS_BUILTIN(_) (RBIMPL_HAS_BUILTIN_ ## _) | ^~~~~~~~~~~~~~~~~~~ ./include/ruby/internal/assume.h:75:7: note: in expansion of macro ‘RBIMPL_HAS_BUILTIN’ 75 | #elif RBIMPL_HAS_BUILTIN(__builtin_assume) | ^~~~~~~~~~~~~~~~~~ M include/ruby/internal/has/builtin.h commit f108bc32af99b0802614c680e43013d828a68d29 Author: Benoit Daloze Date: Thu Apr 29 15:17:49 2021 +0200 HAVE_* macros should not be defined with value 0 * See [Feature #17752] M include/ruby/backward/2/attributes.h M include/ruby/ruby.h commit 0764d323d8908c1682f3ab654c48783438a88a54 Author: Benoit Daloze Date: Thu Apr 29 15:12:44 2021 +0200 Fix -Wundef warnings for patterns `#if HAVE` * See [Feature #17752] * Using this to detect them: git grep -P 'if\s+HAVE' | grep -Pv 'HAVE_LONG_LONG|/ChangeLog|HAVE_TYPEOF' M dir.c M ext/bigdecimal/missing.h M ext/psych/yaml/yaml_private.h M gc.c M random.c M signal.c M siphash.c M strftime.c M thread_pthread.c commit fa7a712d460dc904f8a836bb22b54d457d95ba8e Author: Benoit Daloze Date: Thu Apr 29 15:03:46 2021 +0200 Fix -Wundef warnings for HAVE_RB_EXT_RACTOR_SAFE * See [Feature #17752] M ext/cgi/escape/escape.c M ext/monitor/monitor.c M ext/racc/cparse/cparse.c M ext/zlib/zlib.c commit 59a92a84c8145c3dffd9f2a0e570dbc61211c86c Author: Benoit Daloze Date: Thu Apr 29 15:02:19 2021 +0200 Fix -Wundef warnings in core extensions * See [Feature #17752] M ext/nkf/nkf-utf8/nkf.h M ext/openssl/ossl_pkey_ec.c commit f1dcc3da5d89b0a03cbc280e7eafb845d63a1f6a Author: Benoit Daloze Date: Thu Apr 29 14:28:08 2021 +0200 Add RBIMPL_RVALUE_EMBED_LEN_MAX neeeded by internal/bignum.h * It evaluated to 0 before, revealed by -Wundef * See [Feature #17752] Co-authored-by: xtkoba (Tee KOBAYASHI) M include/ruby/internal/core/rbasic.h M internal/bignum.h commit 68d6bd0873557c12bec6f8e0f8db622f1499d8a7 Author: Benoit Daloze Date: Thu Apr 29 14:31:05 2021 +0200 Fix trivial -Wundef warnings * See [Feature #17752] Co-authored-by: xtkoba (Tee KOBAYASHI) M builtin.c M builtin.h M dir.c M eval_intern.h M gc.c M hash.c M include/ruby/internal/attr/const.h M memory_view.c M ractor_core.h M ruby.c M template/sizes.c.tmpl M thread_pthread.h M tool/mk_builtin_loader.rb M vm.c M vm_core.h M vm_exec.c commit 229cbeba8c928dc6ee5eb21951e00c43a6e5225c Author: Benoit Daloze Date: Thu Apr 29 14:29:57 2021 +0200 Fix -Wundef warnings in coroutine/*/Context.h * See [Feature #17752] Co-authored-by: xtkoba (Tee KOBAYASHI) M coroutine/copy/Context.h M coroutine/ucontext/Context.h commit 9e2483ee0b2cee0f8f8cc0b0fdfbe8abef462c00 Author: Benoit Daloze Date: Thu Apr 29 13:15:19 2021 +0200 vm_dump.c: rename HAVE_BACKTRACE to USE_BACKTRACE * HAVE_ macros should only be defined or undefined, not used for their value. * See [Feature #17752] Co-authored-by: xtkoba (Tee KOBAYASHI) M vm_dump.c commit 8b32de2ec9b72d4c9ede19b70ec9497718fb25a6 Author: Benoit Daloze Date: Thu Apr 29 14:14:52 2021 +0200 Add -Werror=undef to default warnflags for core * See [Feature #17752] * For external extensions it's transformed to just warn and not error (-Wundef) like other other -Werror in warnflags. M configure.ac commit 113ddf4d1d112ddd4611df654e6131ef73eeb77b Author: Yusuke Endoh Date: Tue May 4 19:03:26 2021 +0900 test/net/imap/test_imap.rb: wait a moment before socket is closed to try to suppress a failure on Solaris. This is the same as 19504d115dc09558255fcb5213f80dd8454ab189 http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20210504T070007Z.fail.html.gz ``` 1) Error: IMAPTest#test_idle_done_not_during_idle: Errno::EINVAL: Invalid argument - connect(2) for [::1]:33839 /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:1214:in `__connect_nonblock' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:1214:in `connect_nonblock' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:56:in `connect_internal' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:137:in `connect' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:642:in `block in tcp' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:227:in `each' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:227:in `foreach' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/.ext/common/socket.rb:632:in `tcp' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/lib/net/imap.rb:1223:in `tcp_socket' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/lib/net/imap.rb:1180:in `initialize' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/test/net/imap/test_imap.rb:289:in `new' /export/home/chkbuild/chkbuild-sunc/tmp/build/20210504T070007Z/ruby/test/net/imap/test_imap.rb:289:in `test_idle_done_not_during_idle' ``` M test/net/imap/test_imap.rb commit ef406a6c215d70139364c62a2b4c94dc65e101a4 Author: Nobuyoshi Nakada Date: Tue May 4 10:08:23 2021 +0900 Suppress maybe-uninitialized warning by mingw gcc 11 M thread_win32.c commit 7a3dd05e21078ccc62c70a5047fcf6c128754fc7 Author: MSP-Greg Date: Wed Apr 28 12:26:01 2021 -0500 spec/ruby/library/net/http/http/fixtures/http_server.rb host naming for Windows M spec/ruby/library/net/http/http/fixtures/http_server.rb commit 5a42ef496a473da6a380539d3d944880c2410bc3 Author: MSP-Greg Date: Wed Apr 28 10:55:55 2021 -0500 Fix test/net/http/test_https.rb host naming for Windows M test/net/http/test_https.rb commit 9a6226c61ea8a8ae7b3516b693a0d6e73526a99f Author: Aaron Patterson Date: Mon Feb 22 16:18:10 2021 -0800 Eagerly allocate instance variable tables along with object This allows us to allocate the right size for the object in advance, meaning that we don't have to pay the cost of ivar table extension later. The idea is that if an object type ever became "extended" at some point, then it is very likely it will become extended again. So we may as well allocate the ivar table up front. A benchmark/ivar_extend.yml M gc.c M object.c commit a6ff1dc6f98b29661fd1147d84bc3b928bed618f Author: git Date: Tue May 4 01:00:57 2021 +0900 * 2021-05-04 [ci skip] M version.h commit 14ee2635054860e94e402c9f1f5fd536c886b3e2 Author: Nobuyoshi Nakada Date: Tue May 4 00:59:29 2021 +0900 Workaround failures on Windows M test/net/http/test_https.rb commit a029644845249198d3cdafad4fe5db1e7fdfd770 Author: git Date: Mon May 3 08:17:35 2021 +0900 * 2021-05-03 [ci skip] M version.h commit 511b2f300f996f4f4ea3420953eb3ded8e575016 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Sat May 1 22:26:55 2021 +0900 Get rid of misleading indentation M util.c commit 121fa24a3451b45c41ac0a661b64e9fc8600e589 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Fri Apr 30 21:35:15 2021 +0900 Adjust struct member offset for i386 Cygwin Fixes [Bug #17606] M vm_core.h commit f64d7674f6c03834754ec92054300eae7bac3015 Author: Adam Daniels Date: Tue Mar 2 12:33:20 2021 -0500 Fix example for custom warn method Regexp has a match? method. [ci skip] M error.c commit a867d55279971a45188f1d64c9f94008c450eea0 Author: git Date: Sat May 1 07:46:35 2021 +0900 * 2021-05-01 [ci skip] M version.h commit a9824a3113ee5342e7ac90387de9f3b9d5ec9e0a Author: Nick Kelley Date: Fri Apr 30 15:12:34 2021 -0700 Correct documentation example on Hash#dig Fixes [Misc #17842]. The current documentation suggests that: {foo: {bar: {baz: 2}}}.dig(:foo, :bar) # => {:bar=>{:baz=>2}} when it should be: {foo: {bar: {baz: 2}}}.dig(:foo, :bar) # => {:baz=>2} M hash.c commit 1f255adda93bd7958afc7405026326f630ba4748 Author: xtkoba <69125751+xtkoba@users.noreply.github.com> Date: Fri Apr 30 10:09:32 2021 +0900 Silence GCC 11 warnings ``` ../strftime.c: In function 'rb_strftime_with_timespec': ../strftime.c:392:39: warning: comparison is always false due to limited range of data type [-Wtype-limits] 392 | if (vtm->wday < 0 || vtm->wday > 6) | ^ ../strftime.c:403:39: warning: comparison is always false due to limited range of data type [-Wtype-limits] 403 | if (vtm->wday < 0 || vtm->wday > 6) | ^ ``` M strftime.c commit b2c54f5395ff569e40d36b0f7b344e8323ef83fc Author: ima1zumi Date: Mon Apr 26 22:47:06 2021 +0900 [ruby/irb] Need reline >= 0.1.6 irb 1.3.5 need reline >= 0.1.6 because irb use `Reline::IOGate.in_pasting?`. This method defined after reline 0.1.6. fix #228. https://github.com/ruby/irb/commit/6b7b8fc324 M lib/irb/irb.gemspec commit 6ee55455a88d0f3542497b429d496abaf01fd353 Author: Burdette Lamar Date: Sun Apr 25 15:51:31 2021 -0500 Update Time documentation A doc/time/in.rdoc A doc/time/mon-min.rdoc A doc/time/msec.rdoc A doc/time/nsec.rdoc A doc/time/sec.rdoc A doc/time/sec_i.rdoc A doc/time/usec.rdoc A doc/time/year.rdoc M time.c M timev.rb commit 5a451c4b1f7f7bbd6607cb3f32f3ddd98e064971 Author: Matt Valentine-House Date: Thu Apr 29 17:02:02 2021 +0100 lldb: Warn when attempting to dump invalid pages M misc/lldb_cruby.py commit dfca24af82e7d06adcb57f625573b0e558d9e5dc Author: git Date: Fri Apr 30 01:40:10 2021 +0900 * 2021-04-30 [ci skip] M version.h commit 19504d115dc09558255fcb5213f80dd8454ab189 Author: Yusuke Endoh Date: Fri Apr 30 01:36:04 2021 +0900 test/net/smtp/test_smtp.rb: wait a moment before socket is closed On Solaris, Socket.tcp seems to fail with EINVAL if the server closes the connection immediately after accpeted. I think this is a bug of Socket.tcp, but seems difficult to fix soon. http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20210429T100007Z.fail.html.gz ``` 1) Failure: Net::TestSMTP#test_eof_error_backtrace [/export/home/chkbuild/chkbuild-sunc/tmp/build/20210429T100007Z/ruby/test/net/smtp/test_smtp.rb:193]: [ruby-core:78550] [Bug #13018]. [EOFError] exception expected, not #. ``` M test/net/smtp/test_smtp.rb commit b0b5a4e86ef2740c427f9356a4173a1debf4f79c Author: git Date: Thu Apr 29 03:50:15 2021 +0900 * 2021-04-29 [ci skip] M version.h commit 9f8a50723f8a84b3e4755b418570148f422d1b28 Author: Takashi Kokubun Date: Wed Apr 28 11:49:55 2021 -0700 Specify -c to emit pch with clang (#4423) [Bug #17836] M mjit_worker.c commit 96fd1e1f22ddea943adf5e222beb8a00ae48a70f Author: Nobuyoshi Nakada Date: Wed Apr 28 18:16:02 2021 +0900 Removed unused macro HAVE_CONFIG_H It seems like a vestige of ext/md5. M ext/digest/bubblebabble/extconf.rb M ext/digest/md5/extconf.rb M ext/digest/rmd160/extconf.rb M ext/digest/sha1/extconf.rb M ext/digest/sha2/extconf.rb commit 795fb51f80e0cda19d39480bdaa26ecdab3557a9 Author: Nobuyoshi Nakada Date: Wed Apr 28 18:40:45 2021 +0900 NDEBUG is ignored since Ruby 3.0 M ext/digest/rmd160/extconf.rb commit f985dafee7548faad2b35efeda5e844a8e13d336 Author: Hiroshi SHIBATA Date: Wed Apr 28 17:58:04 2021 +0900 Guard for < Ruby 3.0 M test/ostruct/test_ostruct.rb commit 7f1323c3bd7d957740bbc5d2c7c0e1c9f167e501 Author: Marc-Andre Lafortune Date: Wed Sep 2 16:05:59 2020 -0400 [ruby/ostruct] Add compatibility for to_h with block in Ruby 2.5 https://github.com/ruby/ostruct/commit/da45de5068 M lib/ostruct.rb commit 37b445eaeb9fdb5c717a32253d0d00c50a650b93 Author: Marc-Andre Lafortune Date: Wed Sep 30 18:21:27 2020 -0400 [ruby/ostruct] Compatibility with Ruby 2.5 https://github.com/ruby/ostruct/commit/ecd9fafdf8 M lib/ostruct.rb commit 2afbe7113aceb5e3e1c63fe2778c875e975bacf3 Author: Alexander Popov Date: Thu Mar 18 00:24:10 2021 +0300 [ruby/optparse] Add EditorConfig file More info here: https://editorconfig.org/ For example, `ruby/ruby` has it: https://github.com/ruby/ruby/blob/05ebaee/.editorconfig Also fix some offenses. https://github.com/ruby/optparse/commit/29402e7e0e M misc/rb_optparse.bash M misc/rb_optparse.zsh M test/optparse/test_acceptable.rb commit 908785ef6d4f8503a027f5ba829f8acf394d4eda Author: Ryuta Kamizono Date: Mon Apr 26 03:12:36 2021 +0900 [ruby/net-imap] Fix typo intentionaly -> intentionally [ci skip] https://github.com/ruby/net-imap/commit/4057c662e7 M lib/net/imap.rb commit 0296a64450019bf0d2c5b342a1d988ca3ace3d66 Author: Jeremy Evans Date: Tue Oct 27 14:48:25 2020 -0700 [ruby/net-http] Initialize OpenSSL early before creating TCPSocket OpenSSL make take some time to initialize, and it would be best to take that time before connecting instead of after. From joshc on Redmine. Fixes Ruby Bug #9459 https://github.com/ruby/net-http/commit/14e09fba24 M lib/net/http.rb commit 1229ad0528d28e38f031f1301e1c5331cfd03a90 Author: Jean Boussier Date: Thu Mar 18 22:05:06 2021 +0100 [ruby/net-http] Fix the regexp used to clean the host Introduced in https://github.com/ruby/ruby/commit/c1652035644 `/s` marks the regexp as encoded with Windows-31J which makes little sense. Nurse thinks the intent was to use `/m` for a multi-line regexp. https://github.com/ruby/net-http/commit/6c15342cdf M lib/net/http/generic_request.rb commit 842f00f45212019a3b07f8d8dac269d35beb9efa Author: Lukas Eipert Date: Wed Dec 30 21:24:16 2020 +0100 [ruby/net-http] Decode user and password from env configured proxy If someone sets an env variable defining a http_proxy, containing a username / password with percent-encoded characters, then the resulting base64 encoded auth header will be wrong. For example, suppose a username is `Y\X` and the password is `R%S] ?X`. Properly URL encoded the proxy url would be: http://Y%5CX:R%25S%5D%20%3FX@proxy.example:8000 The resulting proxy auth header should be: `WVxYOlIlU10gP1g=`, but the getters defined by ruby StdLib `URI` return a username `Y%5CX` and password `R%25S%5D%20%3FX`, resulting in `WSU1Q1g6UiUyNVMlNUQlMjAlM0ZY`. As a result the proxy will deny the request. Please note that this is my first contribution to the ruby ecosystem, to standard lib especially and I am not a ruby developer. References: - https://gitlab.com/gitlab-org/gitlab/-/issues/289836 - https://bugs.ruby-lang.org/projects/ruby-master/repository/trunk/revisions/58461 - https://bugs.ruby-lang.org/issues/17542 https://github.com/ruby/net-http/commit/e57d4f38aa M lib/net/http.rb M test/net/http/test_http.rb commit 8a2b7b79ee8a1ba487c0b5064c0730b98f5ba438 Author: mohamed Date: Wed Jan 13 14:03:14 2021 -0800 [ruby/net-http] Replace Timeout.timeout in Net:HTTP#connect Use Socket.tcp's connect_timeout option instead https://github.com/ruby/net-http/commit/753cae3bbc M lib/net/http.rb commit e22626f08e17c7a1f74b4e31c180d57da7865f4a Author: Tom Freudenberg Date: Wed Mar 10 07:35:43 2021 +0100 [ruby/net-smtp] mod: bump to a new VERSION that could be checked for testings >0.2.1 https://github.com/ruby/net-smtp/commit/8f2c9323e2 M lib/net/smtp.rb commit eebecdf1c4c631bcccd39fb5c08311ea4e632699 Author: Hiroshi SHIBATA Date: Mon Dec 28 12:32:21 2020 +0900 [ruby/net-smtp] Removed needless files from Gem::Specification#files https://github.com/ruby/net-smtp/commit/69bba6b125 M lib/net/net-smtp.gemspec commit ff931d03366e7d07d4974d4bff51128ddbc5e1d6 Author: mohamed Date: Mon Feb 15 09:36:50 2021 -0800 [ruby/net-smtp] Replace Timeout.timeout with socket timeout Timeout.timeout is inefficient since it spins up a new thread for each invocation, use Socket.tcp's connect_timeout option instead https://github.com/ruby/net-smtp/commit/6ae4a59f05 M lib/net/smtp.rb commit 4c8cce5b8a5eef73c08d26e17f6d0b55772131d6 Author: Tom Freudenberg Date: Mon Mar 8 18:03:15 2021 +0100 [ruby/net-smtp] Net::SMTP.start() and #start() accepts ssl_context_params keyword argument Additional params are passed to OpenSSL::SSL::SSLContext#set_params. For example, `Net::SMTP#start(ssl_context_params: { cert_store: my_store, timeout: 123 })` calls `set_params({ cert_store: my_store, timeout: 123 })`. https://github.com/ruby/net-smtp/commit/4213389c21 M lib/net/smtp.rb commit 734557498f2e5e135605945d60a56bab256de769 Author: Yusuke Endoh Date: Wed Apr 28 09:10:58 2021 +0900 test/net/ftp/test_ftp.rb: Use RubyVM::JIT instead of RubyVM::MJIT M test/net/ftp/test_ftp.rb commit 8e2ac2140d1cd9c163c1556df58c020dc22ab269 Author: Yusuke Endoh Date: Wed Apr 28 03:12:48 2021 +0900 test/net/ftp/test_ftp.rb: reduce the size of a long response "9" * 999999999 (about 1 GB) was too large for some CI servers. This commit changes the size to 999999 (about 1 MB). http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20210427T141707Z.fail.html.gz http://rubyci.s3.amazonaws.com/raspbian10-aarch64/ruby-master/log/20210427T145408Z.fail.html.gz M test/net/ftp/test_ftp.rb commit fe11031b677f301fa011202f3d27e8eb73064264 Author: Yusuke Endoh Date: Wed Apr 28 02:27:58 2021 +0900 test/net/ftp/test_ftp.rb: remove unused variable M test/net/ftp/test_ftp.rb commit 99eebf8260f2e6644333c795d200fef215f0006e Author: Yusuke Endoh Date: Wed Apr 28 02:11:32 2021 +0900 test/ruby/test_fiber.rb: reduce the count of object creation to cause GC ... on Solaris. This is the same as 547887138f19959f649b1c0dbcde5659ae3878ed. http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20210427T160003Z.fail.html.gz ``` [ 7667/20965] TestFiber#test_fork_from_fiber/export/home/users/chkbuild/cb-gcc/tmp/build/20210427T160003Z/ruby/test/ruby/test_fiber.rb:397:in `transfer': can't alloc machine stack to fiber (1 x 139264 bytes): Not enough space (FiberError) from /export/home/users/chkbuild/cb-gcc/tmp/build/20210427T160003Z/ruby/test/ruby/test_fiber.rb:397:in `block (6 levels) in test_fork_from_fiber' from /export/home/users/chkbuild/cb-gcc/tmp/build/20210427T160003Z/ruby/test/ruby/test_fiber.rb:396:in `times' from /export/home/users/chkbuild/cb-gcc/tmp/build/20210427T160003Z/ruby/test/ruby/test_fiber.rb:396:in `block (5 levels) in test_fork_from_fiber' from /export/home/users/chkbuild/cb-gcc/tmp/build/20210427T160003Z/ruby/test/ruby/test_fiber.rb:392:in `fork' from /export/home/users/chkbuild/cb-gcc/tmp/build/20210427T160003Z/ruby/test/ruby/test_fiber.rb:392:in `block (4 levels) in test_fork_from_fiber' = 0.88 s ... 1) Failure: TestFiber#test_fork_from_fiber [/export/home/users/chkbuild/cb-gcc/tmp/build/20210427T160003Z/ruby/test/ruby/test_fiber.rb:409]: [ruby-core:41456]. <0> expected but was <1>. ``` M test/ruby/test_fiber.rb commit 72eacd739d9bbbf1ddfd9ff2c3ce6bf4bb23b3b3 Author: git Date: Wed Apr 28 01:47:16 2021 +0900 * 2021-04-28 [ci skip] M version.h commit 3a3b19b2bba49e5d6f1cf13764eb6dd701397be9 Author: Benoit Daloze Date: Tue Apr 27 18:42:50 2021 +0200 Fix Monitor to lock per Fiber, like Mutex [Bug #17827] M ext/monitor/monitor.c M test/monitor/test_monitor.rb commit 1c1c91535c4f8ebc2d1ccfb63076632d53604401 Author: Matt Valentine-House Date: Tue Apr 27 12:21:24 2021 +0100 lldb: highlight the slot when using dump_page_rvalue M misc/lldb_cruby.py commit f64bb9fc848814c3ad1f559fc3e1e0043a905b72 Author: Matt Valentine-House Date: Tue Apr 27 12:17:55 2021 +0100 lldb: dump_page_rvalue - dump a heap page containing an RVALUE rather than having to do this in a two step process: 1. heap_page obj 2. dump_page $2 (or whatever lldb variable heap_page set) we can now just dump_page_rvalue obj M misc/lldb_cruby.py commit c752a35816c64c0eef3324a860ad4a535fb8ff2b Author: Matt Valentine-House Date: Tue Apr 27 12:13:29 2021 +0100 lldb: Add Freelist Index to dump_page output M misc/lldb_cruby.py commit 1b2abb6590a653cb7b31d73c42edbaf2d0617b27 Author: Gannon McGibbon Date: Wed Jan 20 20:09:33 2021 -0500 [ruby/net-ftp] Replace "iff" with "if and only if" iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. https://github.com/ruby/net-ftp/commit/e920473618 M lib/net/ftp.rb commit 2670509ebba5ba31a5bf34cf906943075446e005 Author: Shugo Maeda Date: Wed Apr 21 10:10:51 2021 +0900 [ruby/net-ftp] Add test cases https://github.com/ruby/net-ftp/commit/865232bb2a M test/net/ftp/test_ftp.rb commit 4ae27d8075b2d138d13cb2b112f0ee50934b3017 Author: Shugo Maeda Date: Wed Apr 21 09:43:39 2021 +0900 [ruby/net-ftp] Reduce resource cosumption of Net::FTP::TIME_PARSER Reported by Alexandr Savca as a DoS vulnerability, but Net::FTP is a client library and the impact of the issue is low, so I have decided to fix it as a normal issue. Based on patch by nobu. https://github.com/ruby/net-ftp/commit/a93af636f8 M lib/net/ftp.rb M test/net/ftp/test_ftp.rb commit 990baec41174a0b4cf7e285cf3185b4ab444437e Author: Jeremy Evans Date: Thu Feb 25 11:15:48 2021 -0800 [ruby/net-ftp] Close the passive connection data socket if there is an error setting up the transfer Previously, the connection leaked in this case. This uses begin/ensure and checking for an error in the ensure block. An alternative approach would be to not even perform the connection until after the RETR (or other) command has been sent. However, I'm not sure all FTP servers support that. The current behavior is: * Send (PASV/EPSV) * Connect to the host/port returned in 227/229 reply * Send (RETR/other command) Changing it to connect after the RETR could break things. FTP servers might expect that the client has already connected before sending the RETR. The alternative approach is more likely to introduce backwards compatibility issues, compared to the begin/ensure approach taken here. Fixes Ruby Bug 17027 https://github.com/ruby/net-ftp/commit/6e8535f076 M lib/net/ftp.rb M test/net/ftp/test_ftp.rb commit a86c6cb34df0c44973efe6578ba1cd9150af22cf Author: mohamed Date: Mon Feb 15 10:25:59 2021 -0800 [ruby/net-ftp] Replace Timeout.timeout with socket timeout Timeout.timeout is inefficient since it spins up a new thread for each invocation, use Socket.tcp's connect_timeout option instead when we aren't using SOCKS (we can't replace Timeout.timeout for SOCKS yet since SOCKSSocket doesn't have a connect_timeout option). https://github.com/ruby/net-ftp/commit/d65910132f M lib/net/ftp.rb commit fb819d93316b4d17543a491752ec3a2984c69d70 Author: Hiroshi SHIBATA Date: Tue Apr 27 21:17:43 2021 +0900 [ruby/net-ftp] Re-apply 827e471d438fdec1ae329afb5912b8e06d534823 https://github.com/ruby/net-ftp/commit/3ca80368c4 M test/net/ftp/test_ftp.rb commit ac739f42eb85c86efe7a777f5ac6ef9c6cac0011 Author: Hiroshi SHIBATA Date: Tue Apr 27 21:06:08 2021 +0900 [ruby/matrix] Guard for < Ruby 3.0 https://github.com/ruby/matrix/commit/1ef660c627 M test/matrix/test_matrix.rb commit 3af2e8927a50fdb8fda72cf695be6c38aea63257 Author: Marc-Andre Lafortune Date: Thu Jan 21 13:23:10 2021 -0500 [ruby/matrix] v0.4.1 https://github.com/ruby/matrix/commit/f7c9981907 M lib/matrix/version.rb commit c57ba9b9578b82d1fb88e460b6b4a964aa69bdb0 Author: Marc-Andre Lafortune Date: Fri Jan 15 22:29:35 2021 -0500 [ruby/matrix] v0.4.0 https://github.com/ruby/matrix/commit/baea4b90d4 M lib/matrix/version.rb commit acf599e67ccc3d667d457f22479bcdcb5421fe92 Author: Hiroshi SHIBATA Date: Mon Feb 15 18:53:06 2021 +0900 [ruby/matrix] Use Gemfile instead of Gem::Specification#add_development_dependency. https://github.com/ruby/matrix/commit/1381fde5c1 M lib/matrix/matrix.gemspec commit 22d36c463f5db313a25431150f21c610f4bd6a39 Author: Lars Kanis Date: Fri Dec 13 10:38:44 2019 +0100 [ruby/gdbm] Add dependency to gdbm package on mingw RubyInstaller2 supports metadata tags for installation of dependent MSYS2/MINGW libraries. The openssl gem requires the mingw-openssl package to be installed on the system, which the gem installer takes care about, when this tag is set. The feature is documented here: https://github.com/oneclick/rubyinstaller2/wiki/For-gem-developers#msys2-library-dependency Fixes https://github.com/oneclick/rubyinstaller2/issues/163 https://github.com/ruby/gdbm/commit/d95eed3e86 M ext/gdbm/gdbm.gemspec commit ad3f4c07d9eb0931d164276471636d04748726f0 Author: Olle Jonsson Date: Thu Apr 22 12:09:52 2021 +0200 [ruby/pathname] gemspec: Explicitly list 0 executables This gem exposes no executables. https://github.com/ruby/pathname/commit/c401d97d58 M ext/pathname/pathname.gemspec commit ea88f49a76912fe0e5f0e125544356ed5b17482b Author: Yusuke Endoh Date: Tue Apr 27 17:06:51 2021 +0900 test/ruby/test_exception.rb: suppress "warning: statement not reached" M test/ruby/test_exception.rb commit d405b1a878ebaf57f2374d557239d87c8065260a Author: Yusuke Endoh Date: Tue Apr 27 15:32:42 2021 +0900 Make imemo_ast WB-protected again by firing the write barrier of imemo_ast after nd_lit is modified. This will fix the issue of https://github.com/ruby/ruby/pull/4416 more gracefully. M parse.y commit e48109d86fa06584a79610ecd5cb16f0bbd64e8c Author: Yusuke Endoh Date: Tue Apr 27 15:31:19 2021 +0900 Partially revert 2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e to make imemo_ast WB-protected again. Only the test is kept. M gc.c M internal/imemo.h M node.c commit ede26169904a5fbca2e4fd8484dbf80db431f5a7 Author: ebrohman Date: Mon Apr 26 14:59:59 2021 -0600 Fix type-o in insns.def "redefine" -> "redefined" M insns.def commit 4f88acc8333218429fddbff2fbbba5152bf00eb7 Author: Peter Zhu Date: Mon Apr 26 19:14:57 2021 +0000 Fix compiler warnings in objspace_dump.c when assertions are turned on Example: ``` In file included from ../../../include/ruby/defines.h:72, from ../../../include/ruby/ruby.h:23, from ../../../gc.h:3, from ../../../ext/objspace/objspace_dump.c:15: ../../../ext/objspace/objspace_dump.c: In function ‘dump_append_ld’: ../../../ext/objspace/objspace_dump.c:95:26: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘int’ [-Wsign-compare] 95 | RUBY_ASSERT(required <= width); | ^~ ``` M ext/objspace/objspace_dump.c commit 6c1e9650893a855fadba456ca15feaaec4c43c6f Author: git Date: Tue Apr 27 07:25:43 2021 +0900 * 2021-04-27 [ci skip] M version.h commit d585799d7303abeb1b0ca6fc868f0b2d76a26250 Author: Jeremy Evans Date: Mon Apr 26 15:21:52 2021 -0700 Document binding behavior for C call/return events for TracePoint/set_trace_func C methods do not have bindings, so binding returns the binding of the nearest C method. Fixes [Bug #9009] M trace_point.rb M vm_trace.c commit 203eeeefddb3ae6c0e129ad9cd99da804c2cbaba Author: Yusuke Endoh Date: Mon Apr 26 20:00:20 2021 +0900 Revert "disable shareable_constant_value for CI" This reverts commit c647205c3eb1f17409a859149bb7d2ea38b43bed. Maybe the root issue was fixed by 7ac078e5b67ba752a755d6bd9c3a99999767fd3a M lib/time.rb commit 2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e Author: Yusuke Endoh Date: Mon Apr 26 18:11:46 2021 +0900 node.c (rb_ast_new): imemo_ast is WB-unprotected Previously imemo_ast was handled as WB-protected which caused a segfault of the following code: # shareable_constant_value: literal M0 = {} M1 = {} ... M100000 = {} My analysis is here: `shareable_constant_value: literal` creates many Hash instances during parsing, and add them to node_buffer of imemo_ast. However, the contents are missed because imemo_ast is incorrectly WB-protected. This changeset makes imemo_ast as WB-unprotected. M gc.c M internal/imemo.h M node.c M test/ruby/test_gc.rb commit 5219b4ddb4b89dfe8a951da75f5ab78431781d7f Author: Nobuyoshi Nakada Date: Thu Apr 15 22:24:02 2021 +0900 [ruby/irb] Added setup and teardown to TestIRB::TestInit Not to be affected by existing rc files in all tests. https://github.com/ruby/irb/commit/bf434892b4 M test/irb/test_init.rb commit 8fdc45c8941da7559eb61666284c38b7f72ccfbf Author: Nobuyoshi Nakada Date: Thu Apr 8 01:01:16 2021 +0900 [ruby/irb] Added `colorable` keyword option Currently `IRB::Color.colorize` and `IRB::Color.colorize_code` refer `$stdin.tty?` internally. This patch adds `colorable` keyword option which overrides it. https://github.com/ruby/irb/commit/402e3f1907 M lib/irb/color.rb M test/irb/test_color.rb commit 687ab5dcad7bb8069776330ca6a62640290d14f5 Author: Nobuyoshi Nakada Date: Thu Apr 8 00:20:10 2021 +0900 [ruby/irb] Assertions on non-tty https://github.com/ruby/irb/commit/ede12890d2 M test/irb/test_color.rb commit 75f1ad8cb33171662e3248a1fe8ded2eda0a9cef Author: Nobuyoshi Nakada Date: Thu Apr 8 01:00:41 2021 +0900 [ruby/irb] Added test_colorize https://github.com/ruby/irb/commit/10e290fc3a M test/irb/test_color.rb commit 6ddaad606e99aab254288ef14fffbd34a2e54e16 Author: Nobuyoshi Nakada Date: Thu Apr 8 00:09:30 2021 +0900 [ruby/irb] Added assert_equal_with_term https://github.com/ruby/irb/commit/b690da96d8 M test/irb/test_color.rb commit fc24b0736ea8c0c2b31e5c2dccd2714d08d8c486 Author: Ryuta Kamizono Date: Mon Apr 26 03:09:04 2021 +0900 [ruby/irb] Fix typo ture -> true [ci skip] https://github.com/ruby/irb/commit/783a0569e8 M lib/irb/ruby-lex.rb commit c647205c3eb1f17409a859149bb7d2ea38b43bed Author: Koichi Sasada Date: Mon Apr 26 11:31:58 2021 +0900 disable shareable_constant_value for CI To debug CI failures on FreeBSD, disable `shareable_constant_value`. M lib/time.rb commit 4ca271909d51a692a97363f41d2372a108ef771a Author: Yusuke Endoh Date: Mon Apr 26 11:21:15 2021 +0900 spec/ruby/core/file/shared/read.rb: The behavior of FreeBSD was changed http://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20210426T003001Z.fail.html.gz#rubyspec M spec/ruby/core/file/shared/read.rb commit 2b487d36f0e917146189f3c403a42f9f1293b8df Author: Kazuhiro NISHIYAMA Date: Mon Apr 26 11:06:53 2021 +0900 Remove test of removed reverse VM instruction since 5512353d97250e85c13bf10b9b32e750478cf474 M test/ruby/test_jit.rb commit fcc6f6de868b12cfaacb1313b874120455ce31ca Author: git Date: Mon Apr 26 10:07:58 2021 +0900 * 2021-04-26 [ci skip] M version.h commit 33f2ff3babb7054f3df1efa25c1285e09613d7b8 Author: Ryuta Kamizono Date: Mon Apr 26 00:10:39 2021 +0900 Fix some typos by spell checker M cont.c M debug_counter.h M doc/extension.rdoc M ext/digest/sha2/sha2.c M ext/nkf/nkf-utf8/nkf.c M ext/nkf/nkf.c M ext/win32/lib/win32/sspi.rb M ext/win32ole/sample/xml.rb M ext/win32ole/win32ole_type.c M ext/win32ole/win32ole_variant.c M gc.c M include/ruby/backward/2/stdarg.h M include/ruby/internal/attr/cold.h M include/ruby/internal/compiler_since.h M include/ruby/internal/core.h M include/ruby/internal/warning_push.h M internal/warnings.h M memory_view.c M ractor.c M ractor.rb M test/objspace/test_objspace.rb M test/open-uri/test_open-uri.rb M test/ruby/test_econv.rb M transcode.c commit f9b62b5cc04fa87f0970c9ca3d1cbbc9be8bf8fe Author: wonda-tea-coffee Date: Sun Apr 25 18:59:43 2021 +0900 [Doc] Fix a typo s/algorthm/algorithm/ M ext/nkf/nkf-utf8/nkf.c commit ca5816e2759654c001fc5ddc3bbcc90854b16379 Author: wonda-tea-coffee Date: Sun Apr 25 19:16:19 2021 +0900 [ci skip] Fix a typo s/certificiate/certificate/ M ext/openssl/ossl_ocsp.c commit 04e6383f40eab6880283aef94705175c2ff39074 Author: wonda-tea-coffee Date: Sun Apr 25 18:51:54 2021 +0900 [Doc] Fix a typo s/daguten/dakuten/ M ext/nkf/nkf-utf8/nkf.c commit 532c775e221da65370029cb46a20456d30126dab Author: wonda-tea-coffee Date: Sun Apr 25 18:43:45 2021 +0900 [Doc] Fix a typo s/arround/around/ M ext/nkf/nkf-utf8/config.h commit cc5bab80e4b1124e30a8dc220bdcb80aaa539486 Author: wonda-tea-coffee Date: Sun Apr 25 11:21:56 2021 +0900 [Doc] Fix a typo s/visilibity/visibility/ M benchmark/README.md commit ad108e63e35d571de5cdd195b4bb9b36dd4ad013 Author: wonda-tea-coffee Date: Sun Apr 25 13:48:50 2021 +0900 [Doc] Fix a typo s/oher/other/ M ccan/list/list.h commit e71bc56efe899a49af0b062f6beb8bfbd4063216 Author: wonda-tea-coffee Date: Sun Apr 25 13:57:03 2021 +0900 [Doc] Fix a typo s/evel/eval/ M doc/irb/irb.rd.ja commit 4d5f15a5566d780b33b8894738efe21822b19f76 Author: git Date: Sun Apr 25 16:45:23 2021 +0900 * 2021-04-25 [ci skip] M version.h commit fc84e6679d98ebb83a02609e8ba2f588e99565eb Author: wonda-tea-coffee Date: Sun Apr 25 14:02:33 2021 +0900 [Doc] Fix a typo s/invokations/invocations/ M doc/syntax/methods.rdoc commit dee58d7ae7b75971f349f2217007fdf45d1ea23d Author: Alan Wu Date: Fri Apr 23 22:17:20 2021 -0400 Add back checks for empty kw splat with tests (#4405) This reverts commit a224ce8150f2bc687cf79eb415c931d87a4cd247. Turns out the checks are needed to handle splatting an array with an empty ruby2 keywords hash. M test/ruby/test_keyword.rb M vm_insnhelper.c commit 1f2b5c6dfe86e8ea2bbcd9a70d7a129da7e64a4a Author: Jeremy Evans Date: Fri Apr 23 16:43:00 2021 -0700 Remove part of comment that is no longer accurate In Ruby 2.7, empty keyword splats could be added back for backwards compatibility. However, that stopped in Ruby 3.0. M vm_insnhelper.c commit a224ce8150f2bc687cf79eb415c931d87a4cd247 Author: Alan Wu Date: Fri Apr 23 19:37:03 2021 -0400 Remove unnecessary checks for empty kw splat These two checks are surrounded by an if that ensures the call site is not a kw splat call site. M vm_insnhelper.c commit 4b36a597f48c857aa5eb9ed80fec0d02f6284646 Author: Jeremy Evans Date: Mon Apr 5 16:01:46 2021 -0700 Fix setting method visibility for a refinement without an origin class If a class has been refined but does not have an origin class, there is a single method entry marked with VM_METHOD_TYPE_REFINED, but it contains the original method entry. If the original method entry is present, we shouldn't skip the method when searching even when skipping refined methods. Fixes [Bug #17519] M test/ruby/test_module.rb M vm_method.c commit cb78aaededb09eff2f5c38ae0f8ec0f65011a2cc Author: git Date: Sat Apr 24 01:25:24 2021 +0900 * 2021-04-24 [ci skip] M version.h commit 7de7d096e77ddcc6789ddea3e8aeecfaa684dccb Author: romainsalles Date: Fri Apr 23 14:25:42 2021 +0200 Fix wrong documentation It doesn't return `nil` but raises an exception, as explained a few lines after M hash.c commit 71ee05c9363935d0c6db01cb22edfdb2b128af4f Author: Yusuke Endoh Date: Fri Apr 23 22:11:01 2021 +0900 test/ruby/test_assignment.rb: Avoid "assigned but unused variable" M test/ruby/test_assignment.rb commit cf7b33d5a2e64fa96f43decf603c452ccbf37654 Author: S-H-GAMELINKS Date: Fri Apr 23 12:20:37 2021 +0900 Remove unneeded comment M vm.c commit 5a4b3354f23398283ba6184b63a49427cdace49a Author: git Date: Fri Apr 23 10:35:53 2021 +0900 * 2021-04-23 [ci skip] M version.h commit 3ea2a407130332892083ce053d54b5ea3bc0ce0c Author: Hiroshi SHIBATA Date: Fri Apr 23 10:35:29 2021 +0900 Suppress warnings for unsued variable M test/ruby/test_array.rb commit e628058c1a39f279629f89b57ee224aff8d0dc62 Author: Kazuhiro NISHIYAMA Date: Thu Apr 22 20:55:52 2021 +0900 Update bundled_gems M gems/bundled_gems commit bbee6968f82137645f2029379906f5b5d3911ead Author: Steven Harman Date: Tue Aug 18 13:49:08 2020 -0400 [ruby/uri] Use Regexp#match? to avoid extra allocations `#=~` builds `MatchData`, requiring extra allocations as compared to `#match?`, which returns a boolean w/o having to build the `MatchData`. https://github.com/ruby/uri/commit/158f58a9cc M lib/uri/common.rb commit 291cfa7125b86d3a14d477effd0e58bdc1723141 Author: Felix Wong Date: Wed Apr 21 11:32:04 2021 -0700 [ruby/uri] remove comment about URI::escape as it is removed https://github.com/ruby/uri/commit/0f0057e1b2 M lib/uri.rb commit d4a490f26a60e861ca6525723f4b44f6fb88dcc1 Author: Jeremy Evans Date: Thu Mar 4 15:20:28 2021 -0800 [ruby/uri] Set required_ruby_version to 2.4 in gemspec Tests pass on Ruby 2.4, but not on Ruby 2.3. https://github.com/ruby/uri/commit/594418079a M lib/uri/uri.gemspec commit 10ad81eb2d4bf44b5d5350e3ea28e6248f550128 Author: Jeremy Evans Date: Thu Mar 4 15:19:25 2021 -0800 [ruby/uri] Only use UnboundMethod#bind_call if it is available This allows tests to pass on Ruby 2.4-2.6. Fixes #19 https://github.com/ruby/uri/commit/67ca99ca87 M lib/uri/rfc2396_parser.rb M lib/uri/rfc3986_parser.rb commit 3e27ca60470cbd73dd82ca6b8007a3b8362d576e Author: Jeremy Evans Date: Thu Mar 4 15:18:36 2021 -0800 [ruby/uri] Add tests for URI::RFC{2396,3986}_Parser#inspect https://github.com/ruby/uri/commit/d47dae2f8e M test/uri/test_parser.rb commit c46a4b8c7f434110c30c9587e02387283076579f Author: Lukas Zapletal Date: Wed Oct 7 13:23:00 2020 +0200 [ruby/uri] Optimize URI#hostname and URI#hostname= https://github.com/ruby/uri/commit/3b7ccfd835 M lib/uri/generic.rb M test/uri/test_generic.rb commit 6e06c980dace26ff2f06eb4ac1e2d06291101ee7 Author: Charles Oliver Nutter Date: Thu Mar 4 16:44:35 2021 -0600 [ruby/uri] Upstream Java proxy property checks from JRuby These Java properties, retrieved from JRuby's "Java env" ENV_JAVA, allow JRuby users to use the same proxy properties the rest of the Java platform uses. This resolves https://bugs.ruby-lang.org/issues/11194 https://github.com/ruby/uri/commit/3bd2bcc95a M lib/uri/generic.rb commit a9fe00c3baf26b94d924149e99334f4d587e125e Author: Shugo Maeda Date: Wed Mar 17 09:17:53 2021 +0900 [ruby/net-imap] Bump version to 0.2.1 https://github.com/ruby/net-imap/commit/31f96ea884 M lib/net/imap.rb commit d785c5b8b2ed31202045d29f5981afc43b430dff Author: Shugo Maeda Date: Tue Mar 16 14:54:32 2021 +0900 [ruby/net-imap] Set timeout for IDLE responses Fixes #14 https://github.com/ruby/net-imap/commit/39d39ff9bb M lib/net/imap.rb commit 674760316ce5b68aa182c1b3b25665de250341b3 Author: Hiroshi SHIBATA Date: Thu Apr 22 14:35:52 2021 +0900 Merge net-imap-0.2.0 M lib/net/imap.rb M test/net/imap/test_imap.rb M test/net/imap/test_imap_response_parser.rb commit 01f131457ffac39f018b342fbd5f7598171d10fa Author: Hiroshi SHIBATA Date: Thu Apr 22 13:35:30 2021 +0900 Separate test used by test_ractor for Ractor in test_time.rb M test/test_time.rb commit 270b16e70c6b9f3e4b497d481a00941e13a1f056 Author: Charles Oliver Nutter Date: Wed Feb 3 13:53:28 2021 -0600 [ruby/io-console] Move FFI console under lib Having the separate dir makes testing difficult and doesn't reflect the structure the gem will eventually have. We can filter these files out if necessary when building the CRuby gem. https://github.com/ruby/io-console/commit/881010447c M ext/io/console/io-console.gemspec commit 042860bd65532fea95159774da94adc48bf7b958 Author: Duncan MacGregor Date: Fri Feb 5 12:03:39 2021 +0000 [ruby/io-console] Enable building the C extension on TruffleRuby. https://github.com/ruby/io-console/commit/c17b8cf3a9 M ext/io/console/extconf.rb commit 537fc3ad5c5ed48a28d6cdd898ff6f41e9376b0e Author: Hiroshi SHIBATA Date: Thu Apr 22 11:49:15 2021 +0900 Ignore JRuby files on io-console M tool/sync_default_gems.rb commit b18aab24b69e94b2e39017434f40cdfade18155e Author: Olle Jonsson Date: Thu Apr 1 16:02:48 2021 +0200 [ruby/benchmark] gemspec: Explicitly have 0 executables This gem exposes no executables. https://github.com/ruby/benchmark/commit/ff1ef7ae06 M lib/benchmark/benchmark.gemspec commit 4f39a35b60de7fe80ace6978aae3346f0d76ced4 Author: Keith Bennett Date: Wed Mar 3 15:13:30 2021 -0500 [ruby/benchmark] Add comment about terminating newline in captions; fix test method name. https://github.com/ruby/benchmark/commit/02ce298d3e M lib/benchmark.rb M test/benchmark/test_benchmark.rb commit 2440d60acb8e8fbcad1f6943892556cf3a529d70 Author: Olle Jonsson Date: Wed Mar 31 16:14:25 2021 +0200 [ruby/cgi] gemspec: Explicitly empty executables list The gem exposes no executables https://github.com/ruby/cgi/commit/cd7106ad97 M lib/cgi/cgi.gemspec commit f818b1ed2b2ec16bbc55919082d6cafb99693db8 Author: Jeremy Evans Date: Thu Feb 25 09:24:15 2021 -0800 [ruby/cgi] Add test for escapeHTML/unescapeHTML invalid encoding fix in pure ruby version Also, remove pointless assert_nothing_raised(ArgumentError) while here. https://github.com/ruby/cgi/commit/c05edf5608 M test/cgi/test_cgi_util.rb commit 27569383693a04907b50ec9170f9ebf164d01d0f Author: pavel Date: Fri Mar 13 18:55:55 2020 +0100 [ruby/cgi] handle invalid encoding https://github.com/ruby/cgi/commit/2b1c2e21a4 M lib/cgi/util.rb commit 53d153e42c90f48ac35316b9fd69b8819aa4e7d3 Author: Kir Shatrov Date: Fri Jan 22 08:42:30 2021 +0300 [ruby/time] Make Time friendly to Ractor https://github.com/ruby/time/commit/c784e4f166 M lib/time.rb M test/test_time.rb commit 609de71f043e8ba34f22b9993e444e2e5bb05709 Author: Koichi Sasada Date: Thu Apr 22 10:44:52 2021 +0900 fix raise in exception with jump add_ensure_iseq() adds ensure block to the end of jump such as next/redo/return. However, if the rescue cause are in the body, this rescue catches the exception in ensure clause. iter do next rescue R ensure raise end In this case, R should not be executed, but executed without this patch. Fixes [Bug #13930] Fixes [Bug #16618] A part of tests are written by @jeremyevans https://github.com/ruby/ruby/pull/4291 M compile.c M iseq.h M test/ruby/test_exception.rb commit 5512353d97250e85c13bf10b9b32e750478cf474 Author: Jeremy Evans Date: Wed Apr 21 12:35:32 2021 -0700 Remove reverse VM instruction This was previously only used by the multiple assignment code, but is no longer needed after the multiple assignment execution order fix. M insns.def commit 9dbd0969e71b9b71c9e28bec9ff19697cbd1dd6d Author: git Date: Thu Apr 22 02:49:41 2021 +0900 * 2021-04-22 [ci skip] M version.h commit 50c54d40a81bb2a4794a6be5f1861152900b4fed Author: Jeremy Evans Date: Wed Apr 21 10:49:19 2021 -0700 Evaluate multiple assignment left hand side before right hand side In regular assignment, Ruby evaluates the left hand side before the right hand side. For example: ```ruby foo[0] = bar ``` Calls `foo`, then `bar`, then `[]=` on the result of `foo`. Previously, multiple assignment didn't work this way. If you did: ```ruby abc.def, foo[0] = bar, baz ``` Ruby would previously call `bar`, then `baz`, then `abc`, then `def=` on the result of `abc`, then `foo`, then `[]=` on the result of `foo`. This change makes multiple assignment similar to single assignment, changing the evaluation order of the above multiple assignment code to calling `abc`, then `foo`, then `bar`, then `baz`, then `def=` on the result of `abc`, then `[]=` on the result of `foo`. Implementing this is challenging with the stack-based virtual machine. We need to keep track of all of the left hand side attribute setter receivers and setter arguments, and then keep track of the stack level while handling the assignment processing, so we can issue the appropriate topn instructions to get the receiver. Here's an example of how the multiple assignment is executed, showing the stack and instructions: ``` self # putself abc # send abc, self # putself abc, foo # send abc, foo, 0 # putobject 0 abc, foo, 0, [bar, baz] # evaluate RHS abc, foo, 0, [bar, baz], baz, bar # expandarray abc, foo, 0, [bar, baz], baz, bar, abc # topn 5 abc, foo, 0, [bar, baz], baz, abc, bar # swap abc, foo, 0, [bar, baz], baz, def= # send abc, foo, 0, [bar, baz], baz # pop abc, foo, 0, [bar, baz], baz, foo # topn 3 abc, foo, 0, [bar, baz], baz, foo, 0 # topn 3 abc, foo, 0, [bar, baz], baz, foo, 0, baz # topn 2 abc, foo, 0, [bar, baz], baz, []= # send abc, foo, 0, [bar, baz], baz # pop abc, foo, 0, [bar, baz] # pop [bar, baz], foo, 0, [bar, baz] # setn 3 [bar, baz], foo, 0 # pop [bar, baz], foo # pop [bar, baz] # pop ``` As multiple assignment must deal with splats, post args, and any level of nesting, it gets quite a bit more complex than this in non-trivial cases. To handle this, struct masgn_state is added to keep track of the overall state of the mass assignment, which stores a linked list of struct masgn_attrasgn, one for each assigned attribute. This adds a new optimization that replaces a topn 1/pop instruction combination with a single swap instruction for multiple assignment to non-aref attributes. This new approach isn't compatible with one of the optimizations previously used, in the case where the multiple assignment return value was not needed, there was no lhs splat, and one of the left hand side used an attribute setter. This removes that optimization. Removing the optimization allowed for removing the POP_ELEMENT and adjust_stack functions. This adds a benchmark to measure how much slower multiple assignment is with the correct evaluation order. This benchmark shows: * 4-9% decrease for attribute sets * 14-23% decrease for array member sets * Basically same speed for local variable sets Importantly, it shows no significant difference between the popped (where return value of the multiple assignment is not needed) and !popped (where return value of the multiple assignment is needed) cases for attribute and array member sets. This indicates the previous optimization, which was dropped in the evaluation order fix and only affected the popped case, is not important to performance. Fixes [Bug #4443] M NEWS.md A benchmark/masgn.yml M compile.c M test/ruby/test_assignment.rb commit 3c8a67e8a5f51f337cf95b4038ed97bf8ca8b696 Author: Hiroshi SHIBATA Date: Wed Dec 23 12:33:51 2020 +0900 [ruby/pp] Bump version to 0.2.0 https://github.com/ruby/pp/commit/a202dd2c9b M lib/pp.gemspec commit 17441a6b1bb258d0d67f75c5642db642e10f74ca Author: Hiroshi SHIBATA Date: Mon Dec 28 13:37:11 2020 +0900 [ruby/pp] Support < Ruby 3.0 https://github.com/ruby/pp/commit/3ee131ae92 M lib/pp.rb commit 2229fc8b57f8af931bb1c5301423b5d2208ca0df Author: Olle Jonsson Date: Tue Apr 6 11:48:30 2021 +0200 [ruby/resolv] gemspec: Explicitly list 0 executables This gem exposes no executables, and this makes that clearer. https://github.com/ruby/resolv/commit/8797a9d3ce M lib/resolv.gemspec commit c27e8f1caf77050d4b89a2e9f7278d8db711ba1f Author: Olle Jonsson Date: Wed Mar 31 16:04:08 2021 +0200 [ruby/forwardable] gemspec: Explicitly empty the executables list This gem exposes no executables. https://github.com/ruby/forwardable/commit/374b685927 M lib/forwardable/forwardable.gemspec commit b68a4c199c8b00efa9671debf83ba0bd3a4539a1 Author: Olle Jonsson Date: Wed Mar 31 16:10:45 2021 +0200 [ruby/base64] gemspec: Use an explicit file list This avoids shelling out to git. https://github.com/ruby/base64/commit/f45f06f93f M lib/base64.gemspec commit fa00bf92bab7f5cd48ea6fb687eb7d30ab403882 Author: Olle Jonsson Date: Wed Mar 31 16:08:35 2021 +0200 [ruby/base64] gemspec: Explicitly empty executables list This gem exposes no executables. https://github.com/ruby/base64/commit/9d2c49cb19 M lib/base64.gemspec commit 855997a4d4b7cf9e7e72212cc02d593871dd3887 Author: Olle Jonsson Date: Wed Mar 31 16:18:29 2021 +0200 [ruby/abbrev] gemspec: Explicitly empty executables list https://github.com/ruby/abbrev/commit/f28839e7b8 M lib/abbrev.gemspec commit 4ac72d37d79354a2bf036b2f6dd9c3ae1b523376 Author: Olle Jonsson Date: Tue Apr 6 12:42:40 2021 +0200 [ruby/io-wait] gemspec: Explicitly list 0 executables This gem exposes no executables, and this clarifies this. https://github.com/ruby/io-wait/commit/f491c6cc64 M ext/io/wait/io-wait.gemspec commit 347c3b30836304416a97f04f3cb2feb8f9c202c2 Author: Hiroshi SHIBATA Date: Wed Apr 21 20:34:46 2021 +0900 Fix the regexp list for ignore list M tool/sync_default_gems.rb commit 7c0c1c3e4683cf4569b29e6a2d9eb44358268d14 Author: Hiroshi SHIBATA Date: Wed Apr 21 17:38:33 2021 +0900 This change broke the some files like date.gemspec and lib/logger.rb. Revert "sync_default_gems.rb: merge only files named as each gem" This reverts commit 37b96d6773a2151fb3193cab6b9e3f7328915844. M tool/sync_default_gems.rb commit fb04c69418ceee696a114fe31279cf3a5ea16d30 Author: Yusuke Endoh Date: Wed Apr 21 13:02:29 2021 +0900 array.c (rb_ary_zip): take only as many as needed from an Enumerator (#4389) [Bug #17814] M array.c M test/ruby/test_array.rb commit d427e3cd6f1b39624c9935ade25b4dcb334bee36 Author: Peter Zhu Date: Tue Apr 20 23:37:34 2021 +0000 [ci skip] Remove badge for Travis CI from README.md Travis CI was removed in 6b978d542704a5614af5e9375c4b31b8d2618652. M README.md commit eb4e3206810adf2aa4edff2fa4c7583a4ff39aae Author: Alan Wu Date: Tue Apr 20 18:32:13 2021 -0400 Man page: correct defaults for RUBY_THREAD_VM_STACK_SIZE See RUBY_VM_THREAD_VM_STACK_SIZE in vm_core.h. M man/ruby.1 commit d92f09a5eea009fa28cd046e9d0eb698e3d94c5c Author: git Date: Wed Apr 21 01:54:32 2021 +0900 * 2021-04-21 [ci skip] M version.h commit 32643cfb1d6b0eeb70df43f3ae90d1f1fadfa879 Author: Aaron Patterson Date: Tue Apr 20 08:17:56 2021 -0700 check ep during compaction because it can be null This commit adds a check on the ep just like in the mark function. The env can contain null bytes if allocation tracing is enabled. We're seeing errors during autocompaction like this: ``` (lldb) bt 40 * thread #1, name = 'ruby', stop reason = signal SIGABRT frame #0: 0x00007f7d64b6018b libc.so.6`raise + 203 frame #1: 0x00007f7d64b3f859 libc.so.6`abort + 299 frame #2: 0x000055af5f2fefc9 ruby`die at error.c:764:5 frame #3: 0x000055af5f2ff1ac ruby`rb_bug_for_fatal_signal(default_sighandler=0x0000000000000000, sig=11, ctx=0x000055af60bc3340, fmt="") at error.c:804:5 frame #4: 0x000055af5f4bd08f ruby`sigsegv(sig=11, info=0x000055af60bc3470, ctx=0x000055af60bc3340) at signal.c:960:5 frame #5: 0x00007f7d64ebe3c0 libpthread.so.0`__restore_rt frame #6: 0x000055af5f339b0a ruby`gc_ref_update_imemo(objspace=0x000055af60b2b040, obj=0x00007f7d5b513fd0) at gc.c:9046:13 frame #7: 0x000055af5f339172 ruby`gc_update_object_references(objspace=0x000055af60b2b040, obj=0x00007f7d5b513fd0) at gc.c:9307:9 frame #8: 0x000055af5f338e79 ruby`gc_ref_update(vstart=0x00007f7d5b510010, vend=0x00007f7d5b513ff8, stride=40, objspace=0x000055af60b2b040, page=0x000055af62577aa0) at gc.c:9452:21 frame #9: 0x000055af5f337846 ruby`gc_update_references(objspace=0x000055af60b2b040, heap=0x000055af60b2b068) at gc.c:9481:9 frame #10: 0x000055af5f336569 ruby`gc_compact_finish(objspace=0x000055af60b2b040, heap=0x000055af60b2b068) at gc.c:4840:5 frame #11: 0x000055af5f335efb ruby`gc_page_sweep(objspace=0x000055af60b2b040, heap=0x000055af60b2b068, sweep_page=0x000055af63a1eb30) at gc.c:5046:13 frame #12: 0x000055af5f3355c5 ruby`gc_sweep_step(objspace=0x000055af60b2b040, heap=0x000055af60b2b068) at gc.c:5214:19 frame #13: 0x000055af5f33daf6 ruby`gc_sweep_rest(objspace=0x000055af60b2b040) at gc.c:5271:2 frame #14: 0x000055af5f33cacd ruby`gc_sweep(objspace=0x000055af60b2b040) at gc.c:5389:2 frame #15: 0x000055af5f33c21d ruby`gc_marks_rest(objspace=0x000055af60b2b040) at gc.c:7555:5 frame #16: 0x000055af5f324d41 ruby`gc_rest(objspace=0x000055af60b2b040) at gc.c:8457:13 frame #17: 0x000055af5f3297d8 ruby`garbage_collect(objspace=0x000055af60b2b040, reason=45568) at gc.c:8318:9 frame #18: 0x000055af5f344ece ruby`garbage_collect_with_gvl(objspace=0x000055af60b2b040, reason=45568) at gc.c:8632:9 frame #19: 0x000055af5f344e61 ruby`objspace_malloc_gc_stress(objspace=0x000055af60b2b040) at gc.c:10592:9 frame #20: 0x000055af5f32ced1 ruby`objspace_xmalloc0(objspace=0x000055af60b2b040, size=64) at gc.c:10767:5 frame #21: 0x000055af5f32ce11 ruby`ruby_xmalloc0(size=64) at gc.c:10988:12 frame #22: 0x000055af5f32cdac ruby`ruby_xmalloc_body(size=64) at gc.c:10997:12 frame #23: 0x000055af5f329415 ruby`ruby_xmalloc(size=64) at gc.c:12942:12 frame #24: 0x00007f7d611c4fe5 objspace.so`newobj_i(tpval=0x00007f7d5b553770, data=0x000055af639031a0) at object_tracing.c:101:35 frame #25: 0x000055af5f5b283f ruby`tp_call_trace(tpval=0x00007f7d5b553770, trace_arg=0x00007fff1016d398) at vm_trace.c:1115:2 frame #26: 0x000055af5f5b50ec ruby`exec_hooks_body(ec=0x000055af60b2b700, list=0x000055af60b2b920, trace_arg=0x00007fff1016d398) at vm_trace.c:304:3 frame #27: 0x000055af5f5b0f24 ruby`exec_hooks_unprotected(ec=0x000055af60b2b700, list=0x000055af60b2b920, trace_arg=0x00007fff1016d398) at vm_trace.c:333:5 frame #28: 0x000055af5f5b0da8 ruby`rb_exec_event_hooks(trace_arg=0x00007fff1016d398, hooks=0x000055af60b2b920, pop_p=0) at vm_trace.c:378:13 frame #29: 0x000055af5f33f8e2 ruby`rb_exec_event_hook_orig(ec=0x000055af60b2b700, hooks=0x000055af60b2b920, flag=1048576, self=0x00007f7d5b5c08c0, id=0, called_id=0, klass=0x0000000000000000, data=0x00007f7d5b513fd0, pop_p=0) at vm_core.h:1989:5 frame #30: 0x000055af5f334975 ruby`gc_event_hook_body(ec=0x000055af60b2b700, objspace=0x000055af60b2b040, event=1048576, data=0x00007f7d5b513fd0) at gc.c:2083:5 * frame #31: 0x000055af5f3342df ruby`newobj_slowpath_wb_protected [inlined] newobj_slowpath(klass=0x00007f7d5b9d19c8, flags=0x000000000000001a, objspace=0x000055af60b2b040, cr=0x000055af60b2b910, wb_protected=1) at gc.c:2284:9 frame #32: 0x000055af5f33410f ruby`newobj_slowpath_wb_protected(klass=0x00007f7d5b9d19c8, flags=0x000000000000001a, objspace=0x000055af60b2b040, cr=0x000055af60b2b910) at gc.c:2299 frame #33: 0x000055af5f333de9 ruby`newobj_of0(klass=0x00007f7d5b9d19c8, flags=0x000000000000001a, wb_protected=1, cr=0x000055af60b2b910) at gc.c:2338:11 frame #34: 0x000055af5f3227ae ruby`newobj_of(klass=0x00007f7d5b9d19c8, flags=0x000000000000001a, v1=0x000055af657d88a0, v2=0x000055af657d8890, v3=0x0000000000000000, wb_protected=1) at gc.c:2348:17 frame #35: 0x000055af5f322c5b ruby`rb_imemo_new(type=imemo_env, v1=0x000055af657d88a0, v2=0x000055af657d8890, v3=0x0000000000000000, v0=0x00007f7d5b9d19c8) at gc.c:2434:12 frame #36: 0x000055af5f5a3925 ruby`vm_env_new(env_ep=0x000055af657d88a0, env_body=0x000055af657d8890, env_size=4, iseq=0x00007f7d5b9d19c8) at vm_core.h:1363:33 frame #37: 0x000055af5f5a3808 ruby`vm_make_env_each(ec=0x000055af60b2b700, cfp=0x00007f7d6482fc90) at vm.c:801:11 frame #38: 0x000055af5f5a368d ruby`vm_make_env_each(ec=0x000055af60b2b700, cfp=0x00007f7d6482fc20) at vm.c:752:13 frame #39: 0x000055af5f5a368d ruby`vm_make_env_each(ec=0x000055af60b2b700, cfp=0x00007f7d6482fbb0) at vm.c:752:13 (lldb) f 31 frame #31: 0x000055af5f3342df ruby`newobj_slowpath_wb_protected [inlined] newobj_slowpath(klass=0x00007f7d5b9d19c8, flags=0x000000000000001a, objspace=0x000055af60b2b040, cr=0x000055af60b2b910, wb_protected=1) at gc.c:2284:9 2281 } 2282 GC_ASSERT(obj != 0); 2283 newobj_init(klass, flags, wb_protected, objspace, obj); -> 2284 gc_event_hook_prep(objspace, RUBY_INTERNAL_EVENT_NEWOBJ, obj, newobj_fill(obj, 0, 0, 0)); 2285 } 2286 RB_VM_LOCK_LEAVE_CR_LEV(cr, &lev); 2287 (lldb) p obj (VALUE) $3 = 0x00007f7d5b513fd0 (lldb) f 6 frame #6: 0x000055af5f339b0a ruby`gc_ref_update_imemo(objspace=0x000055af60b2b040, obj=0x00007f7d5b513fd0) at gc.c:9046:13 9043 { 9044 rb_env_t *env = (rb_env_t *)obj; 9045 TYPED_UPDATE_IF_MOVED(objspace, rb_iseq_t *, env->iseq); -> 9046 UPDATE_IF_MOVED(objspace, env->ep[VM_ENV_DATA_INDEX_ENV]); 9047 gc_update_values(objspace, (long)env->env_size, (VALUE *)env->env); 9048 } 9049 break; (lldb) p obj (VALUE) $4 = 0x00007f7d5b513fd0 (lldb) ``` M gc.c commit 59411b0b363de80a10c3a8f1bdd1ae110d34ac28 Author: Olle Jonsson Date: Wed Mar 31 15:40:39 2021 +0200 [ruby/zlib] gemspec: Remove unused files Remove the list of executables. https://github.com/ruby/zlib/commit/6a70725b8e M ext/zlib/zlib.gemspec commit 749aad280f67973e8b4793b72285cc94861a12f9 Author: Olle Jonsson Date: Wed Mar 31 15:53:46 2021 +0200 [ruby/gdbm] gemspec: Set executables to the empty list This gem exposes zero executables. https://github.com/ruby/gdbm/commit/d51cf47f65 M ext/gdbm/gdbm.gemspec commit cc8d0e7cbf33611b1cd4d6e0dbaa3522387af717 Author: Olle Jonsson Date: Thu Apr 1 15:58:27 2021 +0200 [ruby/dbm] gemspec: add README & LICENSE https://github.com/ruby/dbm/commit/c86b94b781 M ext/dbm/dbm.gemspec commit b56c8f814e656e6a680acf2e5c96812e84af238d Author: Gannon McGibbon Date: Tue Jan 19 17:13:53 2021 -0500 [ruby/logger] Replace "iff" with "if and only if" iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. https://github.com/ruby/logger/commit/4fa0c28e00 M lib/logger.rb commit 3fdc58c08b24eaef42bd9db4ede02c2269d5d6f2 Author: Hiroshi SHIBATA Date: Wed Dec 23 18:18:05 2020 +0900 [ruby/date] Bump version to 3.1.1 https://github.com/ruby/date/commit/e574cc9048 M ext/date/date.gemspec commit a31a9c74711f670ef644e6a692c84dfb5adcc580 Author: git Date: Tue Apr 20 19:22:49 2021 +0900 * 2021-04-20 [ci skip] M version.h commit 4c68c825d29ad703c0a5a2feeb9bffb6b4718144 Author: Kazuhiro NISHIYAMA Date: Tue Apr 20 19:22:15 2021 +0900 Update bundled_gems M gems/bundled_gems commit 50f17241a32d837403fae68dc1ed0f046506d3e8 Author: Kazuhiro NISHIYAMA Date: Mon Apr 19 21:37:21 2021 +0900 Try to fix other failures of writing XDG_CONFIG_HOME https://github.com/ruby/actions/actions/runs/756591173 https://github.com/ruby/actions/actions/runs/759073690 https://github.com/ruby/actions/actions/runs/761341026 ``` Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb ``` M spec/bundler/commands/console_spec.rb M spec/bundler/spec_helper.rb commit 93420d34aaf8c30f11a66dd08eb186da922c831d Author: Hiroshi SHIBATA Date: Mon Apr 19 18:19:09 2021 +0900 Added the specific files to the default gems like net-http and optparse M tool/rbinstall.rb commit 39c01aef66796897d7eff7b2f7904018e5a28ac3 Author: git Date: Mon Apr 19 13:45:41 2021 +0900 * 2021-04-19 [ci skip] M version.h commit 5d710d7e41ef3a9877426c87de121be3bf770e34 Author: Hiroshi SHIBATA Date: Mon Apr 19 13:44:38 2021 +0900 Fix the wrong file detection for net-*.gemspec [Bug #17476][ruby-core:101724] M tool/rbinstall.rb commit aae812d65d0759dd05816949427965978f3f484b Author: git Date: Sun Apr 18 13:49:12 2021 +0900 * 2021-04-18 [ci skip] M version.h commit 6943ffc3d55d17160183f955bc6247a79885a34b Author: Nobuyoshi Nakada Date: Sun Apr 18 13:47:43 2021 +0900 Split revision.h rule GNU-make specific rule is defined in defs/gmake.mk. M common.mk commit 1f56238032482ab55db2a7cbf5c156b5ccc17526 Author: Nobuyoshi Nakada Date: Sat Apr 17 19:14:21 2021 +0900 Remove comments in tool/m4 from the generated configure M configure.ac M tool/m4/_colorize_result_prepare.m4 M tool/m4/ac_msg_result.m4 M tool/m4/colorize_result.m4 M tool/m4/ruby_append_option.m4 M tool/m4/ruby_append_options.m4 M tool/m4/ruby_check_builtin_func.m4 M tool/m4/ruby_check_builtin_setjmp.m4 M tool/m4/ruby_check_printf_prefix.m4 M tool/m4/ruby_check_setjmp.m4 M tool/m4/ruby_check_signedness.m4 M tool/m4/ruby_check_sizeof.m4 M tool/m4/ruby_check_sysconf.m4 M tool/m4/ruby_cppoutfile.m4 M tool/m4/ruby_decl_attribute.m4 M tool/m4/ruby_default_arch.m4 M tool/m4/ruby_define_if.m4 M tool/m4/ruby_defint.m4 M tool/m4/ruby_dtrace_available.m4 M tool/m4/ruby_dtrace_postprocess.m4 M tool/m4/ruby_func_attribute.m4 M tool/m4/ruby_mingw32.m4 M tool/m4/ruby_prepend_option.m4 M tool/m4/ruby_prog_gnu_ld.m4 M tool/m4/ruby_replace_funcs.m4 M tool/m4/ruby_replace_type.m4 M tool/m4/ruby_rm_recursive.m4 M tool/m4/ruby_setjmp_type.m4 M tool/m4/ruby_stack_grow_direction.m4 M tool/m4/ruby_try_cflags.m4 M tool/m4/ruby_try_cxxflags.m4 M tool/m4/ruby_try_ldflags.m4 M tool/m4/ruby_type_attribute.m4 M tool/m4/ruby_universal_arch.m4 M tool/m4/ruby_werror_flag.m4 commit 17c3014bb7012793553c275f1509b2bb6f82cd50 Author: Nobuyoshi Nakada Date: Sat Apr 17 19:08:53 2021 +0900 Prefer positive condition to double negative Autoconf 2.70 seems to omit the check for the given CC, `AC_COMPILE_IFELSE` does not know which is the cause of the failure. M configure.ac commit ed9ac0391725f616f101cf9311a43f6161d4c7d9 Author: git Date: Sat Apr 17 11:54:39 2021 +0900 * 2021-04-17 [ci skip] M version.h commit d953ac11394729ef66a4fb44f2eb1383b0ef2e00 Author: Kazuhiro NISHIYAMA Date: Sat Apr 17 11:54:10 2021 +0900 Fix writing XDG_CONFIG_HOME in test-bundler https://github.com/ruby/actions/actions/runs/756591173 ``` Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb ``` M spec/bundler/commands/console_spec.rb commit b6bb4623ebcf1335cf0a81d279cde24a9e97bcce Author: Nobuyoshi Nakada Date: Fri Apr 16 16:12:10 2021 +0900 NEWS for [Feature #15198] [ci skip] M NEWS.md commit 55d91a096a840aaff1e08a4286c216da56b6e968 Author: Travis Hunter Date: Wed Oct 3 15:19:36 2018 -0400 Add Array#intersect? M array.c M test/ruby/test_array.rb commit 97cee1cba6c966e9eb390902f42941daf6f0d1fd Author: 卜部昌平 Date: Fri Apr 16 14:41:35 2021 +0900 rb_hash_free(): has never existed. This is just a hoax. Nobody have ever implemented a function named as such. Also the functionality implied by the name must not be a public API if any. M include/ruby/internal/intern/hash.h commit dd3eca64778d88891ba8e8b66224ac84aa0378a8 Author: git Date: Fri Apr 16 11:05:36 2021 +0900 * 2021-04-16 [ci skip] M version.h commit 6268fdc662c75c61091b2ab0b476ec15df023328 Author: Yusuke Endoh Date: Fri Apr 16 11:04:23 2021 +0900 spec/ruby/core/hash/transform_keys_spec.rb: Fix the failure of ruby_3_0 https://github.com/ruby/spec/pull/833 https://github.com/ruby/spec/commit/8290e5ad8952b14ee9a5069651d9864c66681112 M spec/ruby/core/hash/transform_keys_spec.rb commit f1f08f5b691230840d6ea5dc4ac3f5cf113e8120 Author: Peter Zhu Date: Thu Apr 15 02:00:34 2021 +0000 Remove useless attribute set in init_mark_stack init_mark_stack already clears the mark stack so we do not need to set the attribute cache_size to zero. M gc.c commit 26888d5e032202328e10881550477fd036c8e805 Author: Nobuyoshi Nakada Date: Thu Apr 15 18:07:23 2021 +0900 Workaround for installation failures on macOS M tool/rbinstall.rb commit 7af7a539bc34fa630ab4dfd178d67cfebbc8699f Author: Hiroshi SHIBATA Date: Thu Apr 15 13:36:06 2021 +0900 Also merge tool/bundler/*.rb for testing of Bundler A tool/bundler/rubocop_gems.rb A tool/bundler/rubocop_gems.rb.lock A tool/bundler/standard_gems.rb A tool/bundler/standard_gems.rb.lock M tool/bundler/test_gems.rb M tool/bundler/test_gems.rb.lock M tool/sync_default_gems.rb commit 96741765d880b700933526a97a67345dfcd90c47 Author: Hiroshi SHIBATA Date: Thu Apr 15 12:47:18 2021 +0900 Merge the master branch of RubyGems M lib/rubygems.rb M lib/rubygems/commands/update_command.rb M lib/rubygems/defaults.rb M lib/rubygems/indexer.rb M lib/rubygems/installer.rb M lib/rubygems/package.rb M lib/rubygems/platform.rb M lib/rubygems/remote_fetcher.rb M lib/rubygems/security/trust_dir.rb M lib/rubygems/test_utilities.rb A test/rubygems/packages/ascii_binder-0.1.10.1.gem M test/rubygems/test_gem_commands_setup_command.rb M test/rubygems/test_gem_commands_update_command.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_package.rb M test/rubygems/test_gem_platform.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_server.rb commit ed149dbf46d1a8b16e6de9c3dbbcc10f72c9c019 Author: Hiroshi SHIBATA Date: Thu Apr 15 12:47:04 2021 +0900 Merge the master branch of Bundler M lib/bundler.rb M lib/bundler/cli.rb M lib/bundler/cli/common.rb M lib/bundler/cli/gem.rb M lib/bundler/cli/install.rb M lib/bundler/cli/outdated.rb M lib/bundler/compact_index_client/updater.rb M lib/bundler/definition.rb M lib/bundler/dsl.rb M lib/bundler/feature_flag.rb M lib/bundler/gem_helper.rb M lib/bundler/injector.rb M lib/bundler/inline.rb M lib/bundler/installer/parallel_installer.rb M lib/bundler/lazy_specification.rb M lib/bundler/lockfile_parser.rb M lib/bundler/man/bundle-add.1 M lib/bundler/man/bundle-binstubs.1 M lib/bundler/man/bundle-cache.1 M lib/bundler/man/bundle-check.1 M lib/bundler/man/bundle-clean.1 M lib/bundler/man/bundle-config.1 M lib/bundler/man/bundle-config.1.ronn M lib/bundler/man/bundle-doctor.1 M lib/bundler/man/bundle-exec.1 M lib/bundler/man/bundle-gem.1 M lib/bundler/man/bundle-gem.1.ronn M lib/bundler/man/bundle-info.1 M lib/bundler/man/bundle-init.1 M lib/bundler/man/bundle-inject.1 M lib/bundler/man/bundle-install.1 M lib/bundler/man/bundle-list.1 M lib/bundler/man/bundle-lock.1 M lib/bundler/man/bundle-open.1 M lib/bundler/man/bundle-outdated.1 M lib/bundler/man/bundle-platform.1 M lib/bundler/man/bundle-pristine.1 M lib/bundler/man/bundle-remove.1 M lib/bundler/man/bundle-show.1 M lib/bundler/man/bundle-update.1 M lib/bundler/man/bundle-viz.1 M lib/bundler/man/bundle.1 M lib/bundler/man/gemfile.5 M lib/bundler/plugin/api/source.rb M lib/bundler/settings.rb M lib/bundler/source.rb M lib/bundler/source/metadata.rb M lib/bundler/source/path.rb M lib/bundler/source/path/installer.rb M lib/bundler/source/rubygems.rb M lib/bundler/source_list.rb M lib/bundler/spec_set.rb M lib/bundler/templates/Gemfile M lib/bundler/templates/gems.rb M lib/bundler/templates/newgem/Gemfile.tt M lib/bundler/templates/newgem/Rakefile.tt M lib/bundler/templates/newgem/github/workflows/main.yml.tt M lib/bundler/templates/newgem/newgem.gemspec.tt A lib/bundler/templates/newgem/standard.yml.tt M lib/bundler/vendor/tmpdir/lib/tmpdir.rb M spec/bundler/bundler/dep_proxy_spec.rb M spec/bundler/bundler/gem_helper_spec.rb M spec/bundler/bundler/installer/parallel_installer_spec.rb M spec/bundler/bundler/installer/spec_installation_spec.rb M spec/bundler/bundler/source_list_spec.rb M spec/bundler/commands/info_spec.rb M spec/bundler/commands/lock_spec.rb M spec/bundler/commands/newgem_spec.rb M spec/bundler/commands/outdated_spec.rb M spec/bundler/commands/post_bundle_message_spec.rb M spec/bundler/commands/update_spec.rb M spec/bundler/install/deploy_spec.rb M spec/bundler/install/gemfile/gemspec_spec.rb M spec/bundler/install/gemfile/path_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M spec/bundler/install/gemfile/specific_platform_spec.rb M spec/bundler/install/gems/flex_spec.rb M spec/bundler/install/gems/resolving_spec.rb M spec/bundler/install/gems/sudo_spec.rb M spec/bundler/install/git_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/other/major_deprecation_spec.rb M spec/bundler/quality_spec.rb M spec/bundler/realworld/fixtures/warbler/Gemfile.lock M spec/bundler/runtime/inline_spec.rb M spec/bundler/runtime/platform_spec.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/spec_helper.rb M spec/bundler/support/builders.rb A spec/bundler/support/bundle.rb M spec/bundler/support/hax.rb M spec/bundler/support/helpers.rb M spec/bundler/support/matchers.rb M spec/bundler/support/path.rb M spec/bundler/support/rubygems_ext.rb commit 0d9496f924d36534bd524791554d49dc0026b0e0 Author: Hiroshi SHIBATA Date: Thu Apr 15 12:45:38 2021 +0900 Restore bundler.gemspec from ruby/ruby repository with sync_default_gems.rb M tool/sync_default_gems.rb commit fd978621ccbc9519afc05ad031ba2518e9a6f379 Author: Nobuyoshi Nakada Date: Thu Apr 15 12:49:06 2021 +0900 mkconfig.rb: Update around SDKROOT c.f. https://opensource.apple.com/source/ruby/ruby-145.40.1/patches/tool_mkconfig.rb.diff * moved to "includedir" from "oldincludedir". * honor "$(prefix)/include" if exists, otherwise fallback to `xcrun`. M tool/mkconfig.rb commit df0f60b690b131810de3dd1603e5bebc7f438903 Author: Yusuke Endoh Date: Thu Apr 15 13:38:45 2021 +0900 spec/ruby/library/matrix/: Change the version guard to 3.1.0 [Bug #17521] won't be backported until 3.1.0. https://github.com/ruby/spec/pull/832 M spec/ruby/library/matrix/exponent_spec.rb commit 92545977de0664bd2f37455dd4c4ac4e716a8be2 Author: Kenichi Kamiya Date: Thu Apr 15 11:14:43 2021 +0900 [Doc] Add Hash#value? into call-seq (#4293) M hash.c commit d9a5281363f2ffb024fbce9d647f5aa2362b5477 Author: git Date: Thu Apr 15 02:51:49 2021 +0900 * 2021-04-15 [ci skip] M version.h commit b190f6ef137c192b69103918864ddb242626edf7 Author: universato Date: Thu Apr 15 02:13:42 2021 +0900 [ruby/matrix] Fix a typo in a error message M lib/matrix.rb commit 4eefb057257b169c50715e7b38865421380f619b Author: Peter Zhu Date: Mon Apr 12 18:20:55 2021 +0000 Add RSymbol struct back into RVALUE Commit 0ca714fa1aa3fbe4fb60ae1e5b730e544dabc27b removed RSymbol from RVALUE. This commit adds RSymbol back into RVALUE. M gc.c commit 393923b50d472468c078c08a4b6f90e7186deb4a Author: Nobuyoshi Nakada Date: Tue Apr 13 14:49:49 2021 +0900 Inline LONG_LONG conversions Not only NUM2LL, also LL2NUM, ULL2NUM and NUM2ULL. M include/ruby/internal/arithmetic/long_long.h commit f8e1bf283d328dda6334ecca5170b72b870f0da2 Author: 卜部昌平 Date: Mon Apr 12 11:37:01 2021 +0900 workaround MSVC error Previous code failed to compile on MSVC. Log: https://github.com/ruby/ruby/pull/4371/checks?check_run_id=2304484466 This is possibly due to the fact that: 1. `Data_Wrap_Struct(...)` appears in a source code 2. which expands to `rb_data_object_wrap(...)` 3. which expands to `RUBY_MACRO_SELECT(rb_data_object_wrap_, RUBY_UNTYPED_DATA_WARNING)` 4. which expands to `rb_data_object_wrap_0` 5. which expands to `rb_data_object_wrap`, so far so good, but 6. this is a recursive macro expansion (see step 2). Everybody stops expanding... - in step 4 for MSVC, and - in step 5 for GCC etc. I have no idea why but this proposed changeset prevents MSVC from stopping at step 4. M include/ruby/internal/core/rdata.h commit 6413dc27dca1347d95f0b37527a794b182e4f7b9 Author: 卜部昌平 Date: Fri Apr 9 18:01:15 2021 +0900 dependency updates M common.mk M enc/depend M ext/-test-/RUBY_ALIGNOF/depend M ext/-test-/arith_seq/extract/depend M ext/-test-/array/resize/depend M ext/-test-/bignum/depend M ext/-test-/bug-14834/depend M ext/-test-/bug-3571/depend M ext/-test-/bug-5832/depend M ext/-test-/bug_reporter/depend M ext/-test-/class/depend M ext/-test-/debug/depend M ext/-test-/enumerator_kw/depend M ext/-test-/exception/depend M ext/-test-/fatal/depend M ext/-test-/file/depend M ext/-test-/float/depend M ext/-test-/funcall/depend M ext/-test-/gvl/call_without_gvl/depend M ext/-test-/hash/depend M ext/-test-/integer/depend M ext/-test-/iseq_load/depend M ext/-test-/iter/depend M ext/-test-/load/protect/depend M ext/-test-/marshal/compat/depend M ext/-test-/marshal/internal_ivar/depend M ext/-test-/marshal/usr/depend M ext/-test-/memory_status/depend M ext/-test-/memory_view/depend M ext/-test-/method/depend M ext/-test-/notimplement/depend M ext/-test-/num2int/depend M ext/-test-/path_to_class/depend M ext/-test-/popen_deadlock/depend M ext/-test-/postponed_job/depend M ext/-test-/printf/depend M ext/-test-/proc/depend M ext/-test-/random/depend M ext/-test-/rational/depend M ext/-test-/rb_call_super_kw/depend M ext/-test-/recursion/depend M ext/-test-/regexp/depend M ext/-test-/scan_args/depend M ext/-test-/st/foreach/depend M ext/-test-/st/numhash/depend M ext/-test-/st/update/depend M ext/-test-/string/depend M ext/-test-/struct/depend M ext/-test-/symbol/depend M ext/-test-/thread_fd_close/depend M ext/-test-/time/depend M ext/-test-/tracepoint/depend M ext/-test-/typeddata/depend M ext/-test-/vm/depend M ext/-test-/wait_for_single_fd/depend M ext/bigdecimal/depend M ext/cgi/escape/depend M ext/continuation/depend M ext/coverage/depend M ext/date/depend M ext/dbm/depend M ext/digest/bubblebabble/depend M ext/digest/depend M ext/digest/md5/depend M ext/digest/rmd160/depend M ext/digest/sha1/depend M ext/digest/sha2/depend M ext/etc/depend M ext/fcntl/depend M ext/fiddle/depend M ext/gdbm/depend M ext/io/console/depend M ext/io/nonblock/depend M ext/io/wait/depend M ext/json/generator/depend M ext/json/parser/depend M ext/monitor/depend M ext/nkf/depend M ext/objspace/depend M ext/openssl/depend M ext/pathname/depend M ext/psych/depend M ext/pty/depend M ext/racc/cparse/depend M ext/rbconfig/sizeof/depend M ext/readline/depend M ext/ripper/depend M ext/socket/depend M ext/stringio/depend M ext/strscan/depend M ext/syslog/depend M ext/zlib/depend M include/ruby/internal/attr/constexpr.h M include/ruby/internal/attr/restrict.h M include/ruby/internal/core/rdata.h M include/ruby/internal/has/attribute.h M include/ruby/internal/has/builtin.h M include/ruby/internal/has/cpp_attribute.h M include/ruby/internal/has/declspec_attribute.h commit f411fcd14587cfbf1efb86944134b993c04b050e Author: 卜部昌平 Date: Fri Apr 9 17:56:43 2021 +0900 get rid of #pragma GCC diagnostic ignored "-Wundef" Use of TOKEN_PASTE was a bad idea at the first place. Just use ## everywhere. Nobody practically lacks token pasting. M include/ruby/internal/attr/constexpr.h M include/ruby/internal/attr/restrict.h M include/ruby/internal/core/rdata.h M include/ruby/internal/has/attribute.h M include/ruby/internal/has/builtin.h M include/ruby/internal/has/cpp_attribute.h M include/ruby/internal/has/declspec_attribute.h D include/ruby/internal/token_paste.h commit 6878d51731c596fa4dc375b997c1c883d585db02 Author: git Date: Tue Apr 13 13:12:52 2021 +0900 * 2021-04-13 [ci skip] M version.h commit 12f7ba5ed4a07855d6a9429aa627211db3655ca7 Author: Nobuyoshi Nakada Date: Mon Apr 12 22:56:15 2021 +0900 Make String#crypt ractor-safe M common.mk M string.c commit df7efdcb6b7fd4286fe7d1fe853fb679aa6a5120 Author: Nobuyoshi Nakada Date: Mon Apr 12 22:47:07 2021 +0900 Get rid of LONG_LONG redefinition M string.c commit 59171378fb1b22d66daf9a028bc07812cabbdfcc Author: git Date: Mon Apr 12 15:58:32 2021 +0900 * 2021-04-12 [ci skip] M version.h commit a5688b5ce6e87a5b881a4d52d4e59b6fe807e807 Author: Nobuyoshi Nakada Date: Mon Apr 12 14:42:26 2021 +0900 Support non-standard `struct stat` [Bug #17793] On 32-bit Android: * `st_dev`/`st_rdev` are not `dev_t` * `st_mode` is not `mode_t` M configure.ac M file.c commit 799ea1d1540aca03542ee31647052343507a4b41 Author: Nobuyoshi Nakada Date: Sun Apr 11 20:15:59 2021 +0900 mkmf.rb: convert also arch_hdrdir [Bug #16651] M lib/mkmf.rb commit 9f9045123efefbd11dd397b4d59596290765feec Author: tompng (tomoya ishida) Date: Sun Apr 11 19:04:31 2021 +0900 st.c: skip all deleted entries [Bug #17779] Update the start entry skipping all already deleted entries. Fixes performance issue of `Hash#first` in a certain case. A benchmark/hash_first.yml M st.c commit 60bdf03b6d982777656acc11bdeb2ca4b4c3f1ef Author: Nobuyoshi Nakada Date: Sun Apr 11 13:21:33 2021 +0900 [DOC] Adjusted spacing [ci skip] M dir.c commit 37b96d6773a2151fb3193cab6b9e3f7328915844 Author: Nobuyoshi Nakada Date: Sun Apr 11 13:18:47 2021 +0900 sync_default_gems.rb: merge only files named as each gem M tool/sync_default_gems.rb commit dbdd8c2dfe229023daed4e00147229a3c7acdad1 Author: Nobuyoshi Nakada Date: Sun Apr 11 09:59:01 2021 +0900 sync_default_gems.rb: ignore rakelib [ci skip] M tool/sync_default_gems.rb commit ec0158782729756021671fdbbd391ef56e7cd7cf Author: Nobuyoshi Nakada Date: Sun Apr 11 09:05:36 2021 +0900 Revert "[ruby/optparse] No document in rakelib" [ci skip] This reverts commit bd7430c7aacd135419609eec72e3889cd00a6f73. No rakelib in ruby itself. D rakelib/.document commit f89486965b64bc04ed49073fd5ef48390e0026d2 Author: Nobuyoshi Nakada Date: Sun Apr 11 09:03:07 2021 +0900 [ruby/optparse] Moved rdoc files to doc/optparse https://github.com/ruby/optparse/commit/cccb28e0de R100 doc/argument_converters.rdoc doc/optparse/argument_converters.rdoc R100 doc/creates_option.rdoc doc/optparse/creates_option.rdoc R100 doc/option_params.rdoc doc/optparse/option_params.rdoc R100 doc/ruby/abbreviation.rb doc/optparse/ruby/abbreviation.rb R100 doc/ruby/argument_keywords.rb doc/optparse/ruby/argument_keywords.rb R100 doc/ruby/argument_strings.rb doc/optparse/ruby/argument_strings.rb R100 doc/ruby/argv.rb doc/optparse/ruby/argv.rb R100 doc/ruby/array.rb doc/optparse/ruby/array.rb R100 doc/ruby/block.rb doc/optparse/ruby/block.rb R100 doc/ruby/collected_options.rb doc/optparse/ruby/collected_options.rb R100 doc/ruby/custom_converter.rb doc/optparse/ruby/custom_converter.rb R100 doc/ruby/date.rb doc/optparse/ruby/date.rb R100 doc/ruby/datetime.rb doc/optparse/ruby/datetime.rb R100 doc/ruby/decimal_integer.rb doc/optparse/ruby/decimal_integer.rb R100 doc/ruby/decimal_numeric.rb doc/optparse/ruby/decimal_numeric.rb R100 doc/ruby/default_values.rb doc/optparse/ruby/default_values.rb R100 doc/ruby/descriptions.rb doc/optparse/ruby/descriptions.rb R100 doc/ruby/explicit_array_values.rb doc/optparse/ruby/explicit_array_values.rb R100 doc/ruby/explicit_hash_values.rb doc/optparse/ruby/explicit_hash_values.rb R100 doc/ruby/false_class.rb doc/optparse/ruby/false_class.rb R100 doc/ruby/float.rb doc/optparse/ruby/float.rb R100 doc/ruby/integer.rb doc/optparse/ruby/integer.rb R100 doc/ruby/long_names.rb doc/optparse/ruby/long_names.rb R100 doc/ruby/long_optional.rb doc/optparse/ruby/long_optional.rb R100 doc/ruby/long_required.rb doc/optparse/ruby/long_required.rb R100 doc/ruby/long_simple.rb doc/optparse/ruby/long_simple.rb R100 doc/ruby/long_with_negation.rb doc/optparse/ruby/long_with_negation.rb R100 doc/ruby/matched_values.rb doc/optparse/ruby/matched_values.rb R100 doc/ruby/method.rb doc/optparse/ruby/method.rb R100 doc/ruby/missing_options.rb doc/optparse/ruby/missing_options.rb R100 doc/ruby/mixed_names.rb doc/optparse/ruby/mixed_names.rb R100 doc/ruby/no_abbreviation.rb doc/optparse/ruby/no_abbreviation.rb R100 doc/ruby/numeric.rb doc/optparse/ruby/numeric.rb R100 doc/ruby/object.rb doc/optparse/ruby/object.rb R100 doc/ruby/octal_integer.rb doc/optparse/ruby/octal_integer.rb R100 doc/ruby/optional_argument.rb doc/optparse/ruby/optional_argument.rb R100 doc/ruby/proc.rb doc/optparse/ruby/proc.rb R100 doc/ruby/regexp.rb doc/optparse/ruby/regexp.rb R100 doc/ruby/required_argument.rb doc/optparse/ruby/required_argument.rb R100 doc/ruby/shellwords.rb doc/optparse/ruby/shellwords.rb R100 doc/ruby/short_names.rb doc/optparse/ruby/short_names.rb R100 doc/ruby/short_optional.rb doc/optparse/ruby/short_optional.rb R100 doc/ruby/short_range.rb doc/optparse/ruby/short_range.rb R100 doc/ruby/short_required.rb doc/optparse/ruby/short_required.rb R100 doc/ruby/short_simple.rb doc/optparse/ruby/short_simple.rb R100 doc/ruby/string.rb doc/optparse/ruby/string.rb R100 doc/ruby/terminator.rb doc/optparse/ruby/terminator.rb R100 doc/ruby/time.rb doc/optparse/ruby/time.rb R100 doc/ruby/true_class.rb doc/optparse/ruby/true_class.rb R100 doc/ruby/uri.rb doc/optparse/ruby/uri.rb R100 doc/tutorial.rdoc doc/optparse/tutorial.rdoc M lib/optparse.rb M lib/optparse/kwargs.rb commit cb01437c24ce3f819ef15947748e3c723b9c52c6 Author: Nobuyoshi Nakada Date: Sun Apr 11 08:49:30 2021 +0900 [ruby/optparse] Fix relative paths https://github.com/ruby/optparse/commit/8be031b539 M doc/creates_option.rdoc commit bd7430c7aacd135419609eec72e3889cd00a6f73 Author: Nobuyoshi Nakada Date: Fri Apr 9 23:20:03 2021 +0900 [ruby/optparse] No document in rakelib https://github.com/ruby/optparse/commit/4ff48f24c9 A rakelib/.document commit 1bad4bdf524fc07be8ece1dc784fdbedc07d8a97 Author: Burdette Lamar Date: Sat Apr 10 16:30:19 2021 -0500 [ruby/optparse] More on tutorial (#16) - Added example in "Argument Converters"; it doesn't seem right for a tutorial to have no example in one of its topics (and instead just linking elsewhere). - Added section "Command-Line Abbreviations." - Added section "Keyword Argument into," showing how to: - Collect options. - Check for missing options. - Provide option defaults. https://github.com/ruby/optparse/commit/39d39676c4 A doc/ruby/abbreviation.rb A doc/ruby/collected_options.rb A doc/ruby/default_values.rb A doc/ruby/missing_options.rb A doc/ruby/no_abbreviation.rb M doc/tutorial.rdoc commit ff0dac184902e42fac148940cd6c026679a0ee21 Author: Burdette Lamar Date: Sat Apr 10 10:05:44 2021 -0500 [ruby/optparse] Rdoc (#15) * Resolve shared mixed_names.rb * Add long option with negation * Show --help for all examples * Table of contents for tutorial * Move argument converters to separate rdoc * Add references to argument_converters.rdoc * Tune up argument converters * Change explicit links to auto-links https://github.com/ruby/optparse/commit/c91ed8d33d A doc/argument_converters.rdoc M doc/option_params.rdoc A doc/ruby/custom_converter.rb M doc/ruby/long_names.rb R057 doc/ruby/long_binary.rb doc/ruby/long_with_negation.rb M doc/ruby/mixed_names.rb M doc/ruby/optional_argument.rb M doc/ruby/required_argument.rb M doc/ruby/short_names.rb M doc/tutorial.rdoc commit c795f30ef00e5d428b4ffaf95e91d61f4a26a505 Author: Burdette Lamar Date: Fri Apr 9 08:21:34 2021 -0500 [ruby/optparse] Reorganize Ruby example files for sharing (#14) https://github.com/ruby/optparse/commit/9a2352c1c9 M doc/creates_option.rdoc R095 doc/option_params/option_params.rdoc doc/option_params.rdoc D doc/option_params/mixed_names.rb R100 doc/option_params/argument_keywords.rb doc/ruby/argument_keywords.rb R100 doc/option_params/argument_strings.rb doc/ruby/argument_strings.rb R100 doc/tutorial/argv.rb doc/ruby/argv.rb R100 doc/option_params/array.rb doc/ruby/array.rb R100 doc/option_params/block.rb doc/ruby/block.rb R100 doc/option_params/date.rb doc/ruby/date.rb R100 doc/option_params/datetime.rb doc/ruby/datetime.rb R100 doc/option_params/decimal_integer.rb doc/ruby/decimal_integer.rb R100 doc/option_params/decimal_numeric.rb doc/ruby/decimal_numeric.rb R100 doc/option_params/descriptions.rb doc/ruby/descriptions.rb R100 doc/option_params/explicit_array_values.rb doc/ruby/explicit_array_values.rb R100 doc/option_params/explicit_hash_values.rb doc/ruby/explicit_hash_values.rb R100 doc/option_params/false_class.rb doc/ruby/false_class.rb R100 doc/option_params/float.rb doc/ruby/float.rb R100 doc/option_params/integer.rb doc/ruby/integer.rb R100 doc/option_params/long_binary.rb doc/ruby/long_binary.rb R100 doc/tutorial/long_names.rb doc/ruby/long_names.rb R100 doc/option_params/long_optional.rb doc/ruby/long_optional.rb R100 doc/option_params/long_required.rb doc/ruby/long_required.rb R100 doc/option_params/long_simple.rb doc/ruby/long_simple.rb R100 doc/option_params/matched_values.rb doc/ruby/matched_values.rb R100 doc/option_params/method.rb doc/ruby/method.rb R100 doc/tutorial/mixed_names.rb doc/ruby/mixed_names.rb R100 doc/option_params/numeric.rb doc/ruby/numeric.rb R100 doc/option_params/object.rb doc/ruby/object.rb R100 doc/option_params/octal_integer.rb doc/ruby/octal_integer.rb R100 doc/tutorial/optional_argument.rb doc/ruby/optional_argument.rb R100 doc/option_params/proc.rb doc/ruby/proc.rb R100 doc/option_params/regexp.rb doc/ruby/regexp.rb R100 doc/tutorial/required_argument.rb doc/ruby/required_argument.rb R100 doc/option_params/shellwords.rb doc/ruby/shellwords.rb R100 doc/tutorial/short_names.rb doc/ruby/short_names.rb R100 doc/option_params/short_optional.rb doc/ruby/short_optional.rb R100 doc/option_params/short_range.rb doc/ruby/short_range.rb R100 doc/option_params/short_required.rb doc/ruby/short_required.rb R100 doc/option_params/short_simple.rb doc/ruby/short_simple.rb R100 doc/option_params/string.rb doc/ruby/string.rb R100 doc/option_params/terminator.rb doc/ruby/terminator.rb R100 doc/option_params/time.rb doc/ruby/time.rb R100 doc/option_params/true_class.rb doc/ruby/true_class.rb R100 doc/option_params/uri.rb doc/ruby/uri.rb R096 doc/tutorial/tutorial.rdoc doc/tutorial.rdoc commit 97abd0f6afeeab287b371e9ccc5dd28a33d13a83 Author: git Date: Sun Apr 11 08:40:42 2021 +0900 * 2021-04-11 [ci skip] M version.h commit f60fba03bf86d5639ac3ad1e1c7dbd1e3407ae11 Author: Zachary Scott Date: Sun Apr 11 08:37:39 2021 +0900 Make sure to mention ext/Setup is optional This step confused me when trying to compile Ruby after 5 years, so it should be avoided unless you need static linking. M README.md commit 4a6c7f8696f3a5df36fb752990f037b8ba9b5937 Author: Nobuyoshi Nakada Date: Fri Apr 9 17:51:31 2021 +0900 configure: always check for atomic/sync builtins [Bug #17787] Non-gcc compilers tend to have this intrinsic these days, e.g. xlc has `__sync` builtins. M configure.ac commit 8b7cab70ebf10b252c62bbc7931d0927fb9c25ad Author: Nobuyoshi Nakada Date: Fri Apr 9 17:37:14 2021 +0900 configure: try `-fdeclspec` option by linking [Bug #17787] A workaround for `-f` option of AIX xlc compiler which works only on linking. M configure.ac commit c569c298fe7bf0ff7d51ae26193b00592e65ab8c Author: Nobuyoshi Nakada Date: Fri Apr 9 14:49:30 2021 +0900 just redirect preprocessed vm.c to mjit header [Bug #17787] Not all preprocessors work with output option. M template/Makefile.in commit 3a3033c138c0951ad5edbf02b5c233b58a190d2f Author: Nobuyoshi Nakada Date: Fri Apr 9 13:52:13 2021 +0900 get rid of using `__builtin_unreachable` directly [Bug #17787] As it is an independent feature from `clz`, `ctz` and `popcount`, it might be unavailable even if the latters are built in. M internal/bits.h commit 6c7d39aabed9b70b6bf13cc27c2bff086cd99bda Author: Nobuyoshi Nakada Date: Sat Apr 10 12:41:36 2021 +0900 rbinstall.rb: record default gem files M tool/rbinstall.rb commit af8ac97fcc2c6d43655fa3b9cc650a5400ee4910 Author: Nobuyoshi Nakada Date: Sat Apr 10 11:59:09 2021 +0900 rbinstall.rb: append "/" to directory names M tool/rbinstall.rb commit 68a6f6c4abbd554c20ccd85a538dc4576aad87f0 Author: Nobuyoshi Nakada Date: Sat Apr 10 11:57:45 2021 +0900 mac: ignore SDKROOT at installation M common.mk M defs/gmake.mk commit 0a93a3f4c63f025c47caf02c62f3d684ec456603 Author: Nobuyoshi Nakada Date: Sat Apr 10 11:39:45 2021 +0900 win32: fix RUBY_RELEASE_DATE in Makefile As it is overridden by the definition in common.mk, instead define YEAR, MONTH and DAY which are used there. This macro is useful for daily build&installation by the combination with "relative-load", for example: ```sh $ ./configure --prefix=/. --enable-load-relative \ --with-destdir='$(HOME)/.rbenv/versions/$(RUBY_RELEASE_DATE)' ``` This can install images usable by rbenv per days. M win32/setup.mak commit 836da24e97d9443ffb75abbb35ced3ce52e8242f Author: Samuel Williams Date: Sat Apr 10 09:00:05 2021 +1200 Fix symbol export. M include/ruby/fiber/scheduler.h commit ff43ecc0c1f5e1b2e475268f0f012d2081bf00bc Author: git Date: Sat Apr 10 02:48:12 2021 +0900 * 2021-04-10 [ci skip] M version.h commit 9c31fb61148c28153ca084149b7e887abdfa408a Author: Jeremy Evans Date: Fri Apr 9 10:44:07 2021 -0700 Fix documentation for Enumerator::Lazy#with_index If a block is given, it returns a lazy enumerator that will iterate over the block, it doesn't iterate over the block immediately. Fixes [Bug #17789] M enumerator.c commit 582f4bc1889c3161f47a76b46b60d5b9c6fb0bde Author: Yusuke Endoh Date: Fri Apr 9 13:59:46 2021 +0900 test/ruby/test_gc_compact.rb: Use assert_separately for debugging ... the following timeout failure. http://rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20210408T213303Z.fail.html.gz ``` [ 8871/21204] TestGCCompact#test_ast_compactstimeout: output interval exceeds 600.0 seconds. timeout: the process group 28416 is alive. PSOUT PGID PID ELAPSED %CPU VSZ COMMAND COMMAND PSOUT 28416 28416 12:46 0.0 108120 gmake gmake TESTS=--hide-skip -v RUBYOPT=-w test-all PSOUT 28416 28423 12:46 88.2 1446124 ruby ./test/runner.rb: TestGCCompact#test_ast_compacts timeout: INT signal sent. timeout: INT signal sent. timeout: TERM signal sent. timeout: TERM signal sent. timeout: KILL signal sent. ``` This error repeatedly occurs on RHEL s390x. This change sends SEGV when timeout occurs so that it should dump the backtrace. M test/ruby/test_gc_compact.rb commit 6496c76d2a4cc3d6c4870454280d66dc399e11db Author: aycabta Date: Fri Apr 9 11:57:23 2021 +0900 [ruby/reline] Add calling Reline::Config#reset_default_key_bindings to #reset, which is forgot to call M lib/reline/config.rb commit a6ae593ca059491cd2787b119a5ec2769bda933b Author: git Date: Fri Apr 9 00:01:08 2021 +0900 * 2021-04-09 [ci skip] M version.h commit 5c4ff3f00c6bd84ef0721c1077ee9c525daa68f8 Author: Jeremy Evans Date: Thu Apr 8 07:53:06 2021 -0700 Document how to handle kill/terminate interrupts in Thread.handle_interrupt The kill/terminate interrupts are internally handled not as Exception instances, but as integers. So using Exception doesn't handle these interrupts, but Object does. You can use Integer if you only want to handle kill/terminate interrupts, but that's probably more of an implementation detail, while handling Object should work regardless of the implementation. Fixes [Bug #15735] M thread.c commit 0395aa6bbb23c2a4c92fbbec87803a9670174d2c Author: Nobuyoshi Nakada Date: Thu Apr 8 21:26:10 2021 +0900 Make the return type of rb_char_next the same as CharNext M eval_intern.h commit b0b3022f95b9ad4f19098b461e461dbb96f8e906 Author: Nobuyoshi Nakada Date: Wed Apr 7 11:56:39 2021 +0900 [ruby/reline] Moved development dependencies to Gemfile As expressions in a gemspec file are evaluated at the build time, but not the run time, the conditional in the gemspec will not work as intended. https://github.com/ruby/reline/commit/c09b7c454a M lib/reline/reline.gemspec commit 5543695a19faccea325f91c9791d06dc4d29e132 Author: aycabta Date: Mon Apr 5 16:03:53 2021 +0900 [ruby/reline] Separate keystrokes each editing mode https://github.com/ruby/reline/commit/ee23e6f3f8 M lib/reline.rb M lib/reline/ansi.rb M lib/reline/config.rb M lib/reline/general_io.rb M lib/reline/key_actor/base.rb M lib/reline/windows.rb M test/reline/test_config.rb commit 16f31da92e0c8722cb1f708d1a6938c386d477cf Author: aycabta Date: Sun Apr 4 02:44:59 2021 +0900 [ruby/reline] Check WITH_VTERM env to add vterm gem as dependency https://github.com/ruby/reline/commit/27b689a7e2 M lib/reline/reline.gemspec commit 9e940eae604f886f48fa10e667ceb40c35924b91 Author: Nobuyoshi Nakada Date: Wed Apr 7 12:12:27 2021 +0900 [ruby/irb] Moved development dependencies to Gemfile As expressions in a gemspec file are evaluated at the build time, but not the run time, the conditional in the gemspec will not work as intended. https://github.com/ruby/irb/commit/42f364ea23 M lib/irb/irb.gemspec commit 3816157e5d955da422d717f278bd3d4551447348 Author: Nobuyoshi Nakada Date: Wed Apr 7 12:07:48 2021 +0900 [ruby/irb] Ripper::Lexer::Elem#state is defined since Ruby 2.5 And the required ruby version is 2.5 or later. https://github.com/ruby/irb/commit/ac496d4c78 M lib/irb/color.rb commit d825e34962540d345eb3c5a70eb264b415e915a5 Author: Nobuyoshi Nakada Date: Thu Apr 8 20:36:58 2021 +0900 Use autogen.sh M .github/workflows/baseruby.yml M .github/workflows/check_dependencies.yml M .github/workflows/compilers.yml M .github/workflows/macos.yml M .github/workflows/mjit.yml M .github/workflows/ubuntu.yml commit ee372aa8735b8836d074b90a41bf69269292a977 Author: Yusuke Endoh Date: Thu Apr 8 14:22:59 2021 +0900 test/zlib/test_zlib.rb: Set binmode to test output file Seems like the test `TestZlibGzipFile#test_gzip_reader_zcat` fails when the timestamp has `\n\n`. https://ci.appveyor.com/project/ruby/ruby/builds/38597932 ``` 1) Error: TestZlibGzipFile#test_gzip_reader_zcat: Zlib::DataError: invalid distance too far back C:/projects/ruby/test/zlib/test_zlib.rb:522:in `initialize' C:/projects/ruby/test/zlib/test_zlib.rb:522:in `new' C:/projects/ruby/test/zlib/test_zlib.rb:522:in `zcat' C:/projects/ruby/test/zlib/test_zlib.rb:522:in `block (2 levels) in test_gzip_reader_zcat' C:/projects/ruby/test/zlib/test_zlib.rb:521:in `open' C:/projects/ruby/test/zlib/test_zlib.rb:521:in `block in test_gzip_reader_zcat' C:/projects/ruby/lib/tempfile.rb:358:in `create' C:/projects/ruby/test/zlib/test_zlib.rb:510:in `test_gzip_reader_zcat' ``` The test time is around 2021-04-08 04:40 +0900. Maybe the following time should trigger the bug. ``` irb(main):001:0> Time.at(1617824266) => 2021-04-08 04:37:46 +0900 irb(main):002:0> [1617824266].pack("V") => "\n\nn`" ``` M test/zlib/test_zlib.rb commit ec355813b08d0371024f91eab33195d8c7891805 Author: Olle Jonsson Date: Thu Apr 8 05:33:56 2021 +0200 [ruby/optparse] gemspec: Explicit files list [ci skip] This avoid shelling out, and includes a narrower list of files. https://github.com/ruby/optparse/commit/f3ca83caff Co-authored-by: Nobuyoshi Nakada M lib/optparse/optparse.gemspec commit a5ecce9187a275497895eca3fdb080ca60297931 Author: BurdetteLamar Date: Wed Apr 7 11:58:46 2021 -0500 [ruby/optparse] Make use of option_params.rdoc https://github.com/ruby/optparse/commit/d55d9284c3 A doc/creates_option.rdoc M doc/option_params/option_params.rdoc M lib/optparse.rb M lib/optparse/kwargs.rb commit 5891159f9608f058b3fb2ba96a9874fc81f3d7b3 Author: Burdette Lamar Date: Wed Apr 7 09:01:52 2021 -0500 [ruby/optparse] Enhanced doc for option parameters (#11) https://github.com/ruby/optparse/commit/5618eeb49e A doc/option_params/argument_keywords.rb A doc/option_params/argument_strings.rb A doc/option_params/array.rb A doc/option_params/block.rb A doc/option_params/date.rb A doc/option_params/datetime.rb A doc/option_params/decimal_integer.rb A doc/option_params/decimal_numeric.rb A doc/option_params/descriptions.rb A doc/option_params/explicit_array_values.rb A doc/option_params/explicit_hash_values.rb A doc/option_params/false_class.rb A doc/option_params/float.rb A doc/option_params/integer.rb A doc/option_params/long_binary.rb A doc/option_params/long_optional.rb A doc/option_params/long_required.rb A doc/option_params/long_simple.rb A doc/option_params/matched_values.rb A doc/option_params/method.rb A doc/option_params/mixed_names.rb A doc/option_params/numeric.rb A doc/option_params/object.rb A doc/option_params/octal_integer.rb A doc/option_params/option_params.rdoc A doc/option_params/proc.rb A doc/option_params/regexp.rb A doc/option_params/shellwords.rb A doc/option_params/short_optional.rb A doc/option_params/short_range.rb A doc/option_params/short_required.rb A doc/option_params/short_simple.rb A doc/option_params/string.rb A doc/option_params/terminator.rb A doc/option_params/time.rb A doc/option_params/true_class.rb A doc/option_params/uri.rb commit fe72cff487283dbaadb9757e74f00291d772cb6f Author: Burdette Lamar Date: Tue Apr 6 13:55:21 2021 -0500 [ruby/optparse] More on tutorial (#9) * More on tutorial: clearer example output https://github.com/ruby/optparse/commit/84dfd92d2a D doc/ruby/long_names.rb D doc/ruby/mixed_names.rb D doc/ruby/short_names.rb R100 doc/ruby/argv.rb doc/tutorial/argv.rb A doc/tutorial/long_names.rb A doc/tutorial/mixed_names.rb A doc/tutorial/optional_argument.rb A doc/tutorial/required_argument.rb A doc/tutorial/short_names.rb R053 doc/tutorial.rdoc doc/tutorial/tutorial.rdoc commit 2b66b224793915adb8ed27308e9db26fc273635b Author: Olle Jonsson Date: Tue Apr 6 10:01:37 2021 +0200 [ruby/optparse] gemspec: Explicitly list 0 executables This gem exposes no executable files. https://github.com/ruby/optparse/commit/d14bf83007 M lib/optparse/optparse.gemspec commit 0d1d779c239c4e4d98c42a7e97a9f43e3c5e53ff Author: BurdetteLamar Date: Mon Mar 29 14:03:04 2021 -0500 [ruby/optparse] Beginnings of tutorial https://github.com/ruby/optparse/commit/f209276f79 A doc/ruby/argv.rb A doc/ruby/long_names.rb A doc/ruby/mixed_names.rb A doc/ruby/short_names.rb A doc/tutorial.rdoc commit 956056db37c6d1ff0ba17746f81f83729c0fbb6b Author: Nobuyoshi Nakada Date: Thu Apr 8 12:04:25 2021 +0900 sync_default_gems.rb: do not reset the whole directory [ci skip] If no files to be ignored, resetting with no argument means resetting the whole directory. M tool/sync_default_gems.rb commit cdc0cdc77f51462b466c627efda0ec4344155c22 Author: git Date: Thu Apr 8 04:17:17 2021 +0900 * 2021-04-08 [ci skip] M version.h commit d8a13e504992a45d52063f7c925408d7aad3595a Author: Peter Zhu Date: Wed Apr 7 18:25:16 2021 +0000 [Bug #17780] Fix Method#super_method for module alias Method#super_method crashes for aliased module methods because they are not defined on a class. This bug was introduced in c60aaed1856b2b6f90de0992c34771830019e021 as part of bug #17130. M proc.c M test/ruby/test_method.rb commit 587e6800086764a1b7c959976acef33e230dccc2 Author: git Date: Wed Apr 7 16:43:58 2021 +0900 * 2021-04-07 [ci skip] M version.h commit fbbc37dc1d5b329777e6d9716118db528ab70730 Author: Yusuke Endoh Date: Wed Apr 7 16:34:19 2021 +0900 test/drb/test_drb.rb: Specify the host of DRbServer to try fixing the following error. http://rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20210407T063004Z.log.html.gz ``` [ 605/21105] DRbTests::TestDRbSSLAry#test_06_next/home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/lib/drb/drb.rb:1138:in `method_missing': undefined method `regist' for [1, 2, "III", 4, "five", 6]:Array (NoMethodError) from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/lib/drb/extserv.rb:21:in `block in initialize' from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/.ext/common/monitor.rb:202:in `synchronize' from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/.ext/common/monitor.rb:202:in `mon_synchronize' from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/lib/drb/extserv.rb:20:in `initialize' from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/test/drb/ut_array_drbssl.rb:35:in `new' from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/test/drb/ut_array_drbssl.rb:35:in `
' = 100.05 s ``` Here is my analysis: The test of drb used both `druby://:0` and `druby://localhost:0` for DRbServer. However, the former listens on IPv4, and the latter does on IPv6, depending on environments. The port 0 is automatically assigned, but sometimes the same port is used to both because they are different protocols (IPv4 and IPv6). In this case, their URIs are resolved to the completely same one (`druby://localhost:port`), which confuses the method `DRb.here?` which determines the DRbObject is remote or local. This changeset uses `druby://localhost:0` consistently. M test/drb/test_drb.rb M test/drb/test_drbssl.rb commit 31ba81788729944705e9f666b52c5ca4990c311d Author: Kazuhiro NISHIYAMA Date: Tue Apr 6 16:02:24 2021 +0900 Try to fix Leaked file descriptor https://github.com/ruby/ruby/runs/2274767991?check_suite_focus=true#step:15:118 ``` Leaked file descriptor: DRbTests::TestDRbTCP#test_immediate_close: 7 : # Leaked file descriptor: DRbTests::TestDRbTCP#test_immediate_close: 9 : # Leaked file descriptor: DRbTests::TestDRbTCP#test_immediate_close: 10 : # ``` M test/drb/test_drb.rb commit 93c73ab8982b23faed6d19b82c0f17de9338ff13 Author: Yusuke Endoh Date: Tue Apr 6 15:19:23 2021 +0900 spec/ruby/library/matrix/: Change the version guard to 3.0.2 [Bug #17521] is not backported to 3.0.1. M spec/ruby/library/matrix/exponent_spec.rb commit ff91b97c83c5e9aa67bc4032d70f0ed19b334f44 Author: NARUSE, Yui Date: Tue Apr 6 11:25:10 2021 +0900 The guard is to alert patchlevel of X.Y.0 M tool/merger.rb commit 3e5b69141036bcedc07b488613f87c154e921d1b Author: git Date: Tue Apr 6 09:34:48 2021 +0900 * 2021-04-06 [ci skip] M version.h commit d235dd446175ab15b16644ba50a705e24ed4faf5 Author: Nobuyoshi Nakada Date: Tue Apr 6 09:33:11 2021 +0900 update-deps: prepare to run if not yet done M tool/update-deps commit e0bd293855d0062a895233e7735b9c65db7c5500 Author: Yusuke Endoh Date: Mon Apr 5 23:19:44 2021 +0900 Update tool/format-release * remove bz2 entries for Ruby 3 series * remove stats information except "X.X.0" release M tool/format-release commit 856a9701fd13edbb9d5f0fa773082d312195df90 Author: Nobuyoshi Nakada Date: Mon Apr 5 21:20:51 2021 +0900 Get rid of multibyte prefix to tmpdir M test/ruby/test_require.rb commit a00d92326c5b7431592d29b408be332f65ec8dc2 Author: Hiroshi SHIBATA Date: Mon Apr 5 21:06:23 2021 +0900 [ruby/tmpdir] Bump version to 0.1.2 https://github.com/ruby/tmpdir/commit/c79bc7adf6 M lib/tmpdir.gemspec commit 4b6fa03a72b23fa03a8f37cbfdcad3f0251832cf Author: Nobuyoshi Nakada Date: Thu Apr 1 01:17:45 2021 +0900 [ruby/tmpdir] Make usable chars more strict Remove other than alphanumeric and some punctuations considered filesystem-safe, instead of removing some unsafe chars only. https://hackerone.com/reports/1131465 https://github.com/ruby/tmpdir/commit/adf294bc2d M lib/tmpdir.rb M test/test_tmpdir.rb commit 2f992272f20d29fe20e70555ffabe09cf80d8655 Author: Yusuke Endoh Date: Mon Apr 5 21:07:19 2021 +0900 Update REXML to 3.2.5 (#4353) M gems/bundled_gems commit 4b926330430738a61c4f4307b1ead2232c2e22c1 Author: Nobuyoshi Nakada Date: Mon Apr 5 12:17:44 2021 +0900 [ruby/irb] Suppress verbose messages in the parallel test `:VERBOSE` flag needs to be set prior to `IRB::Irb.new`. https://github.com/ruby/irb/commit/0dbe292979 M test/irb/test_cmd.rb commit d30d1e648dc21109ed84083dc1c8d38c556d4255 Author: git Date: Mon Apr 5 11:48:02 2021 +0900 * 2021-04-05 [ci skip] M version.h commit 52fb0a293228b6236cfc49195028b944f8b12c25 Author: Kenichi Kamiya Date: Wed Mar 24 23:14:10 2021 +0900 [Doc] Drop signature around removed IO#codepoints Follow 43b95bafd57d04c8fb401d3a9b52aca3f5b4b0be M io.c commit 3cd3d25dde87b5afec30881ec72cedf92216155f Author: Nobuyoshi Nakada Date: Sun Apr 4 21:52:50 2021 +0900 Unify code by word sizes M vm_dump.c commit bacb646169bf33ee6a317fa647ddd67853fbe62d Author: aycabta Date: Sun Apr 4 02:50:33 2021 +0900 [ruby/irb] Check WITH_VTERM env to add vterm gem as dependency https://github.com/ruby/irb/commit/23c8b73cb1 M lib/irb/irb.gemspec commit 2fcae4f90ab08ae06c28c4aa0989ee06d97f0536 Author: Yusuke Endoh Date: Sun Apr 4 15:26:09 2021 +0900 test/ruby/test_lambda.rb: Remove "warning: assigned but unused variable" M test/ruby/test_lambda.rb commit ffaaa2e65dc841d54674e3414d744aa2b98e652c Author: git Date: Sun Apr 4 11:35:14 2021 +0900 * 2021-04-04 [ci skip] M version.h commit be343946c76f00393ddbd12a7d7dabb575af0053 Author: S.H Date: Sun Apr 4 11:34:51 2021 +0900 Refactor rb_obj_call_init and rb_obj_call_init_kw (#4351) M eval.c commit 47abb70234867bd7dbc2f324ebcae7873fc4625e Author: aycabta Date: Sat Apr 3 20:17:34 2021 +0900 [ruby/reline] Use vterm 0.0.5 or newer on Unix like OSes because suppresses SEGV https://github.com/ruby/reline/commit/7562cf3b5f M lib/reline/reline.gemspec commit 281c6f505580d31baa747ecb6cb189f02782c5ab Author: aycabta Date: Sat Apr 3 20:21:04 2021 +0900 [ruby/irb] Use vterm 0.0.5 or newer on Unix like OSes because suppresses SEGV https://github.com/ruby/irb/commit/b034bd22b0 M lib/irb/irb.gemspec commit f07931818710b4d681db2678f87951bedbce014b Author: aycabta Date: Sat Apr 3 20:20:22 2021 +0900 [ruby/irb] Use yamatanooroti gem for tests https://github.com/ruby/irb/commit/f053f49c29 M lib/irb/irb.gemspec commit 6b906ad5643fc6bcd595863ba40b2a283db8de8f Author: Kenichi Kamiya Date: Sat Apr 3 14:45:18 2021 +0900 [Doc] Link to doc/contributing.rdoc from CONTRIBUTING.md (#4266) * [Doc] Link to doc/contributing.rdoc from CONTRIBUTING.md [ci skip] * [Doc] Add path prefix `doc/` https://github.com/ruby/ruby/pull/4266#discussion_r598220279 * [Doc] Prefer relative path in CONTRIBUTING.md This patch by nobu (Nobuyoshi Nakada), thank you! ref: https://github.com/ruby/ruby/pull/4266#discussion_r598212402 Co-authored-by: Nobuyoshi Nakada Co-authored-by: Nobuyoshi Nakada M CONTRIBUTING.md commit 8a4472fb6d2df0f6407cef24df6a038be90d1462 Author: aycabta Date: Sat Apr 3 01:25:34 2021 +0900 [ruby/reline] Version 0.2.5 https://github.com/ruby/reline/commit/22ce5651e5 M lib/reline/version.rb commit 3ffb04474ab3af83ca99d58405187b18cd55a248 Author: aycabta Date: Sat Apr 3 01:25:43 2021 +0900 [ruby/irb] Version 1.3.5 https://github.com/ruby/irb/commit/22e2ddf715 M lib/irb/version.rb commit 64b991b0cd98ee8f23266b8cbea0fa34bdaab1ec Author: Nobuyoshi Nakada Date: Sun Mar 21 14:36:57 2021 +0900 [ruby/rdoc] Links to document texts without "rdoc-ref:" prefix While links to generated HTML from RDoc file needs to be prefixed by "rdoc-ref:" currently, in case of explicit references this seems just redundant. Also GitHub RDoc support does not work with this prefix. This patch lets links to such document texts (".rb", ".rdoc" and ".md" now) refer URLs generated by `RDoc::TopLevel#http_url` without the prefix. https://github.com/ruby/rdoc/commit/f18b27b69d M lib/rdoc/markup/to_html.rb M test/rdoc/test_rdoc_markup_to_html.rb commit a6948329f8f89fb390215086fe4a888915fd589e Author: Nobuyoshi Nakada Date: Sun Mar 21 14:34:46 2021 +0900 [ruby/rdoc] Clarify that dots in URL are replaced The dots in all path components from the document root are replaced with underscores, not only in the basename. https://github.com/ruby/rdoc/commit/7a3417ea4c M test/rdoc/test_rdoc_top_level.rb commit 61e1cf23ac0d122fba3ad4cbaa402c7c94ad54d3 Author: aycabta Date: Tue Mar 16 19:01:50 2021 +0900 [ruby/rdoc] Treat emphasis tags as excluding other notations And exclusive notations don't exclude other exclusive notations. https://github.com/ruby/rdoc/commit/b8baa9a435 M lib/rdoc/markup/attr_span.rb M lib/rdoc/markup/attribute_manager.rb M test/rdoc/test_rdoc_markup_attribute_manager.rb commit e84d275fe6d0c14ba58ce73b13323879c060b7ae Author: aycabta Date: Tue Mar 16 18:59:22 2021 +0900 [ruby/rdoc] Treat other tags as word boundaries https://github.com/ruby/rdoc/commit/8222f85a17 M lib/rdoc/markup/attribute_manager.rb M test/rdoc/test_rdoc_markup_to_html.rb commit 54aa11efa8b1be2c5d20402890d6d2fa90aa19a8 Author: aycabta Date: Sun Mar 14 18:26:19 2021 +0900 [ruby/rdoc] Disable other notations in tags https://github.com/ruby/rdoc/commit/0cd3b55210 M lib/rdoc/markup/attr_span.rb M lib/rdoc/markup/attribute_manager.rb M test/rdoc/test_rdoc_markup_attribute_manager.rb M test/rdoc/test_rdoc_markup_to_html.rb commit ab89c45b906380353d1b399781170cafe1d7b503 Author: aycabta Date: Fri Mar 26 22:46:40 2021 +0900 [ruby/irb] Evaluate each toplevel statement https://github.com/ruby/irb/commit/bc1b1d8bc3 M lib/irb/input-method.rb M lib/irb/ruby-lex.rb M test/irb/yamatanooroti/test_rendering.rb commit 254cd937c240281b4283bacb61b944eb52120ba5 Author: aycabta Date: Sat Apr 3 00:46:01 2021 +0900 [ruby/irb] Add test for multiline paste https://github.com/ruby/irb/commit/e93c9cb54d M test/irb/yamatanooroti/test_rendering.rb commit 0eb14919573379b86efc2cab79f0c2fb1b22923a Author: aycabta Date: Thu Mar 25 18:58:25 2021 +0900 [ruby/irb] Add yamatanooroti test example https://github.com/ruby/irb/commit/279155fcee A test/irb/yamatanooroti/test_rendering.rb commit 9de0086463b9ccdca1ee14f2026d34e9a9ed1e90 Author: git Date: Sat Apr 3 00:49:43 2021 +0900 * 2021-04-03 [ci skip] M version.h commit 3cab8c087f0093f2d4669c283be30d01f8e17d5d Author: Cody Cutrer Date: Tue Mar 16 15:45:45 2021 -0600 [ruby/irb] process multi-line pastes as a single entity this allows pasting leading-dot chained methods correctly: ```ruby class A def a; self; end def b; true; end end a = A.new a .a .b ``` will properly return `true` instead of erroring on the `.a` line: ``` irb(main):001:1* class A irb(main):002:1* def a; self; end irb(main):003:0> end irb(main):004:0* irb(main):005:0> a = A.new irb(main):006:0* irb(main):007:0> a irb(main):008:0> .a irb(main):009:0> .a => # ``` https://github.com/ruby/irb/commit/45aeb52575 M lib/irb/input-method.rb commit 7e93917458cdc67399e82233ff0f13e3c8bd7065 Author: aycabta Date: Fri Apr 2 17:18:37 2021 +0900 [ruby/reline] Reset @rest_height when clear screen https://github.com/ruby/reline/commit/3a7019b0d5 M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit 9e336f73fb7d37f3b09e360f8204828bbca51cd5 Author: Takashi Kokubun Date: Wed Mar 31 22:49:51 2021 -0700 [ruby/irb] Add show_source command https://github.com/ruby/irb/commit/108cb04352 A lib/irb/cmd/show_source.rb M lib/irb/extend-command.rb M test/irb/test_cmd.rb commit 43e0677c6de891c184da4ec66a03005d0824d5d0 Author: Nobuyoshi Nakada Date: Fri Apr 2 09:55:15 2021 +0900 Fill the ring-buffer with the fallback value Fill with the pointer to the root position, instead of zero and comparing later. Also suppress a false warning by Visual C++. ``` file.c(4759): warning C4090: 'function': different 'const' qualifiers ``` M file.c commit 79af8ce6d7f46e7e79180dbd6bef6681c1329bd9 Author: Nobuyoshi Nakada Date: Thu Apr 1 21:09:32 2021 +0900 [ruby/irb] Colorize `__END__` as keyword https://github.com/ruby/irb/commit/9b84018311 M lib/irb/color.rb M test/irb/test_color.rb commit ecfa8dcdbaf60cbe878389439de9ac94bc82e034 Author: Koichi Sasada Date: Fri Apr 2 02:28:00 2021 +0900 fix return from orphan Proc in lambda A "return" statement in a Proc in a lambda like: `lambda{ proc{ return }.call }` should return outer lambda block. However, the inner Proc can become orphan Proc from the lambda block. This "return" escape outer-scope like method, but this behavior was decieded as a bug. [Bug #17105] This patch raises LocalJumpError by checking the proc is orphan or not from lambda blocks before escaping by "return". Most of tests are written by Jeremy Evans https://github.com/ruby/ruby/pull/4223 M test/ruby/test_lambda.rb M vm_insnhelper.c commit c080bb2284c06fbc5e8090c27781228d487c4021 Author: Kenichi Kamiya Date: Fri Apr 2 01:16:58 2021 +0900 [Doc] Update to FrozenError from RuntimeError in Object#freeze M object.c commit 1ac68bba4ef9e51c383ad9bad21d41a5ec8c0869 Author: Koichi Sasada Date: Thu Apr 1 19:06:10 2021 +0900 [ruby/irb] SIGINT should raise Interrupt after IRB session https://github.com/ruby/irb/commit/5832cfe75b M lib/irb.rb M test/irb/test_init.rb commit 8e636bd0de7ccb7cfd17cc3b9b79f3bd05a857fd Author: git Date: Fri Apr 2 01:48:13 2021 +0900 * 2021-04-02 [ci skip] M version.h commit ccb0b7ab7dd8667f9cd6d3d74483ffbc083d9c24 Author: Nobuyoshi Nakada Date: Thu Apr 1 23:22:05 2021 +0900 [ruby/irb] Suppress verbose messages in the parallel test `:VERBOSE` flag needs to be set prior to `IRB::Irb.new`. https://github.com/ruby/irb/commit/78604682d9 M test/irb/test_cmd.rb commit 9513fcd5bc50deed1d60fa7a26a573d48654d9ec Author: Nobuyoshi Nakada Date: Thu Apr 1 22:54:42 2021 +0900 Suppress a warning Loop variables of `list_for_each` need to be initialized. M gc.c commit 68a8f611e01c1e43a7362f590316268ccf7865c5 Author: David CARLIER Date: Wed Mar 31 21:28:58 2021 +0100 coroutine: Darwin on ARM64 needs alignment of 2^2 M coroutine/arm64/Context.S commit e675a7899cde096373130100a5ef799941c71992 Author: git Date: Thu Apr 1 12:00:35 2021 +0900 * 2021-04-01 [ci skip] M version.h commit a5567350f706d6c72b2d4e0cdc95ceff80e87bbf Author: Nobuyoshi Nakada Date: Thu Apr 1 12:00:10 2021 +0900 Refactored sub-seconds normalizations * separated argument to `timespec2timew` from `timespec` to seconds and nano-seconds. * unified nano-seconds and micro-seconds normalizations. M time.c commit 2a02b61fae2c5dcfaf123f43c08c7c7949c1790c Author: Nobuyoshi Nakada Date: Wed Mar 31 22:14:15 2021 +0900 Use EnvUtil.under_gc_stress M test/objspace/test_objspace.rb commit 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4 Author: Koichi Sasada Date: Wed Mar 31 17:39:40 2021 +0900 skip marking for uninitialized imemo_env. RUBY_INTERNAL_EVENT_NEWOBJ can expose uninitialized imemo_env objects and marking it will cause critical error. This patch skips marking on uninitialized imemo_env. See: http://rubyci.s3.amazonaws.com/centos7/ruby-master/log/20210329T183003Z.fail.html.gz Shortest repro-code is provided by mame-san. M gc.c M test/objspace/test_objspace.rb commit 8b2f2a707de54ad24d787ff0bce67ed8c68cdded Author: Tom Stuart Date: Thu Mar 25 17:42:59 2021 +0000 [ruby/openssl] Use #ifdef consistently for HAVE_RB_EXT_RACTOR_SAFE We previously used a mix of both `#if` and `#ifdef`, but the latter is more reliable because it will still work if the macro is undefined. https://github.com/ruby/openssl/commit/e4a622e67e M ext/openssl/ossl.c M ext/openssl/ossl_bn.c commit 5ab2625243ddb0aca03febcf61b792ebab4eb4e8 Author: Tom Stuart Date: Wed Mar 24 09:32:15 2021 +0000 [ruby/openssl] Fix OpenSSL::Engine build on Debian On Debian 9 (“stretch”) the `OPENSSL_NO_STATIC_ENGINE` macro is not defined, which causes all the `#if HAVE_ENGINE_LOAD_…` directives to fail with `error: 'HAVE_ENGINE_LOAD_…' is not defined, evaluates to 0 [-Werror,-Wundef]` while building TruffleRuby. We can accomplish the same thing with `#ifdef`, which (of course) works fine when the `HAVE_ENGINE_LOAD…` macros are also undefined. Upstreamed from oracle/truffleruby#2255, which fixed oracle/truffleruby#2254. https://github.com/ruby/openssl/commit/65e2adf1ac M ext/openssl/ossl_engine.c commit e2bf3659e184088d00d099a49e3263724f43ece2 Author: Kazuki Yamaguchi Date: Wed Mar 24 13:23:09 2021 +0900 [ruby/openssl] pkcs7: keep private key when duplicating PKCS7_SIGNER_INFO ASN1_dup() will not copy the 'pkey' field of a PKCS7_SIGNER_INFO object by design; it is a temporary field kept until the PKCS7 structure is finalized. Let's bump reference counter of the pkey in the original object and use it in the new object, too. This commit also removes PKCS7#add_signer's routine to add the content-type attribute as a signed attribute automatically. This behavior was not documented or tested. This change should not break any working user code since the method was completely useless without the change above. https://github.com/ruby/openssl/commit/20ca7a27a8 M ext/openssl/ossl_pkcs7.c M test/openssl/test_pkcs7.rb commit 66d2fc7989d741bf5a73286233139901cecb4fc2 Author: aycabta Date: Wed Mar 31 15:18:37 2021 +0900 Enclose the code that was accidentally a link in "tt" M ext/openssl/ossl_asn1.c M lib/net/imap.rb M lib/racc/parser.rb M lib/uri/rfc2396_parser.rb commit d977849e1c4fb231247c3178d4d3d971722245f3 Author: git Date: Wed Mar 31 00:09:39 2021 +0900 * 2021-03-31 [ci skip] M version.h commit 94d564077c982aa617e314de622b9391abbd9655 Author: Nobuyoshi Nakada Date: Tue Mar 30 23:41:21 2021 +0900 Text files should end with a newline M ext/psych/yaml/loader.c commit 5cdf99f64e344b8e4638824d55f5caf33be682ca Author: Nobuyoshi Nakada Date: Tue Mar 30 23:28:49 2021 +0900 mkmf: fixed install directories of header files in extension libraries [Bug #17761] When installing an extension library which provides a header, that header should be installed under site_ruby (or vendor_ruby when "--vendor" option was given to extconf.rb). However, currently this file is about to be installed in the core include directory. M lib/mkmf.rb A test/mkmf/test_install.rb commit 9713acd731309647b901825ee48af35984a9b4b8 Author: Kazuhiro NISHIYAMA Date: Tue Mar 30 20:58:34 2021 +0900 Fix `coroutine_type` variable name M configure.ac commit a9c5c2d614f30a616970245fef3e7ffc151e2ecf Author: Samuel Williams Date: Tue Mar 30 19:11:17 2021 +1300 Check errno before invoking scheduler in `rb_io_wait_readable/writable`. See for more details. M io.c commit 611e711085c7e3984555a79626d025c8b876eced Author: Samuel Williams Date: Tue Mar 30 20:31:19 2021 +1300 Test incorrect behaviour of `rb_io_wait_readable/writable`. M test/fiber/test_io.rb commit b507f65d4461757c577a9f90325967e92a895520 Author: Samuel Williams Date: Tue Mar 30 18:46:24 2021 +1300 Support for native riscv64 coroutines. M configure.ac A coroutine/riscv64/Context.S A coroutine/riscv64/Context.h commit 3d32c217586a48c709b762865a8abc46f9098455 Author: Samuel Williams Date: Tue Mar 30 17:33:15 2021 +1300 Disable public interface for now. M include/ruby/fiber/scheduler.h M scheduler.c commit 92449e0e99ae0e44f0deec5e59a7146824872952 Author: Samuel Williams Date: Fri Feb 12 16:54:52 2021 +1300 Fix handling of timeout accessing scheduler outside of non-blocking context. M cont.c M lib/timeout.rb M test/fiber/test_scheduler.rb M test/fiber/test_timeout.rb commit af1c587546c34190721bb8b72e86985e9b79bdc6 Author: Samuel Williams Date: Fri Feb 12 15:06:07 2021 +1300 Improve timeout tests. M test/fiber/test_timeout.rb commit 511acba4aeb3e35cf025a8a6cde4241b7b5167f3 Author: Samuel Williams Date: Sat Dec 26 22:09:49 2020 +1300 Update method name and add documentation. M doc/fiber.md M lib/timeout.rb M scheduler.c M test/fiber/scheduler.rb M test/fiber/test_timeout.rb commit 09c865d541472366550804ef09bf14e22a193644 Author: Samuel Williams Date: Fri Feb 12 14:40:50 2021 +1300 Fix native implementation. # Conflicts: # scheduler.c M include/ruby/fiber/scheduler.h M scheduler.c commit 67f60ebb6494ca6d67d8797625b9c3af9b4135f5 Author: Nobuyoshi Nakada Date: Thu Feb 11 18:16:15 2021 +0900 Fixed a compilation error M scheduler.c commit c05dd7dc85311d1a62204aff5f633e758efae949 Author: Samuel Williams Date: Thu Feb 11 21:55:31 2021 +1300 Prefer `rb_check_funcall`. M scheduler.c commit 9b9bbaec111c34d15d75750e300d94fb5c30c8b1 Author: Samuel Williams Date: Thu Feb 11 21:29:17 2021 +1300 Update lib/timeout.rb Co-authored-by: Nobuyoshi Nakada M lib/timeout.rb commit 4c53dc970bf82e4c5fb237be4b2404bcb07496d2 Author: Samuel Williams Date: Thu Feb 11 19:17:54 2021 +1300 Add hook for `Timeout.timeout`. M include/ruby/fiber/scheduler.h M lib/timeout.rb M scheduler.c M test/fiber/scheduler.rb A test/fiber/test_timeout.rb commit 93753d7ee738475f7445e5cfc405756a4fb7f850 Author: git Date: Tue Mar 30 14:28:04 2021 +0900 * 2021-03-30 [ci skip] M version.h commit d65d661151961d43e6f1c6ad1fe59dcc0b1eb143 Author: Aleksandar Ivanov Date: Mon Mar 29 20:11:10 2021 +0300 [ruby/irb] Prevent the completion from crashing if rdoc is missing There are cases where ruby is installed without rdoc and e.g. lib/irb/cmd/help.rb also handles the LoadError Here is how to replicate the issue: ``` $ docker run -it alpine:3.13.3 sh / # apk add ruby ruby-irb ruby-io-console / # irb irb(main):001:0> Class[TAB][TAB] ``` And you end up with something like: ``` irb(main):001:0> ClassTraceback (most recent call last): 34: from /usr/bin/irb:23:in `
' 33: from /usr/bin/irb:23:in `load' 32: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.6/exe/irb:11:in `' 31: from /usr/lib/ruby/2.7.0/irb.rb:400:in `start' 30: from /usr/lib/ruby/2.7.0/irb.rb:471:in `run' 29: from /usr/lib/ruby/2.7.0/irb.rb:471:in `catch' 28: from /usr/lib/ruby/2.7.0/irb.rb:472:in `block in run' 27: from /usr/lib/ruby/2.7.0/irb.rb:537:in `eval_input' 26: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `each_top_level_statement' 25: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `catch' 24: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `block in each_top_level_statement' 23: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `loop' 22: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:154:in `block (2 levels) in each_top_level_statement' 21: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:182:in `lex' 20: from /usr/lib/ruby/2.7.0/irb.rb:518:in `block in eval_input' 19: from /usr/lib/ruby/2.7.0/irb.rb:704:in `signal_status' 18: from /usr/lib/ruby/2.7.0/irb.rb:519:in `block (2 levels) in eval_input' 17: from /usr/lib/ruby/2.7.0/irb/input-method.rb:294:in `gets' 16: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline' 15: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline' 14: from /usr/lib/ruby/2.7.0/reline.rb:175:in `readmultiline' 13: from /usr/lib/ruby/2.7.0/reline.rb:238:in `inner_readline' 12: from /usr/lib/ruby/2.7.0/reline.rb:238:in `loop' 11: from /usr/lib/ruby/2.7.0/reline.rb:239:in `block in inner_readline' 10: from /usr/lib/ruby/2.7.0/reline.rb:270:in `read_io' 9: from /usr/lib/ruby/2.7.0/reline.rb:270:in `loop' 8: from /usr/lib/ruby/2.7.0/reline.rb:311:in `block in read_io' 7: from /usr/lib/ruby/2.7.0/reline.rb:240:in `block (2 levels) in inner_readline' 6: from /usr/lib/ruby/2.7.0/reline.rb:240:in `each' 5: from /usr/lib/ruby/2.7.0/reline.rb:241:in `block (3 levels) in inner_readline' 4: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:820:in `input_key' 3: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:608:in `complete' 2: from /usr/lib/ruby/2.7.0/irb/completion.rb:269:in `block in ' 1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- rdoc (LoadError) ``` https://github.com/ruby/irb/commit/a2d299c2ac M lib/irb/completion.rb commit 62e66aedb08745eb7ff95575b5555c72baf1d961 Author: Jeremy Evans Date: Tue Feb 23 12:21:41 2021 -0800 Add more tests for defined? with method calls M test/ruby/test_defined.rb commit 7b3c5ab8a5825a2b960e639d257f0c8a69c4186c Author: Jeremy Evans Date: Mon Feb 22 14:28:40 2021 -0800 Make defined? cache the results of method calls Previously, defined? could result in many more method calls than the code it was checking. `defined? a.b.c.d.e.f` generated 15 calls, with `a` called 5 times, `b` called 4 times, etc.. This was due to the fact that defined works in a recursive manner, but it previously did not cache results. So for `defined? a.b.c.d.e.f`, the logic was similar to ```ruby return nil unless defined? a return nil unless defined? a.b return nil unless defined? a.b.c return nil unless defined? a.b.c.d return nil unless defined? a.b.c.d.e return nil unless defined? a.b.c.d.e.f "method" ``` With this change, the logic is similar to the following, without the creation of a local variable: ```ruby return nil unless defined? a _ = a return nil unless defined? _.b _ = _.b return nil unless defined? _.c _ = _.c return nil unless defined? _.d _ = _.d return nil unless defined? _.e _ = _.e return nil unless defined? _.f "method" ``` In addition to eliminating redundant method calls for defined statements, this greatly simplifies the instruction sequences by eliminating duplication. Previously: ``` 0000 putnil ( 1)[Li] 0001 putself 0002 defined func, :a, false 0006 branchunless 73 0008 putself 0009 opt_send_without_block 0011 defined method, :b, false 0015 branchunless 73 0017 putself 0018 opt_send_without_block 0020 opt_send_without_block 0022 defined method, :c, false 0026 branchunless 73 0028 putself 0029 opt_send_without_block 0031 opt_send_without_block 0033 opt_send_without_block 0035 defined method, :d, false 0039 branchunless 73 0041 putself 0042 opt_send_without_block 0044 opt_send_without_block 0046 opt_send_without_block 0048 opt_send_without_block 0050 defined method, :e, false 0054 branchunless 73 0056 putself 0057 opt_send_without_block 0059 opt_send_without_block 0061 opt_send_without_block 0063 opt_send_without_block 0065 opt_send_without_block 0067 defined method, :f, true 0071 swap 0072 pop 0073 leave ``` After change: ``` 0000 putnil ( 1)[Li] 0001 putself 0002 dup 0003 defined func, :a, false 0007 branchunless 52 0009 opt_send_without_block 0011 dup 0012 defined method, :b, false 0016 branchunless 52 0018 opt_send_without_block 0020 dup 0021 defined method, :c, false 0025 branchunless 52 0027 opt_send_without_block 0029 dup 0030 defined method, :d, false 0034 branchunless 52 0036 opt_send_without_block 0038 dup 0039 defined method, :e, false 0043 branchunless 52 0045 opt_send_without_block 0047 defined method, :f, true 0051 swap 0052 pop 0053 leave ``` This fixes issues where for pathological small examples, Ruby would generate huge instruction sequences. Unfortunately, implementing this support is kind of a hack. This adds another parameter to compile_call for whether we should assume the receiver is already present on the stack, and has defined? set that parameter for the specific case where it is compiling a method call where the receiver is also a method call. defined_expr0 also takes an additional parameter for whether it should leave the results of the method call on the stack. If that argument is true, in the case where the method isn't defined, we jump to the pop before the leave, so the extra result is not left on the stack. This requires space for an additional label, so lfinish now needs to be able to hold 3 labels. Fixes [Bug #17649] Fixes [Bug #13708] M compile.c commit 190a57b16863afce3fb8ea4035aae331cda0868d Author: Nobuyoshi Nakada Date: Mon Mar 29 15:50:31 2021 +0900 [ruby/optparse] bump up to 0.1.1 https://github.com/ruby/optparse/commit/2fe984a603 M lib/optparse.rb commit e8317d90b0b102ba270b456cc6cb7c6865c6b448 Author: Nobuyoshi Nakada Date: Mon Mar 29 16:42:49 2021 +0900 [ruby/optparse] Fixed error message of unparsed non-option Close https://github.com/ruby/optparse/issues/3 https://github.com/ruby/optparse/commit/94c5cf4032 M lib/optparse.rb M test/optparse/test_optparse.rb commit 2bbae0e91acf1090bbcea49476ef007162ec8e2b Author: Nobuyoshi Nakada Date: Mon Mar 29 15:36:16 2021 +0900 [ruby/optparse] Completion scripts themselves are not executable https://github.com/ruby/optparse/commit/65d8aff935 M misc/rb_optparse.bash M misc/rb_optparse.zsh commit e97f21afcd0abbc1b03a070f9385ec7b765e5a71 Author: Nobuyoshi Nakada Date: Mon Mar 29 15:26:18 2021 +0900 [ruby/optparse] Exclude unnecessary files from the package https://github.com/ruby/optparse/commit/dfd9380231 M lib/optparse/optparse.gemspec commit 7846f3201a1381cf07ff7477b8a1d6744a853c78 Author: BurdetteLamar Date: Sun Mar 28 12:24:21 2021 -0500 [ruby/optparse] Change *opts to *params, to avoid confusion https://github.com/ruby/optparse/commit/f5f5e202dd M lib/optparse.rb M lib/optparse/kwargs.rb commit eca8ffaa0b446db0a1cacc82a2e73155f6fd3fce Author: Jeremy Evans Date: Mon Jul 1 15:19:16 2019 -0700 [ruby/optparse] Add OptionParser#require_exact accessor This allows you to disable allowing abbreviations of long options and using short options for long options. Implements Ruby Feature #11523 https://github.com/ruby/optparse/commit/dfefb2d2e2 M lib/optparse.rb M test/optparse/test_optparse.rb commit d474b19b5bcae951817319b821e62e68364767ad Author: Martin Rey Date: Mon Oct 12 11:47:00 2020 +0200 [ruby/optparse] Use ZDOTDIR env var to locate .zshrc https://github.com/ruby/optparse/commit/c4977674bf M misc/rb_optparse.zsh commit d87b8ce6477aed054fb52a5ab6041eebef106a9c Author: Nobuyoshi Nakada Date: Mon Mar 29 15:19:37 2021 +0900 sync_default_gems.rb: ignore COPYING file [ci skip] M tool/sync_default_gems.rb commit f16b9e7f268dc5abd649c95b710c964448982574 Author: Nobuyoshi Nakada Date: Mon Mar 29 15:14:21 2021 +0900 sync_default_gems.rb: IO#puts prints a newline between each argument [ci skip] M tool/sync_default_gems.rb commit f46bbb2e99b8c1df6a62756967b40de36039916b Author: Nobuyoshi Nakada Date: Mon Mar 29 11:35:38 2021 +0900 [DOC] Improve an example of Array#count comparison [ci skip] M array.c commit 875c85a8bdca6cc2c7d0a26291ec4a6b2647b195 Author: David CARLIER Date: Tue Mar 23 18:39:36 2021 +0000 fiber context update for Mac OS. it is more about memory accounting sake. At allocation time, we make clear we re possibly reusing regions marked as reusable. Noted also calls might not necessarily succeed at first so we do only when necessary. M cont.c commit a1938ec308543d1649069bddd3bf0aeb541f3804 Author: aycabta Date: Sun Mar 28 22:47:20 2021 +0900 [ruby/irb] Always add input method when calling Irb.new in tests When passes input method as nil to Context.new through Irb.new, ReidlineInputMethod.new is executed and the global internal state of Reline is rewritten, therefore other tests are failed in the Ruby repository. This commit changes to use TestInputMethod. https://github.com/ruby/irb/commit/010dce9210 M test/irb/test_cmd.rb commit 1cdecb43499a9e821e892fd4edb4ca27b992ab09 Author: git Date: Mon Mar 29 03:18:08 2021 +0900 * 2021-03-29 [ci skip] M version.h commit 813c3333a9364222523a9fe863df569300ac1ad1 Author: Kenichi Kamiya Date: Mon Mar 29 01:02:21 2021 +0900 [Doc] Fix Array#count comparing strategy M array.c commit 989e22f394c48aae301a0239cad14871dfa96d43 Author: Nobuyoshi Nakada Date: Sun Mar 28 23:42:38 2021 +0900 [ruby/io-console] bump up to 0.5.9 https://github.com/ruby/io-console/commit/302e86a28c https://github.com/ruby/io-console/commit/0690862526 M ext/io/console/io-console.gemspec commit f7faac13c6f7776cbdc20d8f59e33d26e30b93d0 Author: Nobuyoshi Nakada Date: Sun Mar 28 23:39:27 2021 +0900 sync_default_gems.rb: remove un-committed files [ci skip] As files non-existing in the repository cannot be checked out, remove files to be ignored once, and re-check the status. M tool/sync_default_gems.rb commit 36bad6f14f30db59f2d51e2acbdd9143230b35c5 Author: Nobuyoshi Nakada Date: Sun Mar 28 22:58:43 2021 +0900 sync_default_gems.rb: search the last merge more strictly [ci skip] As tag-only match, `[#{repo}]`, may find unexpected commit, e.g., 5bfca88f760727240902a70d1df0cc516ff31a70 for io-console, match by more exact URL pattern. M tool/sync_default_gems.rb commit 49c1c2dce35e9f818be396dacbaa9a3ff72b5985 Author: Nobuyoshi Nakada Date: Sun Mar 28 18:52:19 2021 +0900 sync_default_gems.rb: escape filter command [ci skip] M tool/sync_default_gems.rb commit 603d79952037768723247da12d9b093446446941 Author: Nobuyoshi Nakada Date: Sun Mar 28 14:07:18 2021 +0900 sync_default_gems.rb: message when no commits [ci skip] M tool/sync_default_gems.rb commit 522d4cd32f7727886f4fcbc28ed29c08d361ee20 Author: Kenichi Kamiya Date: Sun Mar 28 14:09:52 2021 +0900 Force recycle intermediate collection in Hash#transform_keys! [Bug #17735] * Force recycle intermediate hash * Force recycle intermediate array too https://github.com/ruby/ruby/pull/4329#issuecomment-808840718 M hash.c commit 9af57eeed61ad53c0a2a92a93a6a6e40704cd6ae Author: Kenichi Kamiya Date: Sat Mar 27 14:45:10 2021 +0900 [ruby/pathname] Fix segfault of Pathname#split Fix segmentation fault of Pathname#split when File.split returns non array value [Bug #17755] https://github.com/ruby/pathname/commit/e29b49e3b1 https://github.com/ruby/pathname/commit/1db7479a74 M ext/pathname/pathname.c M test/pathname/test_pathname.rb commit 447e095413557330760558c2b0e1d82c3aa685f1 Author: Hiroshi SHIBATA Date: Wed Feb 10 15:53:44 2021 +0900 [ruby/pathname] Support Ruby 3.0 Update test/pathname/test_pathname.rb https://github.com/ruby/pathname/commit/29645187e0 https://github.com/ruby/pathname/commit/78584864de Co-authored-by: Nobuyoshi Nakada M test/pathname/test_pathname.rb commit 38ea2306d2c3a1a698424f61dabdb42cda1a904b Author: Nobuyoshi Nakada Date: Sun Mar 28 13:57:48 2021 +0900 sync_default_gems.rb: preserve Co-Authored-By: M tool/sync_default_gems.rb commit fb6ebe55d91187d9635e0183d47dbf38e95b1141 Author: Nobuyoshi Nakada Date: Sun Mar 28 09:48:45 2021 +0900 Hide an intermediate array M hash.c commit 5e5fb72f99701dc27c66ab148471893f14e6d6f0 Author: Nobuyoshi Nakada Date: Sun Mar 28 09:42:26 2021 +0900 Clear an intermediate hash [Bug #17735] M hash.c commit 31e0382723bfb35cffe3ca485dd0577668cafa07 Author: Kenichi Kamiya Date: Sun Mar 28 09:14:57 2021 +0900 Keep non evaluated keys in `Hash#transform_keys!` [Bug #17735] M hash.c M spec/ruby/core/hash/transform_keys_spec.rb M test/ruby/test_hash.rb commit e398a0e53a7207152fb2139f1e4485968a07f9de Author: S-H-GAMELINKS Date: Sat Mar 27 00:46:04 2021 +0900 Remove unneeded rb_ident_hash_new function declaration M error.c commit cc15ae34314af9dd23857db4c5e2c6433f132813 Author: git Date: Sun Mar 28 08:48:06 2021 +0900 * 2021-03-28 [ci skip] M version.h commit 0a544c0c35f7445d69402d7c53d825384c728017 Author: Kenichi Kamiya Date: Sun Mar 28 08:47:42 2021 +0900 Fix segmentation fault when `Module#name` returns non string value [Bug #17754] * Add test for NoMethodError#to_s does not segfault * Ensure no segfault even if Module#name is overridden M error.c M test/ruby/test_nomethod_error.rb commit 95d9fe9538441eb57ee6752aa1c5088fc6608e34 Author: Benoit Daloze Date: Sat Mar 27 13:02:41 2021 +0100 Update to ruby/spec@fd6eddd M spec/ruby/.rubocop.yml M spec/ruby/core/enumerable/chunk_spec.rb M spec/ruby/core/exception/interrupt_spec.rb M spec/ruby/core/exception/result_spec.rb M spec/ruby/core/gc/stat_spec.rb M spec/ruby/core/kernel/raise_spec.rb M spec/ruby/core/kernel/sleep_spec.rb M spec/ruby/core/kernel/trap_spec.rb M spec/ruby/core/signal/trap_spec.rb M spec/ruby/core/time/at_spec.rb M spec/ruby/language/constants_spec.rb M spec/ruby/language/ensure_spec.rb M spec/ruby/language/hash_spec.rb M spec/ruby/language/method_spec.rb M spec/ruby/language/optional_assignments_spec.rb M spec/ruby/language/regexp/grouping_spec.rb M spec/ruby/language/rescue_spec.rb M spec/ruby/language/string_spec.rb A spec/ruby/library/monitor/synchronize_spec.rb M spec/ruby/library/socket/socket/udp_server_loop_spec.rb M spec/ruby/library/weakref/fixtures/classes.rb M spec/ruby/optional/capi/ext/kernel_spec.c M spec/ruby/optional/capi/ext/module_spec.c M spec/ruby/optional/capi/kernel_spec.rb M spec/ruby/optional/capi/module_spec.rb M spec/ruby/shared/kernel/raise.rb commit 44736a6b7a2b3475db2d05187f33e3c1a7b4b4e5 Author: Benoit Daloze Date: Sat Mar 27 13:02:38 2021 +0100 Update to ruby/mspec@d1adf59 M spec/mspec/Gemfile M spec/mspec/Gemfile.lock M spec/mspec/lib/mspec/expectations/should.rb M spec/mspec/lib/mspec/helpers/warning.rb M spec/mspec/lib/mspec/matchers/raise_error.rb M spec/mspec/lib/mspec/runner/formatters/junit.rb M spec/mspec/spec/commands/mkspec_spec.rb M spec/mspec/spec/commands/mspec_ci_spec.rb M spec/mspec/spec/commands/mspec_run_spec.rb M spec/mspec/spec/commands/mspec_spec.rb M spec/mspec/spec/commands/mspec_tag_spec.rb M spec/mspec/spec/expectations/expectations_spec.rb M spec/mspec/spec/expectations/should_spec.rb R096 spec/mspec/spec/expectations/should.rb spec/mspec/spec/fixtures/should.rb M spec/mspec/spec/guards/block_device_spec.rb M spec/mspec/spec/guards/bug_spec.rb M spec/mspec/spec/guards/conflict_spec.rb M spec/mspec/spec/guards/endian_spec.rb M spec/mspec/spec/guards/feature_spec.rb M spec/mspec/spec/guards/guard_spec.rb M spec/mspec/spec/guards/platform_spec.rb M spec/mspec/spec/guards/quarantine_spec.rb M spec/mspec/spec/guards/superuser_spec.rb M spec/mspec/spec/guards/support_spec.rb M spec/mspec/spec/guards/user_spec.rb M spec/mspec/spec/guards/version_spec.rb M spec/mspec/spec/helpers/argf_spec.rb M spec/mspec/spec/helpers/argv_spec.rb M spec/mspec/spec/helpers/datetime_spec.rb M spec/mspec/spec/helpers/fixture_spec.rb M spec/mspec/spec/helpers/flunk_spec.rb M spec/mspec/spec/helpers/fs_spec.rb M spec/mspec/spec/helpers/io_spec.rb M spec/mspec/spec/helpers/mock_to_path_spec.rb M spec/mspec/spec/helpers/numeric_spec.rb M spec/mspec/spec/helpers/ruby_exe_spec.rb M spec/mspec/spec/helpers/scratch_spec.rb M spec/mspec/spec/helpers/suppress_warning_spec.rb M spec/mspec/spec/helpers/tmp_spec.rb M spec/mspec/spec/integration/interpreter_spec.rb M spec/mspec/spec/integration/object_methods_spec.rb M spec/mspec/spec/integration/run_spec.rb M spec/mspec/spec/integration/tag_spec.rb M spec/mspec/spec/matchers/base_spec.rb M spec/mspec/spec/matchers/be_an_instance_of_spec.rb M spec/mspec/spec/matchers/be_ancestor_of_spec.rb M spec/mspec/spec/matchers/be_close_spec.rb M spec/mspec/spec/matchers/be_computed_by_spec.rb M spec/mspec/spec/matchers/be_empty_spec.rb M spec/mspec/spec/matchers/be_false_spec.rb M spec/mspec/spec/matchers/be_kind_of_spec.rb M spec/mspec/spec/matchers/be_nan_spec.rb M spec/mspec/spec/matchers/be_nil_spec.rb M spec/mspec/spec/matchers/be_true_or_false_spec.rb M spec/mspec/spec/matchers/be_true_spec.rb M spec/mspec/spec/matchers/block_caller_spec.rb M spec/mspec/spec/matchers/complain_spec.rb M spec/mspec/spec/matchers/eql_spec.rb M spec/mspec/spec/matchers/equal_element_spec.rb M spec/mspec/spec/matchers/equal_spec.rb M spec/mspec/spec/matchers/have_class_variable_spec.rb M spec/mspec/spec/matchers/have_constant_spec.rb M spec/mspec/spec/matchers/have_instance_method_spec.rb M spec/mspec/spec/matchers/have_instance_variable_spec.rb M spec/mspec/spec/matchers/have_method_spec.rb M spec/mspec/spec/matchers/have_private_instance_method_spec.rb M spec/mspec/spec/matchers/have_private_method_spec.rb M spec/mspec/spec/matchers/have_protected_instance_method_spec.rb M spec/mspec/spec/matchers/have_public_instance_method_spec.rb M spec/mspec/spec/matchers/have_singleton_method_spec.rb M spec/mspec/spec/matchers/include_any_of_spec.rb M spec/mspec/spec/matchers/include_spec.rb M spec/mspec/spec/matchers/infinity_spec.rb M spec/mspec/spec/matchers/match_yaml_spec.rb M spec/mspec/spec/matchers/output_spec.rb M spec/mspec/spec/matchers/output_to_fd_spec.rb M spec/mspec/spec/matchers/raise_error_spec.rb M spec/mspec/spec/matchers/respond_to_spec.rb M spec/mspec/spec/matchers/signed_zero_spec.rb M spec/mspec/spec/mocks/mock_spec.rb M spec/mspec/spec/mocks/proxy_spec.rb M spec/mspec/spec/runner/actions/filter_spec.rb M spec/mspec/spec/runner/actions/tag_spec.rb M spec/mspec/spec/runner/actions/taglist_spec.rb M spec/mspec/spec/runner/actions/tagpurge_spec.rb M spec/mspec/spec/runner/actions/tally_spec.rb M spec/mspec/spec/runner/actions/timer_spec.rb M spec/mspec/spec/runner/context_spec.rb M spec/mspec/spec/runner/example_spec.rb M spec/mspec/spec/runner/exception_spec.rb M spec/mspec/spec/runner/filters/match_spec.rb M spec/mspec/spec/runner/filters/profile_spec.rb M spec/mspec/spec/runner/filters/regexp_spec.rb M spec/mspec/spec/runner/filters/tag_spec.rb M spec/mspec/spec/runner/formatters/describe_spec.rb M spec/mspec/spec/runner/formatters/dotted_spec.rb M spec/mspec/spec/runner/formatters/file_spec.rb M spec/mspec/spec/runner/formatters/html_spec.rb M spec/mspec/spec/runner/formatters/junit_spec.rb M spec/mspec/spec/runner/formatters/method_spec.rb M spec/mspec/spec/runner/formatters/multi_spec.rb M spec/mspec/spec/runner/formatters/specdoc_spec.rb M spec/mspec/spec/runner/formatters/spinner_spec.rb M spec/mspec/spec/runner/formatters/summary_spec.rb M spec/mspec/spec/runner/formatters/unit_spec.rb M spec/mspec/spec/runner/formatters/yaml_spec.rb M spec/mspec/spec/runner/mspec_spec.rb M spec/mspec/spec/runner/shared_spec.rb M spec/mspec/spec/runner/tag_spec.rb M spec/mspec/spec/spec_helper.rb M spec/mspec/spec/utils/deprecate_spec.rb M spec/mspec/spec/utils/name_map_spec.rb M spec/mspec/spec/utils/options_spec.rb M spec/mspec/spec/utils/script_spec.rb M spec/mspec/spec/utils/version_spec.rb commit 31ae931e166825450dcc16d470553e67281951a2 Author: Kenichi Kamiya Date: Sat Mar 27 17:22:57 2021 +0900 [Doc] Update regex engine to Onigumo in doc/extension.* [ci skip] regex.c has been removed in 8e65234086a15f90585bc09cce82dbad2aa647d7 M doc/extension.ja.rdoc M doc/extension.rdoc commit 89fa5b1348400892eaf37083fc6a6eb70d959f63 Author: S.H Date: Sat Mar 27 16:39:01 2021 +0900 Add rb_exc_exception function `rb_exc_raise` and `rb_fatal` func have similar code(in `eval.c`). I think that better cut out and replace these code like `rb_exc_exception` function. M eval.c commit aceb8c0b4bf37a65c78f09eaf835db72c7a47c48 Author: Kenichi Kamiya Date: Sat Mar 27 12:55:46 2021 +0900 Fix Enumerable#tally with some arguments pattern [Feature #17744] * Add test cases for Enumerable#tally with hash argument * Add ruby/spec for Enumerable#tally with hash argument * Fix Enumerable#tally does not update given frozen hash * Add test cases for Enumerable#tally with hash convertible arguments * Fix SEGV when Enumerable#tally takes non Hash convertible * FIx cosmetic damage enum.c M enum.c M spec/ruby/core/enumerable/tally_spec.rb M test/ruby/test_enum.rb commit 785c77d7827677b547fa233deef0b65ec10ecf6b Author: git Date: Sat Mar 27 10:15:24 2021 +0900 * 2021-03-27 [ci skip] M version.h commit 8a89dd2a6cb2f6b9ede15a9c7f8d3af684fca3f8 Author: Nobuyoshi Nakada Date: Sat Mar 27 10:13:13 2021 +0900 No codesign in tests M test/runner.rb commit 9143d21b1bf2f16b1e847d569a588510726d8860 Author: Nobuyoshi Nakada Date: Fri Mar 26 16:29:21 2021 +0900 Enumerable#tally with the resulting hash [Feature #17744] M NEWS.md M enum.c M spec/ruby/core/enumerable/tally_spec.rb M test/ruby/test_enum.rb commit 6a352e275bfdad84bec479b84dd2bc6d76697226 Author: Takashi Kokubun Date: Thu Mar 25 20:37:30 2021 -0700 [ruby/erb] Version 2.2.3 https://github.com/ruby/erb/commit/03bc4a8274 M lib/erb/version.rb commit 3789d58c846115ce67a16c2039bf923a57786e03 Author: Kenichi Kamiya Date: Thu Mar 25 18:23:59 2021 +0900 [ruby/erb] Clarify supported ruby versions in gemspec https://github.com/ruby/erb/commit/b40db4114a M lib/erb.gemspec commit 3c0528adf2ab7778d4702d3642b63b01ea64f789 Author: git Date: Fri Mar 26 09:44:10 2021 +0900 * 2021-03-26 [ci skip] M version.h commit 041a4f9a5e04eb4e6f8f26d143a613a817e18717 Author: Nobuyoshi Nakada Date: Fri Mar 26 00:38:35 2021 +0900 Stop downloading Unicode files twice These files should have been downloaded in update-remote. M common.mk commit ad8842c06d26ee634f90008efecf1cd4d76342df Author: aycabta Date: Wed Mar 24 15:33:07 2021 +0900 [ruby/irb] Cache completion files to require https://github.com/ruby/irb/commit/612ebcb311 M lib/irb/completion.rb M test/irb/test_completion.rb commit f45bed0a6e983abfe616455ced2e50db381ba2dd Author: Kazuhiro NISHIYAMA Date: Thu Mar 25 18:06:06 2021 +0900 Use XRUBY to expand path instead of platform dependent M common.mk commit e7dc6f2a3cee7e64272988e23e6eb3a4b03a1608 Author: Nobuyoshi Nakada Date: Thu Mar 25 17:01:50 2021 +0900 Generate encoding header before enc.mk As some encodings need the corresponding header. M common.mk commit cda60ee6d5e63b90412c4be87040602e9293751a Author: Nobuyoshi Nakada Date: Thu Mar 25 13:51:28 2021 +0900 Keep unicode_normalize/tables.rb as-is Define no dependency unless ALWAYS_UPDATE_UNICODE is set to yes, so that `make prog` works in a just-checkedout working directory. M common.mk commit 12812c2bdf146805fedec79d299c2fa120a117fc Author: Kazuhiro NISHIYAMA Date: Thu Mar 25 14:58:19 2021 +0900 Fix test-bundler-parallel errors when out-of-place build M common.mk commit b25361f7319cac953145d9d15e2e673e560ec3d9 Author: Peter Zhu Date: Fri Mar 12 19:36:58 2021 +0000 Change heap walking to be safe for object allocation M gc.c M test/ruby/test_objectspace.rb commit f9f13a4f6d8be706b17efc089c28f7bc617ef549 Author: Jeremy Evans Date: Thu Mar 4 09:59:28 2021 -0800 Ensure that caller respects the start argument Previously, if there were ignored frames (iseq without pc), we could go beyond the requested start frame. This has two changes: 1) Ensure that we don't look beyond the start frame by using last_cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(last_cfp) until the desired start frame is reached. 2) To fix the failures caused by change 1), which occur when a limited number of frames is requested, scan the VM stack before allocating backtrace frames, looking for ignored frames. This is complicated if there are ignored frames before and after the start, in which case we need to scan until the start frame, and then scan backwards, decrementing the start value until we get to the point where start will result in the number of requested frames. This fixes a Rails test failure. Jean Boussier was able to to produce a failing test case outside of Rails. Co-authored-by: Jean Boussier M test/ruby/test_backtrace.rb M vm_backtrace.c commit 91ab024de9d1142975f5966d67dc0a6f75394d50 Author: git Date: Thu Mar 25 00:20:52 2021 +0900 * 2021-03-25 [ci skip] M version.h commit 2c3ac0febeda3c3a6054c42905707f6fc660071d Author: Kazuhiro NISHIYAMA Date: Thu Mar 25 00:20:22 2021 +0900 Update bundled_gems M gems/bundled_gems commit 1f08b0d18d9d1178cef1eac91f6ea97cb6b437eb Author: Nobuyoshi Nakada Date: Wed Mar 24 20:13:55 2021 +0900 Removed dln_a_out a.out format is considered extinct nowadays. M configure.ac M dln.c M dln.h M include/ruby/ruby.h M ruby.c commit 2dcbc6ef966c3bed89a57208812f9b5f6c8fd5de Author: Nobuyoshi Nakada Date: Wed Mar 24 16:10:27 2021 +0900 [ruby/irb] fix completion test when out-of-place build M test/irb/test_completion.rb commit 89caf51d9346343156d5b9f1659131414c055ebd Author: aycabta Date: Wed Mar 24 14:25:06 2021 +0900 [ruby/reline] Suppress crashing when completer_{quote,word_break}_characters is empty https://github.com/ruby/reline/commit/c6f1164942 M lib/reline/line_editor.rb M test/reline/test_reline.rb commit 758f2b35f93478c481902d9d3f8876216a5dcc4d Author: aycabta Date: Tue Mar 23 21:43:39 2021 +0900 [ruby/reline] Support preposing and postposing for Reline.completion_proc https://github.com/ruby/reline/commit/1f469de90c M lib/reline/line_editor.rb M test/reline/test_string_processing.rb commit 4b33d860e84f0a5efeefbf8a68324801a0215a08 Author: aycabta Date: Tue Mar 23 00:56:32 2021 +0900 [ruby/reline] Reline.delete_text removes the current line in multiline https://github.com/ruby/reline/commit/da90c094a1 M lib/reline/line_editor.rb M test/reline/test_within_pipe.rb commit b764c8d3c05170214802a947b2fd32c91c6cfd68 Author: aycabta Date: Tue Mar 23 00:49:58 2021 +0900 [ruby/reline] Add Reline.ungetc to control buffer https://github.com/ruby/reline/commit/43ac03c624 M lib/reline.rb commit a5b6baae97a31f24483b2b59744799852bacc7d1 Author: Kazuhiro NISHIYAMA Date: Wed Mar 24 15:26:49 2021 +0900 Fix test-bundler failures when XDG_CONFIG_HOME is not writable https://github.com/ruby/actions/runs/2175399707?check_suite_focus=true ``` Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb ``` M spec/bundler/support/path.rb M spec/bundler/support/rubygems_ext.rb commit 0927756e58c7d68517a1468f2327ce50989ff3f2 Author: aycabta Date: Wed Mar 24 14:55:05 2021 +0900 [ruby/irb] Complete require and require_relative https://github.com/ruby/irb/commit/1c61178b4c M lib/irb/completion.rb M lib/irb/input-method.rb M test/irb/test_completion.rb commit 0259ee600857729d289959ddf5973c25159209b2 Author: aycabta Date: Wed Mar 24 14:33:53 2021 +0900 [ruby/irb] Change ripper_lex_without_warning to a class method https://github.com/ruby/irb/commit/d9f8abc17e M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit c9d0053e67e170dce1a05616525481e2ace0b08e Author: Nobuyoshi Nakada Date: Fri Mar 12 20:01:03 2021 +0900 Fixed compilation errors when USE_DLN_A_OUT M dln.c commit 850448abd588e085673bfde7a8a874182e3e41b8 Author: Peter Zhu Date: Tue Mar 23 15:35:44 2021 +0000 Fix leaked file descriptor in passwd test M test/etc/test_etc.rb commit 061edf6b051e1e10f388fa92f9ae4f161008864e Author: git Date: Wed Mar 24 05:10:41 2021 +0900 * 2021-03-24 [ci skip] M version.h commit 417c648f084713e2d6fd8d6d267a7114b711ba70 Author: Aaron Patterson Date: Tue Mar 23 12:02:27 2021 -0700 Free iv index table IV index tables weren't being freed. This program would leak memory: ```ruby loop do k = Class.new do def initialize @a = 1 @b = 1 @c = 1 @d = 1 @e = 1 @f = 1 @g = 1 end end k.new end ``` This commit fixes the leak. M gc.c commit 607aa11711a7975540e1d71c2616ae5533feb35a Author: Nobuyoshi Nakada Date: Tue Mar 23 17:20:19 2021 +0900 Ignore useless separators preceding a file encoding comment M parse.y M test/ruby/test_parse.rb commit a58f9aa3504f4057950fb858ea54b28d954f947f Author: Nobuyoshi Nakada Date: Tue Mar 23 16:44:55 2021 +0900 Assertion for colon-separated encoding pragma M test/ruby/test_parse.rb commit c83bd2a5ea176f00224bc2b158fb2723af360c9e Author: Nobuyoshi Nakada Date: Tue Mar 23 16:25:32 2021 +0900 Refined failure messages in TestFileExhaustive#test_test M test/ruby/test_file_exhaustive.rb commit 81d52978d03d009c9061d6a6ce1fee3dbd800b83 Author: Yusuke Endoh Date: Tue Mar 23 12:20:58 2021 +0900 test/zlib/test_zlib.rb: stop a failure on armv7l The platform defines a constant File::TMPFILE, but it seems unavailable (maybe depending on the file system?). http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20210322T171707Z.fail.html.gz This change adds some rescue cluases to the test, copied from test/ruby/test_file.rb. M test/zlib/test_zlib.rb commit 17550c6400f7fd1ba9985476abf4c92af5393519 Author: Yusuke Endoh Date: Tue Mar 23 12:20:44 2021 +0900 test/ruby/test_fiber.rb: relax timeout on Solaris ... of test_many_fibers_with_threads because the test seems to take about 180 sec. on Solaris. This change extends the limit to 300 sec on Solaris. BTW, 180 sec. is too long for other normal environments, so this reverts Related to 6ab7d439f8d43234004e1760aa88a98c29129006 for them. M test/ruby/test_fiber.rb commit 4bc09c9696a430a24f9c583668e06b4a2976025b Author: Nobuyoshi Nakada Date: Tue Mar 23 08:20:02 2021 +0900 Suppress verbose messages Get rid of warnings in the parallel test. ``` unknown command: "Switch to inspect mode." ``` M test/irb/test_cmd.rb commit c149708018135595b2c19c5f74baf9475674f394 Author: git Date: Tue Mar 23 01:30:43 2021 +0900 * 2021-03-23 [ci skip] M version.h commit 37abe1a220d5b8adc61f4405c3d9115dd6114c04 Author: Kenichi Kamiya Date: Tue Mar 23 00:04:44 2021 +0900 [Doc] Standardize wording s/sweeped/swept/ M include/ruby/internal/value_type.h commit 816a1d97fdcb46cec51f6fa25d191630698106d1 Author: David CARLIER Date: Fri Mar 5 20:47:19 2021 +0000 coroutine mac m1 update. using proper link register and frame pointer which equal x30/x29. M coroutine/arm64/Context.S commit 35d30c6ac5a882e2d3b34a9a838f39c2f58531df Author: David CARLIER Date: Fri Mar 5 20:40:58 2021 +0000 vm dump display return address in the abscence of X30 in Mac ARM64. M vm_dump.c commit 5e16c3a12a7f7869109fd8b72d7f54db347e5fe5 Author: David Carlier Date: Sun Mar 21 16:46:46 2021 +0000 solaris/illumos build fix. M addr2line.c M cont.c commit 7e8a9af9db42a21f6a1125a29e98c45ff9d5833b Author: Jean Boussier Date: Fri Mar 19 11:29:06 2021 +0100 rb_enc_interned_str: handle autoloaded encodings If called with an autoloaded encoding that was not yet initialized, `rb_enc_interned_str` would crash with a NULL pointer exception. See: https://github.com/ruby/ruby/pull/4119#issuecomment-800189841 M encoding.c M ext/-test-/string/depend M ext/-test-/string/fstring.c M internal/encoding.h M string.c M test/-ext-/string/test_fstring.rb commit 5b272a645322c2ffe0f73c523d64832678d0de5f Author: Kenichi Kamiya Date: Mon Mar 22 02:15:46 2021 +0900 [Doc] Fix a typo around Hash#compare_by_identity M hash.c commit ad0fa53203720d52cff2d5c8b293fea5c6889dbb Author: Kazuhiro NISHIYAMA Date: Mon Mar 22 18:59:25 2021 +0900 [DOC] some methods of Fiber do not need to require anymore [Feature #17407] M cont.c commit ec4a41c4dd40a09e58389a2cb3a956df6046a710 Author: Kenichi Kamiya Date: Mon Mar 22 13:27:37 2021 +0900 [Doc] Fix a typo s/interseting/interesting/ M sample/trick2018/01-kinaba/remarks.markdown commit 7d3fdfb27dac456827b004d9e66a44b15f8cd762 Author: Kenichi Kamiya Date: Mon Mar 22 14:10:52 2021 +0900 Hash#transform_values! ensures receiver modifiable in block [Bug #17736] M hash.c M test/ruby/test_hash.rb commit db0ad48309edae28a65e3d18e9b3a15753eda777 Author: git Date: Mon Mar 22 00:20:48 2021 +0900 * 2021-03-22 [ci skip] M version.h commit 5e2e8ad9a9d7b5b705d755f203d04a76236c5870 Author: Nobuyoshi Nakada Date: Mon Mar 22 00:20:27 2021 +0900 Add `RbConfig::CONFIG["platform"]` Means the platform with the actual CPU info on universal binary. The CPU in "arch" is fixed as "universal" to refer the header and library paths. M tool/mkconfig.rb commit cb396d4214f7d1c60a9bb45420ef647468b8da2e Author: Nobuyoshi Nakada Date: Sun Mar 21 17:53:20 2021 +0900 Share variables defined in common GNUmakefile also in cygwin/mingw M cygwin/GNUmakefile.in M template/GNUmakefile.in commit 94254117eef0bafcdc5fd840af46af26060ee5be Author: Takashi Kokubun Date: Sun Mar 21 00:01:07 2021 -0700 [ruby/irb] Have some right padding instead of filling out an entire line https://github.com/ruby/irb/commit/6ac8f45f5f M lib/irb/cmd/ls.rb commit 450d1f2c5c476bfd38fe01a2a616a99cd1312caf Author: Takashi Kokubun Date: Sat Mar 20 23:56:57 2021 -0700 [ruby/irb] Deal with different screen sizes e.g. http://rubyci.s3.amazonaws.com/centos8/ruby-master/log/20210321T063003Z.fail.html.gz https://github.com/ruby/irb/commit/ddb3472ba2 M test/irb/test_cmd.rb commit 75b38f18940764f048ded4a3938407566152cbee Author: Takashi Kokubun Date: Sat Mar 20 23:48:10 2021 -0700 [ruby/irb] Fix step's argument cols.size was calling Integer#size, which returns 8. Fixing a bug of https://github.com/ruby/irb/pull/209 https://github.com/ruby/irb/commit/c93ae4be71 M lib/irb/cmd/ls.rb commit d0b044a842ec03525ab839eb79864899ad81bed3 Author: Takashi Kokubun Date: Sat Mar 20 23:15:51 2021 -0700 [ruby/irb] Fix column overflow on ls output https://github.com/ruby/irb/commit/6115754623 M lib/irb/cmd/ls.rb commit 21863470d965b8cc299b1f82417c70d5d26f8ab2 Author: Kazuki Tsujimoto Date: Sun Mar 21 15:12:54 2021 +0900 Pattern matching pin operator against expression [Feature #17411] This commit is based on the patch by @nobu. M NEWS.md M compile.c M doc/syntax/pattern_matching.rdoc M parse.y M test/ripper/test_sexp.rb M test/ruby/test_pattern_matching.rb commit 232433f22423fb6a3ff7a610140c711a964d3b3d Author: Takashi Kokubun Date: Thu Mar 18 01:18:42 2021 -0700 [ruby/irb] Add whereami command https://github.com/ruby/irb/commit/bc822e4aac A lib/irb/cmd/whereami.rb M lib/irb/extend-command.rb M test/irb/test_cmd.rb commit 5f72962a0955d62dfbac2f7553b725b9d1e9e60d Author: Takashi Kokubun Date: Thu Mar 18 00:28:04 2021 -0700 [ruby/irb] Implement ls command https://github.com/ruby/irb/commit/19b6c20604 A lib/irb/cmd/ls.rb M lib/irb/cmd/nop.rb M lib/irb/extend-command.rb M test/irb/test_cmd.rb commit d36ac283d188ba6d923c905a85341761fa1305c3 Author: Nobuyoshi Nakada Date: Sun Mar 21 09:42:29 2021 +0900 Ensure the receiver hash modifiable before updating [Bug #17736] Close https://github.com/ruby/ruby/pull/4298 M hash.c M test/ruby/test_hash.rb commit d319eb602d3fe9dbc5dab55cb85974a7c22742e5 Author: Kenichi Kamiya Date: Sun Mar 21 01:57:46 2021 +0900 Add Hash#{update, merge!} test to ensure receiver modifiable in block M test/ruby/test_hash.rb commit 54bfa0570d8dd2da0dbf8c8fc75b34b4cf6831a6 Author: S.H Date: Sun Mar 21 06:57:30 2021 +0900 Add ins_methods_type_i function M class.c commit 2d66f8e011580532aefcf14092ec102d30fc46f2 Author: git Date: Sun Mar 21 00:23:00 2021 +0900 * 2021-03-21 [ci skip] M version.h commit 298edfa4a29d4233fda2b42abdf93a0cd74928b9 Author: Nobuyoshi Nakada Date: Sun Mar 21 00:11:08 2021 +0900 Refactor hash aset callback M hash.c commit cfadbf2fc4a6547f6e0bd47b8103c5b4bbd17b20 Author: Nobuyoshi Nakada Date: Sat Mar 20 23:53:57 2021 +0900 Add write-barrier in tally M enum.c commit 0b6554e65b902a977012150ba3ae2b170a3c061e Author: Nobuyoshi Nakada Date: Sat Mar 20 23:41:41 2021 +0900 Refactor hash update callbacks M hash.c commit 71ba09632ba81c91ce22ca900cf01da2d9e0d53f Author: S.H Date: Sat Mar 20 21:00:29 2021 +0900 Remove unneeded declarations M gc.c M io.c M marshal.c commit 178a2a1a12bfdb6cee0fbf296ecaf1d630fdf520 Author: S.H Date: Sat Mar 20 20:55:58 2021 +0900 Remove unneeded declarations in bignum.c M bignum.c commit 7954bb056be30e86c419fe3792064d28990a4999 Author: Kenichi Kamiya Date: Sat Mar 20 19:35:36 2021 +0900 Some Hash destructive methods ensure the receiver modifiable [Bug #17736] refs: * https://bugs.ruby-lang.org/issues/17736 * https://github.com/ruby/ruby/pull/4296 This commit aims to cover following methods * Hash#select! * Hash#filter! * Hash#keep_if * Hash#reject! * Hash#delete_if I think these are not all. --- * Ensure the receiver is modifiable or not * Assert the receiver is not modified M hash.c M test/ruby/test_hash.rb commit 278522f0535d081ff6473f210cb45f923ff8810a Author: Takashi Kokubun Date: Fri Mar 19 19:08:39 2021 -0700 [ruby/irb] Don't call Ruby 2.4+'s String#pretty_print https://github.com/ruby/irb/commit/89bcf107be M lib/irb/color_printer.rb M test/irb/test_color_printer.rb commit e019dd24df4ed7063ad80d4c2e4070141793f598 Author: Nobuyoshi Nakada Date: Sat Mar 20 19:15:38 2021 +0900 Ensure the receiver is modifiable before shrinking [Bug #17736] * Ensure the receiver is modifiable before shinking [Bug #17736] * Assert the receivers are not modified M array.c M test/ruby/test_array.rb commit bf3eaf39df9e0edc02040409b07bdd40b04bf8fa Author: S.H Date: Sat Mar 20 18:07:54 2021 +0900 Remove unused rb_ast_parse_array declaration M ast.c commit 2d6617d32787a7815a699e5d991fc6a445c0c4d4 Author: Kenichi Kamiya Date: Sat Mar 20 11:12:03 2021 +0900 Fix typos in rhash.h (#4292) M include/ruby/internal/core/rhash.h commit 4ea9df0135d92706c556a58a4f6eb43ee4d08594 Author: Nobuyoshi Nakada Date: Sat Mar 20 09:12:08 2021 +0900 No longer aclocal is used [ci skip] M LEGAL M template/Makefile.in commit f9dc5db38e211a83d05db3e594785357fdcf25f1 Author: Takashi Kokubun Date: Fri Mar 19 08:46:19 2021 -0700 [ruby/irb] Add all lib files automatically https://github.com/ruby/irb/commit/ecc82336b7 M lib/irb/irb.gemspec commit 2b0e5872c7388b67cf6c572c23abc8fc7b8340dc Author: git Date: Sat Mar 20 03:05:35 2021 +0900 * 2021-03-20 [ci skip] M version.h commit 1c6f5ca4d43b3c87c8792daa1602b7d33ea77bb5 Author: Yusuke Endoh Date: Sat Mar 20 03:04:55 2021 +0900 configure.ac: enable FORCE_FILESYSTEM for Emscripten M configure.ac commit 0428c2e7df748ff16dfed080d18c8ea06f3b915a Author: aycabta Date: Thu Mar 18 19:06:22 2021 +0900 [ruby/irb] Define "measure" command without forced override https://github.com/ruby/irb/commit/9587ba13b5 M lib/irb/extend-command.rb commit 9e71f1aa4cea42c895a2857c0f9c252865468d53 Author: Nobuyoshi Nakada Date: Fri Mar 19 18:56:41 2021 +0900 Include CommonCrypto/CommonCryptoError.h for old Xcode M random.c commit dc7044eb48f475e5ac34e994e89115052574c451 Author: Rick Mark Date: Fri Mar 19 15:27:42 2021 +0900 Remove unneeded dependencies on macOS [Feature #17730] M configure.ac commit 4ea96f1d4f8a50c204c4367c994cdbf12cd97b64 Author: Nobuyoshi Nakada Date: Fri Mar 19 15:23:03 2021 +0900 Use CommonRandom if available M configure.ac M random.c commit a85ed626f18d1014d09fb37eb0a703976c3d2b53 Author: Marc-Andre Lafortune Date: Thu Mar 18 23:29:49 2021 -0400 Fix Enumerable#inject with high negative fixnums [Bug #17731] M enum.c M test/ruby/test_enum.rb commit c576e63ee752f2c7ce865b1cb1398d013d55f153 Author: Yusuke Endoh Date: Fri Mar 19 12:35:48 2021 +0900 gc.c: Use dedicated APIs for conservative GC in Emscripten Emscripten provides "emscripten_scan_stack" to get the beginning and end pointers of the stack for conservative GC. Also, "emscripten_scan_registers" allows the GC to mark local variables in WASM. M gc.c commit e79b42c9b21abbd73aa97aec21f817704d37fd7d Author: Yusuke Endoh Date: Fri Mar 19 12:32:33 2021 +0900 configure.ac: don't use pthread_sigmask in emscripten M configure.ac commit d97ed004e8312a7d78e2e09ad8d3e4355b04ebfe Author: Yusuke Endoh Date: Fri Mar 19 12:30:59 2021 +0900 configure.ac: avoid spaces in a LDFLAGS option Seems like it confuses "make ruby" for emscripten. M configure.ac commit f748b911c9157a0bb86f38280ddfba72a55049b6 Author: Nobuyoshi Nakada Date: Thu Mar 18 18:48:56 2021 +0900 Fix infinite loop at illegal sequence [Bug #17729] As mblen returns -1 on failure, skip the first byte and try the succeeding bytes in that case. Close https://github.com/ruby/ruby/pull/4281 M eval_intern.h M test/ruby/test_rubyoptions.rb commit cc281bd7ace7538527eea98a326d79c91ff48fad Author: S-H-GAMELINKS Date: Thu Mar 18 20:43:14 2021 +0900 Remove duplicated float_arg defination M complex.c commit dae71be2c8eeaa561de78cdc34ec3ad9f9dc9edd Author: git Date: Fri Mar 19 04:03:33 2021 +0900 * 2021-03-19 [ci skip] M version.h commit b9908ea666e9a710adbba10468ded8f20dfa915f Author: Alan Wu Date: Thu Mar 18 13:03:56 2021 -0400 Make a few functions static M eval.c commit 0ef2923c2b9afb76b3a1cebc56ebabc71c9a2ba8 Author: Marc-Andre Lafortune Date: Mon Mar 15 22:15:03 2021 -0400 Avoid rehashing in Hash#replace/dup/initialize_copy [Bug #16996] M hash.c M test/ruby/test_hash.rb M test/test_set.rb commit d094c3ef046aba0bb99fd08bcbc72ff87216e736 Author: Marc-Andre Lafortune Date: Mon Mar 15 23:51:13 2021 -0400 Avoid rehashing in Hash#select/reject [Bug #16996] M hash.c M test/ruby/test_hash.rb commit 85f99f4b715a5954124d5014002c16652995b128 Author: Kazuhiro NISHIYAMA Date: Thu Mar 18 18:07:18 2021 +0900 Try to fix errors in TestIRB::TestHistory too https://github.com/ruby/actions/runs/2137935523?check_suite_focus=true#step:9:562 ``` 1) Error: TestIRB::TestHistory#test_history_concurrent_use: Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb /home/runner/work/actions/actions/ruby/lib/fileutils.rb:253:in `mkdir' /home/runner/work/actions/actions/ruby/lib/fileutils.rb:253:in `fu_mkdir' /home/runner/work/actions/actions/ruby/lib/fileutils.rb:231:in `block (2 levels) in mkdir_p' /home/runner/work/actions/actions/ruby/lib/fileutils.rb:229:in `reverse_each' /home/runner/work/actions/actions/ruby/lib/fileutils.rb:229:in `block in mkdir_p' /home/runner/work/actions/actions/ruby/lib/fileutils.rb:211:in `each' /home/runner/work/actions/actions/ruby/lib/fileutils.rb:211:in `mkdir_p' /home/runner/work/actions/actions/ruby/lib/irb/init.rb:355:in `rc_file_generators' /home/runner/work/actions/actions/ruby/lib/irb/init.rb:330:in `rc_file' /home/runner/work/actions/actions/ruby/test/irb/test_history.rb:170:in `block in assert_history' /home/runner/work/actions/actions/ruby/lib/tmpdir.rb:96:in `mktmpdir' /home/runner/work/actions/actions/ruby/test/irb/test_history.rb:168:in `assert_history' /home/runner/work/actions/actions/ruby/test/irb/test_history.rb:133:in `test_history_concurrent_use' ``` M test/irb/test_history.rb commit e0dd072978e6c2c8180e75617e7ee37830caefa3 Author: Kazuhiro NISHIYAMA Date: Thu Mar 18 15:20:41 2021 +0900 Fix errors when XDG_CONFIG_HOME points to non-writable directory `$HOME/.config` is not writable on CI because I think tests should not corrupt user's data. And GitHub Actions CI sets `XDG_CONFIG_HOME` since `Version: 20210309.1`. https://github.com/ruby/actions/runs/2130811016?check_suite_focus=true#step:16:301 ``` Errno::EACCES: Permission denied @ dir_s_mkdir - /home/runner/.config/irb ``` M test/irb/test_cmd.rb commit 05ebaee80e97710e895527b74908112a1d77348c Author: git Date: Thu Mar 18 02:55:53 2021 +0900 * 2021-03-18 [ci skip] M version.h commit 04a814931a1b1f421980f3d0d0451c60ecff8682 Author: Aaron Patterson Date: Wed Mar 17 09:10:42 2021 -0700 return bool instead of VALUE M vm_insnhelper.c commit 8359821870d756eb75d66c5ddb5d119f6247c35d Author: Aaron Patterson Date: Tue Mar 16 15:30:47 2021 -0700 Use rb_fstring for "defined" strings. We can take advantage of fstrings to de-duplicate the defined strings. This means we don't need to keep the list of defined strings on the VM (or register them as mark objects) M insns.def M iseq.c M vm.c M vm_core.h commit ea817c60fcbdc2c4496be045f5bf028b702561ba Author: Aaron Patterson Date: Tue Mar 16 15:25:37 2021 -0700 Refactor vm_defined to return a boolean We just need this function to return whether or not the thing we're looking for is defined. If it's defined, return something true, otherwise false. M insns.def M vm_insnhelper.c commit c3971bea3351e014171910402a220770196ed1cc Author: Aaron Patterson Date: Tue Mar 16 15:16:51 2021 -0700 Stop calling `rb_iseq_defined_string` in vm_defined We already have access to the string from the iseqs, so we can stop calling this function. M insns.def M vm_insnhelper.c commit 17bf478de14d0dd9098df65282f7f419cd792599 Author: Aaron Patterson Date: Tue Mar 16 15:12:37 2021 -0700 Store strings for `defined` in the iseqs We can know the string used for "defined" calls at compile time, then store the string in the instruction sequences M compile.c M insns.def M iseq.c commit 366e88e508de7c59d69906ad948cccd7979e932b Author: Nobuyoshi Nakada Date: Wed Mar 17 23:51:00 2021 +0900 [DOC] Update README [ci skip] * Use `autogen.sh`. * The subversion repository is only for old versions, and secondary now. * Moved long links to footnotes. M README.ja.md M README.md commit 1d80d703141f01383604022f9e8e53e10865197c Author: Yusuke Endoh Date: Wed Mar 17 23:13:22 2021 +0900 autogen.sh: Make it work with sh (not bash) M autogen.sh commit 5b54dc9ab26a7c19ddfc2a7d1104ef2e5fdc9f5d Author: Kazuhiro NISHIYAMA Date: Wed Mar 17 21:00:46 2021 +0900 Remove unused DEFAULT_KCODE M win32/Makefile.sub commit 447feb0aa08e20cc5eeb8b3a6f881de261a2c9a2 Author: Nobuyoshi Nakada Date: Wed Mar 17 19:51:13 2021 +0900 Improved autogen.sh * update in the source directory * make symbolic links instead of copies * forward the arguments to autoreconf as-is M autogen.sh commit f9e43782995b1f77e7b10c79941bbbda15620e2a Author: 卜部昌平 Date: Wed Mar 17 18:52:53 2021 +0900 get rid of aclocal (#4280) M aclocal.m4 M configure.ac commit 83f96642d2d74569cc38319d02d5922fac8f66b8 Author: Yusuke Endoh Date: Wed Mar 17 17:17:18 2021 +0900 autogen.sh: Allow AUTORECONF envvar to specify the autoreconf executable M autogen.sh commit 4250d7c910fd67c0da07c6213901009330e3cd51 Author: Yusuke Endoh Date: Wed Mar 17 16:54:22 2021 +0900 autogen.sh: Added Currently it just runs "autoreconf --install" M aclocal.m4 A autogen.sh commit d58daad37bd5fd09c7ff74be17074fc51faac8d3 Author: NARUSE, Yui Date: Wed Mar 17 15:36:05 2021 +0900 [Feature #17684] Declare --disable-gems is for debugging M ruby.c commit 3260602fa3d905ba310b9afbc5365ee52cb53d62 Author: Nobuyoshi Nakada Date: Wed Mar 17 09:49:17 2021 +0900 Adjusted indents [ci skip] M ext/zlib/zlib.c commit 58660e943488778563b9e41005a601e9660ce21f Author: Jeremy Evans Date: Thu Feb 18 15:22:37 2021 -0800 Skip refined method when exporting methods with changed visibility Previously, attempting to change the visibility of a method in a singleton class for a class/module that is prepended to and refined would raise a NoMethodError. Fixes [Bug #17519] M test/ruby/test_module.rb M vm_method.c commit 756e8a2cf3424b9a3eb9dde4a01325cba21a7e81 Author: Sorah Fukumori Date: Wed Mar 17 02:40:43 2021 +0900 test_zlib(test_path_tmpfile): fix Zlib instance leak follow-up: commit cf831f49189c4a890da6845e39199a5dfaf4fb48 M test/zlib/test_zlib.rb commit cf831f49189c4a890da6845e39199a5dfaf4fb48 Author: Sorah Fukumori Date: Wed Mar 17 02:16:27 2021 +0900 zlib: fix Gzip{Writer,Reader}.new fails with a O_TMPFILE file M ext/zlib/zlib.c M test/zlib/test_zlib.rb commit a47697aa4459e8cc0cc4fd336ca31cfea9d734fc Author: Matt Valentine-House Date: Tue Mar 16 10:47:35 2021 +0000 LLDB: Introduce dump_page helper This dumps out object type information for every object on a page in the form: bits [LM R ] T_CLASS [389]: Addr: 0x1007ebcf0 (flags: 0x100000062) M misc/lldb_cruby.py commit 1dca33359994271342f81b430f552c3d37de4dba Author: Matt Valentine-House Date: Tue Mar 16 10:46:07 2021 +0000 LLDB: Extract a dump_bits function from rp that dumps the heap page bitmaps for a slot M misc/lldb_cruby.py commit d33159a2f13556dd8d2202b3d759dfafece3aed5 Author: git Date: Wed Mar 17 00:01:08 2021 +0900 * 2021-03-17 [ci skip] M version.h commit 382d3a4516a8177acbd23e8f87e766e38cce36a8 Author: Nobuyoshi Nakada Date: Tue Mar 16 22:14:56 2021 +0900 Improve Enumerable#tally performance Iteration per second (i/s) | |compare-ruby|built-ruby| |:------|-----------:|---------:| |tally | 52.814| 114.936| | | -| 2.18x| A benchmark/enum_tally.yml M enum.c commit e61e9bcfb27580ae52b46fc7ca49c38f8fdeb8cd Author: Kazuki Yamaguchi Date: Tue Mar 16 22:15:46 2021 +0900 test/openssl/test_config: skip tests for .include on older OpenSSL The .include directive was initially added by OpenSSL 1.1.1, but the syntax was later modified in 1.1.1b to improve compatibility with the parser in <= 1.1.0. The test case expects 1.1.1b's parser. https://github.com/openssl/openssl/commit/95f59d398c3f28f7ee50f092106c5910d25f9e30 The test case is failing on Ubuntu 18.04 because it still uses the initial 1.1.1 release: http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20210316T120003Z.fail.html.gz M test/openssl/test_config.rb commit 44d67128a827c65d1a3867c5d8fd190d10aa1dd2 Author: Kazuki Yamaguchi Date: Tue Mar 16 22:05:04 2021 +0900 test/openssl/test_cipher: skip AES-CCM tests on OpenSSL <= 1.1.1b AES CCM mode in OpenSSL <= 1.1.1b was overly strict in the parameters assignment order. This has been relaxed by OpenSSL 1.1.1c. https://github.com/openssl/openssl/commit/b48e3be947ddc5da6b5a86db8341081c72b9a4ee The test case is failing on Ubuntu 18.04 because it still uses the initial 1.1.1 release and has the issue: http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20210316T120003Z.fail.html.gz M test/openssl/test_cipher.rb commit 6c7cb00c094332a208cf36e5cd723a9ba60c41b8 Author: Yusuke Endoh Date: Tue Mar 16 21:38:00 2021 +0900 test/ruby/test_regexp.rb: Avoid "ambiguity between regexp and two divisions" M test/ruby/test_regexp.rb commit 7f0b3fb9060b75b4f15b8e7e5866d2c13c132c29 Author: Kazuki Yamaguchi Date: Thu Feb 25 16:55:40 2021 +0900 [ruby/openssl] sample: update obsolete API use https://github.com/ruby/openssl/commit/dafa851c0d M sample/openssl/c_rehash.rb M sample/openssl/echo_svr.rb M sample/openssl/gen_csr.rb commit e35d3623de47b1a8d699f431460fbcba36de84f2 Author: Kazuki Yamaguchi Date: Thu Feb 25 16:49:11 2021 +0900 [ruby/openssl] sample: avoid "include OpenSSL" It is not a common practice and should not be done since it causes name clash: for example, Digest and Random are provided by other standard libraries of Ruby. Fixes: https://github.com/ruby/openssl/issues/419 https://github.com/ruby/openssl/commit/6a6444984b M sample/openssl/cert2text.rb M sample/openssl/certstore.rb M sample/openssl/gen_csr.rb M sample/openssl/smime_read.rb M sample/openssl/smime_write.rb commit a3f97007bbd1012a4b7662b8166118b81b52527a Author: Kazuki Yamaguchi Date: Thu Feb 25 17:28:23 2021 +0900 [ruby/openssl] test: adjust test cases for LibreSSL 3.2.4 LibreSSL 3.2.4 made the certificate verification logic back closer to pre-3.2.2 one, which is more compatible with OpenSSL. Part of the fixes added by commit a0e98d48c91f ("Enhance TLS 1.3 support on LibreSSL 3.2/3.3", 2020-12-03) is required for 3.2.2 and 3.2.3 only (and ~3.3.1, however 3.3 does not have a stable release yet). Since both releases are security fix, it should be safe to remove those special treatment from our test suite. While we are at it, TestSSL#test_ecdh_curves is split into TLS 1.2 and TLS 1.3 variants for clarity. https://github.com/ruby/openssl/commit/a9954bac22 M test/openssl/test_ssl.rb M test/openssl/test_ts.rb M test/openssl/test_x509store.rb M test/openssl/utils.rb commit 1eb6d8aa63d7ada403adb0db12382d264dea5521 Author: Kazuki Yamaguchi Date: Wed Feb 17 22:58:40 2021 +0900 [ruby/openssl] bn: check -1 return from BIGNUM functions Although the manpage says that BIGNUM functions return 0 on error, OpenSSL versions before 1.0.2n and current LibreSSL versions may return -1 instead. Note that the implementation of OpenSSL::BN#mod_inverse is extracted from BIGNUM_2c() macro as it didn't really share the same function signature with others. https://github.com/ruby/openssl/commit/9b59f34345 M ext/openssl/ossl_bn.c commit 1ad222477344597038d7ec08885a41f547c2a3b4 Author: Nobuyoshi Nakada Date: Sun Feb 14 18:16:06 2021 +0900 [ruby/openssl] Fixed the results of OpenSSL::Timestamp::Response#failure_info Made stored values `Symbol`s instead of `ID`s. Fixes https://bugs.ruby-lang.org/issues/17625 Co-Authored-By: xtkoba (Tee KOBAYASHI) https://github.com/ruby/openssl/commit/f2d004679a M ext/openssl/ossl_ts.c M test/openssl/test_ts.rb commit e2ce3830447b95fbb7d9b8dff80b8c1716688da0 Author: Jeremy Evans Date: Thu Dec 3 09:12:12 2020 -0800 [ruby/openssl] Enhance TLS 1.3 support on LibreSSL 3.2/3.3 This defines TLS1_3_VERSION when using LibreSSL 3.2+. LibreSSL 3.2/3.3 doesn't advertise this by default, even though it will use TLS 1.3 in both client and server modes. Changes between LibreSSL 3.1 and 3.2/3.3 broke a few tests, Defining TLS1_3_VERSION by itself fixes 1 test failure. A few tests now fail on LibreSSL 3.2/3.3 unless TLS 1.2 is set as the maximum version, and this adjusts those tests. The client CA test doesn't work in LibreSSL 3.2+, so I've marked that as pending. For the hostname verification, LibreSSL 3.2.2+ has a new stricter hostname verifier that doesn't like subjectAltName such as c*.example.com and d.*.example.com, so adjust the related tests. With these changes, the tests pass on LibreSSL 3.2/3.3. https://github.com/ruby/openssl/commit/a0e98d48c9 M ext/openssl/ossl_ssl.c M test/openssl/test_ssl.rb M test/openssl/test_ssl_session.rb M test/openssl/test_ts.rb M test/openssl/test_x509store.rb commit 4756ac00b7c016dfd85b69720486141a7c78d661 Author: Kazuki Yamaguchi Date: Tue Jun 30 15:46:14 2020 +0900 [ruby/openssl] pkey/ec: remove OpenSSL::PKey::EC::Group.new(ec_method) form The form created an empty EC_GROUP object with the specified EC_METHOD. However, the feature was unfinished and not useful in any way because OpenSSL::PKey::EC::Group did not implement wrappers for necessary functions to set actual parameters for the group, namely EC_GROUP_set_curve() family. EC_GROUP object creation with EC_METHOD explicitly specified is deprecated in OpenSSL 3.0, as it was apparently not intended for use outside OpenSSL. It is still possible to create EC_GROUP, but without EC_METHOD explicitly specified - OpenSSL chooses the appropriate EC_METHOD for the curve type. The OpenSSL::PKey::EC::Group.new(<:GFp|:GF2m>, p, a, b) form will continue to work. https://github.com/ruby/openssl/commit/df4bec841f M ext/openssl/ossl_pkey_ec.c commit d47210b1130ce49c2444628f6da543782b15cadf Author: Kazuki Yamaguchi Date: Wed Aug 12 20:57:52 2020 +0900 [ruby/openssl] ssl: remove SSL::SSLContext#tmp_ecdh_callback The underlying API SSL_CTX_set_tmp_ecdh_callback() was removed by LibreSSL >= 2.6.1 and OpenSSL >= 1.1.0, in other words, it is not supported by any non-EOL versions of OpenSSL. The wrapper was initially implemented in Ruby 2.3 and has been deprecated since Ruby/OpenSSL 2.0 (bundled with Ruby 2.4) with explicit warning with rb_warn(). https://github.com/ruby/openssl/commit/ee037e1460 M ext/openssl/extconf.rb M ext/openssl/ossl_ssl.c M test/openssl/test_ssl.rb commit 945ed40862393778b1c991b00714dcaf73319c77 Author: Kazuki Yamaguchi Date: Mon Oct 22 10:26:33 2018 +0900 [ruby/openssl] ssl: retry write on EPROTOTYPE on macOS Errno::EPROTOTYPE is not supposed to be raised by SSLSocket#write. However, on macOS, send(2) which is called via SSL_write() can occasionally return EPROTOTYPE. Retry SSL_write() so that we get a proper error, just as ext/socket does. Reference: https://bugs.ruby-lang.org/issues/14713 Reference: https://github.com/ruby/openssl/issues/227 https://github.com/ruby/openssl/commit/2e700c80bf M ext/openssl/ossl_ssl.c commit 0b1bb1bc32906a07ed0c3cdf3e64bc10663b011d Author: Kazuki Yamaguchi Date: Wed Aug 12 00:00:40 2020 +0900 [ruby/openssl] test/openssl/test_x509store: tidy up tests for X509::Store#add_cert Rename the test case to test_add_cert_duplicate to clarify what it is actually testing. https://github.com/ruby/openssl/commit/4cc3c4110f M test/openssl/test_x509store.rb commit d4ad1e71ca6c1b58e5ea1b518e406a0251ca812f Author: Kazuki Yamaguchi Date: Tue Aug 11 18:52:37 2020 +0900 [ruby/openssl] test/openssl/test_x509store: break up test_verify The test case is huge and too complex. Break it up into separate test cases for better documentation. https://github.com/ruby/openssl/commit/61012df03b M test/openssl/test_x509store.rb commit c46b1f0bec3af8c51a9eebc6408a2895eccdff91 Author: Kazuki Yamaguchi Date: Wed Aug 12 17:45:36 2020 +0900 [ruby/openssl] x509store: update rdoc for X509::Store and X509::StoreContext Add more details about each method, and add reference to OpenSSL man pages. https://github.com/ruby/openssl/commit/02b6f82c73 M ext/openssl/ossl_x509store.c commit 62d889c857e79001940e52e3fb2f2bf1709f00d8 Author: Kazuki Yamaguchi Date: Sun Aug 9 00:22:08 2020 +0900 [ruby/openssl] x509store: fix memory leak in X509::StoreContext.new The certificate passed as the second argument was not properly free'd in the error paths. https://github.com/ruby/openssl/commit/9561199b9f M ext/openssl/ossl_x509store.c commit 871c61d5d068f85595c04b8d118da1f489bc2d42 Author: Kazuki Yamaguchi Date: Sun Aug 9 00:04:56 2020 +0900 [ruby/openssl] x509store: avoid ossl_raise() calls with NULL message Use the OpenSSL function name that caused the error to generate a better error message. https://github.com/ruby/openssl/commit/b31809ba3d M ext/openssl/ossl_x509store.c commit be3ba2ee4d4104a36a6dc2a15f16522454db33ae Author: Kazuki Yamaguchi Date: Sat Aug 8 23:00:10 2020 +0900 [ruby/openssl] x509store: refactor X509::StoreContext#chain Use ossl_x509_sk2ary() to create an array of OpenSSL::X509::Certificate from STACK_OF(X509). https://github.com/ruby/openssl/commit/fa1da69f92 M ext/openssl/ossl_x509store.c commit 08c99a4208af1a50e0ee2446ad4bb235edea00e5 Author: Kazuki Yamaguchi Date: Sat Aug 8 19:28:11 2020 +0900 [ruby/openssl] x509store: emit warning if arguments are given to X509::Store.new Anything passed to OpenSSL::X509::Store.new was always ignored. Let's emit an explicit warning to not confuse users. https://github.com/ruby/openssl/commit/d173700eeb M ext/openssl/ossl_x509store.c M test/openssl/test_x509store.rb commit 88b8b3ac15223d65cf4b40cfc7d193b54b6e2f09 Author: Kazuki Yamaguchi Date: Sat Aug 8 19:03:46 2020 +0900 [ruby/openssl] x509store: let X509::Store#add_file raise TypeError if nil is given Undo special treatment of nil and simply pass the value to StringValueCStr(). nil was never a valid argument for the method; OpenSSL::X509::StoreError with an unhelpful error message "system lib" was raised in that case. https://github.com/ruby/openssl/commit/fb2fcbb137 M ext/openssl/ossl_x509store.c M test/openssl/test_x509store.rb commit 92f19f7bb043908a583f04fb737664c5010a3ec2 Author: Nobuhiro IMAI Date: Wed Jul 29 12:39:09 2020 +0900 [ruby/openssl] [DOC] Fix RDoc markup https://github.com/ruby/openssl/commit/f36af95519 M ext/openssl/ossl_pkey.c commit be1e88a277a76d614070587e9cc3b4bda92a3670 Author: Claus Lensbøl Date: Thu Jul 23 14:52:10 2020 +0200 [ruby/openssl] Fix typo in documentation The socket is called ssl_connection, not connection https://github.com/ruby/openssl/commit/642783aeda M ext/openssl/ossl.c commit 81325db5f8bcd8c3e964ff6285792c2cade29b2c Author: Kazuki Yamaguchi Date: Sat Jul 18 17:14:55 2020 +0900 [ruby/openssl] ssl: initialize verify_mode and verify_hostname with default values SSLContext's verify_mode expects an SSL_VERIFY_* constant (an integer) and verify_hostname expects either true or false. However, they are set to nil after calling OpenSSL::SSL::SSLContext.new, which is surprising. Set a proper value to them by default: verify_mode is set to OpenSSL::SSL::VERIFY_NONE and verify_hostname is set to false by default. Note that this does not change the default behavior. The certificate verification was never performed unless verify_mode is set to OpenSSL::SSL::VERIFY_PEER by a user. The same applies to verify_hostname. https://github.com/ruby/openssl/commit/87d869352c M ext/openssl/lib/openssl/ssl.rb M test/openssl/test_ssl.rb commit 3b43e3fa10b160fd86a51b6e09ab157ca7be723a Author: Kazuki Yamaguchi Date: Sat Jul 18 17:09:37 2020 +0900 [ruby/openssl] test/openssl/test_ssl: revise verify_mode test cases Add explicit test cases for the behaviors with different verify_mode. If we made a bug in verify_mode, we would notice it by failures of other test cases, but there were no dedicated test cases for verify_mode. https://github.com/ruby/openssl/commit/1ccdc05662 M test/openssl/test_ssl.rb commit 57a57e6e561cb7c350dc1953c44cbe65cf4f214c Author: Kazuki Yamaguchi Date: Sat Jul 18 16:45:01 2020 +0900 [ruby/openssl] test/openssl/test_ssl: revise a test case for client_cert_cb The current test_client_auth_public_key test case checks that supplying a PKey containing only public components through client_cert_cb will cause handshake to fail. While this is a correct behavior as a whole, the assertions are misleading in the sense that giving a public key is causing the failure. Actually, the handshake fails because a client certificate is not supplied at all, as a result of ArgumentError that is silently ignored. Rename the test case to test_client_cert_cb_ignore_error and simplify it to clarify what it is testing. https://github.com/ruby/openssl/commit/785b5569fc M test/openssl/test_ssl.rb commit c71afc9db7fd938a71f806bace7a2aed2722c0e9 Author: Colton Jenkins Date: Sun Jul 5 17:25:54 2020 -0400 [ruby/openssl] Add compare? method to OpenSSL::PKey that wraps EVP_PKEY_cmp. Explicitly check for type given some conflicting statements within openssl's documentation around EVP_PKEY_cmp and EVP_PKEY_ASN1_METHOD(3). Add documentation with an example for compare? https://github.com/ruby/openssl/commit/0bf51da6e2 M ext/openssl/ossl_pkey.c M test/openssl/test_pkey.rb commit da6341b70942cf448888471f66dfde2cf614f052 Author: Bart de Water Date: Tue Jul 7 12:59:11 2020 -0400 [ruby/openssl] User lower case cipher names for maximum compatibility We ran into some Linux-based systems not accepting the upper case variant https://github.com/ruby/openssl/commit/7bc49121d5 M ext/openssl/ossl.c M ext/openssl/ossl_cipher.c M test/openssl/test_cipher.rb commit 13198d4968a6591ec423832c4bf00c56ffdb337a Author: Kazuki Yamaguchi Date: Mon Jun 29 22:09:35 2020 +0900 [ruby/openssl] hmac: implement base64digest methods OpenSSL::HMAC implements the similar interface as ::Digest. Let's add base64digest methods to OpenSSL::HMAC, too, for feature parity. https://github.com/ruby/openssl/commit/098bcb68af M ext/openssl/lib/openssl/hmac.rb M test/openssl/test_hmac.rb commit b91f62f3840582bb3e4fbece15654e1d852c829b Author: Kazuki Yamaguchi Date: Mon May 18 16:15:07 2020 +0900 [ruby/openssl] hmac: migrate from the low-level HMAC API to the EVP API Use the EVP API instead of the low-level HMAC API. Use of the HMAC API has been discouraged and is being marked as deprecated starting from OpenSSL 3.0.0. The two singleton methods OpenSSL::HMAC, HMAC.digest and HMAC.hexdigest are now in lib/openssl/hmac.rb. https://github.com/ruby/openssl/commit/0317e2fc02 M ext/openssl/extconf.rb M ext/openssl/lib/openssl/hmac.rb M ext/openssl/openssl_missing.c M ext/openssl/openssl_missing.h M ext/openssl/ossl.h M ext/openssl/ossl_hmac.c commit baea36c95500b128869690958262db9538c3162e Author: Kazuki Yamaguchi Date: Tue Jun 30 14:27:13 2020 +0900 [ruby/openssl] hmac: add a test case for OpenSSL::HMAC singleton methods https://github.com/ruby/openssl/commit/8253d7c9ce M test/openssl/test_hmac.rb commit fde9f806cb4fa9145e6eb73406ea4b932ddb8eb7 Author: Kazuki Yamaguchi Date: Mon May 18 15:43:18 2020 +0900 [ruby/openssl] pkey/ec: deprecate OpenSSL::PKey::EC::Point#mul(ary, ary [, bn]) Deprecate it for future removal. However, I do not expect any application is affected by this. The other form of calling it, PKey::EC::Point#mul(bn [, bn]) remains untouched. PKey::EC::Point#mul calls EC_POINTs_mul(3) when multiple BNs are given as an array. LibreSSL 2.8.0 released on 2018-08 removed the feature and OpenSSL 3.0 which is planned to be released in 2020 will also deprecate the function as there is no real use-case. https://github.com/ruby/openssl/commit/812de4253d M ext/openssl/ossl_pkey_ec.c M test/openssl/test_pkey_ec.rb commit 15863069c90b1253021981b23d31f154d79f8fe6 Author: Kazuki Yamaguchi Date: Wed May 13 18:15:08 2020 +0900 [ruby/openssl] digest, hmac, ts, x509: use IO.binread in examples where appropriate IO.read may mangle line separator, which will corrupt binary data including DER-encoded X.509 certificates and such. Fixes: https://github.com/ruby/openssl/issues/243 https://github.com/ruby/openssl/commit/93213b2730 M ext/openssl/ossl_digest.c M ext/openssl/ossl_hmac.c M ext/openssl/ossl_ts.c M ext/openssl/ossl_x509cert.c commit 9d3ffe09c47a1dfd722693965fbf7dba8571aa88 Author: Kazuki Yamaguchi Date: Sat Mar 18 22:34:19 2017 +0900 [ruby/openssl] pkey: reimplement PKey::DH#compute_key and PKey::EC#dh_compute_key Use the new OpenSSL::PKey::PKey#derive instead of the raw {EC,}DH_compute_key(), mainly to reduce amount of the C code. https://github.com/ruby/openssl/commit/28edf6bafc M ext/openssl/lib/openssl/pkey.rb M ext/openssl/ossl_pkey_dh.c M ext/openssl/ossl_pkey_ec.c commit fbadb01d6e0881ef6c6e5e105b8ac20fe663c817 Author: Kazuki Yamaguchi Date: Sat Mar 18 21:58:46 2017 +0900 [ruby/openssl] pkey: add PKey::PKey#derive Add OpenSSL::PKey::PKey#derive as the wrapper for EVP_PKEY_CTX_derive(). This is useful for pkey types that we don't have dedicated classes, such as X25519. https://github.com/ruby/openssl/commit/28f0059bea M ext/openssl/ossl_pkey.c M test/openssl/test_pkey.rb M test/openssl/test_pkey_dh.rb M test/openssl/test_pkey_ec.rb commit b2dc4880f5d000c3e0117ecf9c57a273cbd713f9 Author: Kazuki Yamaguchi Date: Mon May 15 23:47:47 2017 +0900 [ruby/openssl] pkey: support 'one-shot' signing and verification OpenSSL 1.1.1 added EVP_DigestSign() and EVP_DigestVerify() functions to the interface. Some EVP_PKEY methods such as PureEdDSA algorithms do not support the streaming mechanism and require us to use them. https://github.com/ruby/openssl/commit/ae19454592 M ext/openssl/ossl_pkey.c M test/openssl/test_pkey.rb commit 5cae289682c6b8fea6324ae8f26dbcc90ebaaa2f Author: Kazuki Yamaguchi Date: Mon May 15 23:47:47 2017 +0900 [ruby/openssl] pkey: port PKey::PKey#sign and #verify to the EVP_Digest* interface Use EVP_DigestSign*() and EVP_DigestVerify*() interface instead of the old EVP_Sign*() and EVP_Verify*() functions. They were added in OpenSSL 1.0.0. Also, allow the digest to be specified as nil, as certain EVP_PKEY types don't expect a digest algorithm. https://github.com/ruby/openssl/commit/9ff6e5143b M ext/openssl/ossl_pkey.c M test/openssl/test_pkey.rb commit 1e3590fe221c9631259f6876bfaa896398ac7cfa Author: Kazuki Yamaguchi Date: Mon Mar 20 23:18:26 2017 +0900 [ruby/openssl] pkey: add PKey.generate_parameters and .generate_key Add two methods to create a PKey using the generic EVP interface. This is useful for the PKey types we don't have a dedicated class. https://github.com/ruby/openssl/commit/d8e8e57de9 M ext/openssl/ossl_pkey.c M test/openssl/test_pkey.rb commit d60ab95398ecdb2ae9a78e12244f5019d335b356 Author: Kazuki Yamaguchi Date: Wed May 13 16:37:16 2020 +0900 [ruby/openssl] test/openssl/test_ssl: fix flaky test case Fix test_socket_open_with_local_address_port_context. Often with MinGW, it seems EACCES is returned on bind when the port number is unavailable. Ignore it just as we do for EADDRINUSE and continue searching free port number. Fixes: 98f8787b4687 ("test/openssl/test_ssl: fix random failure in SSLSocket.open test", 2020-02-17) https://github.com/ruby/openssl/commit/413b15526e M test/openssl/test_ssl.rb commit 498c8e8f17d5a06244515db163a714e87a4fce76 Author: Kazuki Yamaguchi Date: Tue Mar 21 18:23:53 2017 +0900 [ruby/openssl] pkey: assume generic PKeys contain private components The EVP interface cannot tell whether if a pkey contains the private components or not. Assume it does if it does not respond to #private?. This fixes the NoMethodError on calling #sign on a generic PKey. https://github.com/ruby/openssl/commit/f4c717bcb2 M ext/openssl/ossl_pkey.c commit 1f44640677cc92c105a5b624a021cefdfe645f9a Author: Kazuki Yamaguchi Date: Wed Jun 14 00:25:43 2017 +0900 [ruby/openssl] pkey: refactor #export/#to_pem and #to_der Add ossl_pkey_export_traditional() and ossl_pkey_export_spki() helper functions, and use them. This reduces code duplication. https://github.com/ruby/openssl/commit/56f0d34d63 M ext/openssl/ossl_pkey.c M ext/openssl/ossl_pkey.h M ext/openssl/ossl_pkey_dsa.c M ext/openssl/ossl_pkey_ec.c M ext/openssl/ossl_pkey_rsa.c commit 707e3d49cbd8e648c6e6496daedb98bf17674dc7 Author: Kazuki Yamaguchi Date: Tue Jun 13 23:39:41 2017 +0900 [ruby/openssl] pkey: refactor DER/PEM-encoded string parsing code Export the flow used by OpenSSL::PKey.read and let the subclasses call it before attempting other formats. https://github.com/ruby/openssl/commit/d963d4e276 M ext/openssl/ossl_pkey.c M ext/openssl/ossl_pkey.h M ext/openssl/ossl_pkey_dsa.c M ext/openssl/ossl_pkey_ec.c M ext/openssl/ossl_pkey_rsa.c commit 10d360847baf3394b7d9cd0dca6fa6908a2ce604 Author: Kazuki Yamaguchi Date: Wed Mar 22 03:51:24 2017 +0900 [ruby/openssl] pkey: prefer PKey.read over PKey::RSA.new in docs https://github.com/ruby/openssl/commit/cf92a3ffba M ext/openssl/ossl.c M sample/openssl/echo_cli.rb M sample/openssl/echo_svr.rb M sample/openssl/gen_csr.rb M sample/openssl/smime_read.rb M sample/openssl/smime_write.rb commit efad0166c660d565d5e80e862cd9ff9457f8ed03 Author: Kazuki Yamaguchi Date: Sat Mar 18 17:26:33 2017 +0900 [ruby/openssl] pkey: have PKey.read parse PEM-encoded DHParameter Try PEM_read_bio_Parameters(). Only PEM format is supported at the moment since corresponding d2i_* functions are not provided by OpenSSL. https://github.com/ruby/openssl/commit/867e5c021b M ext/openssl/ossl_pkey.c M test/openssl/test_pkey_dh.rb M test/openssl/utils.rb commit c157f6e787221bcdbf8b6bb28db1b43578b89d66 Author: Kazuki Yamaguchi Date: Thu Mar 16 16:09:35 2017 +0900 [ruby/openssl] pkey: inline {rsa,dsa,dh,ec}_instance() Merge the code into the callers so that the wrapping Ruby object is allocated before the raw key object is allocated. This prevents possible memory leak on Ruby object allocation failure, and also reduces the lines of code. https://github.com/ruby/openssl/commit/1eb1366615 M ext/openssl/ossl_pkey_dh.c M ext/openssl/ossl_pkey_dsa.c M ext/openssl/ossl_pkey_ec.c M ext/openssl/ossl_pkey_rsa.c commit 27859c09a67768b06ad1db11a145cd6c548bbdf3 Author: Kazuki Yamaguchi Date: Thu Mar 16 16:06:53 2017 +0900 [ruby/openssl] pkey: simplify ossl_pkey_new() ossl_{rsa,dsa,dh,ec}_new() called from this function are not used anywhere else. Inline them into pkey_new0() and reduce code duplication. https://github.com/ruby/openssl/commit/94aeab2f26 M ext/openssl/ossl_pkey.c M ext/openssl/ossl_pkey.h M ext/openssl/ossl_pkey_dh.c M ext/openssl/ossl_pkey_dsa.c M ext/openssl/ossl_pkey_ec.c M ext/openssl/ossl_pkey_rsa.c commit 10289e9f229dae499d8f9c4e8252aeb728117d28 Author: Kazuki Yamaguchi Date: Wed Feb 19 05:11:54 2020 +0000 [ruby/openssl] config: replace DupConfigPtr() with GetConfig() Now that OpenSSL::Config wraps a real CONF object, the caller can just borrow it rather than creating a new temporary CONF object. CONF object is usually treated as immutable. DupConfigPtr() is now removed, and GetConfig() is exported instead. https://github.com/ruby/openssl/commit/d9064190ca M ext/openssl/ossl_config.c M ext/openssl/ossl_config.h M ext/openssl/ossl_x509ext.c commit 22aeb6373e13929e80da1676b1dc79cbfffc38a4 Author: Kazuki Yamaguchi Date: Wed Feb 19 05:06:09 2020 +0000 [ruby/openssl] config: revert to C implementation of OpenSSL::Config Revert OpenSSL::Config to using the OpenSSL API and remove our own parser implementation for the config file syntax. OpenSSL::Config now wraps a CONF object. Accessor methods deal with the object directly rather than Ruby-level internal state. This work is based on the old C code we used before 2010. https://github.com/ruby/openssl/commit/c891e0ea89 M ext/openssl/lib/openssl.rb D ext/openssl/lib/openssl/config.rb M ext/openssl/ossl_config.c M ext/openssl/ossl_config.h M test/openssl/test_config.rb commit 7c13d2b3cc503790d044a6f5a34a61c50bc643c3 Author: Kazuki Yamaguchi Date: Sat Feb 22 04:58:08 2020 +0900 [ruby/openssl] test/openssl/test_config: skip test_get_value_ENV on LibreSSL LibreSSL has removed the feature to map environment variables onto the "ENV" section. https://github.com/ruby/openssl/commit/b70817faec M test/openssl/test_config.rb commit 0c66784602048fb4724e8d37038a0e6799f55d46 Author: Kazuki Yamaguchi Date: Wed Apr 22 21:46:39 2020 +0900 [ruby/openssl] test/openssl/test_config: fix non-deterministic test case Sort keys of a section before comparing. The ordering is not part of the API. This can cause a test failure if we use OpenSSL's C implementation. Fixes: 2ad65b5f673f ("config: support .include directive", 2018-08-16) https://github.com/ruby/openssl/commit/259e6fd2dc M test/openssl/test_config.rb commit ffc01afc479f93967360995006c61b806208357e Author: Kazuki Yamaguchi Date: Wed Feb 19 05:05:41 2020 +0000 [ruby/openssl] test/openssl/test_config: add missing test case for Config.parse_config https://github.com/ruby/openssl/commit/9ce2ccf36d M test/openssl/test_config.rb commit 67f5847c617e49a314400cb8f1ff1d559492682c Author: Kazuki Yamaguchi Date: Wed Feb 19 04:44:31 2020 +0000 [ruby/openssl] config: remove deprecated methods Remove 4 deprecated methods. The following two methods have been marked as deprecated since 2003, by r4531 (ruby.git commit 78ff3833fb67c8005a9b851037e74b3eea940aa3). - OpenSSL::Config#value - OpenSSL::Config#section Other two methods are removed because the corresponding functions disappeared in OpenSSL 1.1.0. - OpenSSL::Config#add_value - OpenSSL::Config#[]= https://github.com/ruby/openssl/commit/9783d7f21c M ext/openssl/lib/openssl/config.rb M test/openssl/test_config.rb commit 4d8bce227c85ef4d1f8b794a8c96a7b23e4cf357 Author: Spencer McIntyre Date: Mon Mar 30 14:42:53 2020 -0400 [ruby/openssl] Define Cipher #ccm_data_len= for CCM mode ciphers Allow specifying just length to #update CCM mode ciphers need to specify the total plaintext or ciphertext length to EVP_CipherUpdate. Update the link to the tests file Define Cipher#ccm_data_len= for CCM mode ciphers Add a unit test for CCM mode Also check CCM is authenticated when testing https://github.com/ruby/openssl/commit/bb3816953b M ext/openssl/ossl_cipher.c M test/openssl/test_cipher.rb commit fad3412d475b57055f426cf4e86eafeab516672b Author: Nobuyoshi Nakada Date: Tue Mar 16 08:16:19 2021 +0900 [ruby/rdoc] Get rid of a trailing space https://github.com/ruby/rdoc/commit/7b7b91768e M lib/rdoc/markdown.rb commit ff9a00887161840eb8a34d53749a7d7962181cfe Author: aycabta Date: Fri Mar 12 19:30:48 2021 +0900 [ruby/rdoc] Suppress unused variable warning of "text" https://github.com/ruby/rdoc/commit/3a4120b155 M lib/rdoc/markdown.rb commit 61a29a41e1d0d11a9963315aa86d25ed690124c0 Author: aycabta Date: Mon Mar 8 06:14:03 2021 +0900 [ruby/rdoc] Allow empty .rdoc_options https://github.com/ruby/rdoc/commit/0c8cb25b50 M lib/rdoc/rdoc.rb M test/rdoc/test_rdoc_rdoc.rb commit 971a0cd246db6578e1ea8760a903e1a23e3681f3 Author: aycabta Date: Sun Mar 7 10:13:14 2021 +0900 [ruby/rdoc] Allow partial default values to be overridden with .rdoc_options https://github.com/ruby/rdoc/commit/e14800891f M lib/rdoc/options.rb M lib/rdoc/rdoc.rb M test/rdoc/test_rdoc_rdoc.rb commit de8e6218a3257fe19b46ff0aa157e66f452ac8b7 Author: Nobuyoshi Nakada Date: Mon Feb 22 21:34:11 2021 +0900 [ruby/rdoc] Fixed CodeFence without blank lines Currently a fenced code block needs a preceding blank line, it should not be required, as: https://github.github.com/gfm/#fenced-code-blocks > A fenced code block may interrupt a paragraph, and does not > require a blank line either before or after. Just recommended: https://docs.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks > We recommend placing a blank line before and after code blocks > to make the raw formatting easier to read. https://github.com/ruby/rdoc/commit/0e1776caf3 M lib/rdoc/markdown.rb M test/rdoc/test_rdoc_markdown.rb commit 10b082064e6ab0943cce4ef43e567d8044c7096d Author: Nobuyoshi Nakada Date: Tue Jan 26 01:21:13 2021 +0900 [ruby/rdoc] Add table style https://github.com/ruby/rdoc/commit/2219c5ae80 M lib/rdoc/generator/template/darkfish/css/rdoc.css commit 3651f678a719ae3a35825bcb4e0dabbc7c60d8df Author: Nobuyoshi Nakada Date: Tue Jan 26 00:31:00 2021 +0900 [ruby/rdoc] Support GFM table https://github.com/ruby/rdoc/commit/9dc933df16 M lib/rdoc/markdown.rb M lib/rdoc/markup.rb A lib/rdoc/markup/table.rb M lib/rdoc/markup/to_html.rb M lib/rdoc/markup/to_joined_paragraph.rb M lib/rdoc/markup/to_rdoc.rb M lib/rdoc/markup/to_table_of_contents.rb M test/rdoc/test_rdoc_markdown.rb commit 05898c5b9001c0b1e8bd7bf0d12b42a8e7c388b8 Author: Pankaj Doharey Date: Fri Jan 8 22:29:12 2021 +0530 [ruby/rdoc] Update Rdoc.css sidebar panel. Updates css so the sidebar look like a panel instead of looking like chopped edges. https://github.com/ruby/rdoc/commit/b0098c6d72 M lib/rdoc/generator/template/darkfish/css/rdoc.css commit 31b19ba84e384734dba5e641d8055332ff36da01 Author: Kazuhiro NISHIYAMA Date: Tue Mar 16 14:07:27 2021 +0900 Fix a link [ci skip] M NEWS.md commit ff5ff75cdb469de21702c4a6cee50765b78091aa Author: git Date: Tue Mar 16 01:15:31 2021 +0900 * 2021-03-16 [ci skip] M version.h commit b346935cbc834a55b785e593865f5419b17f3e78 Author: aycabta Date: Sat Mar 13 12:14:18 2021 +0900 Copy only generated parser files when RDoc syncs M tool/sync_default_gems.rb commit 18a3bf5a0e6fd9de8dd1347fb70575147a513c7e Author: Nobuyoshi Nakada Date: Mon Mar 15 20:05:03 2021 +0900 NEWS of [Feature #12194] [ci skip] M NEWS.md commit 9e5105ca451d6d38eb2d03a2ffc904074f0333b9 Author: Yusuke Endoh Date: Mon Mar 15 15:22:34 2021 +0900 Support GCC's DWARF 5 [Bug #17585] (#4240) Co-Authored-By: xtkoba (Tee KOBAYASHI) M addr2line.c commit 82b6f89283042b670975f3f7986432647101984e Author: Nobuyoshi Nakada Date: Fri Mar 18 16:40:45 2016 +0900 File.dirname optional level * file.c (rb_file_dirname_n): chomp N level of base names. [Feature #12194] M file.c M spec/ruby/core/file/dirname_spec.rb M test/ruby/test_file_exhaustive.rb commit ba9de878a6d303503d8ddbef83598fc1f5c1b80b Author: git Date: Mon Mar 15 10:18:16 2021 +0900 * 2021-03-15 [ci skip] M version.h commit 0846c2da457e7523819236ac7da492029b3ef73d Author: xtkoba (Tee KOBAYASHI) Date: Mon Mar 15 10:15:10 2021 +0900 Check backref number buffer overrun [Bug #16376] M regcomp.c M test/ruby/test_regexp.rb commit 2a6bfd22468343003463e0cbf91953a01b0dbba5 Author: Nobuyoshi Nakada Date: Sun Mar 14 20:18:50 2021 +0900 Properly convert time_t [Bug #17645] M thread_sync.c commit 8a5a91eead7c026ea71dca3063345451d16c948b Author: Nobuyoshi Nakada Date: Sun Mar 14 20:17:32 2021 +0900 --dont-cuddle-else [ci skip] M thread_sync.c commit ce9fb9b23cc95207a09410ecfdaeecf27e5457f0 Author: git Date: Sun Mar 14 20:10:59 2021 +0900 * 2021-03-14 [ci skip] M version.h commit 3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f Author: xtkoba (Tee KOBAYASHI) Date: Sun Mar 14 20:10:01 2021 +0900 Explicitly cast __s64 to time_t [Bug #17645] A workaround of shorten-64-to-32 error where 32-bit linux. M file.c commit c7e6914b3947cdf0e9c0d28d1162a084d0138887 Author: Kenichi Kamiya Date: Sat Mar 13 14:15:36 2021 +0900 [Doc] Fix multiple `Magic Comments` example [ci skip] M doc/syntax/comments.rdoc commit 07ff1f4b0b040b594a6fec44d9888395343449c6 Author: Nobuyoshi Nakada Date: Sat Mar 13 09:14:20 2021 +0900 Revert "Extracted AtomicWrite" This reverts commit 2148ee78a5bc5e679903f5839c66578bfcf94a39, mistakenly committed. M tool/generic_erb.rb D tool/lib/atomic_write.rb commit 983f6d0f2af157ce2df9428a1701d8666877d0f5 Author: Nobuyoshi Nakada Date: Sun Mar 7 10:24:03 2021 +0900 Moved locking VM to an atomic operation M ractor.c commit 2148ee78a5bc5e679903f5839c66578bfcf94a39 Author: Nobuyoshi Nakada Date: Thu Jan 7 14:58:32 2016 +0900 Extracted AtomicWrite M tool/generic_erb.rb A tool/lib/atomic_write.rb commit 722e6c1d0479332c0f44c4408fa578cac0e3e479 Author: git Date: Sat Mar 13 00:35:39 2021 +0900 * 2021-03-13 [ci skip] M version.h commit aaab3b1de943c3317e115d623ffc7908b4c96578 Author: Jeremy Evans Date: Wed Mar 10 13:15:50 2021 -0800 Fix integer/float remainder with infinity argument of opposite sign Previously, the result was incorrect: 4.remainder(-Float::INFINITY) Before: => NaN After: => 4 4.2.remainder(-Float::INFINITY) Before: => NaN After: => 4.2 Fixes [Bug #6120] M numeric.c M test/ruby/test_numeric.rb commit 701001e36ea99f0c253eeb0721706af77de0ffdd Author: Nobuyoshi Nakada Date: Fri Mar 12 19:28:17 2021 +0900 Removed an unused declaration M dln_find.c commit d91ade3e1e8e137d186a00158fb795e9c9ef99e5 Author: Nobuyoshi Nakada Date: Fri Mar 12 18:15:56 2021 +0900 Renamed functions for Fiber singleton methods M cont.c commit 90c12defb3f2505f53c79e910d2f5a348a16de50 Author: Nobuyoshi Nakada Date: Fri Mar 12 16:46:40 2021 +0900 Constified variables for getenv M cont.c M dln_find.c M gc.c M ruby.c commit 2ea600f9a646a9517b99d7875bef863f60872ece Author: Soutaro Matsumoto Date: Fri Mar 12 17:07:53 2021 +0900 Bundle RBS 1.1.1 (#4259) M gems/bundled_gems commit ea39955e23f82d05c0e1a5b0933a78fc4245409f Author: Nobuyoshi Nakada Date: Fri Mar 12 15:51:29 2021 +0900 Removed a duplicate setting for mingw M configure.ac commit 0446a339453954a99b1ce8cf614473e34fb7aa49 Author: git Date: Fri Mar 12 15:30:51 2021 +0900 * 2021-03-12 [ci skip] M version.h commit 6b978d542704a5614af5e9375c4b31b8d2618652 Author: NARUSE, Yui Date: Fri Mar 12 15:27:57 2021 +0900 Remove .travis.yml Reason: * Recent build is failed. https://travis-ci.org/github/ruby/ruby/jobs/762561190 * Current configuration uses Ubuntu 16.04 (xenial), whose EOL is Apr 2021. If someone want to recover Travis CI builds, please fix above two issues. D .travis.yml commit a6c93a1d1d3eab7ee6b933f92bd7cfda0c62ebe5 Author: Kazuhiro NISHIYAMA Date: Thu Mar 11 10:46:01 2021 +0900 Revert "Update bundled_gems" This reverts commit b37f60fbd4b18f23e0443ae41b2cd7b991f0e11c. Because test-bundled-gems failed. M gems/bundled_gems commit a6b5d70bcabe66041376d5a82cedea9f2a391da8 Author: Nobuyoshi Nakada Date: Thu Mar 11 09:21:21 2021 +0900 Create the test file under the created temporary directory Fixes https://github.com/ruby/ruby/pull/4255 M test/ruby/test_file_exhaustive.rb commit ef88225886dd4ceecae07ddd22108ef4da542396 Author: Jean Boussier Date: Mon Feb 1 17:58:06 2021 +0100 Simplify ibf_dump_object_symbol by delegating to ibf_dump_object_string M compile.c commit 1041bff3b226fc0ea5235c1f3c71d7dcedbf1acc Author: Jean Boussier Date: Mon Jan 25 10:58:02 2021 +0100 Add a benchmark for RubyVM::InstructionSequence.load_from_binary A benchmark/iseq_load_from_binary.yml commit 2de7fbcdbb90b2431e03b4c457e05f1aa2d2dd64 Author: Jean Boussier Date: Sat Jan 23 10:16:43 2021 +0100 Pre-freeze ISeq names to avoid useless duplication M compile.c commit d00e7deb5c780d75e4edd3afa3e26ea02c296d8c Author: Jean Boussier Date: Sat Jan 23 10:15:22 2021 +0100 Use rb_enc_interned_str in ibf_load_object_string M compile.c commit 8463c8a425758fd4dc58a5c202aba295c837b154 Author: Jean Boussier Date: Fri Jan 22 22:23:30 2021 +0100 Specialize ibf_load_object_symbol and ibf_dump_object_symbol M compile.c commit a03653d386bd64256932ea7eead3c28f03de1bac Author: Jean Boussier Date: Fri Feb 12 17:31:19 2021 +0100 proc.c: make bind_call use existing callable method entry when possible The most common use case for `bind_call` is to protect from core methods being redefined, for instance a typical use: ```ruby UNBOUND_METHOD_MODULE_NAME = Module.instance_method(:name) def real_mod_name(mod) UNBOUND_METHOD_MODULE_NAME.bind_call(mod) end ``` But it's extremely common that the method wasn't actually redefined. In such case we can avoid creating a new callable method entry, and simply delegate to the receiver. This result in a 1.5-2X speed-up for the fast path, and little to no impact on the slowpath: ``` compare-ruby: ruby 3.1.0dev (2021-02-05T06:33:00Z master b2674c1fd7) [x86_64-darwin19] built-ruby: ruby 3.1.0dev (2021-02-15T10:35:17Z bind-call-fastpath d687e06615) [x86_64-darwin19] | |compare-ruby|built-ruby| |:---------|-----------:|---------:| |fastpath | 11.325M| 16.393M| | | -| 1.45x| |slowpath | 10.488M| 10.242M| | | 1.02x| -| ``` A benchmark/method_bind_call.yml M proc.c commit d9fea496afed5a35d2f79ea3cac35176966dd471 Author: Jeremy Evans Date: Wed Mar 10 12:09:45 2021 -0800 Remove cvar overtaken classes at end of test methods Fixes issues when the same tests are executed more than once, which some CI machines do. M test/ruby/test_variable.rb commit cbc7c1c06145b02b3d887a6fb2c3b6d9e4bb22dd Author: eileencodes Date: Thu Feb 25 12:42:10 2021 -0500 Add cvar overtaken tests While working on another project we noticed that there were no tests for the cvar overtaken exception when using classes. This change adds a test for cvar overtaken with classes and moves the cvar overtaken test for modules into the new file. Co-authored-by: Aaron Patterson M test/ruby/test_variable.rb commit 23a48d8fe683df289736e2d90c86006eb919b40d Author: eileencodes Date: Wed Mar 10 10:24:28 2021 -0500 Refactor `rb_class_ivar_set` In every caller of `rb_class_ivar_set` it checks for the `RCLASS_IV_TBL` and then creates it if it doesn't exist. Instead of repeating this in every caller, this can be done once in `rb_class_ivar_set`. M class.c M variable.c commit 9cdb5a51532c99230c2303912a13b9f752f1e775 Author: git Date: Thu Mar 11 02:38:40 2021 +0900 * 2021-03-11 [ci skip] M version.h commit 9d0ae387c86f3fc85cf00a9a4cf8c6e18b4181bf Author: John Hawthorn Date: Tue Mar 9 16:33:28 2021 -0800 Remove DEFINED_IVAR2 from enum This version of defined? doesn't seem to be possible to emit anymore. M iseq.h M tool/ruby_vm/views/_leaf_helpers.erb M vm_insnhelper.c commit 4c80b9d063fe3cf3bc80b2631f4ffc3b5346e12f Author: Nobuyoshi Nakada Date: Wed Mar 10 22:13:06 2021 +0900 Fix `coroutine_type` variable name M configure.ac commit b37f60fbd4b18f23e0443ae41b2cd7b991f0e11c Author: Kazuhiro NISHIYAMA Date: Wed Mar 10 19:37:28 2021 +0900 Update bundled_gems M gems/bundled_gems commit 67b79997554177fc2ddf82cd4fda0b4eb7954aec Author: git Date: Wed Mar 10 08:59:44 2021 +0900 * 2021-03-10 [ci skip] M version.h commit f0b3700ddc678795129176f2a1ebcb4bd3235270 Author: Nobuyoshi Nakada Date: Tue Mar 9 22:07:31 2021 +0900 Given argument does not need to cache M configure.ac commit 5f821ee9777b1c13364892a65e9af97545d14bb6 Author: Nobuyoshi Nakada Date: Tue Mar 9 20:36:15 2021 +0900 Recheck ucontext functions to make reconfig stable M configure.ac commit 2a83650b0fd25719fb6c03bfec7bd895734d3ceb Author: Nobuyoshi Nakada Date: Fri Feb 19 11:40:37 2021 +0900 Destroy VM-wise locks before freeing [Bug #15852] M thread.c M vm.c commit 7110795f37d2b91bb41458c351b5a206424d6ec4 Author: git Date: Tue Mar 9 13:19:21 2021 +0900 * 2021-03-09 [ci skip] M version.h commit 0c5f8c62766afe4605172800063e63fe36996658 Author: wanabe Date: Sun Mar 7 21:22:47 2021 +0900 [ruby/zlib] Resume zstream if available [Bug #10961] M ext/zlib/zlib.c commit e85bffc32473968b2e3736ad712f5e0d6e9aebc9 Author: Nobuyoshi Nakada Date: Tue Feb 23 22:48:11 2021 +0900 Increment global variables atomically M win32/win32.c commit b7d4dcf3a6a741ba85119b45a786a55e70bb910e Author: Nobuyoshi Nakada Date: Tue Feb 23 21:30:54 2021 +0900 Make vm_exit_handler installation MT-safe M win32/win32.c commit 9299703b390a30246819a60516bdd14e37c597fe Author: Nobuyoshi Nakada Date: Tue Feb 23 20:51:02 2021 +0900 Make uenvarea thread exclusive M win32/win32.c commit 8c943e3be880eef40023e52daf43d8e0bc8ab59c Author: Nobuyoshi Nakada Date: Tue Feb 23 21:26:36 2021 +0900 Make the flag in thread_exclusive unique M win32/win32.c commit 1a00402987558db93f2741f3b500ceadd7b17dcd Author: Nobuyoshi Nakada Date: Tue Feb 23 16:22:43 2021 +0900 Enclose crtitical sections in `thread_exclusive` block M win32/win32.c commit d10b535806227d24a3f8f5c7f425be3a39c2ac74 Author: Yusuke Endoh Date: Mon Mar 8 17:04:27 2021 +0900 test/ruby/test_string.rb: make GitHub syntax-highlight correctly It looks like GitHub syntax-highlighting does not support an empty heredoc. This change adds a newline to make GitHub can handle the syntax appropriately. https://bugs.ruby-lang.org/issues/17662 M test/ruby/test_string.rb commit 7de349bb4996b0b8261f3af6734dd268160de96d Author: Aditya Prakash Date: Sat Mar 6 08:41:50 2021 +0530 [rubygems/rubygems] Remote test to check require This test was triggering require of `rubygems/core_ext/tcpsocket_init` which overrides TCPSocket.initialize globally. Requires don't get reset between test runs and it was making other test unreliable. Fixes timeout of test on ruby master https://github.com/rubygems/rubygems/commit/fdfe5c9691 M test/rubygems/test_gem_remote_fetcher.rb commit 53468cc11147b0d285fc376fc546b677dad600ca Author: David Rodríguez Date: Mon Feb 1 16:17:16 2021 +0100 Sync latest development version of bundler & rubygems M lib/bundler.rb M lib/bundler/cli.rb M lib/bundler/cli/cache.rb M lib/bundler/cli/gem.rb M lib/bundler/compact_index_client/updater.rb M lib/bundler/definition.rb M lib/bundler/dep_proxy.rb M lib/bundler/dsl.rb M lib/bundler/feature_flag.rb M lib/bundler/fetcher.rb M lib/bundler/gem_helper.rb M lib/bundler/gem_version_promoter.rb M lib/bundler/index.rb M lib/bundler/inline.rb M lib/bundler/installer.rb M lib/bundler/installer/standalone.rb M lib/bundler/lazy_specification.rb M lib/bundler/lockfile_parser.rb M lib/bundler/man/bundle-add.1 M lib/bundler/man/bundle-binstubs.1 M lib/bundler/man/bundle-cache.1 M lib/bundler/man/bundle-check.1 M lib/bundler/man/bundle-clean.1 M lib/bundler/man/bundle-config.1 M lib/bundler/man/bundle-config.1.ronn M lib/bundler/man/bundle-doctor.1 M lib/bundler/man/bundle-exec.1 M lib/bundler/man/bundle-gem.1 M lib/bundler/man/bundle-info.1 M lib/bundler/man/bundle-init.1 M lib/bundler/man/bundle-inject.1 M lib/bundler/man/bundle-install.1 M lib/bundler/man/bundle-list.1 M lib/bundler/man/bundle-lock.1 M lib/bundler/man/bundle-open.1 M lib/bundler/man/bundle-outdated.1 M lib/bundler/man/bundle-platform.1 M lib/bundler/man/bundle-pristine.1 M lib/bundler/man/bundle-remove.1 M lib/bundler/man/bundle-show.1 M lib/bundler/man/bundle-update.1 M lib/bundler/man/bundle-viz.1 M lib/bundler/man/bundle.1 M lib/bundler/man/gemfile.5 M lib/bundler/plugin.rb M lib/bundler/plugin/installer.rb M lib/bundler/plugin/source_list.rb M lib/bundler/resolver.rb M lib/bundler/resolver/spec_group.rb M lib/bundler/rubygems_ext.rb M lib/bundler/rubygems_gem_installer.rb M lib/bundler/settings.rb M lib/bundler/shared_helpers.rb M lib/bundler/source/git.rb M lib/bundler/source/git/git_proxy.rb M lib/bundler/source/path/installer.rb M lib/bundler/source/rubygems.rb M lib/bundler/source_list.rb M lib/bundler/spec_set.rb M lib/bundler/stub_specification.rb A lib/bundler/templates/newgem/CHANGELOG.md.tt M lib/bundler/templates/newgem/Gemfile.tt M lib/bundler/templates/newgem/README.md.tt M lib/bundler/templates/newgem/newgem.gemspec.tt M lib/bundler/templates/newgem/rubocop.yml.tt M lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb M lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb M lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb M lib/bundler/vendor/molinillo/lib/molinillo/errors.rb M lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb M lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb M lib/bundler/vendor/thor/lib/thor.rb M lib/bundler/vendor/thor/lib/thor/actions.rb M lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb M lib/bundler/vendor/thor/lib/thor/error.rb M lib/bundler/vendor/thor/lib/thor/parser/arguments.rb M lib/bundler/vendor/thor/lib/thor/parser/options.rb M lib/bundler/vendor/thor/lib/thor/shell/basic.rb M lib/bundler/vendor/thor/lib/thor/shell/color.rb M lib/bundler/vendor/thor/lib/thor/version.rb M lib/rubygems.rb M lib/rubygems/command.rb M lib/rubygems/config_file.rb A lib/rubygems/core_ext/tcpsocket_init.rb M lib/rubygems/dependency.rb M lib/rubygems/ext/builder.rb M lib/rubygems/installer_uninstaller_utils.rb M lib/rubygems/platform.rb M lib/rubygems/remote_fetcher.rb M lib/rubygems/requirement.rb M lib/rubygems/resolver/index_specification.rb M lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb M lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb M lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb M lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb M lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb M lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb M lib/rubygems/specification.rb M lib/rubygems/test_case.rb M spec/bundler/bundler/cli_spec.rb M spec/bundler/bundler/compact_index_client/updater_spec.rb M spec/bundler/bundler/dep_proxy_spec.rb M spec/bundler/bundler/dsl_spec.rb M spec/bundler/bundler/gem_helper_spec.rb M spec/bundler/bundler/gem_version_promoter_spec.rb M spec/bundler/bundler/plugin_spec.rb M spec/bundler/bundler/source/git/git_proxy_spec.rb M spec/bundler/bundler/source/git_spec.rb M spec/bundler/bundler/stub_specification_spec.rb M spec/bundler/cache/git_spec.rb M spec/bundler/commands/cache_spec.rb M spec/bundler/commands/exec_spec.rb M spec/bundler/commands/lock_spec.rb M spec/bundler/commands/newgem_spec.rb M spec/bundler/commands/post_bundle_message_spec.rb M spec/bundler/commands/update_spec.rb M spec/bundler/install/bundler_spec.rb M spec/bundler/install/deploy_spec.rb M spec/bundler/install/gemfile/gemspec_spec.rb M spec/bundler/install/gemfile/git_spec.rb M spec/bundler/install/gemfile/path_spec.rb M spec/bundler/install/gemfile/platform_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M spec/bundler/install/gemfile/specific_platform_spec.rb M spec/bundler/install/gems/resolving_spec.rb M spec/bundler/install/gems/standalone_spec.rb M spec/bundler/install/gemspecs_spec.rb M spec/bundler/install/git_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/other/major_deprecation_spec.rb M spec/bundler/quality_spec.rb M spec/bundler/realworld/double_check_spec.rb M spec/bundler/realworld/edgecases_spec.rb M spec/bundler/realworld/parallel_spec.rb A spec/bundler/realworld/slow_perf_spec.rb M spec/bundler/resolver/basic_spec.rb M spec/bundler/resolver/platform_spec.rb M spec/bundler/runtime/inline_spec.rb M spec/bundler/runtime/platform_spec.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/spec_helper.rb M spec/bundler/support/builders.rb M spec/bundler/support/filters.rb M spec/bundler/support/helpers.rb M spec/bundler/support/indexes.rb M spec/bundler/support/matchers.rb M spec/bundler/support/rubygems_version_manager.rb D spec/bundler/support/sometimes.rb A test/rubygems/data/null-required-ruby-version.gemspec.rz M test/rubygems/test_gem.rb M test/rubygems/test_gem_commands_outdated_command.rb M test/rubygems/test_gem_config_file.rb M test/rubygems/test_gem_dependency_installer.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_installer.rb M test/rubygems/test_gem_platform.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_requirement.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_stream_ui.rb M test/rubygems/test_gem_util.rb commit 2ab6b7a7516e1b2c48a66ce513afabb62d101461 Author: David Rodríguez Date: Tue Feb 2 13:20:36 2021 +0100 Remove no longer needed globs M lib/bundler/bundler.gemspec commit 602d09a1817bdc75c20d8299b75affadd2f9f180 Author: Nobuyoshi Nakada Date: Mon Mar 8 12:42:48 2021 +0900 Suppress useless default branch name hint [ci skip] M .github/workflows/check_dependencies.yml M .github/workflows/macos.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml commit b1f375ccc544188284ce8ad3e63ab0dc12a50766 Author: Nobuyoshi Nakada Date: Mon Mar 8 11:54:23 2021 +0900 Removed HEAD^2 checkout to suppress a CodeQL annotation [ci skip] M .github/workflows/codeql-analysis.yml commit 32a13591e0bb6e96b05452e214f14eda21ee3aa9 Author: Nobuyoshi Nakada Date: Sun Mar 7 22:39:38 2021 +0900 [ruby/stringio] Check if closed in loop [Bug #17675] https://bugs.ruby-lang.org/issues/17675 https://github.com/ruby/stringio/commit/1ed61d0cbc M ext/stringio/stringio.c M test/stringio/test_stringio.rb commit 99f54c08953a96ebaa822f4fdce6d9de47f99814 Author: Hiroshi SHIBATA Date: Tue Feb 16 20:50:25 2021 +0900 [ruby/stringio] Use Gemfile instead of Gem::Specification#add_development_dependency. https://github.com/ruby/stringio/commit/157fe9f04d M ext/stringio/stringio.gemspec commit d0a05fd4b40ff0f88728c4897e67b68185128f54 Author: Nobuyoshi Nakada Date: Mon Mar 8 10:08:18 2021 +0900 Fixed FD leaks M test/socket/test_tcp.rb commit 8aa70b9be2489b840ae6d83e9e8067919cdc7e22 Author: git Date: Mon Mar 8 10:03:24 2021 +0900 * 2021-03-08 [ci skip] M version.h commit 0d29c3179c86a73206939ba637e4fdf2dd6eff9a Author: Nobuyoshi Nakada Date: Sun Mar 7 20:05:21 2021 +0900 [ruby/stringio] Include all modules included into Test::Unit::TestCase Some methods are separated into modules in test-unit now. https://github.com/ruby/stringio/commit/d289848994 M tool/lib/test/unit/core_assertions.rb commit 21e255913c5d00426bcc4d69e3d444b45635a534 Author: Nobuyoshi Nakada Date: Sun Mar 7 13:45:38 2021 +0900 [ruby/stringio] Pass IOs as separate list for ruby 2.x https://github.com/ruby/stringio/commit/74e39858eb M tool/lib/envutil.rb M tool/lib/test/unit/core_assertions.rb commit c3c18007086df2b126f25483d82d72adafb2da7e Author: Hiroshi SHIBATA Date: Wed Feb 17 12:20:11 2021 +0900 Prefer to use omit M test/stringio/test_stringio.rb commit 1d1b9e02d26f5f9834b7967e46e853aaf1ffc815 Author: Nobuyoshi Nakada Date: Sun Mar 7 10:21:03 2021 +0900 Removed a typo in a comment [ci skip] M include/ruby/atomic.h commit f6d5de8f33fe715d939e3e77b8ef73d88bcd6c9f Author: Nobuyoshi Nakada Date: Fri Mar 5 17:40:39 2021 +0900 [ruby/io-wait] Declare as Ractor-safe Fixes https://bugs.ruby-lang.org/issues/17659 https://github.com/ruby/io-wait/commit/ba338b4764 M ext/io/wait/wait.c A test/io/wait/test_ractor.rb commit ea81fff56443d49099fb746bc06c4f239fe5e647 Author: Nobuyoshi Nakada Date: Fri Mar 5 17:38:19 2021 +0900 [ruby/io-wait] bump up to 0.1.1 https://github.com/ruby/io-wait/commit/88db082d60 M ext/io/wait/io-wait.gemspec commit ef9bde6516a46359ad68fef96bd180f12262cceb Author: Nobuyoshi Nakada Date: Fri Mar 5 16:39:31 2021 +0900 [ruby/io-wait] Refined uncommon device type tests https://github.com/ruby/io-wait/commit/0c73ebcf5d M test/io/wait/test_io_wait_uncommon.rb commit 05d118feea447d195e5662a03c2a41b50aa6b8d9 Author: Nobuyoshi Nakada Date: Fri Mar 5 14:45:56 2021 +0900 [ruby/io-wait] Fixed required_ruby_version Before 3.0.0, io-wait has not been gemified. https://github.com/ruby/io-wait/commit/6fed3da323 M ext/io/wait/io-wait.gemspec commit 3ba1580d800b4751e1944242a82d4db96864f1fe Author: Nobuyoshi Nakada Date: Fri Oct 23 19:41:20 2020 +0900 [ruby/io-wait] Revise IO#wait arguments https://github.com/ruby/io-wait/commit/0599f6d4d6 https://github.com/ruby/io-wait/commit/4e982aea1b https://github.com/ruby/io-wait/commit/5b45685eb3 M ext/io/wait/wait.c commit 68d028578a5975fe6c44d29c502615ff9af72927 Author: Jeremy Evans Date: Fri Mar 5 12:47:00 2021 -0800 Undef Enumerator::Chain#{feed,next,next_values,peek,peek_values} Previously these methods were defined but raised TypeError, which seems worse. M enumerator.c M test/ruby/test_enumerator.rb commit e1d16a9e560a615e122e457325bcfb7c47228ed6 Author: Jeremy Evans Date: Fri Mar 5 12:25:51 2021 -0800 Make Enumerator#{+,chain} create lazy chain if any included enumerator is lazy Implements [Feature #17347] M enumerator.c M test/ruby/test_enumerator.rb commit bf40fe9fed19a5e22081b133661c0629988f1618 Author: Jeremy Evans Date: Tue Nov 24 14:05:22 2020 -0800 Fix calling enumerator methods such as with_index on Enumerator::Chain This previously raised a TypeError. Wrap the Enumerator::Chain in an Enumerator to work around the problem. Fixes [Bug #17216] M enumerator.c M test/ruby/test_enumerator.rb commit 13dc00534786057c6b934b7269dac49352959099 Author: git Date: Sun Mar 7 00:58:48 2021 +0900 * 2021-03-07 [ci skip] M version.h commit b3c53a8a885be8f5cc2b712798b0d2741c488ce4 Author: Nobuyoshi Nakada Date: Sun Mar 7 00:58:28 2021 +0900 Make Ractor stdio belonging to the Ractor [Bug #17672] Defer making ractor stdio until ractor started. Before ractor started, created objects belong to the caller ractor instead of the created ractor. M bootstraptest/test_ractor.rb M ractor.c M thread.c commit 8ccc12118ea5257f846476088eb9c64944560892 Author: Yusuke Endoh Date: Sat Mar 6 00:45:56 2021 +0900 Keep libpath length non-negative [Bug #16784] When runtime_libruby_path does not include '/', it attempts to call rb_str_resize with negative length. This change makes sure that the length non-negative. Co-Authored-By: xtkoba (Tee KOBAYASHI) M ruby.c commit 261b746dcaf50ba34748ccff85a94c68879a301c Author: git Date: Sat Mar 6 00:18:47 2021 +0900 * 2021-03-06 [ci skip] M version.h commit 14e1739ff3ec81c9ea87a8aba03393f0bf0433a7 Author: Jeremy Evans Date: Tue Mar 2 12:17:23 2021 -0800 [ruby/irb] Make save-history extension safe for concurrent use This makes the save-history extension check for modifications to the history file before saving it. If the history file was modified after the history was loaded and before it was saved, append only the new history lines to the history file. This can result in more lines in the history file than SAVE_HISTORY allows. However, that will be fixed the next time irb is run and the history is saved. Fixes [Bug #13654] https://github.com/ruby/irb/commit/041ef53845 M lib/irb/ext/save-history.rb M test/irb/test_history.rb commit 182cde8dfbbc6b9044d9b76c0bfdcf031bcda778 Author: aycabta Date: Thu Mar 4 22:44:53 2021 +0900 [ruby/irb] Add a test for not continuing when endless range at eol https://github.com/ruby/irb/commit/1020ac9c65 M test/irb/test_ruby_lex.rb commit 2cc5827fdca97dbd1225a49a3114d28aa1cb2ef4 Author: Jeremy Evans Date: Wed Mar 3 15:27:04 2021 -0800 [ruby/irb] Do not continue line if last expression is an endless range Fixes [Bug #14824] https://github.com/ruby/irb/commit/63414f8465 M lib/irb/ruby-lex.rb commit 45b3a5f7de90773868c948f3a542f4aeeb8403fc Author: 卜部昌平 Date: Fri Mar 5 17:37:16 2021 +0900 rb_sym_interned_p: doesn't exist Deleted decades ago in commit 6e0fed271c1d2e6f2b13b99d89d43e7d00e81472 Note also that we eventually ended up reinventing this exact same functionality. It is called rb_check_id() now. M include/ruby/internal/intern/parse.h commit 7715d428f123889411e6fa0dadc2197723edd12e Author: 卜部昌平 Date: Fri Mar 5 16:32:33 2021 +0900 rb_enc_symname_type: indent M symbol.c commit 0a43f0de27b8724a0932be2679aa39467c68f750 Author: 卜部昌平 Date: Fri Mar 5 16:26:34 2021 +0900 rb_enc_symname_type: refactor reduce goto A bit readable to me. M symbol.c commit 0ead818d81c975275238878c81f300dd404e0722 Author: David Carlier Date: Thu Mar 4 22:12:58 2021 +0000 Generating note.GNU-stack section for FreeBSD on x86. Not enabling for ELF in general as not all platform support it (e.g. NetBSD, implictly stack never executable). M coroutine/amd64/Context.S M coroutine/x86/Context.S commit 99c339786024d406a77fcf99da00d70ca6aa6534 Author: git Date: Fri Mar 5 10:26:26 2021 +0900 * 2021-03-05 [ci skip] M version.h commit c230ccdba6cda107f3a5bcd540afa3e75677a676 Author: David Carlier Date: Thu Mar 4 21:43:23 2021 +0000 coroutine arm64 generating note.GNU-stack section for linux. M coroutine/arm64/Context.S commit 446d000e1148d4dd1dc5e0d3a745dbc205457632 Author: Nobuyoshi Nakada Date: Thu Mar 4 11:40:02 2021 +0900 Strip trailing spaces [ci skip] M numeric.rb commit dea08758be2ee02b5e2d85ee49aca85a9ea85201 Author: Nobuyoshi Nakada Date: Thu Mar 4 11:39:45 2021 +0900 Check for trailing spaces M .github/workflows/check_misc.yml commit 1876782155037d489b0010823f5573a3464bceef Author: git Date: Thu Mar 4 11:31:57 2021 +0900 * 2021-03-04 [ci skip] M version.h commit bf089d786a7ee1fa8c972e10bb31b23ba30a1438 Author: Nobuyoshi Nakada Date: Thu Mar 4 03:21:44 2021 +0900 Fixed syntax error with gcc on macOS Security/Authorization.h defines AuthorizationExternalForm by using clang extension which allows variably modified types in a file scope. As we just need high-level accessors only, include Security/SecRandom.h instead. M random.c commit 68f515cf5ed50c74d5f8e19373ea7f6435b62c4e Author: git Date: Wed Mar 3 03:05:10 2021 +0900 * 2021-03-03 [ci skip] M version.h commit 0bd1bc559f7a904e7fb64d41b98a9c27ddec7298 Author: Peter Zhu Date: Mon Mar 1 10:05:55 2021 -0500 Don't use mmap on platforms that have large OS page sizes M configure.ac M gc.c commit 6d834371c028a92f8bb7c2520cedf3d7f2469a8a Author: Peter Zhu Date: Mon Mar 1 09:40:43 2021 -0500 Fix typo M gc.c commit 33dc0a070a515811e71fccbdc8cf0cd5a5dd784c Author: 卜部昌平 Date: Tue Mar 2 15:22:22 2021 +0900 RBASIC_SET_CLASS_RAW: follow strict aliasing rule Instead of rather euphemistic struct cast, just reomve the const qualifier and assign directly. According to ISO/IEC 9899:2018 section 6.5 paragraph 7, `VALUE` and `const VALUE` are allowed to alias (but two distinct structs are not, even when their structures are the same). [Bug #17540] M internal/object.h commit f7c342f8759c9914e1216da29bd8d7b1b8c8c91b Author: git Date: Tue Mar 2 09:23:55 2021 +0900 * 2021-03-02 [ci skip] M version.h commit 61f417ac7dbcb5df096edb95a743fff45a5313c8 Author: Marc-Andre Lafortune Date: Mon Mar 1 19:22:23 2021 -0500 [lib/benchmark] Use $stdout instead of STDOUT [Bug #17600] M lib/benchmark.rb commit 80e2c45f5560a2e44fb3949c5c3f5a11508f6043 Author: Benoit Daloze Date: Sun Feb 28 12:24:42 2021 +0100 Skip spec which does not work on mingw * https://github.com/ruby/ruby/runs/1994688198 ruby 3.1.0dev (2021-02-27T16:42:17Z master 8305a48413) [x64-mingw32] C-API Thread function rb_thread_call_without_gvl runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO Example took longer than the configured timeout of 60.0s M spec/ruby/optional/capi/thread_spec.rb commit 5c9079759d6ced219d1c0335f780d395449b3cba Author: git Date: Sun Feb 28 01:42:49 2021 +0900 * 2021-02-28 [ci skip] M version.h commit 8305a484133ef67c0c95122008026d9262993a37 Author: Benoit Daloze Date: Sat Feb 27 17:42:00 2021 +0100 Add --timeout to try to find hanging spec M .github/workflows/mingw.yml commit 36dde35e029c7a6607e6c674062ce6fc7a51c0bd Author: Benoit Daloze Date: Sat Feb 27 13:00:26 2021 +0100 Update to ruby/spec@37e52e5 M spec/ruby/core/array/drop_spec.rb M spec/ruby/core/array/drop_while_spec.rb M spec/ruby/core/array/slice_spec.rb M spec/ruby/core/array/take_spec.rb M spec/ruby/core/array/take_while_spec.rb M spec/ruby/core/basicobject/singleton_method_added_spec.rb M spec/ruby/core/dir/children_spec.rb M spec/ruby/core/dir/each_child_spec.rb M spec/ruby/core/dir/entries_spec.rb M spec/ruby/core/dir/foreach_spec.rb M spec/ruby/core/enumerator/lazy/chunk_while_spec.rb M spec/ruby/core/enumerator/lazy/slice_after_spec.rb M spec/ruby/core/enumerator/lazy/slice_before_spec.rb M spec/ruby/core/enumerator/lazy/slice_when_spec.rb A spec/ruby/core/env/except_spec.rb M spec/ruby/core/io/close_spec.rb M spec/ruby/core/io/fixtures/classes.rb M spec/ruby/core/kernel/fixtures/classes.rb M spec/ruby/core/kernel/public_send_spec.rb M spec/ruby/core/kernel/shared/method.rb M spec/ruby/core/kernel/shared/require.rb A spec/ruby/core/main/ruby2_keywords_spec.rb M spec/ruby/core/module/attr_accessor_spec.rb M spec/ruby/core/module/attr_writer_spec.rb M spec/ruby/core/module/const_defined_spec.rb M spec/ruby/core/module/const_get_spec.rb M spec/ruby/core/module/refine_spec.rb M spec/ruby/core/proc/shared/call.rb M spec/ruby/core/regexp/case_compare_spec.rb M spec/ruby/core/signal/trap_spec.rb M spec/ruby/core/string/scrub_spec.rb M spec/ruby/core/time/shared/now.rb M spec/ruby/fixtures/code/concurrent.rb M spec/ruby/language/regexp/back-references_spec.rb A spec/ruby/language/regexp/empty_checks_spec.rb M spec/ruby/language/regexp/repetition_spec.rb M spec/ruby/library/matrix/exponent_spec.rb M spec/ruby/library/set/initialize_spec.rb M spec/ruby/optional/capi/exception_spec.rb M spec/ruby/optional/capi/ext/exception_spec.c M spec/ruby/optional/capi/ext/io_spec.c M spec/ruby/optional/capi/ext/kernel_spec.c M spec/ruby/optional/capi/ext/object_spec.c M spec/ruby/optional/capi/io_spec.rb M spec/ruby/optional/capi/kernel_spec.rb M spec/ruby/optional/capi/module_spec.rb M spec/ruby/optional/capi/object_spec.rb M spec/ruby/optional/capi/thread_spec.rb commit dbea0be13dc1f44833eca43a73f3ab898fa27c15 Author: Jeremy Evans Date: Fri Feb 26 13:27:25 2021 -0800 [ruby/irb] Update help message for next context-mode of 4 While here, fixing tab/space issues in help message, and sync rdoc for IRB class to match the help message. https://github.com/ruby/irb/commit/ef8e3901cc M lib/irb.rb M lib/irb/lc/help-message commit d45466dc5b9b45d5b78d161fc86265e6e19d6e1e Author: Aaron Patterson Date: Fri Feb 26 10:06:30 2021 -0800 Oops! Add another test and fix to_proc implementation M ext/fiddle/lib/fiddle/function.rb M test/fiddle/test_function.rb commit 3d8e373a588bca976f7f1a8172b5b1b27d78f60f Author: git Date: Sat Feb 27 02:59:14 2021 +0900 * 2021-02-27 [ci skip] M version.h commit 0590e9b677e8c0b7a2364f660f06d9f5bd8fe87d Author: Aaron Patterson Date: Fri Feb 26 09:57:13 2021 -0800 Fiddle::Function responds to to_proc This lets us cast a Fiddle::Function to a block, allowing is to write things like: ```ruby f = Fiddle::Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP) define_method :strcpy, &f ``` M ext/fiddle/lib/fiddle/function.rb M test/fiddle/test_function.rb commit cfc23903df6bde6d79292d8a0291bc82e920b54e Author: Aaron Patterson Date: Thu Feb 25 16:31:24 2021 -0800 Revert "Add tests for bug 17652" This reverts commit a9920e7782f225b97e173a88640fe9e116b9964f. M test/ruby/test_gc_compact.rb commit f0743dd2a40da552bf045b212d927b5fcea00160 Author: aycabta Date: Thu Feb 25 22:05:10 2021 +0900 [ruby/reline] Version 0.2.4 https://github.com/ruby/reline/commit/462f971bd3 M lib/reline/version.rb commit 04154b65e8b72e448849a9e6187661dd5dee48d9 Author: git Date: Fri Feb 26 04:02:09 2021 +0900 * 2021-02-26 [ci skip] M version.h commit a9920e7782f225b97e173a88640fe9e116b9964f Author: Peter Zhu Date: Tue Feb 23 16:36:04 2021 -0500 Add tests for bug 17652 M test/ruby/test_gc_compact.rb commit 1c0e79e87b202ac707833fb1bd5e9398c8d0b4fb Author: Peter Zhu Date: Tue Feb 23 16:29:53 2021 -0500 Disable auto compaction on platforms that do not support it M gc.c commit 1e13548953659bd12c28625d45998322449f3be8 Author: Peter Zhu Date: Tue Feb 23 16:28:56 2021 -0500 Use mmap for allocating heap pages M configure.ac M gc.c commit fda162c7764219c0b03efd6ba3ef393a92013f66 Author: aycabta Date: Thu Feb 25 22:04:58 2021 +0900 [ruby/irb] Version 1.3.4 https://github.com/ruby/irb/commit/ab9852ccc5 M lib/irb/version.rb commit 294c244ac805c0b9c327cd92bc87fe2c7c4eb95f Author: 卜部昌平 Date: Thu Feb 25 16:16:05 2021 +0900 rb_random_int: ended before it begins It existed since f3d022543ef2afde3d53e7f6b3028eafe39d0ef4 until 96760236079b15674a6322a2ca41b1528b51afbd. No official releases included the actual function. The declaration shall be deleted. M include/ruby/internal/intern/random.h commit 08d5db4064a76649effef1bf2ab79f04cd848a6a Author: Aaron Patterson Date: Wed Feb 24 13:42:27 2021 -0800 Reverting PR #4221 It seems this breaks tests on Solaris, so I'm reverting it until we figure out the right fix. http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20210224T210007Z.fail.html.gz M configure.ac M gc.c M test/ruby/test_gc_compact.rb commit f3c8e477e1e1d38a0178d05e060ceeed2ef5a011 Author: git Date: Thu Feb 25 05:25:48 2021 +0900 * 2021-02-25 [ci skip] M version.h commit 59fb5d4fa3e21dd00f8f45999bb7b4be9418429c Author: Peter Zhu Date: Tue Feb 23 16:36:04 2021 -0500 Add tests for bug 17652 M test/ruby/test_gc_compact.rb commit a80366c922c5ad3ce27870d92ffbec5ce292ec31 Author: Peter Zhu Date: Tue Feb 23 16:29:53 2021 -0500 Disable auto compaction on platforms that do not support it M gc.c commit 785f5eb8f0f994c755ac5f1e1479f6e2ec6d0ef3 Author: Peter Zhu Date: Tue Feb 23 16:28:56 2021 -0500 Use mmap for allocating heap pages M configure.ac M gc.c commit 09f284c052854392fad1e63fd541a6c8704d7b90 Author: Kazuhiro NISHIYAMA Date: Wed Feb 24 20:01:44 2021 +0900 Update bundled_gems M gems/bundled_gems commit 9d8c66fd6a3b9ff1c18cdbef88d34379253fb66d Author: Nobuyoshi Nakada Date: Wed Feb 24 03:37:22 2021 +0900 rb_fiber_terminate never returns M cont.c commit 75fbea91ac76ad2f2a461443710119166a19b60d Author: git Date: Wed Feb 24 04:02:22 2021 +0900 * 2021-02-24 [ci skip] M version.h commit a12e950816d4db950d975e062f903a5e8c75f1b6 Author: Nobuyoshi Nakada Date: Wed Feb 24 03:12:19 2021 +0900 Revert "Enclose crtitical sections in `thread_exclusive` block" 19cc24b34b0490b7c2779eec521fe0089e05f183 and fixups. M debug.c M win32/win32.c commit 7563d542d6c2bba5f5820f45b9707583aa28b136 Author: Nobuyoshi Nakada Date: Tue Feb 23 23:11:44 2021 +0900 Use the system getenv in setup_debug_log As ruby_set_debug_option() is called before ruby_sysinit(), CRITICAL_SECTIONs are not initialized yet. M debug.c M win32/win32.c commit 819dd464dee2245299cb62323fe5c2b42940879e Author: Nobuyoshi Nakada Date: Tue Feb 23 21:23:46 2021 +0900 Fixed commit miss at 41eb4fbf86e7ae9c9ff993e07a19fa44eb74be9b M win32/win32.c commit 5a4742a0b4d57e95d6ed7e27c786a74e7cb55977 Author: Nobuyoshi Nakada Date: Tue Feb 23 20:51:02 2021 +0900 Make uenvarea thread exclusive M win32/win32.c commit 41eb4fbf86e7ae9c9ff993e07a19fa44eb74be9b Author: Nobuyoshi Nakada Date: Tue Feb 23 20:46:40 2021 +0900 Fixed commit miss at 19cc24b34b0490b7c2779eec521fe0089e05f183 M win32/win32.c commit da18d6f0154f020733747c359b08d216db05c26a Author: Nobuyoshi Nakada Date: Tue Feb 23 19:08:31 2021 +0900 Constified possible data M win32/win32.c commit 19cc24b34b0490b7c2779eec521fe0089e05f183 Author: Nobuyoshi Nakada Date: Tue Feb 23 16:22:43 2021 +0900 Enclose crtitical sections in `thread_exclusive` block M win32/win32.c commit b956efdc1e67e91fcf5d3ab0fd4bc651d003afe7 Author: Takashi Kokubun Date: Mon Feb 22 23:46:04 2021 -0800 Drop obsoleted ci skip checks https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/ M .github/workflows/baseruby.yml M .github/workflows/check_dependencies.yml M .github/workflows/compilers.yml M .github/workflows/macos.yml M .github/workflows/mingw.yml M .github/workflows/mjit.yml M .github/workflows/spec_guards.yml M .github/workflows/ubuntu.yml M .github/workflows/windows.yml commit 95251dc8a9dd76ab1117812f932e77c8230d5a13 Author: Takashi Kokubun Date: Mon Feb 22 23:38:44 2021 -0800 Drop check_branch CI job Now that GitHub Actions always skips any job if [ci skip] is given regardless of our CI config, we cannot merge such PRs like https://github.com/ruby/ruby/pull/4211 unless you're an admin. https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/ To avoid letting us spend time to ask contributors to remove [ci skip] before merging PRs, I removed the "check_branch" requirement from protected branches. Because the main purpose of this job was to prevent (non-admin) committers from directly pushing commits to the GitHub mirror, this job is now useless. D .github/workflows/check_branch.yml commit 0d76636117c99921ac7c43293ba7962d22e72fbd Author: Andrew Aladjev Date: Tue Feb 23 01:35:01 2021 +0300 added mutexes for socket and connection lists on win32 M test/socket/test_tcp.rb M win32/win32.c commit 09c74a170219818e8317806df170f72812db0ef8 Author: Lars Kanis Date: Mon Feb 22 16:35:47 2021 +0100 [DOC] Fix copy+paste mistake [ci skip] It was introduced in commit 089b7a84606925e885fe91050483a352735aa91e . M doc/extension.rdoc commit 7d4a3ac0c5a004a410c425d334975e09420f47cd Author: git Date: Tue Feb 23 07:58:05 2021 +0900 * 2021-02-23 [ci skip] M version.h commit 58e82206057f2a1644b69ac3631016009ae48590 Author: Alan Wu Date: Fri Feb 12 22:45:08 2021 -0500 Check for cyclic prepend before making origin It's important to only make the origin when the prepend goes through, as the precense of the origin informs whether to do an origin backfill. This plus 2d877327e fix [Bug #17590]. M class.c M test/ruby/test_module.rb commit 67d2619463061beafe86a773310962365380577f Author: Nobuyoshi Nakada Date: Sun Feb 21 13:12:03 2021 +0900 Expand final path name buffer for namespace prefix As final path name includes the namespace prefix, so expand room for it in path name buffer. M win32/win32.c commit 4e32a4ab81d510b1cb3cd45f7faafc917aa071cc Author: Nobuyoshi Nakada Date: Mon Feb 22 12:01:41 2021 +0900 Search subclasses from constants M win32/mkexports.rb commit a7dda449e843ab1c208ba4d1bdbe269271fe66d2 Author: cremno Date: Sun Feb 21 09:35:04 2021 +0100 [ruby/reline] fix Reline::Windows.getconsolemode buffer use double quotes to properly convert the \000 escape sequence. https://github.com/ruby/reline/commit/236dfe5683 M lib/reline/windows.rb commit 089b7a84606925e885fe91050483a352735aa91e Author: Lars Kanis Date: Mon Feb 22 04:18:16 2021 +0100 Improve extension docs, remove deprecated rb_cData [ci skip] rb_cData is deprecated and the characteristic alloc_func was already removed in ruby-3.0. So this updates the recommendation accordingly. It also adds fdbm_alloc() in order to show the allocation process and to gives TypedData_Make_Struct() more context. Moreover it describes fdbm_aref(), so that the relation to rb_define_method() is shown. And fdbm_aref() makes use of GetDBM() now, to show how this macro might be used. M doc/extension.rdoc commit 431f531b17cd78b563be11e3c6716c715a812568 Author: git Date: Mon Feb 22 06:33:32 2021 +0900 * 2021-02-22 [ci skip] M version.h commit 3ee4fa9491d0b2b5fb40deea8e93e797924de789 Author: nicholas a. evans Date: Sun Feb 21 16:33:11 2021 -0500 Send :fiber_switch event for almost every fiber_switch (#4207) With this patch, TracePoint receives a `:fiber_switch` event for _almost_ every fiber switch. Previously, it would not be sent when an exception was going to be raised. Now the event should only be blockable by an interrupt (including `Thread#raise`) or a fatal error. Additionally, interrupts will now be checked on the return fiber _before_ re-raising the terminating unhandled exception. And a fiber that terminates with an unhandled exception no longer creates a pending interrupt on its thread. The exception will be raised in the return fiber the same way as `Fiber#raise`: using `cont.value` with `cont.argc == -1` I moved `rb_exc_raise` from `fiber_store` to the end of `fiber_switch` after _all_ of the other cleanup code: `fiber_stack_release`, `th->blocking` increment, `RUBY_VM_CHECK_INTS`, and `EXEC_EVENT_HOOK`. It seems to me that skipping those other cleanup steps may have also resulted in other bugs. M cont.c M test/ruby/test_settracefunc.rb commit aeac4ddcc0de536c0ecdea29e01dd2505e32f6ae Author: aycabta Date: Thu Feb 18 03:41:47 2021 +0900 [ruby/reline] Use UTF-8 only for width calc, rest uses original encoding I confirmed that libvterm supports only which are UTF-8, US ASCII, UK, and DEC graphics by reading source code, so can't test this patch by yamatanoorogi gem through vterm gem for now. This fixes ruby/irb#190. https://github.com/ruby/reline/commit/44596c0cc7 M lib/reline/line_editor.rb commit 38d30a6942babb815bcd05b035fc58a7e13dd717 Author: Yoshinao Muramatu Date: Wed Feb 17 23:56:34 2021 +0900 [ruby/reline] check ENABLE_VIRTUAL_TERMINAL_PROCESSING flag and switch eof processing https://github.com/ruby/reline/commit/3535676689 M lib/reline/line_editor.rb M lib/reline/windows.rb commit 38cefac7ce277d8ea41c600e67a2046da3715ac3 Author: Yoshinao Muramatu Date: Wed Feb 17 23:28:47 2021 +0900 [ruby/reline] We still need support new and legacy behavior. Revert "Support for change in Windows-specific behavior at eol" This reverts commit cad4de6ee841b43f3f0e441626f9415c3eda0f82. https://github.com/ruby/reline/commit/646587fc2c M lib/reline/line_editor.rb commit 7aa3bc84039a1b5d9ddfc491ca32753346163dd6 Author: aycabta Date: Tue Feb 16 01:46:53 2021 +0900 [ruby/reline] Add a test for suppressing crash when dynamic prompt returns empty ref. https://github.com/ruby/reline/pull/262 https://github.com/ruby/reline/commit/b98bc3c329 M test/reline/yamatanooroti/multiline_repl M test/reline/yamatanooroti/test_rendering.rb commit a3055a35dd7b8b6520d5fe599d1c67490c556a3c Author: aycabta Date: Tue Feb 16 00:30:30 2021 +0900 [ruby/reline] Move script files for yamatanooroti tests https://github.com/ruby/reline/commit/03031b885d A test/reline/yamatanooroti/multiline_repl A test/reline/yamatanooroti/termination_checker.rb M test/reline/yamatanooroti/test_rendering.rb commit ac9e3b514bc98ded741006c94281fb8aee10c7ef Author: Eamonn Webster Date: Sun Feb 14 19:24:03 2021 +0000 [ruby/reline] Avoid tripping over nil prompt https://github.com/ruby/reline/commit/d4d9d3e3d4 M lib/reline/line_editor.rb commit dc9e33016c289f54407239b58e3e4669fdd442ad Author: aycabta Date: Mon Feb 15 00:27:51 2021 +0900 [ruby/reline] Return 1 when char width not found This fixes ruby/reline#261. https://github.com/ruby/reline/commit/3cf1213014 M lib/reline/unicode.rb M test/reline/test_key_actor_emacs.rb commit b88be1009435ff10c582c727f71995f9c78f2885 Author: git Date: Sun Feb 21 00:11:22 2021 +0900 * 2021-02-21 [ci skip] M version.h commit cc8e966e3c8b44dd946c4c50cc8d172e1d45e625 Author: Nobuyoshi Nakada Date: Sat Feb 20 23:33:22 2021 +0900 MSys is a variant of Cygwin M lib/mkmf.rb M win32/mkexports.rb commit 169c726f60b18fa283ac903809c3350318d3f06e Author: Nobuyoshi Nakada Date: Sat Feb 20 21:05:57 2021 +0900 [Win32] Fixed preprocessed file path Output preprocessed files under the corresponding directory to the source files. M win32/Makefile.sub commit cfd162d535c7a4f8b1f95255cc6be696a8b75557 Author: Jeremy Evans Date: Tue Feb 9 13:50:36 2021 -0800 Make String#{strip,lstrip}{,!} strip leading NUL bytes The documentation already specifies that they strip whitespace and defines whitespace to include null. This wraps the new behavior in the appropriate guards in the specs, but does not specify behavior for previous versions, because this is a bug that could be backported. Fixes [Bug #17467] M spec/ruby/core/string/lstrip_spec.rb M spec/ruby/core/string/strip_spec.rb M string.c M test/ruby/test_string.rb commit efd19badf43f4f1f24d5aec8a28e94a6e1e47b5b Author: S.H Date: Sat Feb 20 04:11:19 2021 +0900 Improve performance some Numeric methods [Feature #17632] (#4190) A benchmark/numeric_methods.yml M numeric.c M numeric.rb commit 837e77e0202e96060498794ff97a097e5440d148 Author: S.H Date: Sat Feb 20 04:10:21 2021 +0900 Fix link msdn.microsoft.com (#4202) M win32/file.c commit b51e5c2370e1579f1f225ea4cfc9e834b7575944 Author: Jeremy Evans Date: Fri Feb 19 08:25:40 2021 -0800 Remove mentions of Bignum in time.c Move section on internal details out of the class-level documentation, since users do not need to know that. Update it to use Integer(T_BIGNUM) instead of Bignum. Fixes [Misc #17580] M time.c commit 87437326214e4587a41946c8937e11418d983acd Author: Jeremy Evans Date: Mon Jan 25 14:56:03 2021 -0800 Fix backtrace to not skip frames with iseq without pc Previously, frames with iseq but no pc were skipped (even before the refactoring in 3b24b7914c16930bfadc89d6aff6326a51c54295). Because the entire backtrace was procesed before the refactoring, this was handled by using later frames instead. However, after the refactoring, we need to handle those frames or they get lost. Keep two iteration counters when iterating, one for the desired backtrace size (so we generate the desired number of frames), and one for the actual backtrace size (so we don't process off the end of the stack). When skipping over an iseq frame with no pc, decrement the counter for the desired backtrace, so it will continue to process the expected number of backtrace frames. Fixes [Bug #17581] M test/ruby/test_backtrace.rb M vm_backtrace.c commit 4849575932b36d5e4fb074fb207271dac5ff62d5 Author: git Date: Sat Feb 20 00:51:36 2021 +0900 * 2021-02-20 [ci skip] M version.h commit b94b7965c420661ed621c146a4efaf43bc3cf50b Author: YO4 (Yoshinao Muramatsu) Date: Sat Feb 20 00:48:46 2021 +0900 Fixed fallback ENABLE_VIRTUAL_TERMINAL_PROCESSING value [Bug #17639] M ruby.c M win32/win32.c commit a319c048187bb32677730a6c6e5a1a0fce7fad36 Author: Shugo Maeda Date: Fri Feb 19 17:27:53 2021 +0900 Fix typo [ci skip] M test/ripper/test_lexer.rb commit 9c769575bfa2a5c9e7078eb2840bba640dc46077 Author: Koichi Sasada Date: Fri Feb 19 14:57:59 2021 +0900 invalidate negative cache any time. negative cache on a class which does not have subclasses was not invalidated, but it should be invalidated because other classes can cache this negative cache. [Bug #17553] M test/ruby/test_method_cache.rb M vm_method.c commit d260cbe2950392c41e263c82ab753e5faa12468c Author: Koichi Sasada Date: Fri Feb 19 14:56:58 2021 +0900 show more information about imemo_ment rb_obj_info(obj) (rp(obj)) doesn't show enough information for non-iseq methods, so this patch shows more. M gc.c commit 4c4c0043b81f9e03f6cca50b523fb6db9f6b9c0e Author: git Date: Fri Feb 19 16:41:44 2021 +0900 * 2021-02-19 [ci skip] M version.h commit 5de38c41ae7bf17ae599fdfa9f8face87f16d8bb Author: Shugo Maeda Date: Fri Feb 19 16:38:34 2021 +0900 ripper: fix a bug of Ripper::Lexer with syntax error and heredoc [Bug #17644] M ext/ripper/lib/ripper/lexer.rb M test/ripper/test_lexer.rb commit 7b9476fbfab738d1eb01b4b4c4af9a1680513019 Author: Koichi Sasada Date: Thu Feb 18 17:59:40 2021 +0900 Ractor.allocate should not be allowed Ractor.allocate and Ractor#dup should not be allowed like Thread. [Bug #17642] M bootstraptest/test_ractor.rb M ractor.c commit 9a5da2dcff51dfd845246cc21645369d1f7201c8 Author: Nobuyoshi Nakada Date: Thu Feb 18 20:49:45 2021 +0900 [ruby/readline-ext] Initialize libedit before managing the history Fixes https://bugs.ruby-lang.org/issues/17629 https://github.com/ruby/readline-ext/commit/250d6787ed M ext/readline/readline.c commit 9110021fd220dc5fdd3937533db8620ba57ce386 Author: Nobuyoshi Nakada Date: Thu Feb 18 20:09:28 2021 +0900 [ruby/readline-ext] Use omit https://github.com/ruby/readline-ext/commit/f6dff0a9f6 M test/readline/test_readline.rb commit 07ab172ebef28bb82c2650694548d123802d6c22 Author: Koichi Sasada Date: Thu Feb 18 15:04:33 2021 +0900 sync check_rvalue_consistency_force() check_rvalue_consistency_force() uses is_pointer_to_heap() and it should be synchronized with other ractors. [Bug #17636] M gc.c commit 100e464bee46ae71ef048ed85a9bdd012935a3f7 Author: Koichi Sasada Date: Thu Feb 18 16:15:41 2021 +0900 clear RVALUE on NEWOBJ event. NEWOBJ event is called without clearing RVALUE values (v1, v2, v3). This patch clear them before NEWOBJ tracepoint internal hook. [Bug #17599] M gc.c commit 70cf53b4d232ee00321523afd308b723189f1575 Author: Nobuyoshi Nakada Date: Thu Feb 18 16:51:44 2021 +0900 Update bundled_gems M gems/bundled_gems commit feed820c968fd254417dbffc64c6634e3a3921bb Author: git Date: Thu Feb 18 16:41:20 2021 +0900 * 2021-02-18 [ci skip] M version.h commit 969b824a0c7605e0e570631d967ad0de0c37d0bf Author: Koichi Sasada Date: Thu Feb 18 15:47:32 2021 +0900 sync GC rest if needed marking requires a barrier (stop all Ractors) and gc_enter() does it. However, it doesn't check rest event which can start marking. [Bug #17599] M gc.c commit 42a16e5974c3919755013eeee0debb16ffb69ff5 Author: Nobuyoshi Nakada Date: Wed Feb 17 20:15:05 2021 +0900 Removed no-longer used variable M gc.c commit 33b8bd97a8e7d894c3e19b7362884c4882bf38e0 Author: Peter Zhu Date: Tue Feb 16 17:27:35 2021 -0500 Remove unreachable if statement in gc_page_sweep This if statement is not reachable because `was_compacting` cannot be true when `heap->compact_cursor` is NULL. M gc.c commit 7bd93293621b85a87e7e117317612bb0a84efb7a Author: git Date: Wed Feb 17 07:00:53 2021 +0900 * 2021-02-17 [ci skip] M version.h commit 938e027cdf019ff2cb6ee8a7229e6d9a4d8fc953 Author: Aaron Patterson Date: Tue Jan 26 15:49:21 2021 -0800 Eliminate useless catch tables and nops from lambdas Before this commit: ``` $ ruby --dump=insn -e '1.times { |x| puts x }' == disasm: #@-e:1 (1,0)-(1,22)> (catch: FALSE) == catch table | catch type: break st: 0000 ed: 0004 sp: 0000 cont: 0004 | == disasm: #@-e:1 (1,8)-(1,22)> (catch: FALSE) | == catch table | | catch type: redo st: 0001 ed: 0006 sp: 0000 cont: 0001 | | catch type: next st: 0001 ed: 0006 sp: 0000 cont: 0006 | |------------------------------------------------------------------------ | local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1]) | [ 1] x@0 | 0000 nop ( 1)[Bc] | 0001 putself [Li] | 0002 getlocal_WC_0 x@0 | 0004 opt_send_without_block | 0006 leave [Br] |------------------------------------------------------------------------ 0000 putobject_INT2FIX_1_ ( 1)[Li] 0001 send , block in
0004 leave ``` After this commit: ``` > ruby --dump=insn -e '1.times { |x| puts x }' == disasm: #@-e:1 (1,0)-(1,22)> (catch: FALSE) 0000 putobject_INT2FIX_1_ ( 1)[Li] 0001 send , block in
0004 leave == disasm: #@-e:1 (1,8)-(1,22)> (catch: FALSE) local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1]) [ 1] x@0 0000 putself ( 1)[LiBc] 0001 getlocal_WC_0 x@0 0003 opt_send_without_block 0005 leave ``` Fixes [ruby-core:102418] [Feature #17613] Co-Authored-By: Alan Wu M compile.c commit 296a2cab07ce530809ee74dee61180fbb3ca6f91 Author: Nobuyoshi Nakada Date: Tue Feb 16 19:36:20 2021 +0900 Parse "-00:00" as UTC for the round-trip [Feature #17544] M test/ruby/test_time_tz.rb M time.c commit 5b7439bb7b1088ef5233175893229970cee339fd Author: Nobuyoshi Nakada Date: Tue Feb 16 19:28:28 2021 +0900 UTC zone should be still "+00:00" [Feature #17544] M strftime.c M test/ruby/test_time.rb commit 9ef66ce3fcfee06d628b611dbc22026d7cc72d0e Author: Nobuyoshi Nakada Date: Fri Jan 15 17:19:18 2021 +0900 strftime.c: support unknown offset UTC in RFC 3339 [Feature #17544] In RFC 3339, -00:00 is used for the time in UTC is known, but the offset to local time is unknown. Support that representation by `-` flag for `z`. M strftime.c M test/ruby/test_time.rb commit 4fc6fb2d124b3b122066b82b5d093bf416ab196f Author: Nobuyoshi Nakada Date: Tue Feb 16 19:54:25 2021 +0900 Update bundled_gems M gems/bundled_gems commit b1149bf3058ab886b0e66e543c2b60427735f94c Author: Nobuyoshi Nakada Date: Tue Feb 16 19:52:50 2021 +0900 Make the commit of updated bundled_gems file M common.mk commit 96228e3ed606856095fec955717d72c815dc6523 Author: Kazuhiro NISHIYAMA Date: Tue Feb 16 18:49:48 2021 +0900 Fix a spec failure http://ci.rvm.jp/logfiles/brlog.trunk-test.20210216-182358 ``` 1) $LOAD_PATH.resolve_feature_path raises LoadError if feature cannot be found FAILED Expected LoadError but no exception was raised (nil was returned) /tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1275:in `block (3 levels) in ' /tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1259:in `block in ' /tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1258:in `' ``` M spec/ruby/language/predefined_spec.rb commit 1a84c07715413bc9bf250178f174fac0db240db9 Author: Kazuhiro NISHIYAMA Date: Tue Feb 16 18:17:09 2021 +0900 Fix a failure http://ci.rvm.jp/results/trunk-test@ruby-sky1/3359644 ``` : 1) : TestEncoding#test_nonascii_library_path [/tmp/ruby/v3/src/trunk-test/test/ruby/test_encoding.rb:157]: : Exception(LoadError) with message matches to /\[Bug #16382\]/. ``` M test/ruby/test_encoding.rb commit 4dfc5496b7b64a063b36cbabe95b43abe9fb48cd Author: Kazuhiro NISHIYAMA Date: Tue Feb 16 18:12:47 2021 +0900 Add NEWS entry for [Feature #16043] M NEWS.md commit b75c0cd2fdf37f8916ef10ca48b239467c954631 Author: git Date: Tue Feb 16 18:11:39 2021 +0900 * 2021-02-16 [ci skip] M version.h commit 02151dad1ba324fac5f8e9459334164d01893124 Author: David Rodríguez Date: Sun Aug 4 13:09:30 2019 +0200 `$LOAD_PATH.resolve_feature_path` should not raise I think it's more friendly and easier to work with to return `nil` when the feature is not found in the $LOAD_PATH. M load.c M test/ruby/test_require.rb commit 37b90bcdc17f1cd2c088db7db506ed7f5b2a775f Author: Nobuyoshi Nakada Date: Mon Feb 15 16:06:43 2021 +0900 [DOC] NEWS for Thread::Backtrace.limit [Feature #17479] M NEWS.md commit 4f47d655e357a7f09943f199969b437a25665ed2 Author: Nobuyoshi Nakada Date: Mon Feb 15 15:58:45 2021 +0900 Added Thread::Backtrace.limit [Feature #17479] M common.mk M test/ruby/test_rubyoptions.rb M vm_backtrace.c commit 522b25668979892b10c71109a2520b300d57cb8c Author: Nobuyoshi Nakada Date: Mon Feb 15 15:55:58 2021 +0900 Added tests for --backtrace-limit option M test/ruby/test_rubyoptions.rb commit dfd029c9627b96f5bfc7ece2b61d5019131d83b2 Author: David Carlier Date: Sun Feb 14 16:01:00 2021 +0000 supports for stack protection for haiku. M configure.ac commit 2947ae3254c49e7861f29138df0b378fc81af14d Author: git Date: Mon Feb 15 10:46:52 2021 +0900 * 2021-02-15 [ci skip] M version.h commit 990b54054d341ea41b75f4abdbead880a47ec46b Author: Takashi Tamura Date: Sat Feb 13 12:07:42 2021 +0900 Add a missing semicolon. M parse.y commit dbeddfb0b20d40871f3850f48219a9cf1fade26c Author: Marvin Schmidt Date: Sun Feb 14 14:12:32 2021 +0100 Make global ruby namespace usage explicit If the use of the ruby namespace isn't prepended by `::` to make it explicit that the global ruby namespace is referenced here, it can clash with other non-global namespace named ruby, e.g. ``` // declaration namespace myproject { namespace ruby { // my ruby classes } } // implementation using namespace myproject; [...] rb_define_method(...); [...] ``` leads to the following error: ``` ../ruby/choice.cc: In function 'void {anonymous}::do_register_choice()': ../ruby/choice.cc:342:9: error: reference to 'ruby' is ambiguous 342 | rb_define_method(c_choices, "each", RUBY_FUNC_CAST(&choices_each), 0); | ^~~~~~~~~~~~~~~~ In file included from ../ruby/choice.cc:20: ../ruby/paludis_ruby.hh:53:15: note: candidates are: 'namespace paludis::ruby { }' 53 | namespace ruby | ^~~~ In file included from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/backward/2/stdalign.h:23, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/defines.h:77, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/ruby.h:23, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby.h:38, from ../ruby/paludis_ruby.hh:44, from ../ruby/choice.cc:20: /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/internal/stdalign.h:92:11: note: 'namespace ruby { }' 92 | namespace ruby { | ^~~~ In file included from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/internal/anyargs.h:83, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/ruby.h:24, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby.h:38, from ../ruby/paludis_ruby.hh:44, from ../ruby/choice.cc:20: ../ruby/choice.cc:342:9: error: '::define' has not been declared 342 | rb_define_method(c_choices, "each", RUBY_FUNC_CAST(&choices_each), 0); | ^~~~~~~~~~~~~~~~ ../ruby/choice.cc:344:9: error: reference to 'ruby' is ambiguous 344 | rb_define_method(c_choices, "find_by_name_with_prefix", RUBY_FUNC_CAST(&choices_find_by_name_with_prefix), 1); | ^~~~~~~~~~~~~~~~ ``` M include/ruby/backward/cxxanyargs.hpp commit a681c484a3c5b9235c84bc5c253b4406e498e8cf Author: xtkoba (Tee KOBAYASHI) Date: Sun Feb 14 19:43:45 2021 +0900 Fixed codepage for utime [Bug #17626] Should use the given codepage argument. Co-Authored-By: Nobuyoshi Nakada M test/ruby/test_file_exhaustive.rb M win32/win32.c commit 416956afa6bd64894b0412100985a1a0de0ac480 Author: Nobuyoshi Nakada Date: Sun Feb 14 17:47:46 2021 +0900 Set verbose flag at retrying M tool/lib/test/unit.rb commit 0dad341006c3d6a1d941451c5ad5f4d72b386595 Author: Nobuyoshi Nakada Date: Sun Feb 14 17:41:02 2021 +0900 Directory mapping for default gems To uniform directory structures, sometimes files are gathered in different directory than the upstreams, executable files in `libexec` for instance. Re-map these files to consistent with the upstreams. M tool/rbinstall.rb commit 504d6dc429f931d0ea45d1b0d969cd27476ff91b Author: Nobuyoshi Nakada Date: Sun Feb 14 16:49:14 2021 +0900 Revert following rbinstall.rb changes Because unexpected names are listed in gemspec files. * "Fix gemspec only case" fc56b96b09e477686975c978142e3af9179219cd * "Refined installation of gemspecs placed other than ext and lib" 31f4dec6373c15a58899f8b86e35d48a7d813bf6 M tool/rbinstall.rb commit ff527e7e3295ece6a8f2bc6a2370038615a43950 Author: Vít Ondruch Date: Wed Oct 16 18:01:35 2019 +0200 Remove binstubs which are generated by `Gem::Installer` now. There is no real reason to carry these around, since they can be generated during the installation. The `Gem::Installer` generates up to date date stubs, where the racc stubs were of older format and regenerated anyway. D bin/bundle D bin/bundler D bin/erb D bin/irb D bin/racc D bin/rdoc D bin/ri commit 763b8fed3dee32ff3bd6c86260f7d4ce4cfaa508 Author: Vít Ondruch Date: Thu Oct 10 12:32:59 2019 +0200 Use UnpackedInstaller to install default gems. Use UnpackedInstaller for installation of default gems similarly it is already used to install bundled gems. This allows to reuse RubyGems functionality instead of custom code full of exceptions. M tool/rbinstall.rb commit fc56b96b09e477686975c978142e3af9179219cd Author: Nobuyoshi Nakada Date: Sun Feb 14 13:20:22 2021 +0900 Fix gemspec only case M tool/rbinstall.rb commit 07a8f09b9f3e4ca0852633eb234115d84fb69fb7 Author: git Date: Sun Feb 14 11:07:03 2021 +0900 * 2021-02-14 [ci skip] M version.h commit 31f4dec6373c15a58899f8b86e35d48a7d813bf6 Author: Nobuyoshi Nakada Date: Sun Feb 14 11:05:23 2021 +0900 Refined installation of gemspecs placed other than ext and lib M tool/rbinstall.rb commit 813fe4c256f89babebb8ab53821ae5eb6bb138c6 Author: Koichi Sasada Date: Sat Feb 13 05:37:46 2021 +0900 opt_equality_by_mid for rb_equal_opt This patch improves the performance of sequential and parallel execution of rb_equal() (and rb_eql()). [Bug #17497] rb_equal_opt (and rb_eql_opt) does not have own cd and it waste a time to initialize cd. This patch introduces opt_equality_by_mid() to check equality without cd. Furthermore, current master uses "static" cd on rb_equal_opt (and rb_eql_opt) and it hurts CPU caches on multi-thread execution. Now they are gone so there are no bottleneck on parallel execution. M vm_insnhelper.c commit 81995797bb4d2db11635f716e9230206b1283ec7 Author: git Date: Sat Feb 13 04:24:19 2021 +0900 * 2021-02-13 [ci skip] M version.h commit 15dbaa0b54f10e43976d594ef987da5f51e0c7c1 Author: Peter Zhu Date: Thu Feb 11 15:32:19 2021 -0500 [Fixes #17622] Mark and move the previous ep M vm.c commit 1f0e0dfb228fd14b3f6687539ba274ba6a2d1643 Author: Nobuyoshi Nakada Date: Fri Feb 12 12:21:49 2021 +0900 Thread::Queue.new should accept an Enumerable [Feature #17327] Enumerable implements #to_a but not #to_array. M spec/ruby/core/queue/initialize_spec.rb M test/ruby/test_thread_queue.rb M thread_sync.c commit e8b210542b7d290d6c3feeff85221ed7303d2aab Author: Nobuyoshi Nakada Date: Fri Feb 12 11:47:04 2021 +0900 Define rb_to_array which converts with to_a M array.c M internal/array.h commit 1a3b68e7c14638d1325849acd3c99ca30571cfb8 Author: Sarun Rattanasiri <7634596+midnight-wonderer@users.noreply.github.com> Date: Fri Feb 12 04:56:51 2021 +0700 correct the result of casecmp? examples [ci skip] M string.c commit 2d877327e12f499ac1a0d7096f4314cc92ef228e Author: Jeremy Evans Date: Tue Feb 9 15:39:34 2021 -0800 Make a cyclic prepend not modify ancestors for the receiver Check for cyclic prepend before making any changes. This requires scanning the module ancestor chain twice, but in general modules do not have large numbers of ancestors. M class.c M test/ruby/test_module.rb commit b83ad02997dfa910c08dd2d900f24468c15db264 Author: git Date: Fri Feb 12 00:02:33 2021 +0900 * 2021-02-12 [ci skip] M version.h commit b83b27cddbd8b7147dfbfb3c00102da365e97760 Author: Nobuyoshi Nakada Date: Thu Feb 11 21:03:11 2021 +0900 [ruby/irb] Fix inverse separator condition https://github.com/ruby/irb/commit/33f933196f M lib/irb/ext/loader.rb commit aea40f44aa2918f5b64d2eab1720b3d63a8b2c98 Author: Nobuyoshi Nakada Date: Thu Feb 11 23:53:29 2021 +0900 Fixed time_t conversion modifiers for debug M time.c commit 81f17857a7932cd838dd59991b4e6514f39184e6 Author: Nobuyoshi Nakada Date: Thu Feb 11 22:24:49 2021 +0900 Merged too-short salt conditions instead of UNREACHABLE_RETURN M string.c commit f3f78f96548e10e76784b2b45771b41dd358afd2 Author: Nobuyoshi Nakada Date: Thu Feb 11 22:20:41 2021 +0900 [DOC] Improved regexp.rdoc [ci skip] * Sub-sectioned "Repetition" section * Added examples of "Possessive match" M doc/regexp.rdoc commit 8544f51ef70b6b34aa6c81f5b52a4f05da464609 Author: Nobuyoshi Nakada Date: Thu Feb 11 22:18:11 2021 +0900 Comment in sh needs to be the beginning of a word M tool/rbinstall.rb commit 6eb5b3ac27ceebc0c6a1306678377c016552c9ad Author: aycabta Date: Tue Feb 9 17:29:38 2021 +0900 [ruby/irb] The command "irb_info" should show RUBY_PLATFORM https://github.com/ruby/irb/commit/39d1cd874f M lib/irb/cmd/info.rb M test/irb/test_cmd.rb commit b2d2d25b94fd9699408759f5b8b394f54f57ef89 Author: aycabta Date: Mon Feb 8 11:08:57 2021 +0900 [ruby/irb] Suppress colorize on Windows tests https://github.com/ruby/irb/commit/5be9354cf9 M lib/irb/workspace.rb M test/irb/test_workspace.rb commit d77a42fbfd60f4e4f49f1feb56e089494fbf3572 Author: aycabta Date: Wed Feb 10 23:24:39 2021 +0900 [ruby/irb] Suppress error when File::ALT_SEPARATOR is nil https://github.com/ruby/irb/commit/96accf3b95 M lib/irb/ext/loader.rb commit c3b2bb0969cc47dcfb1f624c94a46cdf1e2cc2ad Author: Chris Seaton Date: Thu Feb 11 10:14:18 2021 +0000 The Queue constructor should take an initial set of objects Co-authored-by: Nobuyoshi Nakada M NEWS.md A spec/ruby/core/queue/initialize_spec.rb M thread_sync.c commit a0216b1acf375e8b3fb7dbb31bd5711acc76d05e Author: Takashi Kokubun Date: Thu Feb 11 00:25:45 2021 -0800 Do not run File.write while Ractors are running also make sure all local variables have the __bmdv_ prefix. M benchmark/lib/benchmark_driver/runner/ractor.rb commit 27382eb9fc3f8de4884a5b14903fecb64ba76011 Author: Takashi Kokubun Date: Wed Feb 10 21:24:25 2021 -0800 Add a benchmark-driver runner for Ractor (#4172) * Add a benchmark-driver runner for Ractor * Process.clock_gettime(Process:CLOCK_MONOTONIC) could be slow in Ruby 3.0 Ractor * Fetching Time could also be slow * Fix a comment * Assert overriding a private method A benchmark/lib/benchmark_driver/runner/ractor.rb A benchmark/ractor_const.yml A benchmark/ractor_float_to_s.yml M common.mk commit 9e66c511ffee4c5d10ed69ccd90514e7548a06b3 Author: S-H-GAMELINKS Date: Wed Feb 10 22:35:07 2021 +0900 Fix 404 link M string.c commit c03b723f56c9b31fb566d83ebecaeae5860b78dd Author: Jeremy Evans Date: Wed Feb 10 08:12:12 2021 -0800 Update class documentation for StringScanner The [] wasn't being displayed, and try to fix formatting for bol? and << (even if they aren't linked). Fixes [Bug #17620] M ext/strscan/strscan.c commit b7333b444961016f926285482136f0488f843dde Author: git Date: Thu Feb 11 00:56:12 2021 +0900 * 2021-02-11 [ci skip] M version.h commit fc83b4896e9d7de084b203b133b84c1209c6ad88 Author: Jeremy Evans Date: Tue Feb 9 14:15:31 2021 -0800 Don't document that Thread#group can return nil Thread's are assigned a group at initialization, and no API exists for them to unassign them from a group without assigning them to another group. Fixes [Bug #17505] M thread.c commit e271a3d4afc47e812b50fc9c50f6bf34d2d723a6 Author: Nobuyoshi Nakada Date: Wed Feb 10 17:44:02 2021 +0900 [DOC] Update README files to use autoreconf [ci skip] M README.ja.md M README.md commit 4b6347ab3907850769aa8e93674a4c0a4a18c668 Author: Nobuyoshi Nakada Date: Tue Feb 9 13:59:31 2021 +0900 Compile debugging code for time always M time.c commit ef59a781d7c93c5e1d0b4c8a8b408b8c880c9cc9 Author: Nobuyoshi Nakada Date: Tue Feb 9 13:21:40 2021 +0900 Fixed the signature of find_time_numguess_getter M time.c commit 3acc81d9e41b18380b9e0168fe2b5e5e0c727256 Author: Nobuyoshi Nakada Date: Wed Feb 10 15:24:23 2021 +0900 Fixed race in dtoa [Bug #17612] Fixed the race condition when replacing `freelist` entry with its chained next element. At acquiring an entry, hold the entry once with the special value, then release by replacing it with the next element again after acquired. If another thread is holding the same entry at that time, spinning until the entry gets released. Co-Authored-By: Koichi Sasada M bootstraptest/test_ractor.rb M missing/dtoa.c commit ad2c7f8a1ea82d5b1913b466fcac63b77cb07569 Author: Nobuyoshi Nakada Date: Wed Feb 10 19:42:00 2021 +0900 Simple benchmark of Float#to_s A benchmark/float_to_s.yml commit 281dfacb5db335c60b3f0ec58bb077690b100a35 Author: 卜部昌平 Date: Wed Feb 10 10:11:02 2021 +0900 .github/workflows/compilers.yml: clang-13 LLVM made release/122.x branch. Its master is now version 12. M .github/workflows/compilers.yml commit e72757a3117795457490a9ae57e59fde20b5d57f Author: Hiroshi SHIBATA Date: Tue Feb 2 20:42:13 2021 +0900 [ruby/zlib] Don't use gemspec for gem dependecy https://github.com/ruby/zlib/commit/7d3d19710f M ext/zlib/zlib.gemspec commit 231f0f6f45336ec9fff167d00f87b0f53bd01be7 Author: Hiroshi SHIBATA Date: Tue Feb 2 20:59:04 2021 +0900 [ruby/zlib] test-unit didn't provide __name__ attribute https://github.com/ruby/zlib/commit/7d3fc1f325 M test/zlib/test_zlib.rb commit 49d3830f44031174ad450a0ea1cdcdf0eabf9d0e Author: Jeremy Evans Date: Tue Feb 9 14:47:36 2021 -0800 Fix documentation for Module#ruby2_keywords It returns nil, not self. Fixes [Bug #17560] M vm_method.c commit 189bf0106fbd77bcab4dd2567c95e41d8c269035 Author: Use amazing-print instead Date: Tue Feb 9 21:06:40 2021 +0000 Fix broken link The document should point to doc/syntax/comments.rdoc (with an "s") as there currently no `doc/syntax/comment.rdoc` M doc/ractor.md commit bb10f81c908a4f204a73219e1560107e874cc30e Author: git Date: Wed Feb 10 04:40:53 2021 +0900 * 2021-02-10 [ci skip] M version.h commit 66394aec9813e52751e2b099ee6a4814ace494f8 Author: Yusuke Endoh Date: Wed Feb 10 04:39:41 2021 +0900 vm_dump.c: Dump machine registers on RISC-V Linux Fixes [Bug #17615] Co-Authored-By: xtkoba (Tee KOBAYASHI) M vm_dump.c commit e7a831de8e1f38c2e25ae1610db5f3f62265176b Author: Use amazing-print instead Date: Tue Feb 9 12:53:51 2021 +0000 Improve the wording surrounding `Proc#isolate` This change moves the statement that `Proc#isolate` isn't yet exposed for Ruby users to the first time the method is mentioned. This is so that readers don't waste time trying to look it up in Ruby docs. There was also unnecessary duplication: ``` Paragraph 1: "Given block will be isolated from outer scope by Proc#isolate." Paragraph 2: "Given block will be isolated by Proc#isolate method" ``` So I combined the two sentences and slightly improved the wording for clarity. M doc/ractor.md commit 6bb103f01263583bcbe4baa8bdd380f08c46f70e Author: Nobuyoshi Nakada Date: Tue Feb 9 17:49:28 2021 +0900 [ruby/console] Updated depend M ext/io/console/depend commit 5bfca88f760727240902a70d1df0cc516ff31a70 Author: Nobuyoshi Nakada Date: Tue Feb 9 17:39:00 2021 +0900 [ruby/io-console] Fixed typo M ext/io/console/console.c commit df4f8aa248ed959938e0071ec75fb6a615eed4e8 Author: Nobuyoshi Nakada Date: Tue Feb 9 17:38:52 2021 +0900 [ruby/io-console] Fixed regression against 3.0 M ext/io/console/extconf.rb commit 96441b91a689c66e94127c44e47d19d7af8482a2 Author: Nobuyoshi Nakada Date: Tue Feb 9 17:15:29 2021 +0900 Define macro for fiber/scheduler.h M include/ruby.h commit e7416b4c7e65654fcee173d85bb6d46f0dd40c62 Author: Nobuyoshi Nakada Date: Tue Feb 9 17:11:14 2021 +0900 Updated pre-prototype declarations M include/ruby/fiber/scheduler.h commit 8776606b1d3f1c45b1c7c551a5afca1f5adcf561 Author: Nobuyoshi Nakada Date: Tue Feb 9 16:59:15 2021 +0900 strip trailing spaces [ci skip] M scheduler.c commit 5f69a7f60467fa58c2f998daffab43e118bff36c Author: Samuel Williams Date: Tue Feb 9 19:39:56 2021 +1300 Expose scheduler as public interface & bug fixes. (#3945) * Rename `rb_scheduler` to `rb_fiber_scheduler`. * Use public interface if available. * Use `rb_check_funcall` where possible. * Don't use `unblock` unless the fiber was non-blocking. M common.mk M cont.c M eval.c M ext/io/console/console.c M ext/io/console/extconf.rb M ext/psych/depend A include/ruby/fiber/scheduler.h M inits.c M internal/cont.h D internal/scheduler.h M io.c M process.c M scheduler.c M test/fiber/http.rb M test/fiber/scheduler.rb A test/fiber/test_thread.rb M thread.c M thread_sync.c commit 3c593f28ede99b77d4fe3258f9bda78dcee238a3 Author: Andrew Aladjev Date: Tue Feb 9 08:48:03 2021 +0300 Fixed default coroutine selection for musl. M configure.ac commit fad7908a5de4ab08367914d53780ff6518d5f552 Author: S.H Date: Tue Feb 9 13:29:42 2021 +0900 Improve performance Float#positive? and Float#negative? [Feature #17614] (#4160) A benchmark/float_neg_posi.yml M numeric.c M numeric.rb commit 97cf290063ab940d08819cd96cbcca0ef6d50e4c Author: Nobuyoshi Nakada Date: Tue Feb 9 00:42:12 2021 +0900 Copy va_list of exception classes The list is reused when an exception raised again after retrying in the rescue procedure. M eval.c commit a6f5f3cccda381ae332aaa6467f2644611371fb5 Author: Nobuyoshi Nakada Date: Tue Feb 9 10:08:30 2021 +0900 Also `eclass` loop can raise in `rb_obj_is_kind_of` M eval.c commit e0c100ec96810b999c704fc73d60255484b63844 Author: Nobuyoshi Nakada Date: Tue Feb 9 08:41:06 2021 +0900 Adjusted indent [ci skip] M vm_sync.h commit 265c0022390e3dcd4ff692fc77d29b94e652c877 Author: Nobuyoshi Nakada Date: Tue Feb 9 01:00:00 2021 +0900 Do not allocate ractor-local storage in dfree function during GC M random.c commit 0d89aedb734372bc35d8a569a992d13e86e7923e Author: Nobuyoshi Nakada Date: Tue Feb 9 00:39:58 2021 +0900 Assign TAG_NONE to ruby_tag_type instead of 0 M eval.c commit 15e933f2c666ce9628ba29e4a0345fd6e0edbed8 Author: git Date: Tue Feb 9 00:07:27 2021 +0900 * 2021-02-09 [ci skip] M version.h commit dfff1df95ca4f678e926d4e22092697d0eb91e73 Author: Nobuyoshi Nakada Date: Mon Feb 8 23:56:19 2021 +0900 vcs.rb: update the given option to VCS.detect by keyword arguments M tool/lib/vcs.rb commit a0faad38ce6b2a32f33cd045d1c26f4f55d3afe5 Author: Nobuyoshi Nakada Date: Mon Feb 8 23:55:08 2021 +0900 vcs.rb: added `base_url` keyword option to GIT#export_changelog M tool/lib/vcs.rb commit ced09d521c4246e4a973da771ed9b2b60a8fcad3 Author: Nobuyoshi Nakada Date: Mon Feb 8 23:45:51 2021 +0900 vcs.rb: improved export_changelog * arguments are optional * `path` may be passed as a keyword argument * `nil` or `"-"` path means stdout M tool/lib/vcs.rb commit 4186cd6435a58a9233ffe52f5d5ee6374d098883 Author: Nobuyoshi Nakada Date: Mon Feb 8 21:43:40 2021 +0900 Revert a part of "[DOC] refined" [ci skip] This reverts commit 478716f49a19cdd86f629c6a0673c1ff53630c96 partially -- "Removed unnecessary parentheses" part -- because of a lambda, see 9e25eb308d4fae9a10e120c2b4601916cc38336c. M ext/pty/pty.c commit 3a7ff66abc0c389851ab3c5cd0ac53ebe0647eec Author: Keith Bennett Date: Sun Feb 7 23:02:52 2021 -0500 [ruby/benchmark] Adds `Tms#to_h` [Feature #17601] M lib/benchmark.rb M test/benchmark/test_benchmark.rb commit 9328112b9d6622e57eb348a0241d925271486e29 Author: git Date: Mon Feb 8 11:38:30 2021 +0900 * 2021-02-08 [ci skip] M version.h commit bf627e518d4575fd8ebfc28992b2177392b1dd20 Author: Nobuyoshi Nakada Date: Mon Feb 8 11:33:53 2021 +0900 Forward keyword arguments to ARGF from global functions M io.c M test/ruby/test_argf.rb commit 1d686bdeb9d144f4ae2298c7ab5f46edefbd18dc Author: Nobuyoshi Nakada Date: Mon Feb 8 11:04:23 2021 +0900 Added test for keyword arguments to ARGF M test/ruby/test_argf.rb commit 1ba2b5cdee62426326b93b77877c141609f0b939 Author: Nobuyoshi Nakada Date: Mon Feb 8 10:35:51 2021 +0900 Removed unnecessary parentheses at `case` [ci skip] M vm_eval.c commit 1499f626a55fff59ccfa51dc2924ebfe7c6ded82 Author: Nobuyoshi Nakada Date: Sun Feb 7 23:35:06 2021 +0900 [DOC] Modified prefixes to get rid of conflicts M object.c commit 03e3cc2b7210edc62ee2af773b7ce479afdac78b Author: Nobuyoshi Nakada Date: Sun Feb 7 23:10:12 2021 +0900 [DOC] make individual names so that rdoc can find each documents M object.c commit 0261519f6e69f16e0f995be423688b7957573f67 Author: Nobuyoshi Nakada Date: Sun Feb 7 23:09:00 2021 +0900 [DOC] Module#method_undefined M object.c commit 478716f49a19cdd86f629c6a0673c1ff53630c96 Author: Nobuyoshi Nakada Date: Sun Feb 7 21:01:43 2021 +0900 [DOC] refined * Adjusted indentation in license section, and used "(c)" * Commented out invalid syntax to enable highlighting * Removed unnecessary parentheses M ext/pty/pty.c commit 947d93b715436b13eefa39f87737bdad3c1f870a Author: Nobuyoshi Nakada Date: Sun Feb 7 10:30:15 2021 +0900 [DOC] {Array,MatchData}#values_at understand ranges [ci skip] M array.c M re.c commit 93ebfed0a97ba97a4a7421eca63c1c2883471d54 Author: aycabta Date: Sun Feb 7 04:55:09 2021 +0900 [ruby/reline] Version 0.2.3 https://github.com/ruby/reline/commit/b26c7d60c8 M lib/reline/version.rb commit 8aac11484ba23c26877df1810e4c462ac46d2752 Author: aycabta Date: Sun Feb 7 04:55:38 2021 +0900 [ruby/irb] Version 1.3.3 https://github.com/ruby/irb/commit/4c87035b7c M lib/irb/version.rb commit 300084a85475988ba7c22e335230f31ec415dfc5 Author: aycabta Date: Fri Feb 5 21:39:29 2021 +0900 [ruby/reline] Terminate correctly in the middle of lines higher than the screen https://github.com/ruby/reline/commit/e1d9240ada M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit fee19da2305c2977985206b7db86917d0f7ac8db Author: aycabta Date: Wed Feb 3 17:56:49 2021 +0900 [ruby/reline] Autowrap correctly when inserting chars in the middle of a line https://github.com/ruby/reline/commit/ebaf37255f M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit a19ed1623f0341471b90888d02cfcf2601c5f2db Author: aycabta Date: Tue Feb 2 21:29:20 2021 +0900 [ruby/reline] The vi_histedit supports multiline This closes ruby/reline#253. https://github.com/ruby/reline/commit/f131f86d71 M lib/reline/line_editor.rb commit a608bb3e9b13e81940ffbda5cdc30ad373aaa7a5 Author: aycabta Date: Tue Feb 2 21:28:59 2021 +0900 [ruby/reline] Move cursor just after the last line when finished https://github.com/ruby/reline/commit/ba06e4c480 M lib/reline/line_editor.rb commit 08162f0e6926441d6393d11de45671ab174d88dc Author: aycabta Date: Tue Feb 2 23:58:20 2021 +0900 [ruby/reline] Update cursor info by inserting newline even if not in pasting https://github.com/ruby/reline/commit/92d314f514 M lib/reline/line_editor.rb commit b371ca3f4f304fdc219fe638ff3614b02780c2d3 Author: aycabta Date: Sun Jan 31 23:44:13 2021 +0900 [ruby/reline] Handle past logs correctly when the code is higher than the screen https://github.com/ruby/reline/commit/f197139b4a M lib/reline/line_editor.rb commit bd0f8b36fd31951a23f918074a2ba2c95c55a28a Author: aycabta Date: Sun Jan 31 13:45:21 2021 +0900 [ruby/reline] Show all lines higher than the screen when finished On Unix-like OSes, logs prior to the screen are not editable. When the code is higher than the screen, the code is only shown on the screen until input is finished, but when it is finished, all lines are outputted. https://github.com/ruby/reline/commit/8cd9132a39 M lib/reline/line_editor.rb commit 03523fdafb320d53cc455065a25079a9e3a93707 Author: aycabta Date: Fri Jan 29 18:27:54 2021 +0900 [ruby/reline] Scroll down when ^C is pressed https://github.com/ruby/reline/commit/6877a7e3f5 M lib/reline/line_editor.rb commit ec6929a5ddf2c00ad991484daad7f73cec36f29b Author: aycabta Date: Thu Jan 28 16:25:48 2021 +0900 [ruby/reline] Remove an unused variable https://github.com/ruby/reline/commit/123ea51166 M lib/reline/line_editor.rb commit 433b975fe88df3eac87dee970f7c46d668774023 Author: aycabta Date: Thu Jan 28 16:25:27 2021 +0900 [ruby/reline] Initialize uninitialized variables in tests https://github.com/ruby/reline/commit/25af4bb64b M lib/reline/line_editor.rb commit b69c965f477af1b2eb883137b3df9da8fca7b616 Author: aycabta Date: Tue Jan 26 13:18:05 2021 +0900 [ruby/reline] Cache pasting state in processing a key Because it's too slow. The rendering time in IRB has been reduced as follows: start = Time.now def each_top_level_statement initialize_input catch(:TERM_INPUT) do loop do begin prompt unless l = lex throw :TERM_INPUT if @line == '' else @line_no += l.count("\n") next if l == "\n" @line.concat l if @code_block_open or @ltype or @continue or @indent > 0 next end end if @line != "\n" @line.force_encoding(@io.encoding) yield @line, @exp_line_no end break if @io.eof? @line = '' @exp_line_no = @line_no @indent = 0 rescue TerminateLineInput initialize_input prompt end end end end puts "Duration: #{Time.now - start} seconds" 0.22sec -> 0.14sec https://github.com/ruby/reline/commit/b8b3dd52c0 M lib/reline.rb M lib/reline/line_editor.rb commit 132e01a1c3ada1fe31559f8b2a3bf7106406f6d2 Author: Adam Jensen Date: Sat Feb 6 11:07:03 2021 -0500 .gdbinit: Fix indentation in print_id [ci skip] M .gdbinit commit bfc7bb5d8aa1a5f1cf8f29b1aef86c8abecc45cf Author: git Date: Sun Feb 7 03:02:42 2021 +0900 * 2021-02-07 [ci skip] M version.h commit 34c422b678437b2556bbd246c6efc886864945c0 Author: Garen Torikian Date: Sat Feb 6 14:05:37 2021 +0000 Fix grammatical error M error.c commit 7b354cf67ba95305b600cc8b3ba684923cdc5a98 Author: aycabta Date: Sat Feb 6 21:07:11 2021 +0900 [ruby/irb] Enable to reassign a new block with "measure" command https://github.com/ruby/irb/commit/b444573aa2 M lib/irb/init.rb M test/irb/test_cmd.rb commit 5704b5fe5e42bd5b1f42a27368cd5d52dd5a9060 Author: aycabta Date: Sat Feb 6 20:23:51 2021 +0900 [ruby/irb] Allow "measure" command to take block https://github.com/ruby/irb/commit/20f1ca23e9 M lib/irb/cmd/measure.rb M lib/irb/cmd/nop.rb M lib/irb/init.rb M test/irb/test_cmd.rb commit e1e61e256bd65ac3f293ba1513d1a934b9a3bff9 Author: Masaki Matsushita Date: Sat Feb 6 17:01:42 2021 +0900 Improve performance of Array#- when it is called with empty array This change make Array#- return a copy of the receiver when the other array is empty. M array.c commit 94fb62e4a01975d61ad074f882068fdd7d6ed474 Author: Nobuyoshi Nakada Date: Sat Feb 6 13:40:50 2021 +0900 [DOC] Fixed a markup in Array#sum [ci skip] M array.c commit 575c77ddfbe9a185f131dfa51a714c796bdcd316 Author: git Date: Sat Feb 6 13:14:33 2021 +0900 * 2021-02-06 [ci skip] M version.h commit 52ce583f5281afbb1d89d45d9063026846415e48 Author: Nobuyoshi Nakada Date: Fri Feb 5 15:06:15 2021 +0900 Stop disabling firewall M .github/workflows/macos.yml commit b2674c1fd725b43adf51af7935c780359d70c2a4 Author: Koichi Sasada Date: Fri Feb 5 15:30:53 2021 +0900 unblock thread is only for main ractor. other ractors should not have a unblock thread. This patch fixes 6f727853cee41195b67ee5d793c1ac23fe1a6ae0. M thread.c commit 7baedeffe93dbb03c2e69129c3100596c1ff0e71 Author: Nobuyoshi Nakada Date: Thu Jan 28 21:00:37 2021 +0900 Added tests for MakeMakefile#test_egrep_cpp A test/mkmf/test_egrep_cpp.rb commit 0acc05caf7518cd0d63ab02bfa036455add02346 Author: Nobuyoshi Nakada Date: Tue Feb 2 08:33:08 2021 +0900 Add -fdeclspec to CFLAGS instead of CC M configure.ac commit abf71864a529d09047926defac875e001781a28f Author: Charles Oliver Nutter Date: Thu Feb 4 15:03:45 2021 -0600 [ruby/io-console] Mark all tests that use run_pty as pend on JRuby JRuby's PTY.spawn does not produce a process with its own controlling terminal, which is necessary for testing these raw escape sequences. This commit marks those tests as pending. The functionality tested appears to work at a command line, but due to this PTY bug in JRuby we cannot test it this way. See https://github.com/jruby/jruby/issues/6552 https://github.com/ruby/io-console/commit/a486b72e5e https://github.com/ruby/io-console/commit/b5c8e7bfd8 M test/io/console/test_io_console.rb commit a1cc044ea18daa3b2f49d6c74095cb94c00cbc5a Author: Charles Oliver Nutter Date: Thu Feb 4 15:03:12 2021 -0600 [ruby/io-console] Use omit instead of skip This test runs with test/unit now, which defines omit instead of skip. https://github.com/ruby/io-console/commit/bd731d0b8d M test/io/console/test_io_console.rb commit 2a764fe7644f839cec445d3467303543ad7a087b Author: Charles Oliver Nutter Date: Wed Feb 3 17:30:00 2021 -0600 [ruby/io-console] Skip test on JRuby The subprocess script here works fine at a command line, but when run as a pty subprocess during the tests the master side hangs waiting for output. https://github.com/ruby/io-console/commit/4a21610ece M test/io/console/test_io_console.rb commit 8960d6b5bdf8cffe01aa21bec17d8b889398acae Author: Charles Oliver Nutter Date: Wed Feb 3 14:51:02 2021 -0600 [ruby/io-console] Add console.rb to search for paths https://github.com/ruby/io-console/commit/74567376c4 M test/io/console/test_io_console.rb commit 9ef7780b0946c2bc96fe39b32c75c08134bfb408 Author: Nobuyoshi Nakada Date: Fri Jan 29 12:49:00 2021 +0900 [ruby/io-console] Run subprocesses without test libraries Now io/console is loaded from test-unit indirectly, test-unit requires power_assert which requires io/console. https://github.com/ruby/io-console/commit/8817d07951 https://github.com/ruby/io-console/commit/639cce89de M test/io/console/test_io_console.rb commit fcdccbff0166566b2cf034a34f572fad8d9acb8b Author: Nobuyoshi Nakada Date: Fri Feb 5 09:55:20 2021 +0900 travis_retry.sh is not needed on GitHub Actions At least check_dependencies.yml has not failed here yet. M .github/workflows/macos.yml commit 3a888398a661d7dc3cbcc21b8983809905b07adb Author: Jean Boussier Date: Thu Jan 21 09:45:11 2021 +0100 objspace_dump.c: tag singleton classes and reference the superclass M ext/objspace/objspace_dump.c M test/objspace/test_objspace.rb commit 365326a09e55cacbf6677105db12aa79de9c4404 Author: git Date: Fri Feb 5 02:49:21 2021 +0900 * 2021-02-05 [ci skip] M version.h commit 75b96c3a056d9e50bdabd87fa4676e6aaffbcff0 Author: Aaron Patterson Date: Wed Feb 3 16:17:28 2021 -0800 Don't register non-heap allocated objects `rb_define_const` can add objects as "mark objects". This is to make code like this work: https://github.com/ruby/ruby/blob/33d6e92e0c6eaf1308ce7108e653c53bb5fb106c/ext/etc/etc.c#L1201 ``` rb_define_const(rb_cStruct, "Passwd", sPasswd); /* deprecated name */ ``` sPasswd is a heap allocated object that is also a C global, so we can't move it (it needs to be pinned). However, we have many calls to `rb_define_const` that just pass in an integer like this: ``` rb_define_const(rb_cDBM, "WRITER", INT2FIX(O_RDWR|RUBY_DBM_RW_BIT)); ``` Non heap allocated objects like integers will never move, so there is no reason to waste time in the GC marking / pinning them. M gc.c commit b79d44348216e293f35801984f109ec9b02dcf83 Author: ima1zumi Date: Thu Feb 4 19:59:40 2021 +0900 [ruby/irb] Add info.rb to gemspec https://github.com/ruby/irb/commit/adbba19adf M lib/irb/irb.gemspec commit f71659d47bacdaeb57689de7274413e64937637c Author: Yusuke Endoh Date: Thu Feb 4 17:47:12 2021 +0900 Revert "vm_dump.c: Do not show C backtrace on riscv" This reverts commit 6985bfb72c8d7e7d94f1aad1f0902b602bbfa6da. Now it should work on riscv by the previous commit. [Bug #17609] M vm_dump.c commit 7d22060c14895bbca3ff962e5456384095b66738 Author: Yusuke Endoh Date: Thu Feb 4 17:45:54 2021 +0900 addr2line.c: DW_LNS_fixed_advance_pc takes a single uhalf operand Fixes [Bug #17609] Co-Authored-By: xtkoba (Tee KOBAYASHI) M addr2line.c commit 90f008f569718c8cbb311a7e0f939b639cd9e48a Author: S-H-GAMELINKS Date: Thu Feb 4 13:06:20 2021 +0900 Remove unsued str_new_shared function declaration M string.c commit 46b5b51cc64559b0e6e7e0f0e7173e17cd4681df Author: Dimitris Zorbas Date: Wed Feb 3 22:48:28 2021 +0000 [DOC] Fix typo in ext/socket/socket.c [ci skip] M ext/socket/socket.c commit 4e2e1d60936a3dcbc0e51b1c9c925ef41c1780f6 Author: Kenta Murata Date: Sat Jan 30 13:00:03 2021 +0900 [ruby/bigdecimal] Fix uint64 conversion Stop using logarithm to compute the number of components. Instead, use the theoretical maximum number of components for buffer, and count up the actual number of components during conversion. https://github.com/ruby/bigdecimal/commit/9067b353ac M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.h commit 868d66e0b513ae038648fffbe826d9580099a6f4 Author: Kenta Murata Date: Sat Jan 30 12:05:15 2021 +0900 [ruby/bigdecimal] Stop using rmpd and RMPD prefixes and DBLE_FIG https://github.com/ruby/bigdecimal/commit/7479923fdb M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.h commit b0d6563f131d98f72c508199e5e3bc8da80b90ab Author: 卜部昌平 Date: Thu Feb 4 12:34:19 2021 +0900 rb_clear_method_cache_by_class: no longer exist It is questionable whether we can change a public API but this function does not exist today. No way. M include/ruby/internal/intern/vm.h commit 33d6e92e0c6eaf1308ce7108e653c53bb5fb106c Author: Aaron Patterson Date: Wed Feb 3 12:48:37 2021 -0800 Revert "Don't pin `val` passed in to `rb_define_const`." I think this is breaking something This reverts commit 1be84e53d76cff30ae371f0b397336dee934499d. M variable.c commit 6b4814083b3b7d4b5aadc6758a9cdd9ca4619ff1 Author: git Date: Thu Feb 4 02:35:37 2021 +0900 * 2021-02-04 [ci skip] M version.h commit 1be84e53d76cff30ae371f0b397336dee934499d Author: Aaron Patterson Date: Mon Feb 1 10:42:13 2021 -0800 Don't pin `val` passed in to `rb_define_const`. The caller should be responsible for holding a pinned reference (if they need that) M variable.c commit 71c746379d5872e250d90ae45c585760afaf9516 Author: Nobuyoshi Nakada Date: Wed Feb 3 17:38:19 2021 +0900 Make alias for aliased original method Chaining aliased methods increases searching cost linearly. M vm_method.c commit 8df1881c8fc9c173963e8f7d0d078e8d56640903 Author: Kenta Murata Date: Fri Jan 29 18:06:13 2021 +0900 [ruby/bigdecimal] Fix the maximum length of float number This change is for preventing the false-positive alert by CoverityScan. See CID-1471770 for the detail. https://github.com/ruby/bigdecimal/commit/4d5b97125b M ext/bigdecimal/bigdecimal.c commit b4eba8dfee50a8b9085b32a1750be5313b9cf96b Author: Nobuyoshi Nakada Date: Wed Feb 3 17:34:41 2021 +0900 Prefer block forms to close opened files M test/zlib/test_zlib.rb commit d05a268adc402e0a9a5eac0ce291cfd34e68f29a Author: Nobuyoshi Nakada Date: Wed Feb 3 17:32:41 2021 +0900 Open gzip file in binary mode M test/zlib/test_zlib.rb commit 583f364f7187337b284061b78a47b29875398e33 Author: Koichi Sasada Date: Wed Feb 3 15:29:26 2021 +0900 use goto intead of recursion on vm_call0_body() "alias" type method entries can chain another aliased method so that machine stack can be overflow on nested alias chain. http://ci.rvm.jp/results/trunk-repeat20@phosphorus-docker/3344209 This patch fix this issue by use goto instead of recursion if possible. TODO: Essentially, the alias method should not points another aliased method entry. Try to fix it later. M vm_eval.c commit f600226fb4ad7e3faa9a184bfe9b2de6404551f3 Author: Kazuhiro NISHIYAMA Date: Wed Feb 3 14:38:31 2021 +0900 Fix failures with EditLine On macOS with EditLine: ``` $ ruby -r readline -e 'Readline.readline("> "); p Readline::VERSION' < /dev/null "EditLine wrapper" ``` On Linux with GNU readline: ``` $ ruby -r readline -e 'Readline.readline("> "); p Readline::VERSION' < /dev/null > "8.0" ``` M spec/bundler/commands/info_spec.rb M spec/bundler/commands/show_spec.rb commit ea47a9506a06e8bdcf64b7356f9ccd265bae7ce4 Author: Nobuyoshi Nakada Date: Wed Feb 3 13:39:53 2021 +0900 Adjusted indent [ci skip] M vm_method.c commit 6f727853cee41195b67ee5d793c1ac23fe1a6ae0 Author: Koichi Sasada Date: Wed Feb 3 03:19:51 2021 +0900 only main thread can modify vm->ubf_async_safe vm->ubf_async_safe is VM global resource and only main thread can manipulate it. [Bug #17482] M thread.c commit c0fa4c7bbe461b91974a34698ddbb116f737da21 Author: git Date: Wed Feb 3 00:09:49 2021 +0900 * 2021-02-03 [ci skip] M version.h commit b0fb2082187fe3cd247a92471aa42d3e6f779e51 Author: Nobuhiro IMAI Date: Tue Mar 24 15:24:01 2020 +0900 [ruby/irb] follow up the actual line number https://github.com/ruby/irb/commit/7aed8fe3b1 M lib/irb/ruby-lex.rb M test/irb/test_context.rb commit 739f9297c562a387aa012bad781ac2f07f434c1e Author: David CARLIER Date: Tue Feb 2 13:05:19 2021 +0000 NetBSD build update. (#4079) M addr2line.c commit be1486568abac364c12e36d8dc49018ba8918c73 Author: Koichi Sasada Date: Tue Feb 2 18:23:07 2021 +0900 add debug code for timer_posix timer_posix mode is managed by timer_posix.state. This patch adds some debug code for the transition of the state. M thread_pthread.c commit f92b7b7b97d57ad3f58034556224141d2f0e65c7 Author: NARUSE, Yui Date: Tue Feb 2 19:15:45 2021 +0900 Pass revision by hand if the commit message lacks the ticket number M tool/redmine-backporter.rb commit d29cb56bfa40f8c077518623b63bb26988fbe60e Author: NARUSE, Yui Date: Tue Feb 2 19:14:37 2021 +0900 Use local repository instead of remote to improve performance M tool/redmine-backporter.rb commit ce2062dee6405030091966c47b1124ec9a4c62d4 Author: NARUSE, Yui Date: Tue Feb 2 19:12:49 2021 +0900 Drop pushing local repo I want to push another repo/branch to run CI before pushing it to official branch. M tool/merger.rb commit b03aa7dcd73a55c4b76600830a90bd0bc725d5a3 Author: Nobuyoshi Nakada Date: Tue Feb 2 15:54:07 2021 +0900 Use the lateset winflexbison3 The installation script fault seems fixed at 2.5.23.20200904. M .github/workflows/windows.yml commit e350b32837a824279e9dbba09139f6d0e4a4be0f Author: Nobuyoshi Nakada Date: Tue Feb 2 09:55:15 2021 +0900 Add some git configurations in CIs M .github/workflows/windows.yml M appveyor.yml commit 5a33ef0586efbe1d7489f4696bd22499b0f2632a Author: Nobuyoshi Nakada Date: Tue Feb 2 14:37:15 2021 +0900 Set git config in global instead of system M .github/workflows/mingw.yml M .github/workflows/windows.yml commit 8ef30bcc047341b2b7e6ec9b545dda975cdd4ab2 Author: Aaron Patterson Date: Mon Feb 1 11:10:22 2021 -0800 Fix GC compatibility: Don't stash encodings in global constants This value should either be pinned, or looked up when needed at runtime. Without pinning, the GC may move the encoding object, and that could cause a crash. In this case it is easier to find the value at runtime, and there is no performance penalty (as Ruby caches encoding indexes). We can shorten the code, be compaction friendly, and incur no performance penalty. M ext/json/generator/generator.c commit 5803ac1c734568837d2010bd38f122ba24cbae2b Author: git Date: Tue Feb 2 01:43:16 2021 +0900 * 2021-02-02 [ci skip] M version.h commit e3ef21c3077c4b45edb44c06b0d580a4c913c557 Author: Matt Valentine-House Date: Tue Jan 26 16:56:16 2021 +0000 Use RCLASS_EXT macro instead of directly accessing ptr M gc.c commit e0f999a2ed8b1b9298e51d5dfa902044709ce00a Author: Matt Valentine-House Date: Tue Jan 26 16:49:57 2021 +0000 Add RCLASS_SUBCLASSES Macro M class.c M gc.c M internal/class.h M vm_method.c commit 7341b0146557bccd783484b279569b530c888a14 Author: Matt Valentine-House Date: Tue Jan 26 16:29:09 2021 +0000 Add RCLASS_ALLOCATOR Macro M class.c M internal/class.h M vm_method.c commit 6edd4256744c5ee6a73af660cb2bcb63ca94b254 Author: Matt Valentine-House Date: Tue Jan 26 16:12:29 2021 +0000 Add PARENT_MODULE_SUBCLASSES Macro M class.c M internal/class.h commit 49950266be32ae09ee6a17539c4412f032995fc6 Author: Matt Valentine-House Date: Tue Jan 26 16:06:31 2021 +0000 Add RCLASS_PARENT_SUBMODULES Macro M class.c M internal/class.h commit 1cdae49d39fbaef654df487f168d1fb14a146d59 Author: Nobuyoshi Nakada Date: Mon Feb 1 18:01:10 2021 +0900 Implement NameError::message#clone for Ractor M bootstraptest/test_ractor.rb M error.c M test/objspace/test_objspace.rb commit 0dd38902b96e6062130080ab5b96098dedf71139 Author: Nobuyoshi Nakada Date: Mon Feb 1 18:16:39 2021 +0900 Ignore warnings when transforming preprocessed header For already preprocessed header, -Werror=misleading-indentation doesn't make sense. M common.mk commit 952b2dcc8804cbf094f8f626e04bcb3f8e151005 Author: Nobuyoshi Nakada Date: Mon Feb 1 14:59:47 2021 +0900 Fix for windres 2.36 [Bug #17602] Add --preprocessor and --preprocessor-arg for each preprocessor command arguments, as windres 2.36 requires preprocessor name and arguments to be separated to respect spaces in these paths. M cygwin/GNUmakefile.in commit 23a833ee67dcc2d285082103deb79741ed147961 Author: Masataka Pocke Kuwabara Date: Mon Feb 1 14:01:47 2021 +0900 Add File.absolute_path? to NEWS-2.7.0 [ci skip] `File.absolute_path?` has been added since Ruby 2.7.0, but it isn't mentioned in the NEWS. So this patch adds a NEWS entry. ref: https://bugs.ruby-lang.org/issues/15868 Co-authored-by: nagachika M doc/NEWS-2.7.0 commit e4ef5791262c482f77fc9f7786ea70e49de1bb68 Author: git Date: Mon Feb 1 13:57:36 2021 +0900 * 2021-02-01 [ci skip] M version.h commit 0e5fbec81632968836da06dc50fca4948cae6d30 Author: xtkoba (Tee KOBAYASHI) Date: Mon Feb 1 01:16:14 2021 +0000 Fixed varargs in `rb_bug_without_die` [Bug #17603] M error.c commit 22b8ddfd1049c3fd1e368684c4fd03bceb041b3a Author: Nobuyoshi Nakada Date: Sun Jan 31 18:11:59 2021 +0900 Split `mnew` into unbound and callable It always branches by `obj` is `Qundef` or not, which is invariant for each functions; `obj_method` is the latter, and the other two are the former. M proc.c commit e44870c2253a47c0fa989a4a188a7164735fec03 Author: Nobuyoshi Nakada Date: Sun Jan 31 17:45:35 2021 +0900 Removed static assertion about size of `RVALUE` It is unable where unaligned word access is disallowed and `double` is wider than pointers. M gc.c commit 49918b398463121a7df9e1b4de2c3d061125b8db Author: Nobuyoshi Nakada Date: Sun Jan 31 14:27:15 2021 +0900 MSys is a variant of Cygwin M configure.ac commit ae0a179c4bb13c64584bc07b29372723d1d6c4fa Author: Nobuyoshi Nakada Date: Sun Jan 31 12:50:29 2021 +0900 Narrowed down the condition to pack RValue Because of `double` in `RFloat`, `RValue` would be packed by `sizeof(double)` by default, on platforms where `double` is wider than `VALUE`. Size of `RValue` is multiple of 5 now. M gc.c commit e1f475e13f728a793131c38d2177691e87f45d17 Author: Nobuyoshi Nakada Date: Sun Jan 31 09:48:37 2021 +0900 Update bundled_gems M gems/bundled_gems commit 3813bb41524a1e2f0b08b6e2f1213ba46477a5f7 Author: David CARLIER Date: Fri Jan 29 23:43:35 2021 +0000 vm_dump: dump registers for Mac M1 M vm_dump.c commit 4a06cb31170789f6fc0b1ce069bccab9d731c8bf Author: Yusuke Endoh Date: Sun Jan 31 09:44:41 2021 +0900 Update TypeProf to 0.12.0 (#4132) M gems/bundled_gems commit 25d506a31882a21f8c95e136a1b80ae8d5ac46fd Author: S-H-GAMELINKS Date: Sat Jan 30 15:36:32 2021 +0900 Move rb_big_isqrt declaration M internal/bignum.h M numeric.c commit 367b5100d41ba1f08501319f1fecdd5ccb25d3db Author: git Date: Sun Jan 31 02:11:20 2021 +0900 * 2021-01-31 [ci skip] M version.h commit 598b7988f4f332c2d974bde6bc8be299150e2dce Author: Soutaro Matsumoto Date: Sun Jan 31 02:10:55 2021 +0900 Bundle RBS 1.0.4 (#4136) M gems/bundled_gems commit c4ab9017926c1d8c0211e275c66474e9c68dc383 Author: git Date: Sat Jan 30 20:09:20 2021 +0900 * 2021-01-30 [ci skip] M version.h commit 1f5b8f7084ac8c6a13612a6ced47e4678ff063c2 Author: Nobuyoshi Nakada Date: Sat Jan 30 20:08:18 2021 +0900 Constified pointers in str_casecmp M string.c commit 98e27016c93455d4e9e208d0666d85929cb62857 Author: Koichi Sasada Date: Fri Jan 29 12:54:43 2021 +0900 refactoring rb_method_call_status() M vm_eval.c commit 1ecda213668644d656eb0d60654737482447dd92 Author: Koichi Sasada Date: Thu Jan 21 03:33:59 2021 +0900 global call-cache cache table for rb_funcall* rb_funcall* (rb_funcall(), rb_funcallv(), ...) functions invokes Ruby's method with given receiver. Ruby 2.7 introduced inline method cache with static memory area. However, Ruby 3.0 reimplemented the method cache data structures and the inline cache was removed. Without inline cache, rb_funcall* searched methods everytime. Most of cases per-Class Method Cache (pCMC) will be helped but pCMC requires VM-wide locking and it hurts performance on multi-Ractor execution, especially all Ractors calls methods with rb_funcall*. This patch introduced Global Call-Cache Cache Table (gccct) for rb_funcall*. Call-Cache was introduced from Ruby 3.0 to manage method cache entry atomically and gccct enables method-caching without VM-wide locking. This table solves the performance issue on multi-ractor execution. [Bug #17497] Ruby-level method invocation does not use gccct because it has inline-method-cache and the table size is limited. Basically rb_funcall* is not used frequently, so 1023 entries can be enough. We will revisit the table size if it is not enough. M debug_counter.h M vm.c M vm_callinfo.h M vm_core.h M vm_eval.c M vm_insnhelper.c M vm_method.c commit 9241211538189a58b477bd55b539357617fd42ed Author: Nobuyoshi Nakada Date: Fri Jan 29 13:09:38 2021 +0900 Forward keyword arguments for Pathname#each_line [Bug #17589] M ext/pathname/pathname.c M test/pathname/test_pathname.rb commit acb6b395b63ff992ea89ef4dbdff32e5b54e0b20 Author: Kazuhiro NISHIYAMA Date: Fri Jan 29 11:59:42 2021 +0900 Fix failure when build in srcdir/build If `build` directory exists, `rake build` is `Rake::FileTask`. So skip if exists. M spec/bundler/bundler/gem_helper_spec.rb commit 522adbc945c209f4993b0d0ee84a44c333de350f Author: Nobuyoshi Nakada Date: Fri Jan 29 08:37:37 2021 +0900 Fixed Kernel#rand spec Float should not be compared by identity. M spec/ruby/core/kernel/rand_spec.rb commit f6387ae0737ea19a00caa3af14c489b404c1c0e1 Author: Nobuyoshi Nakada Date: Fri Jan 29 08:53:45 2021 +0900 Fix absolute path predicate on Windows A path starts with '/' is not an absolute path on Windows, because of drive letter or UNC. M lib/irb/ext/loader.rb commit c10be4e9db7bec6e9221877c206de6f1589caba4 Author: git Date: Fri Jan 29 01:09:44 2021 +0900 * 2021-01-29 [ci skip] M version.h commit 2e32b919b4f2f5b7f2e1509d6fa985526ef1f61c Author: Benoit Daloze Date: Thu Jan 28 17:08:57 2021 +0100 Update to ruby/spec@8cafaa5 M spec/ruby/core/integer/digits_spec.rb M spec/ruby/core/kernel/caller_locations_spec.rb M spec/ruby/core/kernel/caller_spec.rb M spec/ruby/core/kernel/lambda_spec.rb M spec/ruby/core/kernel/rand_spec.rb A spec/ruby/core/module/ruby2_keywords_spec.rb M spec/ruby/core/module/to_s_spec.rb A spec/ruby/core/proc/ruby2_keywords_spec.rb M spec/ruby/core/range/shared/cover.rb M spec/ruby/core/range/shared/cover_and_include.rb M spec/ruby/core/range/to_a_spec.rb M spec/ruby/core/range/to_s_spec.rb M spec/ruby/core/string/scrub_spec.rb M spec/ruby/core/string/shared/slice.rb M spec/ruby/core/string/split_spec.rb M spec/ruby/core/struct/hash_spec.rb A spec/ruby/core/symbol/name_spec.rb M spec/ruby/core/thread/backtrace_locations_spec.rb A spec/ruby/core/thread/handle_interrupt_spec.rb A spec/ruby/core/thread/pending_interrupt_spec.rb M spec/ruby/core/time/inspect_spec.rb M spec/ruby/language/constants_spec.rb M spec/ruby/language/fixtures/constant_visibility.rb M spec/ruby/language/fixtures/squiggly_heredoc.rb M spec/ruby/language/heredoc_spec.rb A spec/ruby/library/pathname/inspect_spec.rb M spec/ruby/library/socket/basicsocket/send_spec.rb M spec/ruby/library/socket/tcpsocket/recv_nonblock_spec.rb M spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb A spec/ruby/optional/capi/debug_spec.rb A spec/ruby/optional/capi/ext/debug_spec.c M spec/ruby/optional/capi/ext/object_spec.c M spec/ruby/optional/capi/fixtures/module.rb M spec/ruby/optional/capi/module_spec.rb M spec/ruby/optional/capi/object_spec.rb commit 1b377b32c8616f85c0a97e68758c5c2db83f2169 Author: Kazuhiro NISHIYAMA Date: Thu Jan 28 18:23:13 2021 +0900 Add fallback when PWD is not set M spec/bundler/runtime/setup_spec.rb commit 763d242fcdb2cd400a8973d7d0da3e162fee90d6 Author: Kazuhiro NISHIYAMA Date: Thu Jan 28 17:57:02 2021 +0900 Use PWD instead of source_root Because `.ext/common` is not relative from top source directory. Fix failures with out-of-place build directory. M spec/bundler/runtime/setup_spec.rb commit 7cd97a81d1010ec8f10585d86e7271a4a40e3990 Author: Kazuhiro NISHIYAMA Date: Thu Jan 28 17:55:26 2021 +0900 Remove require_path from $LOADED_FEATURES because some features are already loaded. M spec/bundler/support/matchers.rb commit 00bd645f09ef96af55e4060deee7882a46d33206 Author: Kazuhiro NISHIYAMA Date: Thu Jan 28 17:54:29 2021 +0900 Delete path including `/../` too M spec/bundler/support/matchers.rb commit edaf0c250c7589101c7a512b62acf51b7595ed1a Author: git Date: Thu Jan 28 09:18:12 2021 +0900 * 2021-01-28 [ci skip] M version.h commit d2ffd269a77021e6507a50995cd4af6eb5e33ea3 Author: Peter Zhu Date: Wed Jan 13 13:45:03 2021 -0500 [Fixes #17538] Fix assertion failure when rincgc is turned off Co-Authored-By: Matt Valentine-House <31869+eightbitraptor@users.noreply.github.com> M gc.c commit 80fb4758a9101197f1dd4e3f84a437569ea692ab Author: aycabta Date: Wed Jan 27 18:33:36 2021 +0900 In test, need to pass a context to IRB::WorkSpace.new explicitly M test/irb/test_cmd.rb commit 69b42ae02db7385c18bafae893bb9368c9b79152 Author: Nobuhiro IMAI Date: Sat Jan 23 04:45:55 2021 +0900 [ruby/irb] specify the `VERBOSE` to `false` and fix tests to fit https://github.com/ruby/irb/commit/502c590925 M test/irb/test_cmd.rb commit e80e5a2f897088bc5284ea61817a910d1d334652 Author: Nobuhiro IMAI Date: Sat Jan 23 02:45:00 2021 +0900 [ruby/irb] use `RubyLex::TerminateLineInput` appropriately [Bug #17564] * using the appropriciate exception instead of `break` so that the session can be continue after the `irb_source` and `irb_load` commands * suppress extra new line due to one more `#prompt` call https://github.com/ruby/irb/commit/bdefaa7cfd M lib/irb.rb M lib/irb/ruby-lex.rb M test/irb/test_cmd.rb commit 5b05b85d85002fd47eeb5e28f9f2898e99507b75 Author: Nobuhiro IMAI Date: Sat Jan 23 02:12:39 2021 +0900 [ruby/irb] add `IRB::FileInputMethod.open` to ensure closing associated File * tweak some methods not to raise exception after `#close` * use it in `IRB::IrbLoader#{source_file,load_file} https://github.com/ruby/irb/commit/ec2947acbd M lib/irb/ext/loader.rb M lib/irb/input-method.rb commit c736714de11f9d8dd90cb5f4d6b39fd73054aabc Author: Nobuyoshi Nakada Date: Wed Jan 27 14:58:34 2021 +0900 Clear unexpanded `mjit_std_cflag` M configure.ac commit 0d5a4d6d4973af3dfbdb19c965efe6c86dbdd8ad Author: Nobuyoshi Nakada Date: Wed Jan 27 14:50:27 2021 +0900 Disable fast-math As `RUBY_TRY_CFLAGS` restores `CFLAGS`, appending to the variable in its block has no effect. M configure.ac commit b409a34b410e748553262cb4d0c9cc374746dfd8 Author: Nobuyoshi Nakada Date: Wed Jan 27 14:45:31 2021 +0900 Taint flags has been deprecated in 3.1 M spec/ruby/optional/capi/ext/object_spec.c M spec/ruby/optional/capi/ext/rbasic_spec.c M spec/ruby/optional/capi/ext/rubyspec.h M spec/ruby/optional/capi/shared/rbasic.rb commit a67afaaa05d8d81297f42033e4c235642e312a81 Author: 卜部昌平 Date: Tue Jan 26 15:43:45 2021 +0900 Update include/ruby/internal/fl_type.h https://github.com/ruby/ruby/pull/4100#pullrequestreview-576059827 Co-authored-by: Nobuyoshi Nakada M include/ruby/internal/fl_type.h commit d205370b965a374a6c7ec3987e2b97f4b48621da Author: 卜部昌平 Date: Tue Jan 26 15:38:15 2021 +0900 include/ruby/internal/fl_type.h: refactor hoist out #if conditions cf: https://github.com/ruby/ruby/pull/4100#pullrequestreview-575952836 M include/ruby/internal/fl_type.h commit f8a117f858cdb748c400396aa5a4d46e4832f4e2 Author: 卜部昌平 Date: Tue Jan 26 09:48:49 2021 +0900 kill CLONESETUP and DUPSETUP They are no longer how Object#clone/Object#dup are defined. In fact DUPSETUP is not used from anywhere. CLONESETUP has only one usage. Let's not expose them to extension libraries. cf https://github.com/ruby/ruby/pull/4100#discussion_r563481718 M include/ruby/internal/fl_type.h M include/ruby/internal/newobj.h M proc.c commit 73e948afd5d465548868189d1bd0a8d35e238fb2 Author: 卜部昌平 Date: Wed Jan 20 12:00:46 2021 +0900 win32/win32.c:getcwd_value: delete OBJ_TAINT Makes no sense any longer. M win32/win32.c commit a2c069fca9ea80edef8f6441aeaecdfe4d1645a0 Author: 卜部昌平 Date: Wed Jan 20 11:59:05 2021 +0900 win32/file.c:rb_file_expand_path_internal: delete OBJ_TAINT Makes no sense any longer. M win32/file.c commit 3f4f10bb603a1c8979919c6b0ca1d8b2e7adba67 Author: 卜部昌平 Date: Wed Jan 20 11:33:32 2021 +0900 attributes on enumerators are GCC6-ism See also https://gcc.gnu.org/gcc-6/changes.html Clang has this feature when __has_extension(enumerator_attributes) is set. MSVC has #pragma deprecated instead. M include/ruby/internal/fl_type.h commit c7d138772167a9a489ebe062ee3027e838489e8d Author: 卜部昌平 Date: Wed Jan 20 11:13:06 2021 +0900 warnings on use of RUBY_FL_TAINT matz said in [ruby-core:94979]: > 3.0: > * taint/trust/untaint/untrust non-verbose warning when called This is it, for C extensions. M include/ruby/internal/fl_type.h commit 0300dec32b5a25b409dc5dfa59b81f4e39fab501 Author: 卜部昌平 Date: Wed Jan 20 10:26:49 2021 +0900 kill OBJ_TAINT etc. Now that RUBY_FL_TAINT is recycled to become new RUBY_FL_SHAREABLE. Setting/clearing this flag from extension libraries break Ractor. Especially problematic one is OBJ_INFECT, which would make non-shareable objects travel across Ractor boundaries. Such operations should just be prohibited. M .gdbinit M include/ruby/internal/fl_type.h commit 7ccdad7be83b8bd4fcd09a5bf224d33a64fa1d6f Author: 卜部昌平 Date: Wed Jan 20 11:01:35 2021 +0900 fix OBJ_UNTRUST etc. It seems I broke them in commit 9e6e39c3512f7a962c44dc3729c98a0f8be90341 Sorry! M include/ruby/internal/fl_type.h commit 216e6605a47fccbbadcb6b0b7e81dcf21547e14c Author: Alan Wu Date: Wed Nov 25 16:35:40 2020 -0500 Add compaction notes for class/module creation C APIs M class.c M include/ruby/internal/module.h commit 646131448eea616dfb388cfea84e34358caa7b47 Author: Alan Wu Date: Thu Dec 10 21:24:19 2020 -0500 Make rb_define_module_id_under() pin existing modules Just like rb_define_class_id_under(). Also makes rb_define_module_under() consistent with rb_define_class_under() in the same regard. M class.c commit d7a844cb08aaf0d073bfa2ade88e83b3df2d9676 Author: Burdette Lamar Date: Tue Jan 26 11:22:13 2021 -0600 Fix broken link in RDoc for String (#4123) Link was correct; its target was incorrect; now fixed. M string.c commit 8a3f816675bfeb0ffd19471a8520200b3212d424 Author: Matt Valentine-House Date: Thu Jan 14 21:56:44 2021 +0000 Re-enable RGENGC_DEBUG for platforms with HAVE_VA_ARGS_MACRO after this commit turned it off globally. 888cf28a7e3a07fc0a41688777a40910654005ad Co-authored-by: peterzhu2118 M gc.c commit a554e96a15ab1dfd86c6f125afc6356b8cc84a49 Author: git Date: Wed Jan 27 01:18:18 2021 +0900 * 2021-01-27 [ci skip] M version.h commit 479e4d13cbf0bf2c7d3789787a8c055468141e4f Author: Matt Valentine-House Date: Thu Jan 14 21:33:02 2021 +0000 Fix RGENGC CHECK MODE >= 4 [A previous commit](b59077eecf912a16efefc0256f6e94a000ce3888) removes some macro definitions that are used when RGENGC_CHECK_MODE >=4 because they were using data stored against objspace, which is not ractor safe This commit reinstates those macro definitions, using the current ractor Co-authored-by: peterzhu2118 M gc.c commit ed6dc066b6247465c2bc55a39c2a837e53d2d4d0 Author: Nobuyoshi Nakada Date: Tue Jan 26 22:01:07 2021 +0900 CFLAGS includes ARCH_FLAG M common.mk commit b091889ed67f278b1652ddde88596e2160d5aef0 Author: Nobuyoshi Nakada Date: Tue Jan 26 10:31:53 2021 +0900 Removed YYUSE [Bug #17582] Although it was used just to suppress an "unsed argument" warning in the same manner as other bison-provided functions, it has been dropped since Bision 3.7.5. And we always suppress that warnings. M parse.y commit 1e2a8f7c945ddb93f083a320f6ad6536596a81ce Author: Nobuyoshi Nakada Date: Tue Jan 26 10:30:02 2021 +0900 vcs.rb: fix for baseruby 2.2 M tool/lib/vcs.rb commit 33c5e9d1c873f7a1a9dd88ee04e82d60fbc9c641 Author: git Date: Tue Jan 26 10:07:48 2021 +0900 * 2021-01-26 [ci skip] M version.h commit 6963e682f884d0c4f2972bcc89f69d9b6f756108 Author: Nobuyoshi Nakada Date: Tue Jan 26 10:04:12 2021 +0900 vcs.rb: support `d` command in log-fix M tool/lib/vcs.rb commit a56760b908fb89dbcf4bea5f6d8f6576bc88e1d2 Author: Nobuyoshi Nakada Date: Tue Jan 26 09:58:11 2021 +0900 vcs.rb: allow log-fix to insert an empty line M tool/lib/vcs.rb commit 19e6d271266eca5925e66fc8ec39b251a2fa6bcd Author: Nobuyoshi Nakada Date: Sun Jan 24 16:20:34 2021 +0900 [ruby/rdoc] Support iso-strict format in git-log https://github.com/ruby/rdoc/commit/2a6c22da63 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit 7fe22152fc28084f4395fece84ff6e5eb2d6b288 Author: Nobuyoshi Nakada Date: Sun Jan 24 16:16:47 2021 +0900 [ruby/rdoc] Support other date formats in git-log https://github.com/ruby/rdoc/commit/ad8cf37d72 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit 5411fb8cffc6a2112b07243c7f4a4a87702f2af0 Author: git Date: Mon Jan 25 12:51:45 2021 +0900 * 2021-01-25 [ci skip] M version.h commit fd6d5c803a78e389a643c65ae8ac3761817c4341 Author: Nobuyoshi Nakada Date: Sun Jan 24 23:33:52 2021 +0900 Clear each test own temporary directories M lib/rubygems/test_case.rb commit 30f11e73c43672833b301ef89eca25d430e2480f Author: Nobuyoshi Nakada Date: Sun Jan 24 23:26:11 2021 +0900 Revert "Remove temporary directory properly" This reverts commit 80bad36989bbc4ad6167fe9670327f95b78089ce, because a few CI machines fail continuously. M lib/rubygems/test_case.rb commit 80bad36989bbc4ad6167fe9670327f95b78089ce Author: Nobuyoshi Nakada Date: Sun Jan 24 18:26:50 2021 +0900 Remove temporary directory properly For each `make check`, rubygems test makes "tmp" directory and some "gem_generate_index..." directories remain there. * Do not create a (fixed name) directory in the current working directory * Should remove its own temporary directory M lib/rubygems/test_case.rb commit 52ebaf718e6a78297ceb0dff49815eeed28eae45 Author: Nobuyoshi Nakada Date: Sat Jan 23 17:28:59 2021 +0900 [ruby/rdoc] Skip non-date logs by git-log `RDoc::Parser::ChangeLog` mis-parses ChangeLog generated by git-log, because of too heuristic `Time.parse`. For instance, "commit 8187228de0142d3ac7950b7d977c2849e934c637" results in "8187-08-16", that is, day 228 in the year 8187. https://github.com/ruby/rdoc/commit/9711e6f6d9 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit d5d1c41728d65acfb8aa2cf95f2d8ac88f271cd1 Author: Nobuyoshi Nakada Date: Sat Jan 23 00:20:53 2021 +0900 [ruby/rdoc] Sort by CommitDate if available https://github.com/ruby/rdoc/commit/455715e930 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit fa048a0f8523cefde5428805dd334691486319e6 Author: Nobuyoshi Nakada Date: Fri Jan 22 10:13:08 2021 +0900 [ruby/rdoc] Add links to the commits https://github.com/ruby/rdoc/commit/1821628076 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit f3f1a666c77f8c528b0adc9ccf78e4b9910bd6e0 Author: Nobuyoshi Nakada Date: Thu Jan 21 21:49:00 2021 +0900 [ruby/rdoc] Shorten commit hashes https://github.com/ruby/rdoc/commit/5d3e153963 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit 127f735c1e5e0771076caf2a74390757a42fb177 Author: Nobuyoshi Nakada Date: Thu Jan 21 21:03:55 2021 +0900 [ruby/rdoc] Tweak log entry markdown * add 3 levels to headings * prefix commit log to labels to make unique IDs https://github.com/ruby/rdoc/commit/5074c13209 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit b88d1e6b44164bca0c2b85ea6639469813e1e1d8 Author: Nobuyoshi Nakada Date: Thu Jan 21 19:43:02 2021 +0900 [ruby/rdoc] Make each commit entries h3 https://github.com/ruby/rdoc/commit/11eefb2ae9 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit bb570ce6d80d28cfc7131dcb72885eed2f989b30 Author: Nobuyoshi Nakada Date: Thu Jan 21 01:25:56 2021 +0900 [ruby/rdoc] Support ChangeLog generated by `git log` https://github.com/ruby/rdoc/commit/5e0a123ca1 M lib/rdoc/parser/changelog.rb M test/rdoc/test_rdoc_parser_changelog.rb commit 68e7dc532d8c658050fa513bbf6c80126832b070 Author: Dorian Marié Date: Tue Jul 7 23:50:37 2020 +0200 [ruby/rdoc] Fix failing test by adding gettext as a development dependency The failing test was: ======================================================================================== rdoc/test/rdoc/test_rdoc_i18n_locale.rb:35:in `rescue in test_load_existent_po' Omission: gettext gem is not found [test_load_existent_po(TestRDocI18nLocale)] ======================================================================================== https://github.com/ruby/rdoc/commit/e5f85839e1 M lib/rdoc/rdoc.gemspec commit 1bd27a78827109f85357f80827a9975fae9bb2a5 Author: NARUSE, Yui Date: Sun Jan 24 15:55:22 2021 +0900 Add test for String#casecmp? String#casecmp? also normalize upper case characters in legacy encodings. M test/ruby/test_m17n_comb.rb commit d6e43e472356d8e0753f054278e71f1b299fdb4b Author: Nobuyoshi Nakada Date: Sun Jan 24 14:57:31 2021 +0900 Moved --verbose, --verbose and --help options to last [ci skip] M ruby.c commit 38816887962ec167ee46acf500f68df5c3013163 Author: git Date: Sun Jan 24 14:35:51 2021 +0900 * 2021-01-24 [ci skip] M version.h commit 743c44ee2167e41c828c631ee764e96640f99736 Author: aycabta Date: Sat Jan 23 11:39:51 2021 +0900 [ruby/irb] Indent correctly with method calling with receiver https://github.com/ruby/irb/commit/e7c68e74a0 M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit fc54af8aa136888d8c5a8bf7d68594f979a43946 Author: aycabta Date: Fri Jan 22 11:51:54 2021 +0900 [ruby/irb] Indent correctly with keyword "for" and "in" https://github.com/ruby/irb/commit/47c83ea724 M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit 8cb999dd840de61ea64c87e8dc54b4320ed0fd5a Author: Kazuki Tsujimoto Date: Sat Jan 23 21:06:56 2021 +0900 Update power_assert to 2.0.0 M gems/bundled_gems commit 4de228b6bcd55957f2bdc549ffa531dd164be01b Author: Nobuyoshi Nakada Date: Sat Jan 23 20:56:15 2021 +0900 Sort autogenerated dependencies [ci skip] M common.mk commit 8dfae85adb96cf3da84bf38f2103969d4a7aed3f Author: Nobuyoshi Nakada Date: Sat Jan 23 19:57:07 2021 +0900 Warn the defined location as deprecation as well as the main message [Bug #17575] M test/ruby/test_defined.rb M vm_method.c commit 62283f7a7a87fa2f353814a3ef6a3b1cab2a32b8 Author: Yusuke Endoh Date: Sat Jan 23 18:54:50 2021 +0900 coroutine/emscripten/: Experimentally support emscripten fiber API M configure.ac A coroutine/emscripten/Context.c A coroutine/emscripten/Context.h commit f12c33b6112b38f51ae1813b19f4c331ede2af2e Author: Yusuke Endoh Date: Sat Jan 23 16:07:41 2021 +0900 configure.ac: Add some compiler options for emscripten "-lc" and "-s ALLOW_MEMORY_GROWTH=1" are needed M configure.ac commit dd65aa95f9bf017674b9f11c9e5824cd0fa22735 Author: Yusuke Endoh Date: Sat Jan 23 16:05:33 2021 +0900 bignum.c: Make sure the argument of LONG2FIX is long ... because BDIGIT_DBL may be long long. POSFIXABLE and NEGFIXABLE ensures that the value is representable as long, but it failed to build on emscripten with -Werror -Wshorten-64-to-32. M bignum.c commit 05f89dd13bee427ffa43568ab95668da55b127cf Author: Yusuke Endoh Date: Sat Jan 23 13:23:26 2021 +0900 thread_pthread.c: pthread_kill is not available on emscripten M thread_pthread.c commit 33fb87cc9c1218463c54b0277f635318c1509629 Author: Yusuke Endoh Date: Sat Jan 23 13:22:56 2021 +0900 io.c: popen is not available on emscripten M io.c commit 9efd590a13d1e8b8a141c46eabb48c2a1c286d2b Author: Nobuyoshi Nakada Date: Sat Jan 23 11:04:45 2021 +0900 Rationalize floats in coerce [Bug #17572] M rational.c commit 9de68a52213873da84a5341fd3db15e5c8b6cb9a Author: Kazuhiro NISHIYAMA Date: Sat Jan 23 10:52:17 2021 +0900 Fix a warning ``` .../ruby/test/net/http/test_httpresponse.rb:81: warning: constant RubyVM::MJIT is deprecated ``` M test/net/http/test_httpresponse.rb commit a55eb9a2af7950d180d9d31ffde2bce66710f44f Author: Nobuyoshi Nakada Date: Sat Jan 23 10:28:07 2021 +0900 Make reciprocal properly of non-integral rational [Bug #17572] M rational.c M test/ruby/test_rational.rb commit 37258b64c759c0add4d97f79aeeda8ae4ffc3677 Author: Gannon McGibbon Date: Wed Jan 20 20:16:22 2021 -0500 [ruby/net-http] Replace "iff" with "if and only if" iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. https://github.com/ruby/net-http/commit/ffb87cad32 M lib/net/http.rb commit 47d6c55755f28fa83872fd2a3943770e7f788895 Author: Yusuke Endoh Date: Sat Jan 23 10:11:09 2021 +0900 gc.c: stop overflow check on emscripten build M gc.c commit 1dfddac39364f9f982e73f6d0d17a0e824e6e6bd Author: Yusuke Endoh Date: Sat Jan 23 10:09:06 2021 +0900 configure.ac: Stop -fstack-protector on emscripten build M configure.ac commit 6ef761a5153a03b059fbce6a58bea8d701328b46 Author: Nobuyoshi Nakada Date: Sat Jan 23 09:24:52 2021 +0900 vcs.rb: continue just with warning if failed to fetch notes M tool/lib/vcs.rb commit ccd7b7ab9ac7b2adb427c52f32766d4e0a474de5 Author: Nobuyoshi Nakada Date: Sat Jan 23 09:24:43 2021 +0900 vcs.rb: include commit info in ChangeLog M tool/lib/vcs.rb commit 1def8a60045bad5366740f1cb7a10bd1c85460d5 Author: Gannon McGibbon Date: Fri Jan 22 17:15:38 2021 -0500 [rubygems/rubygems] Replace "iff" with "whether" and "if and only if" iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" or "whether" should suffice. https://github.com/rubygems/rubygems/commit/88318ebc6d M lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb M lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb commit db7d0b89f6eca66cc7eb155c95f9123133da1ffc Author: git Date: Sat Jan 23 06:01:39 2021 +0900 * 2021-01-23 [ci skip] M version.h commit 6e44de752ea4e82d07feaf4816e838017b9d0788 Author: Burdette Lamar Date: Fri Jan 22 15:01:09 2021 -0600 What's Here for String RDoc (#4093) * What's Here for String RDoc M string.c commit 07b4b1b1cbafb73c03d04f25c8f3ae6d70975ed5 Author: Nobuyoshi Nakada Date: Fri Jan 22 23:41:52 2021 +0900 Support coroutine on universal binary M configure.ac A coroutine/universal/Context.S A coroutine/universal/Context.h M template/Makefile.in commit e34eb58ac71ddac2d90315b35adfb2c0bf880369 Author: Nobuyoshi Nakada Date: Fri Jan 22 23:40:32 2021 +0900 Keep ARCH_OPTION for arm64 M tool/m4/ruby_default_arch.m4 M tool/m4/ruby_universal_arch.m4 commit f1c36f2e6b0cd24dbcc9faf81a2ab88040eded2c Author: Nobuyoshi Nakada Date: Fri Jan 22 23:21:25 2021 +0900 Added include guards to coroutine headers M coroutine/Stack.h M coroutine/amd64/Context.h M coroutine/arm32/Context.h M coroutine/arm64/Context.h M coroutine/copy/Context.h M coroutine/ppc64le/Context.h M coroutine/ucontext/Context.h M coroutine/win32/Context.h M coroutine/win64/Context.h M coroutine/x86/Context.h commit c3244a3574da8ddc35523ef1b882dd2aadfc2818 Author: Nobuyoshi Nakada Date: Fri Jan 22 22:29:17 2021 +0900 Do not set target_alias if unset M configure.ac commit c8121b2e3d85c5dc4219918604c4d301204e6455 Author: Nobuyoshi Nakada Date: Fri Jan 22 18:29:26 2021 +0900 Adjust CPU name as arm64-darwin config.sub replaces arm64 with aarch64. M configure.ac commit 899b9506472de7c292c6a04918243e12cae8c69e Author: Nobuyoshi Nakada Date: Fri Jan 22 18:28:22 2021 +0900 Remove common output directory M common.mk commit e586345b7753e942c2946905c5acdc666fb0d47e Author: Koichi Sasada Date: Fri Jan 22 18:14:36 2021 +0900 check is_incremental_marking() again is_incremental_marking() can be changed after checking the flag without locking, especially on `GC.stress = true`. M gc.c commit a1bb110b5614e676ba8ac3f24f7bfde9c82ea4f9 Author: Kenta Murata Date: Fri Jan 15 06:57:30 2021 +0900 [ruby/bigdecimal] [Doc] Fix the comment of BigDecimal_div2 [ci skip] https://github.com/ruby/bigdecimal/commit/a109d0984f M ext/bigdecimal/bigdecimal.c commit 887a1bfbbc336cf4292d5489e7a7a234ad93478e Author: Kenta Murata Date: Sat Jan 9 17:31:23 2021 +0900 [ruby/bigdecimal] Stop using GetVpValue in rb_big_convert_to_BigDecimal https://github.com/ruby/bigdecimal/commit/034fd2b25e M ext/bigdecimal/bigdecimal.c commit fff1edf23ba28267bf57097c269f7fa87530e3fa Author: Koichi Sasada Date: Fri Jan 22 04:38:50 2021 +0900 fix Ractor.yield(obj, move: true) Ractor.yield(obj, move: true) and Ractor.select(..., yield_value: obj, move: true) tried to yield a value with move semantices, but if the trial is faild, the obj should not become a moved object. To keep this rule, `wait_moving` wait status is introduced. New yield/take process: (1) If a ractor tried to yield (move:true), make taking racotr's wait status `wait_moving` and make a moved object by `ractor_move(obj)` and wakeup taking ractor. (2) If a ractor tried to take a message from a ractor waiting fo yielding (move:true), wakeup the ractor and wait for (1). M bootstraptest/test_ractor.rb M ractor.c M ractor_core.h commit d0d6227a0da5925acf946a09191f172daf53baf2 Author: Koichi Sasada Date: Fri Jan 22 02:51:53 2021 +0900 alen should be actions number on ractor_select() alen was number of rs, but it should be actions number (taking ractors + receiving + yielding). M ractor.c commit fb33ec01193dbe9b8dcd86589df3e52396bac129 Author: aycabta Date: Wed Jan 20 16:11:32 2021 +0900 [ruby/irb] Delete a doodle-level memo comment... https://github.com/ruby/irb/commit/fc3e1d9e0c M lib/irb/ruby-lex.rb commit 32b7dcfb56a417c1d1c354102351fc1825d653bf Author: Aaron Patterson Date: Thu Jan 21 11:19:44 2021 -0800 Fix more assumptions about the read barrier This is a continuation of 0130e17a410d60a10e7041ce98748b8de6946971. We need to always use the read barrier M gc.c commit 871b4612b07c37a853240228779dc16a64a51227 Author: Gannon McGibbon Date: Wed Jan 20 17:52:38 2021 -0500 [ruby/matrix] Replace "iff" with "whether" [doc] iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "whether" when describing return values should suffice. M lib/matrix.rb commit e34f51fe609d6be48b655695dd8c15e17694242e Author: Felix Wolfsteller Date: Mon Dec 21 18:28:55 2020 +0100 [ruby/matrix] Add `Matrix#rotate_entries` [#19] Co-authored-by: Marc-André Lafortune M lib/matrix.rb M test/matrix/test_matrix.rb commit 0130e17a410d60a10e7041ce98748b8de6946971 Author: Aaron Patterson Date: Thu Jan 21 09:52:56 2021 -0800 Always enabled read barrier even on GC.compact Some objects can survive the GC before compaction, but get collected in the second compaction. This means we could have objects reference T_MOVED during "free" in the second, compacting GC. If that is the case, we need to invalidate those "moved" addresses. Invalidation is done via read barrier, so we need to make sure the read barrier is active even during `GC.compact`. This also means we don't actually need to do one GC before compaction, we can just do the compaction and GC in one step. M gc.c commit a3efbda7128ef20b55505b32d1608ea48f80af4a Author: git Date: Fri Jan 22 02:49:39 2021 +0900 * 2021-01-22 [ci skip] M version.h commit 03d1850bfaa1c279fe5cc79f4bb2128f50c5b9e5 Author: Koichi Sasada Date: Fri Jan 22 02:48:31 2021 +0900 use ractor_wakeup() Use ractor_wakeup() for same code. M ractor.c commit d961f14df3629f933613b062034deea0346de1cd Author: Nobuyoshi Nakada Date: Fri Jan 15 10:54:42 2021 +0900 [ruby/net-http] RubyVM::MJIT is deprecated, prefer RubyVM::JIT now https://github.com/ruby/net-http/commit/abc6ea1877 M test/net/http/test_httpresponse.rb commit 724c289b5c68aa9890b381c99bd365986a5bd6bf Author: Takashi Kokubun Date: Wed Jan 20 22:29:13 2021 -0800 [ruby/erb] Version 2.2.2 https://github.com/ruby/erb/commit/3d84ea83bc M lib/erb/version.rb commit b12bd451af693259fc1f22c398e1065029acb098 Author: Takashi Kokubun Date: Wed Jan 20 22:24:02 2021 -0800 [ruby/erb] Let ERB.version just return a version and deprecate ERB::Revision. `'$Date:: $'` has not been working since Git migration from SVN. I'm sorry. Because it has been already broken, I'd like to take this opportunity to make `ERB.version` compatible with `Gem::Version.new`. https://github.com/ruby/erb/commit/2b4182eb10 M lib/erb.rb commit f766ba54a9e25239ecc28a623c95e85bb6ac45ea Author: Takashi Kokubun Date: Wed Jan 20 22:02:24 2021 -0800 Update NEWS.md about deprecation M NEWS.md commit e0d92d5e5d665132b77b450a1432e682a6c45a5c Author: Takashi Kokubun Date: Wed Jan 20 21:49:50 2021 -0800 [ruby/erb] Version 2.2.1 https://github.com/ruby/erb/commit/c8aa019c26 M lib/erb/version.rb commit 3e8ca51b3b4aa8c185771f44f5589423a9d96f97 Author: Takashi Kokubun Date: Wed Jan 20 21:45:34 2021 -0800 Fix the relative path for Ruby core M lib/erb.gemspec commit 5f7df72b56ebb741dcc1935897a79f42bc077bcf Author: Takashi Kokubun Date: Wed Jan 20 21:43:04 2021 -0800 [ruby/erb] Unify ERB version definitions https://github.com/ruby/erb/commit/5df06b8473 M lib/erb.gemspec M lib/erb.rb A lib/erb/version.rb commit 084662dc9f1629995777a11cde72faa98ccb0efc Author: Takashi Kokubun Date: Wed Jan 20 21:36:22 2021 -0800 [ruby/erb] Make styles consistent throught the project https://github.com/ruby/erb/commit/c68c9470b0 M lib/erb.gemspec commit 922989fa0f1bf1e13b2c9bf1c8d6ad9459c798f6 Author: Takashi Kokubun Date: Wed Jan 20 20:45:55 2021 -0800 [ruby/erb] Warn safe_level and later args even without -w because, when Ruby 3.1 is released, Ruby 2.5, the last version with the old method signature, will have been EOL. Therefore we can safely warn the old interface from Ruby 3.1. https://github.com/ruby/erb/commit/c3a753f49f M lib/erb.rb M test/erb/test_erb.rb commit 47b43807a86bd29e4e275aaf23228cd78adf696e Author: Takashi Kokubun Date: Wed Jan 20 20:11:04 2021 -0800 [ruby/erb] Make sure erb.rb in this repository is tested https://github.com/ruby/erb/commit/012faba2e5 M test/erb/test_erb_command.rb commit 6ca3d1af3302f722aed530764d07c1cc83e95ecf Author: Jean Boussier Date: Fri Jan 15 18:18:58 2021 +0100 objspace_dump.c: Handle allocation path and line missing M ext/objspace/objspace_dump.c commit 383685b52b086643f7d6e65a4d74fda90d3a64af Author: BurdetteLamar Date: Tue Jan 19 06:52:09 2021 -0600 Explicit references to Enumerable M array.c M hash.c commit 709bed2afaee50e2ce803f87bf1ee8291bea41e3 Author: git Date: Thu Jan 21 01:03:52 2021 +0900 * 2021-01-21 [ci skip] M version.h commit 3b631d0f73117af8b69b91b2ded557d07872c464 Author: Nobuyoshi Nakada Date: Thu Jan 21 00:55:47 2021 +0900 Support `i` command in log-fix M tool/lib/vcs.rb commit 565aeb81e0886c835888a425e5d05ed99fb03238 Author: Nobuyoshi Nakada Date: Wed Jan 20 15:05:30 2021 +0900 Skip freezing check on setting temporary class path [Bug #17563] Co-authored-by: ryannevell (Ryan Nevell) M test/ruby/test_class.rb M variable.c commit f4a556f4f1bf82f944ef576fdb3acd755e567368 Author: Takashi Kokubun Date: Wed Jan 20 01:10:00 2021 -0800 [ruby/irb] Remove pp-specific stub from TestColor because it was for TestColorPrinter https://github.com/ruby/irb/commit/7569206fd4 M test/irb/test_color.rb commit cea6814c2cfae8ab8097ee90170baadc95dafcae Author: Takashi Kokubun Date: Wed Jan 20 01:07:29 2021 -0800 [ruby/irb] Undefine unused constants https://github.com/ruby/irb/commit/eea9c16804 M test/irb/test_color_printer.rb commit 328df00712650720e9e31a52c76b1f7fa2f8be7f Author: Takashi Kokubun Date: Wed Jan 20 01:00:32 2021 -0800 [ruby/irb] Split test files for IRB::Color and IRB::ColorPrinter https://github.com/ruby/irb/commit/d95e8daab3 M test/irb/test_color.rb A test/irb/test_color_printer.rb commit 10d12afa4181e4c9052b6df29926c99de6dd2409 Author: Takashi Kokubun Date: Wed Jan 20 00:46:32 2021 -0800 [ruby/erb] Prefer __dir__ to reduce ../ https://github.com/ruby/erb/commit/cb59f11ec8 M test/erb/test_erb_command.rb commit 718890aa04579e7b4a96517e7d44b99ee31edfb4 Author: Takashi Kokubun Date: Tue Jan 19 22:29:08 2021 -0800 Pend erb command tests for Ruby 2.5 for now M test/erb/test_erb_command.rb commit 9e0075a3d902aa5236bbfdc0ad0d3028a55dc17e Author: Gannon McGibbon Date: Wed Jan 6 12:20:03 2021 -0500 Replace "iff" with "if and only if" iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. M include/ruby/assert.h M include/ruby/internal/attr/const.h M include/ruby/internal/attr/constexpr.h M include/ruby/internal/attr/pure.h M lib/mkmf.rb M signal.c M spec/ruby/core/gc/disable_spec.rb M spec/ruby/core/gc/enable_spec.rb M spec/ruby/core/hash/shared/eql.rb M spec/ruby/core/integer/allbits_spec.rb M spec/ruby/core/integer/anybits_spec.rb M spec/ruby/core/integer/nobits_spec.rb M st.c M thread.c M variable.c M vm_trace.c M vsnprintf.c commit a8dc5156e183489c5121fb1759bda5d9406d9175 Author: git Date: Wed Jan 20 01:58:26 2021 +0900 * 2021-01-20 [ci skip] M version.h commit 1f87725cae8794e02dde0a662e591ea337f427fa Author: Takashi Kokubun Date: Tue Jan 19 08:56:51 2021 -0800 [ruby/irb] Rescue Errno::EINVAL on IRB pp http://rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20210119T070008Z.log.html.gz is caused by: /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `winsize': Invalid argument - (Errno::EINVAL) from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline/ansi.rb:157:in `get_screen_size' from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/reline.rb:168:in `get_screen_size' from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/forwardable.rb:238:in `get_screen_size' from /export/home/chkbuild/chkbuild-gcc/tmp/build/20210119T150010Z/ruby/lib/irb/color_printer.rb:7:in `pp' from -e:1:in `
' https://github.com/ruby/irb/commit/1719514598 M lib/irb/color_printer.rb commit eeacdcb9a073c7d8ad703e0dc9faf229a5ebbe3c Author: Nobuyoshi Nakada Date: Tue Jan 19 16:40:46 2021 +0900 Fixed premature return After setting ruby2_keywords for bmethod, the rest of arguments had been ignored. [Bug #17558] M test/ruby/test_keyword.rb M vm_method.c commit e6af81bde166f8714a835d768363fa8de6426885 Author: Takashi Kokubun Date: Tue Jan 19 00:14:12 2021 -0800 [ruby/irb] Stub a screen size for test_context http://ci.rvm.jp/logfiles/brlog.trunk-random1.20210119-074232 https://github.com/ruby/irb/commit/ea87592d4a M test/irb/test_color.rb M test/irb/test_context.rb commit 4da4ad69bb7aa3dd011786834c6584bf88e0282a Author: Takashi Kokubun Date: Mon Jan 18 23:48:33 2021 -0800 [ruby/irb] Support GitHub Actions https://github.com/ruby/irb/commit/8e9e6c4037 M test/irb/test_context.rb commit b2159f7c38262f5d0746a3cfb9b33ea9d62ed813 Author: Takashi Kokubun Date: Mon Jan 18 23:35:31 2021 -0800 [ruby/irb] Stub a screen size for tests https://github.com/ruby/irb/commit/6663057083 M test/irb/test_color.rb commit 82386f21b91383ac8074561ee563cb407fee16f9 Author: Takashi Kokubun Date: Mon Jan 18 22:28:54 2021 -0800 [ruby/irb] Use a real screen size for pp by default https://github.com/ruby/irb/commit/9b9300dec2 M lib/irb/color_printer.rb commit a7d933e5021d1028d64a055b6dcf8631ea6a52c3 Author: Koichi Sasada Date: Tue Jan 19 02:47:04 2021 +0900 fix conditon of vm_cc_invalidated_p() vm_cc_invalidated_p() returns false when the cme is *NOT* invalidated. M vm_callinfo.h commit 4886535ab2671fb6e7edb438c95c2c9b03ffba29 Author: Takashi Kokubun Date: Mon Jan 18 20:44:47 2021 -0800 Avoid suppressing unrelated warnings M test/ruby/test_jit.rb commit f12320cd57982800d3a10a32bd357c9da239a53b Author: Yusuke Endoh Date: Tue Jan 19 13:40:39 2021 +0900 test/ruby/test_jit.rb: Avoid a warning http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_jit.rb:781: warning: -e:5: warning: possibly useless use of -@ in void context ``` M test/ruby/test_jit.rb commit ff8c92359a126da43b11792184f2327f6a981efe Author: Yusuke Endoh Date: Tue Jan 19 13:34:07 2021 +0900 test/ruby/test_pattern_matching.rb: Avoid a warning http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20210119T033003Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20210119T033003Z/ruby/test/ruby/test_pattern_matching.rb:798: warning: assigned but unused variable - x ``` M test/ruby/test_pattern_matching.rb commit 5741236a0c7900a1fe318dd5eb6094ef6e14fee1 Author: Hiroshi SHIBATA Date: Tue Jan 19 11:51:38 2021 +0900 Use real-case version number for the result of `gem list` M lib/ruby2_keywords.gemspec commit 1b89b99941548fdb65305dd9a412082e7fdba45a Author: Vladimir Dementyev Date: Tue Jan 19 00:00:52 2021 +0300 Mark pattern labels as unremoveable Peephole optimization doesn't play well with find pattern at least. The only case when a pattern matching could have unreachable patterns is when we have lasgn/dasgn node, which shouldn't happen in real-life. Fixes https://bugs.ruby-lang.org/issues/17534 M compile.c M test/ruby/test_pattern_matching.rb commit 9d1475c621af671494769dde5a09db4c86071474 Author: Takashi Kokubun Date: Mon Jan 18 14:52:07 2021 -0800 Fix JIT link failures forgotten in https://github.com/ruby/ruby/pull/4018 M numeric.c M numeric.rb M test/ruby/test_jit.rb commit e812b362059706d0fb4ce1ec4f8941383dda6166 Author: Alan Wu Date: Mon Jan 18 14:02:19 2021 -0500 Fix typo: invaldate -> invalidate M vm_method.c commit 21d2463fbc5094aa2ad92a21c910dccdc928b920 Author: Nobuyoshi Nakada Date: Tue Jan 19 00:12:46 2021 +0900 Added empty ruby2_keywords gem to suffice dependencies A lib/ruby2_keywords.gemspec commit fad9922d846bd4f0ccf2fc8305ad18fcfe5e6853 Author: Marc-Andre Lafortune Date: Mon Jan 18 11:05:05 2021 -0500 Revert "[Document][Array] Add missing call-seq for Array#append" This reverts commit ac1a4bccbda4358436a7a907a7f09d047f562740. See https://github.com/ruby/ruby/pull/4088 M array.c commit 92e288420c71e331f734d3da18f2d6e7de5b0d33 Author: git Date: Tue Jan 19 00:14:22 2021 +0900 * 2021-01-19 [ci skip] M version.h commit 5cf6229ee9826a4c954e994013bc0d47a3ecb529 Author: Takashi Kokubun Date: Mon Jan 18 07:14:02 2021 -0800 Skip updating exts in also test-spec to reduce the turnaround time (#4089) Co-authored-by: Nobuyoshi Nakada Partially reversing a4f3e1762aa195969ace000ac0dc8d300dda85cb like 21df4dce5308bb0e04e09dc654cdc92af000caf6. We usually run them through make check which has the dependency, and test-all and test-spec without the dependency are useful for running only individual tests. M common.mk commit ac1a4bccbda4358436a7a907a7f09d047f562740 Author: Juanito Fatas Date: Mon Jan 18 21:48:17 2021 +0900 [Document][Array] Add missing call-seq for Array#append M array.c commit dff74ee6db63f4c91bef1beeba52776afe9d5a48 Author: Nobuyoshi Nakada Date: Mon Jan 18 21:15:47 2021 +0900 Revert "Autoconf 2.70 no longer has -o option" This reverts commit 331f0bc1cb7965bec9aed5d7278360c2e9fc8946. It seems a mistake. M template/Makefile.in commit bb5747e18a0fe47e9dce12445c4cca020f501d2e Author: Hiroshi SHIBATA Date: Mon Dec 28 16:29:45 2020 +0900 Added ruby2_keywords for Ruby 2.5 and 2.6 M lib/drb/drb.gemspec commit 331f0bc1cb7965bec9aed5d7278360c2e9fc8946 Author: Nobuyoshi Nakada Date: Sun Dec 13 19:24:14 2020 +0900 Autoconf 2.70 no longer has -o option M template/Makefile.in commit 48bb0329eb325bc5b77c222f45b8dc97a208d986 Author: Nobuyoshi Nakada Date: Sun Dec 13 00:03:06 2020 +0900 Revert AC_PROG_CC_C99 for -std=gnu99 option to gcc 4.8 M configure.ac commit c32375883a696fcf8e9e99875f1339ee5474a255 Author: Nobuyoshi Nakada Date: Sat Dec 12 22:55:09 2020 +0900 Update for autoconf 2.70 M configure.ac M tool/m4/ruby_check_builtin_setjmp.m4 M tool/m4/ruby_check_printf_prefix.m4 M tool/m4/ruby_check_setjmp.m4 M tool/m4/ruby_check_sysconf.m4 M tool/m4/ruby_cppoutfile.m4 M tool/m4/ruby_decl_attribute.m4 M tool/m4/ruby_dtrace_available.m4 M tool/m4/ruby_dtrace_postprocess.m4 M tool/m4/ruby_mingw32.m4 M tool/m4/ruby_stack_grow_direction.m4 M tool/m4/ruby_try_cflags.m4 M tool/m4/ruby_try_cxxflags.m4 M tool/m4/ruby_try_ldflags.m4 commit 414438688fd4a90d02ab7f8e2592356e1a542161 Author: Nobuyoshi Nakada Date: Sat Dec 12 22:54:50 2020 +0900 ruby_type_attribute is not used for now M aclocal.m4 commit c3d6bac325dcc4868977b15503641afa48092119 Author: Nobuyoshi Nakada Date: Mon Jan 18 15:55:10 2021 +0900 Upcoming Struct#new behavior M spec/ruby/core/struct/new_spec.rb commit a3851d97edec4979b886428136b1c62089d57d17 Author: Nobuyoshi Nakada Date: Mon Jan 18 15:33:10 2021 +0900 Removed unused AC_CHECKING M configure.ac commit 6abf393e8f372464322dc0a8c2bda80f8b389acd Author: Kazuhiro NISHIYAMA Date: Mon Jan 18 12:41:58 2021 +0900 OpenBSD has getentropy, but no sys/random.h https://man.openbsd.org/getentropy Try to fix https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20210118T023008Z.fail.html.gz ``` compiling random.c random.c:53:11: fatal error: 'sys/random.h' file not found # include ^~~~~~~~~~~~~~ 1 error generated. ``` M configure.ac M random.c commit bf640bbf8cef7f4575e782e35c4588cb138890b6 Author: git Date: Mon Jan 18 02:18:37 2021 +0900 * 2021-01-18 [ci skip] M version.h commit 9f7876ab0f2a63a26002d899e8158db45935ac65 Author: aycabta Date: Mon Jan 18 01:57:49 2021 +0900 [ruby/irb] Version 1.3.2 https://github.com/ruby/irb/commit/a7699026cc M lib/irb/version.rb commit 166f33d0d1e04c0c09f2c95c7bde0e262672a7a5 Author: Nobuhiro IMAI Date: Sat Jan 16 07:44:25 2021 +0900 [ruby/irb] skip a failling test on TruffleRuby * due to the difference of backtrace pointed out by @aycabta https://github.com/ruby/irb/commit/5e00a0ae61 M test/irb/test_context.rb commit d290a02bd7035eb186eb5c275af4e1ddc20ad47f Author: Nobuhiro IMAI Date: Fri Jan 15 22:00:38 2021 +0900 [ruby/irb] handle repeated exception separately https://github.com/ruby/irb/commit/fcf6b34bc5 M lib/irb.rb M test/irb/test_context.rb commit 3f0b4665df786990799c4cbac4de3a3cafb5e6bc Author: Nobuhiro IMAI Date: Wed Jan 13 23:36:10 2021 +0900 [ruby/irb] handle `__ENCODING__` as a keyword as well https://github.com/ruby/irb/commit/a6a33d908f M lib/irb/color.rb M test/irb/test_color.rb commit edafde684467ae45be5dd52c24ebb6ce25ef16f5 Author: aycabta Date: Mon Jan 18 01:58:06 2021 +0900 [ruby/irb] [ruby/irb] [ruby/reline] Version 0.2.2 https://github.com/ruby/reline/commit/dfb710946f https://github.com/ruby/irb/commit/1a1cdf9628 https://github.com/ruby/irb/commit/fe99faf8bd M lib/reline/version.rb commit e1449ae74f09171542431875005b38c82711a253 Author: aycabta Date: Thu Jan 14 09:16:49 2021 +0900 [ruby/reline] Reline::Windows.erase_after_cursor erases attributes too https://github.com/ruby/reline/commit/68b961dfc7 M lib/reline/windows.rb commit 05df7e0d4a09eaacb91388f32ef557d1d5fbe082 Author: aycabta Date: Thu Jan 14 08:56:58 2021 +0900 [ruby/reline] Support for change in Windows-specific behavior at eol The behavior of automatically moving the cursor to the next line when displaying a char at the eol on Windows suddenly disappeared. https://github.com/ruby/reline/commit/cad4de6ee8 M lib/reline/line_editor.rb commit f3156e457d75bdcb76793e32ed5457e4157e4cf7 Author: aycabta Date: Thu Jan 14 08:34:30 2021 +0900 [ruby/reline] Windows needs more times to wait rendering https://github.com/ruby/reline/commit/53ff2b09c7 M test/reline/yamatanooroti/test_rendering.rb commit 9279d3f2556435190a74f3bdaa5ee887299366b1 Author: aycabta Date: Thu Jan 14 06:22:56 2021 +0900 [ruby/reline] Tests with yamatanooroti don't need chdir Because of chdir, log files ware created in temporary directries on Windows. https://github.com/ruby/reline/commit/200b469a68 M test/reline/yamatanooroti/test_rendering.rb commit 1aba1a510304410a43bd51506b403534349f9341 Author: aycabta Date: Thu Jan 14 06:21:54 2021 +0900 [ruby/reline] Initialize a variable just in case https://github.com/ruby/reline/commit/29b10f6e98 M lib/reline/line_editor.rb commit f96eaf54a2f0662749c9d43bbbe861d905b6492f Author: Nobuyoshi Nakada Date: Sun Jan 17 21:55:48 2021 +0900 Use the dedicated assertion M test/ruby/test_struct.rb commit 54c91185c9273b9699693910fa95383c86f2af22 Author: David CARLIER Date: Sat Jan 16 12:47:33 2021 +0000 random generator update for Mac proposal using getentropy for seeding, reading 256 bytes at a time to avoid the EIO errno since this is the maximum. M configure.ac M random.c commit 8d099aa040427aede04e42c3ec9380afd431ffe3 Author: Takashi Kokubun Date: Sun Jan 17 01:35:54 2021 -0800 Warn Struct#initialize with only keyword args (#4070) * Warn Struct#initialize with only keyword args A part of [Feature #16806] * Do not warn if `keyword_init: false` is explicitly specified * Add a NEWS entry * s/in/from/ * Make sure all fields are initialized M NEWS.md M struct.c M test/ruby/test_struct.rb commit e033c9d7db02a4e8d2973364ecb47744b63aecd3 Author: Nobuyoshi Nakada Date: Sun Jan 17 18:28:20 2021 +0900 Include missing AvailabilityMacros.h M random.c commit 2bd8098c6d14b485c90a8e49355991e5220989e8 Author: Nobuyoshi Nakada Date: Sun Jan 17 18:07:33 2021 +0900 Suppress the warning for the invalid method_explorer case M vm_insnhelper.c commit b84b253a69537a14e4854e17b6d94ae75c2af050 Author: manga_osyo Date: Sun Jan 17 04:41:01 2021 +0900 Fix Ripper with heredoc. M ext/ripper/lib/ripper/lexer.rb M test/ripper/test_lexer.rb commit 562b97e2f0abed2eb09db00e91e966e3fb3a4a09 Author: Nobuyoshi Nakada Date: Sun Jan 17 11:52:03 2021 +0900 [ruby/fileutils] Removed code for dead versions https://github.com/ruby/fileutils/commit/1f707d8cc6 M lib/fileutils.rb commit 905f58dc874a6d4b89da4212412d1f1ae133e985 Author: Nobuyoshi Nakada Date: Sun Jan 17 11:48:25 2021 +0900 [ruby/fileutils] Drop support for dead old versions https://github.com/ruby/fileutils/commit/4526148c67 M lib/fileutils.gemspec commit 19902e2e0afb5ee52655ca3eb3eea0d2ba2bcfdc Author: Hiroshi SHIBATA Date: Sun Jan 17 08:14:00 2021 +0900 Update the maintainer of net-smtp M doc/maintainers.rdoc commit fd42d334cf231bf10f46b2844724ad06894955bc Author: git Date: Sun Jan 17 06:09:01 2021 +0900 * 2021-01-17 [ci skip] M version.h commit a4a6cb036e4b374a9616cf38f4d8d74ac4478d8d Author: Sutou Kouhei Date: Sun Jan 17 06:08:21 2021 +0900 Remove samples for test-unit They are no longer needed. D sample/testunit/adder.rb D sample/testunit/subtracter.rb D sample/testunit/tc_adder.rb D sample/testunit/tc_subtracter.rb D sample/testunit/ts_examples.rb commit f2767cf09174bfe5340c9269a2fa53f226f97ba8 Author: Sutou Kouhei Date: Sun Jan 17 06:07:54 2021 +0900 Move rss samples to ruby/rss D sample/rss/blend.rb D sample/rss/convert.rb D sample/rss/list_description.rb D sample/rss/re_read.rb D sample/rss/rss_recent.rb commit 35a047301b545dde2836948a7b1d4a39131f294e Author: Nobuyoshi Nakada Date: Sat Jan 16 14:39:44 2021 +0900 [ruby/io-console] Rubygems 3.2 supports `--platform` option https://github.com/ruby/io-console/commit/c8046fde84 M ext/io/console/io-console.gemspec commit 6ab5504fe5d952783ab124ac52a3295d0ae3a87d Author: Nobuyoshi Nakada Date: Sat Jan 11 11:26:05 2020 +0900 [ruby/io-console] Moved JRuby version files into particular path https://github.com/ruby/io-console/commit/b0691d2c20 M ext/io/console/io-console.gemspec commit 92da224d228be6a38b5e86ea43290e6e5a33df45 Author: Nobuyoshi Nakada Date: Fri Jan 10 17:19:42 2020 +0900 [ruby/io-console] Delegate to JRuby version Add `--platform` option tentatively. https://github.com/ruby/io-console/commit/3bf1a7b753 M ext/io/console/io-console.gemspec commit c143a2f9476073e3ced746009b10c81e68ec22bb Author: Nobuyoshi Nakada Date: Sat Jan 16 15:05:46 2021 +0900 [ruby/io-console] bump up to 0.5.7 https://github.com/ruby/io-console/commit/f55d7ebff6 M ext/io/console/io-console.gemspec commit 0ed71b37fa9af134fdd5a7fd1cebd171eba83541 Author: Aaron Patterson Date: Fri Jan 15 14:14:43 2021 -0800 Don't try to clear cache on garbage objects Method cache can be cleared during lazy sweeping. An object that will be collected during lazy sweep *should not* have it's method cache cleared. Soon-to-be-collected objects can be in an inconsistent state and this can lead to a crash. This patch just leaves early if the object is going to be collected. Fixes [Bug #17536] Co-Authored-By: John Hawthorn Co-Authored-By: Alan Wu M vm_method.c commit e7f1afbccd3bd7026b7e4f2301beb149ea14a78c Author: Burdette Lamar Date: Fri Jan 15 14:25:56 2021 -0600 Additions to method_documentation.rdoc (#4065) * Additions to method_documentation.rdoc M doc/method_documentation.rdoc commit a2941d71342a7401763c77b1c5ba0eace4461a14 Author: Burdette Lamar Date: Fri Jan 15 12:08:01 2021 -0600 Add What's Here to Array RDoc (#4062) * Add What's Here to Array RDoc M array.c commit 4c4f873fc79dc0dc31ddf125d9a0e483ec1bfed1 Author: git Date: Sat Jan 16 00:15:06 2021 +0900 * 2021-01-16 [ci skip] M version.h commit b1306445842eee53e23fd932a85d252d183e63b5 Author: Kenta Murata Date: Fri Jan 15 10:44:45 2021 +0900 [ruby/bigdecimal] Fix for the coerce cases in divide and DoDivmod https://github.com/ruby/bigdecimal/commit/1cb92487f7 M ext/bigdecimal/bigdecimal.c M test/bigdecimal/test_bigdecimal.rb commit 9d0c5e2754c72936d604405152aebc149675a2e6 Author: Kenta Murata Date: Fri Jan 15 10:04:48 2021 +0900 [ruby/bigdecimal] Use pre-allocated special values in BigDecimal_DoDivmod https://github.com/ruby/bigdecimal/commit/d2746121cf M ext/bigdecimal/bigdecimal.c commit f95f85b215d85dfd2c439d1a366bb6419274c7ac Author: Kenta Murata Date: Fri Jan 15 10:03:56 2021 +0900 [ruby/bigdecimal] Use new conversion functions in BigDecimal_DoDivmod https://github.com/ruby/bigdecimal/commit/68c20200d5 M ext/bigdecimal/bigdecimal.c commit 5307fab6619e26e05d791d68c35ceef2e923e8d5 Author: Nobuyoshi Nakada Date: Fri Jan 15 18:17:48 2021 +0900 [ruby/time] Use Time#strftime to format https://github.com/ruby/time/commit/6b8cc4799e M lib/time.rb commit 0d57d59933fb7b826bd0e20d84ed7f6d6636ac90 Author: Nobuyoshi Nakada Date: Thu Jan 14 00:14:11 2021 +0900 Keep encoding in the result of File.expand_path [Bug #17517] M file.c M test/ruby/test_file_exhaustive.rb commit e09094546a19d6b62b3e21d0b061b103cf21f760 Author: Jeremy Evans Date: Thu Jan 14 11:59:25 2021 -0800 Make Module#prepend affect ancestor chain even if argument already included in receiver Previously, if a class included a module and then prepended the same module, the prepend had no effect. This changes the behavior so that the prepend has an effect unless the module is already prepended the receiver. While here, rename the origin_seen variable in include_modules_at, since it is misleading. The variable tracks whether c has been seen, not whether the origin of klass has been. Fixes [Bug #17423] M NEWS.md M class.c M test/ruby/test_module.rb commit 1cb0c5ac49e180cca060e3a17eba6c561f5330c2 Author: Nobuyoshi Nakada Date: Fri Jan 15 12:37:11 2021 +0900 [ruby/time] No document for private methods https://github.com/ruby/time/commit/44a55daa70 M lib/time.rb commit 69ea2701aec5ebf76637cc36e30bbe7b94518824 Author: Kazuhiro NISHIYAMA Date: Fri Jan 15 12:29:39 2021 +0900 Sort filenames [ci skip] M .document commit 9c0189582dfa1589b0f4027392f36f3750c39f33 Author: Kazuhiro NISHIYAMA Date: Fri Jan 15 11:48:55 2021 +0900 Add timev.rb to .document M .document commit eb4319beafedc5ea8541d06e0db30309af96eced Author: Nobuyoshi Nakada Date: Fri Jan 15 09:32:35 2021 +0900 extlibs.rb: make patch command selectable [ci skip] Some Windows ports fail an assertion on patch files with LF EOL code. MSys2 patch.exe 2.7.6 seems fine, at least. M tool/extlibs.rb commit 0a039c5fbb247364961e0471582024751bc2be53 Author: Kenta Murata Date: Fri Jan 15 06:19:39 2021 +0900 [ruby/bigdecimal] Use new conversion functions in BigDecimal_divide https://github.com/ruby/bigdecimal/commit/3b55ad1c42 M ext/bigdecimal/bigdecimal.c commit 500fc63cd03aef44df154b7a3762d07967b80e94 Author: Kenta Murata Date: Fri Jan 15 06:00:24 2021 +0900 [ruby/bigdecimal] Reorder the arguments of BigDecimal_divide https://github.com/ruby/bigdecimal/commit/1e03da7076 M ext/bigdecimal/bigdecimal.c commit 48589f34e49ddb1d3b4399a6390dd02a0d5cded7 Author: git Date: Fri Jan 15 02:57:12 2021 +0900 * 2021-01-15 [ci skip] M version.h commit 5e26619660f20272a53c7f839dde36cce034bb35 Author: Aaron Patterson Date: Thu Jan 14 09:55:54 2021 -0800 Fix WB for callinfo The WB for callinfo needs to be executed *after* the reference is written. Otherwise we get a WB miss. M compile.c commit 834b404b9aba6f3dcaa8107632530489239e53d1 Author: Nobuyoshi Nakada Date: Thu Jan 14 21:35:38 2021 +0900 [DOC] Fixed indent [ci skip] M thread_sync.c commit 6bcc4664bdaebbf9b28a762ae63f476a1ec6cfb2 Author: Nobuyoshi Nakada Date: Thu Jan 14 16:15:25 2021 +0900 Return new NODE_LIT As NODE_ZLIST/NODE_LIST are not markable, cannot be reused as NODE_LIT. M parse.y commit bb40c5cbe977de9f36a2a739e94e9b2fd4496b6e Author: Nobuyoshi Nakada Date: Thu Jan 14 16:13:26 2021 +0900 Ensure symbol list node is either NODE_STR or NODE_DSTR M parse.y commit c060bdc2b4ab8eeef5374f4174f5de48ab936d74 Author: Nobuyoshi Nakada Date: Thu Jan 14 15:42:45 2021 +0900 NODE markability should not change by nd_set_type M node.c M node.h commit e1fee7f949cb6719122672fa1081c60984a5339f Author: Takashi Kokubun Date: Wed Jan 13 22:36:45 2021 -0800 Rename RubyVM::MJIT to RubyVM::JIT because the name "MJIT" is an internal code name, it's inconsistent with --jit while they are related to each other, and I want to discourage future JIT implementation-specific (e.g. MJIT-specific) APIs by this rename. [Feature #17490] M NEWS.md M benchmark/lib/benchmark_driver/runner/mjit.rb M benchmark/lib/benchmark_driver/runner/mjit_exec.rb M bootstraptest/runner.rb M spec/ruby/core/io/flush_spec.rb M spec/ruby/core/io/shared/write.rb M template/fake.rb.in M test/-ext-/bug_reporter/test_bug_reporter.rb M test/csv/parse/test_general.rb M test/drb/drbtest.rb M test/lib/jit_support.rb M test/net/ftp/test_ftp.rb M test/net/http/test_httpresponse.rb M test/net/smtp/test_smtp.rb M test/reline/test_within_pipe.rb M test/rinda/test_rinda.rb M test/ruby/test_fiber.rb M test/ruby/test_io.rb M test/ruby/test_jit.rb M test/ruby/test_optimization.rb M test/ruby/test_process.rb M test/ruby/test_rubyoptions.rb R082 test/ruby/test_rubyvm_mjit.rb test/ruby/test_rubyvm_jit.rb M test/ruby/test_settracefunc.rb M test/ruby/test_thread.rb M test/rubygems/test_gem_stream_ui.rb M test/socket/test_socket.rb M tool/lib/minitest/unit.rb M tool/lib/test/unit/core_assertions.rb M tool/test/testunit/test_hideskip.rb M tool/test/testunit/test_parallel.rb M tool/test/webrick/test_httpserver.rb M tool/test/webrick/test_server.rb M vm.c commit 4d13f3e9da6298a1f8154def2e341ecb7c5fe116 Author: Kenta Murata Date: Thu Jan 14 09:26:15 2021 +0900 [ruby/bigdecimal] Explicitly cast size_t to int https://github.com/ruby/bigdecimal/commit/b1f1ed26c9 M ext/bigdecimal/bigdecimal.c commit b4ade73974f7023bff9059737a8ff73fe1c09f40 Author: Kenta Murata Date: Thu Jan 14 09:23:26 2021 +0900 [ruby/bigdecimal] Explicitly cast uint64_t to double https://github.com/ruby/bigdecimal/commit/f0d94e6843 M ext/bigdecimal/bigdecimal.c commit e129be7592cd0551f45f6c6aa2faf88bbe697f66 Author: Kenta Murata Date: Thu Jan 14 09:23:03 2021 +0900 [ruby/bigdecimal] Suppress warning at NO_SANITIZE on gcc https://github.com/ruby/bigdecimal/commit/f6765b8071 M ext/bigdecimal/missing.c commit efcdf68e6443ab70fbff1703b9dabbfc5090df31 Author: Aaron Patterson Date: Wed Jan 13 13:35:11 2021 -0800 Guard callinfo Callinfo was being written in to an array and the GC would not see the reference on the stack. `new_insn_send` creates a new callinfo object, then it calls `new_insn_core`. `new_insn_core` allocates a new INSN linked list item, which can end up calling `xmalloc` which will trigger a GC: https://github.com/ruby/ruby/blob/70cd351c7c71c48ee18d7c01e851a89614086f8f/compile.c#L968-L969 Since the callinfo object isn't on the stack, the GC won't see it, and it can get collected. This patch just refactors `new_insn_send` to keep the object on the stack Co-authored-by: John Hawthorn M compile.c M test/ruby/test_gc.rb commit f4ce78d5c139a8825ee2d09f39aef03ef762dfc6 Author: Koichi Sasada Date: Wed Jan 13 17:33:53 2021 +0900 delete negative cache from the table correctly negative cache entry should be removed from vm->negative_cme_table even if the redefined class has no subclasses. M vm_method.c commit c8b47eb7c97ef130b2c576e9d52e55ff4400bb9f Author: Aaron Patterson Date: Tue Jan 12 14:47:42 2021 -0800 only add the trailing nop if the catch table is not break / next / redo We don't need nop padding when the catch tables are only for break / next / redo, so lets avoid them. This eliminates nop padding in many lambdas. Co-authored-by: Alan Wu M compile.c commit 589a8026f029611dafb316fe750b54e54304239a Author: Aaron Patterson Date: Wed Jan 13 13:46:03 2021 -0800 fix ASAN errors M gc.c commit 70cd351c7c71c48ee18d7c01e851a89614086f8f Author: git Date: Thu Jan 14 00:18:48 2021 +0900 * 2021-01-14 [ci skip] M version.h commit 7f3c5e65c658ba164bbf0ca7df18ac5b0c8be573 Author: Nobuyoshi Nakada Date: Thu Jan 14 00:17:23 2021 +0900 mkmf.rb: remove exts.mk at distclean M lib/mkmf.rb commit 521ad9a13aef1e1dae4eaff70d3e6b2e358aa095 Author: Nobuyoshi Nakada Date: Mon Jan 4 10:36:38 2021 +0900 Moved Fiber methods into core [Feature #17407] M cont.c D ext/fiber/depend D ext/fiber/extconf.rb D ext/fiber/fiber.c commit 0036648a420f945624898568bb82bc5f83195d12 Author: Nobuyoshi Nakada Date: Wed Jan 13 21:15:13 2021 +0900 Capture to reserved name variables if already defined [Bug #17533] M parse.y M test/ruby/test_regexp.rb commit e9b93d67baf8a6add548b7e5c702665100e4b3c9 Author: Nobuyoshi Nakada Date: Wed Jan 13 18:25:07 2021 +0900 Positional and keyword arguments for timezone are exclusive [Feature #17485] M test/ruby/test_time_tz.rb M timev.rb commit 4b15caee8fe7a5aaa52ed5a3ab2a3517c9206fd7 Author: Nobuyoshi Nakada Date: Mon Dec 28 21:13:41 2020 +0900 Added `in:` timezone option to `Time.new` [Feature #17485] M test/ruby/test_time_tz.rb M time.c M timev.rb commit 6f6dfdcc685077f0f85dcdd63843ecfc0f6fbfb6 Author: Nobuyoshi Nakada Date: Sat Jan 9 16:52:51 2021 +0900 Make warning values consistent [Bug #17523] They should be affected, as well as `$VERBOSE`, by `-w`/`-W` options, not only in the main script but in scripts loaded by `-r` option too. M ruby.c M test/ruby/test_rubyoptions.rb commit 85b5d4c8bf4cdcba4f1af65f2bc0c8ac716cb795 Author: Nobuyoshi Nakada Date: Wed Jan 13 16:49:05 2021 +0900 Revert "[Bug #11213] let defined?(super) call respond_to_missing?" This reverts commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 for now, due to [Bug #17509], the breakage in the case `super` is called in `respond_to?`. M internal/vm.h M test/ruby/test_defined.rb M vm_insnhelper.c M vm_method.c commit 9441f3f97087a4325ee80911859d37da41fa5050 Author: Nobuyoshi Nakada Date: Mon Jan 4 00:07:10 2021 +0900 Allow UTC offset without colons per ISO-8601 [Bug #17504] M test/ruby/test_time.rb M time.c commit 30a35420e6afac57db77513d7b6be7cf6a43dbbe Author: Marc-Andre Lafortune Date: Tue Jan 12 18:32:23 2021 -0500 [ruby/ostruct] Bump version M lib/ostruct.rb commit 65787f18b945aa67de823cef051f5ee880db39c2 Author: Marc-Andre Lafortune Date: Tue Jan 12 23:30:47 2021 -0500 Typo fixes [doc] M doc/ractor.md commit f48edc28dda3df962f289fd373c06a8dfeda3dc0 Author: Marc-Andre Lafortune Date: Tue Jan 12 17:20:50 2021 -0500 Fix method protection for modules in the ancestry chain. [Fixes ruby/ostruct#23] M lib/ostruct.rb M test/ostruct/test_ostruct.rb commit 75212f2fc6571bd9cab0381fbd0bde81e1b3159c Author: Adam Pogwizd Date: Tue Jan 12 22:28:34 2021 -0600 Update wording in ractor.md (#4056) [doc] M doc/ractor.md commit d8fb0bca5475d62731ba871adf344fef88f62bbf Author: Nobuyoshi Nakada Date: Wed Jan 13 12:47:42 2021 +0900 Removed excess stringizations on regstr [Bug #17532] M vm_dump.c commit 083c5f08ec4e95c9b75810d46f933928327a5ab3 Author: Nobuyoshi Nakada Date: Thu Dec 10 22:00:11 2020 +0900 Check stack overflow in recursive glob_helper [Bug #17162] M dir.c M internal/vm.h M vm_eval.c commit a5b4b806de3b130348a92aa3306fbb9318efb762 Author: Kenta Murata Date: Wed Jan 13 10:28:23 2021 +0900 [ruby/bigdecimal] Allow digits=0 in BigDecimal(flt) and Float#to_d Using dtoa of mode=0, we can determine the number of digits in decimal that is necessary to represent the given Float number without errors. This change permits digits=0 in BigDecimal(flt) and Float#to_d, and these methods use dtoa of mode=0 when the given digits is 0. Internal implicit conversion from Float also uses digits=0. [Fix GH-70] https://github.com/ruby/bigdecimal/commit/2dbe170e35 M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/lib/bigdecimal/util.rb M test/bigdecimal/test_bigdecimal.rb M test/bigdecimal/test_bigdecimal_util.rb commit 30f13164011dd876fd95a0e3fcd7c1224c4e04b5 Author: Hiroshi SHIBATA Date: Wed Jan 13 11:27:30 2021 +0900 Skip test when UDP server is no response. M test/socket/test_socket.rb commit 0a4f719a06df15667f0ed329b9ed556befd0402b Author: Kenta Murata Date: Wed Jan 13 09:36:17 2021 +0900 Update ext/bigdecimal/depend M ext/bigdecimal/depend commit 28321e400ebf8091a50152219329b05e7e9db0b7 Author: Kenta Murata Date: Wed Jan 13 09:08:48 2021 +0900 Update ext/bigdecimal/depend M ext/bigdecimal/depend commit 4ba3a4491e15ed50f26c8f7a602fb4ef5452085a Author: Kenta Murata Date: Tue Jan 12 22:58:17 2021 +0900 [ruby/bigdecimal] Optimize rb_float_convert_to_BigDecimal by using dtoa This improve the conversion speed several times faster than before. ``` RUBYLIB= BUNDLER_ORIG_RUBYLIB= /home/mrkn/.rbenv/versions/3.0.0/bin/ruby -v -S benchmark-driver /home/mrkn/src/github.com/ruby/bigdecimal/benchmark/from_float.yml ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux] Calculating ------------------------------------- bigdecimal 3.0.0 master flt_e0 156.400k 783.356k i/s - 100.000k times in 0.639388s 0.127656s flt_ep10 158.640k 777.978k i/s - 100.000k times in 0.630359s 0.128538s flt_ep100 101.676k 504.259k i/s - 100.000k times in 0.983512s 0.198311s flt_em10 103.439k 726.339k i/s - 100.000k times in 0.966751s 0.137677s flt_em100 79.675k 651.446k i/s - 100.000k times in 1.255095s 0.153505s Comparison: flt_e0 master: 783355.6 i/s bigdecimal 3.0.0: 156399.5 i/s - 5.01x slower flt_ep10 master: 777977.6 i/s bigdecimal 3.0.0: 158639.7 i/s - 4.90x slower flt_ep100 master: 504259.4 i/s bigdecimal 3.0.0: 101676.5 i/s - 4.96x slower flt_em10 master: 726338.6 i/s bigdecimal 3.0.0: 103439.2 i/s - 7.02x slower flt_em100 master: 651446.3 i/s bigdecimal 3.0.0: 79675.3 i/s - 8.18x slower ``` https://github.com/ruby/bigdecimal/commit/5bdaedd530 https://github.com/ruby/bigdecimal/commit/9bfff57f90 https://github.com/ruby/bigdecimal/commit/d071a0abbb M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.gemspec M ext/bigdecimal/bigdecimal.h M ext/bigdecimal/extconf.rb A ext/bigdecimal/missing.c M ext/bigdecimal/missing.h A ext/bigdecimal/missing/dtoa.c commit 2175c2c957a711f1c48f42d38db202bf52c8bc6f Author: Kenta Murata Date: Tue Jan 12 22:51:29 2021 +0900 [ruby/bigdecimal] Use pre-allocated objects for special values https://github.com/ruby/bigdecimal/commit/95c201f2d3 M ext/bigdecimal/bigdecimal.c M test/bigdecimal/test_bigdecimal.rb commit 6670de82c2d7a1449412bf6629aa01cc8ecb35e2 Author: Kenta Murata Date: Tue Jan 12 22:56:54 2021 +0900 [ruby/bigdecimal] Fix exception message raised in Kernel.BigDecimal https://github.com/ruby/bigdecimal/commit/d163f170a4 https://github.com/ruby/bigdecimal/commit/ff8eeeb064 M ext/bigdecimal/bigdecimal.c M test/bigdecimal/test_bigdecimal.rb commit 79d236a9f1f8ec6f1c5649852325bdf159a0a162 Author: git Date: Wed Jan 13 01:13:31 2021 +0900 * 2021-01-13 [ci skip] M version.h commit 0e4424750824e8ca779804315d0064b6c0975e83 Author: aycabta Date: Tue Jan 12 01:15:33 2021 +0900 [ruby/reline] Version 0.2.1 https://github.com/ruby/reline/commit/a3b3c6ee60 M lib/reline/version.rb commit eb5a094fc0231ccff080021aef23b19271761da1 Author: aycabta Date: Sat Jan 9 02:13:23 2021 +0900 [ruby/reline] Move the cursor correctly when deleting at eol This fixes ruby/reline#246. https://github.com/ruby/reline/commit/07a73ba601 M lib/reline/line_editor.rb M test/reline/test_key_actor_vi.rb commit 44817db28bfc9a426732977893229e018687919d Author: aycabta Date: Sat Jan 9 00:40:10 2021 +0900 [ruby/reline] Handle ed_search_{prev,next}_history in multiline correctly The current line was being handled incorrectly when displaying the hit history, so it has been fixed to be correct. https://github.com/ruby/reline/commit/a3df4343b3 M lib/reline/line_editor.rb M test/reline/helper.rb M test/reline/test_key_actor_emacs.rb commit 9fa478e38abb8efc75b17ee5171fa3aa36e88dad Author: aycabta Date: Tue Jan 12 01:13:53 2021 +0900 [ruby/irb] Version 1.3.1 https://github.com/ruby/irb/commit/c230d08911 M lib/irb/version.rb commit 344a824ef9d4b6152703d02d7ffa042abd4252c1 Author: Kazuhiro NISHIYAMA Date: Tue Jan 12 22:12:02 2021 +0900 [DOC] Use URI#read instead of URI.open for better compatibility - URI.open is available since 2.5.0, but URI#read is available since 1.8.0. - Fix `open` without `close`. - ref https://github.com/rurema/doctree/pull/2433 M kernel.rb commit 0dc95266e8c36dbc3bfdcb88d820cb7f897166d7 Author: Hiroshi SHIBATA Date: Tue Jan 12 20:15:18 2021 +0900 Fix the failing test with XDG_CONFIG_HOME M test/irb/test_init.rb commit 7dc0511ea4be210f82abb1c82a31aec3a4fe5736 Author: Nobuyoshi Nakada Date: Tue Jan 12 18:17:02 2021 +0900 Remove "." and ".." from Dir.glob with FNM_DOTMATCH [Bug #17280] Co-authored-by: Jeremy Evans M dir.c M spec/ruby/core/dir/fixtures/common.rb M spec/ruby/core/dir/glob_spec.rb M spec/ruby/core/dir/shared/glob.rb M test/pathname/test_pathname.rb M test/ruby/test_dir.rb commit ccabf4966f4c5a7e19fec52b690d07bf471fc5d1 Author: Kenta Murata Date: Tue Jan 12 16:54:36 2021 +0900 [ruby/bigdecimal] Fix length calculation in rb_uint64_convert_to_BigDecimal https://github.com/ruby/bigdecimal/commit/14e53ed7f6 M ext/bigdecimal/bigdecimal.c commit 1eb8eb55c27b19e36d5bd23ce27f7ec2b9a7f521 Author: Nobuyoshi Nakada Date: Tue Jan 12 17:24:43 2021 +0900 Convert time component strings to integers more strictly https://bugs.ruby-lang.org/issues/17485#change-89871 M test/ruby/test_time.rb M time.c commit b017848f8a9c907be07f51d6ae6304bff9950594 Author: Nobuyoshi Nakada Date: Tue Jan 12 17:00:14 2021 +0900 Show seconds of utc_offset if not zero M test/ruby/test_time.rb M time.c commit f7dc4d5cda74e101fa66c1170c0b47deea09c0ee Author: Kenta Murata Date: Tue Jan 12 09:56:58 2021 +0900 tool/sync_default_gems.rb: Prevent infinite loop due to unknown options M tool/sync_default_gems.rb commit 71b17c4110e1eeda9b4c1020e2ecad69efbc8c97 Author: git Date: Tue Jan 12 09:49:02 2021 +0900 * 2021-01-12 [ci skip] M version.h commit 1d04faee23b509efdfaa2121837f9dd015b6857f Author: Kenta Murata Date: Tue Jan 12 09:19:19 2021 +0900 [ruby/bigdecimal] Use rb_cstr_convert_to_BigDecimal in GetVpValueWithPrec https://github.com/ruby/bigdecimal/commit/381ddf5ff6 M ext/bigdecimal/bigdecimal.c commit 78d3813c74c3dd37eb3a7d5fa2fb096566c0b290 Author: Kenta Murata Date: Tue Jan 12 09:19:14 2021 +0900 [ruby/bigdecimal] Add rb_cstr_convert_to_BigDecimal https://github.com/ruby/bigdecimal/commit/ac230a996e M ext/bigdecimal/bigdecimal.c commit 66a844fd07ca0fd652a20a1973ea242422d4ae6d Author: Nobuyoshi Nakada Date: Mon Jan 11 19:12:16 2021 +0900 Define printf qualifier prefix fallbacks M include/ruby/internal/arithmetic/gid_t.h M include/ruby/internal/arithmetic/mode_t.h M include/ruby/internal/arithmetic/off_t.h M include/ruby/internal/arithmetic/pid_t.h M include/ruby/internal/arithmetic/uid_t.h commit 72549cfe98a16097bb34256a8b6e75845027345b Author: Nobuyoshi Nakada Date: Mon Jan 11 19:44:43 2021 +0900 Removed ENABLE_PATH_CHECK condition [ci skip] This condition is useless on Ubuntu, as this macro is defined by default on other than Windows. M .github/workflows/compilers.yml commit 2a1c68c91efeba93c413d0736bc513179d784c50 Author: Takashi Kokubun Date: Mon Jan 11 07:40:37 2021 +0000 Avoid re-entering opt_invokebuiltin_delegate_leave on interruption. The cancellation code was originally written for leave insn, but re-entering opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because a builtin function is executed twice. M tool/ruby_vm/views/mjit_compile.inc.erb commit 5e00eeb4d445fe28ec16b7c28cc9c02c5fc764db Author: Nobuyoshi Nakada Date: Mon Jan 11 14:00:35 2021 +0900 [ruby/matrix] use an exclusive range [Bug #17521] M spec/ruby/library/matrix/exponent_spec.rb commit d2aaf865e3e5ecfcd10c879ce4263dc3a8f7fccf Author: Nobuyoshi Nakada Date: Mon Jan 11 11:31:52 2021 +0900 [ruby/etc] Added fallback definition of RUBY_ATOMIC_EXCHANGE https://github.com/ruby/etc/commit/0c5900bd21 M ext/etc/etc.c commit f6e2c41db30cc3d46053de70dbfe87a5db24d58d Author: Nobuyoshi Nakada Date: Mon Jan 11 11:14:28 2021 +0900 [ruby/etc] Check blocking variables at release https://github.com/ruby/etc/commit/f017bdfedf M ext/etc/etc.c commit d8c8b79d24bf0f3177535501ad9b801e552fb2ad Author: Marc-André Lafortune Date: Sun Jan 10 16:21:10 2021 -0500 [ruby/matrix] Fix 0-th power [Bug #17521] (#4047) M lib/matrix.rb M spec/ruby/library/matrix/exponent_spec.rb commit 8187228de0142d3ac7950b7d977c2849e934c637 Author: Tom Chen Date: Sun Jan 10 15:39:37 2021 -0500 Fix ractor docs (#4048) [doc] M ractor.rb commit 0e015f9389cd468b0ade2d336526bb75b5bf5015 Author: Burdette Lamar Date: Sun Jan 10 14:13:24 2021 -0600 Adds RDoc summary of Hash methods (#4045) * Adds RDoc summary of Hash methods M hash.c commit 52257640ac50a00d76eb8bdb65ea3bd0e6f3ba57 Author: git Date: Mon Jan 11 00:47:34 2021 +0900 * 2021-01-11 [ci skip] M version.h commit 480f436dacc28def6c23d6b914f03ac6a0753d5d Author: Nobuyoshi Nakada Date: Mon Jan 11 00:33:26 2021 +0900 Suppress constant redefinition warnings M test/irb/test_color.rb M test/ruby/test_marshal.rb M test/ruby/test_module.rb commit c63552eab1a13c6c05e18d763c7acf3c4c5383ed Author: Nobuyoshi Nakada Date: Sun Jan 10 21:29:07 2021 +0900 Remove possibility of using same seeds M random.c commit 1e827d4cb579e8c38daeaccf89338352fa5518eb Author: Nobuyoshi Nakada Date: Sun Jan 10 20:42:01 2021 +0900 Moved to ruby/actions workflow [ci skip] D .github/workflows/bundled_gems.yml commit 2adbf01ae14c0a4cf190b7c969b91726966a0e0f Author: Nobuyoshi Nakada Date: Sun Jan 10 17:36:18 2021 +0900 dtoa.c: make thread-safe by using atomic CAS M common.mk M missing/dtoa.c M util.c commit 34d02631e71209b12abb69d0114601027e485bc9 Author: Nobuyoshi Nakada Date: Sun Jan 10 16:32:47 2021 +0900 dtoa.c: constified clang seems to locate never modified local data in the const segment implicitly. M missing/dtoa.c commit 63abb5c227e5c20d18d0debf699251da93ca64b5 Author: Nobuyoshi Nakada Date: Sun Jan 10 15:46:23 2021 +0900 dtoa.c: make compilable independently Except for `-Dxmalloc=malloc -Dxfree=free`. M missing/dtoa.c commit 01aa036023f545549a2d0b4efb05c50834f652fc Author: git Date: Sun Jan 10 08:45:43 2021 +0900 * 2021-01-10 [ci skip] M version.h commit 2e9b6096a68187830f8fbd427c79f05308f43160 Author: Kenta Murata Date: Sun Jan 10 08:37:35 2021 +0900 [ruby/bigdecimal] Fix type name https://github.com/ruby/bigdecimal/commit/2dad4d17b2 M ext/bigdecimal/bigdecimal.c commit 8b53cbaf5e7f1a0a7eef905c449981d8895f9711 Author: Kenta Murata Date: Sun Jan 10 08:31:20 2021 +0900 [ruby/bigdecimal] Avoid casting negative value to size_t https://github.com/ruby/bigdecimal/f047b2786f M ext/bigdecimal/bigdecimal.c commit 72d504c1fde34894d797ac7fb881609d81711e06 Author: Kenta Murata Date: Sun Jan 10 08:29:53 2021 +0900 [ruby/bigdecimal] Use smallest local variable scope in GetVpValueWithPrec https://github.com/ruby/bigdecimal/commit/44f26b9aa0 M ext/bigdecimal/bigdecimal.c commit 590dc06e3840cc7b00d80ccaac9fbf42573428f8 Author: Nobuyoshi Nakada Date: Fri Jan 8 19:07:16 2021 +0900 Get rid of defining methods for tests in core classes Not to interfere in other tests. M ext/-test-/array/resize/resize.c M ext/-test-/bignum/big2str.c M ext/-test-/bignum/div.c M ext/-test-/bignum/intpack.c M ext/-test-/bignum/mul.c M ext/-test-/bignum/str2big.c M ext/-test-/fatal/rb_fatal.c M ext/-test-/gvl/call_without_gvl/call_without_gvl.c M ext/-test-/integer/core_ext.c M ext/-test-/rational/rat.c M ext/-test-/win32/console/attribute.c M test/-ext-/array/test_resize.rb M test/-ext-/bignum/test_big2str.rb M test/-ext-/bignum/test_div.rb M test/-ext-/bignum/test_mul.rb M test/-ext-/bignum/test_pack.rb M test/-ext-/bignum/test_str2big.rb M test/-ext-/gvl/test_last_thread.rb M test/-ext-/gvl/test_ubf_async_safe.rb M test/-ext-/integer/test_integer.rb M test/-ext-/num2int/test_num2int.rb M test/-ext-/rational/test_rat.rb M test/-ext-/win32/test_console_attr.rb M test/ruby/test_bignum.rb M test/ruby/test_fiber.rb M tool/lib/-test-/integer.rb commit 161a20df28dd09ff35a32a7e2b7ce6cab7079707 Author: David CARLIER Date: Sat Jan 9 11:38:54 2021 +0000 gc fix typo for the timer instruction for ARM64. M gc.c commit 3d9c95996dfc8e1d6bc263509273f13caaf06f77 Author: Kenta Murata Date: Sat Jan 9 15:28:08 2021 +0900 [ruby/bigdecimal] Stop using GetVpValueWithPrec in rb_rational_convert_to_BigDecimal https://github.com/ruby/bigdecimal/commit/b4f470da61 https://github.com/ruby/bigdecimal/commit/44a78df866 M ext/bigdecimal/bigdecimal.c commit be34e31d8e68b365a104c955389c6e9f865e054e Author: Kenta Murata Date: Sat Jan 9 15:19:52 2021 +0900 [ruby/bigdecimal] Add assertions for checking the argument types https://github.com/ruby/bigdecimal/commit/96c9ebd886 M ext/bigdecimal/bigdecimal.c commit fb18a8113a549185938e3cf12b3494547d077558 Author: Kenta Murata Date: Sat Jan 9 15:10:20 2021 +0900 [ruby/bigdecimal] Stop using GetVpValueWithPrec in rb_float_convert_to_BigDecimal https://github.com/ruby/bigdecimal/commit/33e7c50263 https://github.com/ruby/bigdecimal/commit/d3c1b0b921 M ext/bigdecimal/bigdecimal.c commit 89f3125207de68f4b2d2a444a79b4e26b59cd9c9 Author: Kenta Murata Date: Fri Jan 8 21:00:45 2021 +0900 [ruby/bigdecimal] Add test cases of conversion from Float https://github.com/ruby/bigdecimal/commit/28d3836366 M test/bigdecimal/test_bigdecimal_util.rb commit 0bb62dccf4e6990cfe0bb35c4d8e74e000086d19 Author: Tee KOBAYASHI Date: Sat Jan 9 13:23:40 2021 +0900 Fixed a typo [Bug #17522] M include/ruby/internal/stdalign.h commit 7ff0e93f96cc55467d791ebc841f12f9130bf181 Author: Nobuhiro IMAI Date: Sat Jan 9 12:18:14 2021 +0900 parse.y: handle "duplicated argument name" appropriately on ripper.y refs: 733ed1e184 M parse.y M test/ripper/test_lexer.rb commit 1a3343cfdcb765b94bf63375d45618130d6b92c9 Author: git Date: Sat Jan 9 00:31:47 2021 +0900 * 2021-01-09 [ci skip] M version.h commit 391ee3ee3acb2553b5ae7817373eaf3fce891e07 Author: Masataka Pocke Kuwabara Date: Fri Jan 8 23:52:35 2021 +0900 Replace `Kernel.#open` with `URI.open` in doc Because `Kernel.#open` no longer opens URI since Ruby 3.0. M enumerator.c M kernel.rb commit 98bd7e87a08b86c7aa95502428015c3f7b4aae75 Author: Takashi Kokubun Date: Thu Jan 7 22:41:58 2021 -0800 [ruby/irb] Make IRB::ColorPrinter.pp compatible with PP.pp The incompatible interface is not helpful, again if you want to use it as a standalone library, falling it back to PP. Original PP.pp also ends with `out << "\n"`. https://github.com/ruby/irb/commit/4c74c7d84c M lib/irb/color_printer.rb M lib/irb/inspector.rb M test/irb/test_color.rb commit d6b2b5bd47952efb6928db7ff1d393f6973e7ccd Author: Takashi Kokubun Date: Thu Jan 7 22:32:47 2021 -0800 [ruby/irb] Add missing require This is useful if you want to use IRB::ColorPrinter as a library like: ``` begin require 'irb/color_printer' IRB::ColorPrinter.pp(obj) rescue LoadError pp(obj) end ``` https://github.com/ruby/irb/commit/f8461691c7 M lib/irb/color_printer.rb commit d4b7e967b6dc0c4b971cbb3b5444c7fbe93a3f86 Author: Koichi Sasada Date: Fri Jan 8 14:44:26 2021 +0900 should use `assert_include` here. Random ordering test can introduce antoher candidate so it should be `assert_include`. M test/irb/test_completion.rb commit abdc634f64a440afcdc7f23c9757d27aab4db8a9 Author: Koichi Sasada Date: Fri Jan 8 12:08:54 2021 +0900 remove unused decl M internal/vm.h M vm_args.c commit 5a221eadfdd1a191b31df133c8064ad1c58689d9 Author: git Date: Fri Jan 8 13:38:37 2021 +0900 * 2021-01-08 [ci skip] M version.h commit 6cbb3fd142d980f3921c411d0502132009f4333d Author: aycabta Date: Fri Jan 8 13:31:35 2021 +0900 [ruby/irb] Fix comment, irb gem supports 2.5.0 or older https://github.com/ruby/irb/commit/36118015ba M lib/irb.rb commit a8f4cbeece5c30587536e456365c28d829bb1a95 Author: aycabta Date: Wed Jan 6 07:06:58 2021 +0900 [ruby/reline] Add acknowledgments and license for rb-readline https://github.com/ruby/reline/commit/19df59b916 M lib/reline/reline.gemspec commit 01235f800f953cf5c3410d7eab3744c5fa6156e9 Author: aycabta Date: Wed Jan 6 03:50:19 2021 +0900 [ruby/reline] Suppress auto indent for adding newlines in pasting Co-authored-by: Juanito Fatas https://github.com/ruby/reline/commit/074bb017a7 M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit 76c9a3c8c633241c86024a027a644f1dd6dbbc44 Author: aycabta Date: Tue Jan 5 18:29:09 2021 +0900 [ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken prompt list Co-authored-by: Juanito Fatas https://github.com/ruby/reline/commit/558f7be168 M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit 88af5085dbf61dcd815e66aa9fe96c7d612c9747 Author: aycabta Date: Tue Jan 5 18:22:00 2021 +0900 [ruby/reline] Suppress crashing when auto_indent_proc returns broken indent info Co-authored-by: Juanito Fatas https://github.com/ruby/reline/commit/7c24276275 M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit e356b71d35bf3746bec7fa1a309338151dbde43a Author: aycabta Date: Fri Jan 1 09:55:00 2021 +0900 [ruby/reline] Remove debug print https://github.com/ruby/reline/commit/d7fbaedc6a M test/reline/yamatanooroti/test_rendering.rb commit ea75aed98e7382f6a548d0c3c5ac89abbe5f086f Author: aycabta Date: Tue Dec 29 13:28:14 2020 +0900 [ruby/reline] Correct var names in Reline were different from vi-*-mode-string https://github.com/ruby/reline/commit/8255fc93b9 M lib/reline/config.rb M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit 54c1dcba2ba670c671afe5c2dc3213d74f57e0e3 Author: aycabta Date: Sun Dec 27 18:37:16 2020 +0900 [ruby/reline] Update cursor correctly when just cursor moving This fixes ruby/reline#236 and ruby/reline#239. https://github.com/ruby/reline/commit/3e3c89d00b M lib/reline/line_editor.rb M test/reline/yamatanooroti/test_rendering.rb commit 559f844bf4a607eb94ab16817ee6f9fcfb0d54bd Author: aycabta Date: Fri Jan 8 12:56:36 2021 +0900 irb: Drop lines from backtrace for tests in Ruby repository M lib/irb/workspace.rb commit 111fddd5437c0d2d6755f8aa474da4b54f89bc44 Author: aycabta Date: Fri Jan 8 04:51:28 2021 +0900 [ruby/irb] Fix BACK_TRACE_LIMIT logic https://github.com/ruby/irb/commit/30dc5d43fe M lib/irb.rb M test/irb/test_context.rb commit 917050220a1fd41bdb3e50ea54a200b0c285bcd4 Author: aycabta Date: Fri Jan 8 04:17:21 2021 +0900 [ruby/irb] Use Exception#full_message to show backtrace in the correct order [Bug #17466] https://github.com/ruby/irb/commit/1c76845cca M lib/irb.rb M test/irb/test_context.rb M test/irb/test_raise_no_backtrace_exception.rb commit ed3264d37abc54e3aade229751a9165ffd37ca2e Author: Nobuhiro IMAI Date: Thu Jan 7 19:21:06 2021 +0900 [ruby/irb] refactoring an error handling in `IRB::Inspector` * moved rescue clause to `#inspect_value` to catch all failures in inspectors * test with all (currently five kind of) inspect modes - tweaked the input due to only `Marshal` can inspect(dump) a `BasicObject` https://github.com/ruby/irb/commit/9d112fab8e M lib/irb/inspector.rb M test/irb/test_context.rb commit f59477523053b67eac409b6595bfe5db962aab3d Author: Nobuhiro IMAI Date: Wed Jan 6 19:05:46 2021 +0900 [ruby/irb] do not escape a predicate method for doc namespace * Fixes #88 https://github.com/ruby/irb/commit/d431a30af4 M lib/irb/completion.rb M test/irb/test_completion.rb commit 4bb683a570043d169049d9741c319a297acd607b Author: Nobuhiro IMAI Date: Wed Jan 6 19:01:08 2021 +0900 [ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence` https://github.com/ruby/irb/commit/d09d3c3d68 M lib/irb.rb commit 55e52c19e74d5df90560ea1cc4f2a2b9f5d7a5c4 Author: Koichi Sasada Date: Thu Jan 7 18:06:24 2021 +0900 simplify assertion searched_cme is used only this line so the variable is not needed. M vm_insnhelper.c commit 412d26a3857492c9c749b74d72bab07df9d0e028 Author: Nobuyoshi Nakada Date: Thu Jan 7 20:11:02 2021 +0900 Update bundled_gems M gems/bundled_gems commit 184e82e8f044bb5912dc01ebb2f4b52866fcc917 Author: Nobuyoshi Nakada Date: Thu Jan 7 16:52:10 2021 +0900 Follow the NDEBUG given to the whole M complex.c M rational.c commit 96ce1d9a0ff64494753ad4730f36a0cd7e7a89e7 Author: Nobuyoshi Nakada Date: Thu Jan 7 14:55:33 2021 +0900 rbconfig.rb: extract cpu from RUBY_PLATFORM when universal M tool/mkconfig.rb commit ee1e690a2df901adb279d7a63fbd92c64e0a5ae6 Author: Igor Zubkov Date: Mon Oct 24 21:56:11 2016 +0300 We don't need "require 'uri'" after "require 'net/http'". M lib/net/http.rb commit 4d0985a7bd8f591dff4b430e288bfd83af782e51 Author: git Date: Thu Jan 7 10:21:34 2021 +0900 * 2021-01-07 [ci skip] M version.h commit 82f6085b3edaa41be4121b218b48100d4bf78670 Author: Kenta Murata Date: Wed Jan 6 18:17:35 2021 +0900 [ruby/bigdecimal] Fix trailing zero handling in rb_uint64_convert_to_BigDecimal https://github.com/ruby/bigdecimal/commit/2056604d56 M ext/bigdecimal/bigdecimal.c M test/bigdecimal/test_bigdecimal.rb commit 698d7947c300a5f5d63965fb2ccce59601f2563b Author: Kenta Murata Date: Wed Jan 6 14:41:13 2021 +0900 [ruby/bigdecimal] Include TestBigDecimalBase in TestBigDecimalUtil https://github.com/ruby/bigdecimal/commit/f732201df1 R100 test/bigdecimal/testbase.rb test/bigdecimal/helper.rb M test/bigdecimal/test_bigdecimal.rb M test/bigdecimal/test_bigdecimal_util.rb M test/bigdecimal/test_bigmath.rb M test/bigdecimal/test_ractor.rb commit 939729dd823ff5a71c7f203b8d6e5e5976e31d4f Author: Nobuhiro IMAI Date: Wed Jan 6 18:47:25 2021 +0900 fix result of example [ci skip] M transcode.c commit 069649389cf2019782c7a11becf6391a67c68a9a Author: Nobuyoshi Nakada Date: Wed Jan 6 17:34:18 2021 +0900 strip trailing spaces [ci skip] M test/ostruct/test_ostruct.rb commit d968829afa19c31e9461fd545cbd21250778ce6e Author: Koichi Sasada Date: Wed Jan 6 15:30:56 2021 +0900 expose some C-APIs for ractor expose some C-APIs to try to make ractor utilities on external gems. * add * rb_ractor_local_storage_value_lookup() to check availability * expose * rb_ractor_make_shareable() * rb_ractor_make_shareable_copy() * rb_proc_isolate() (not public) * rb_proc_isolate_bang() (not public) * rb_proc_ractor_make_shareable() (not public) M include/ruby/ractor.h M ractor.c M vm_core.h commit d9fdca81ac0e4e98314b385b2f245951aaccd50c Author: Takashi Kokubun Date: Tue Jan 5 23:02:01 2021 -0800 600x larger timeout for Reline I didn't notice it's msec. 2.5s is too short. http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3311385 M test/reline/test_within_pipe.rb commit 954d6c743219c11c84dd107d059001752f186a27 Author: Koichi Sasada Date: Wed Jan 6 13:06:25 2021 +0900 remove invalidated cc if cc is invalidated, cc should be released from iseq. M iseq.c M vm_callinfo.h commit 442bd0e92cb8ca8e54f8121fc33adeb6b2b53e73 Author: Koichi Sasada Date: Wed Jan 6 13:05:30 2021 +0900 show more info about imemo_callcache M gc.c commit fa8295ccb91e931e7ede2c02a5820cbba9787234 Author: Kenta Murata Date: Wed Jan 6 11:54:17 2021 +0900 [ruby/bigdecimal] Rename BDIGIT to DECDIG https://github.com/ruby/bigdecimal/commit/686487d942 M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.h commit 7da06c04b21304e8b96089c74ea9aa49ea985e65 Author: Kenta Murata Date: Wed Jan 6 13:39:09 2021 +0900 Need to convert the return value of rb_big_cmp M ext/bigdecimal/bigdecimal.c commit f289f8ae3ab3e76287597722c52cd8cfcfc694ad Author: Kenta Murata Date: Wed Jan 6 10:25:45 2021 +0900 [ruby/bigdecimal] Optimize the conversion from small Bignum https://github.com/ruby/bigdecimal/commit/4792a917d8 M ext/bigdecimal/bigdecimal.c commit 31854403b3398e1c7fa642dca9d2dfe02b171371 Author: Kenta Murata Date: Tue Jan 5 08:12:39 2021 +0900 [ruby/bigdecimal] Check the function availabilities separately https://github.com/ruby/bigdecimal/commit/cf839a34c8 https://github.com/ruby/bigdecimal/commit/75db4dabb9 M ext/bigdecimal/bits.h M ext/bigdecimal/extconf.rb commit a0a6293e787fb7412212cfd85b2cd1e726df8b38 Author: Marc-Andre Lafortune Date: Tue Jan 5 18:35:46 2021 -0500 [ruby/ostruct] Bump version M lib/ostruct.rb commit e8945d5eb301cb08f7bf31b140626ca268a6ae65 Author: git Date: Wed Jan 6 08:35:07 2021 +0900 * 2021-01-06 [ci skip] M version.h commit e13f41e02df0d29fbde659b9e426862a8d433003 Author: Adam Hess Date: Tue Jan 5 15:34:45 2021 -0800 [ruby/ostruct] Allow ostruct to return a value on super (#4028) This fixes cases where you can super in something that inherits from OpenStruct Co-authored-by: John Hawthorn M lib/ostruct.rb M test/ostruct/test_ostruct.rb commit 3108ad7bf3dcae52054a1c29b86246cdb470000b Author: Marcus Stollsteimer Date: Tue Jan 5 15:13:53 2021 +0100 [DOC] Fix grammar: "is same as" -> "is the same as" M bignum.c M cont.c M doc/NEWS-2.1.0 M doc/NEWS-2.2.0 M doc/extension.rdoc M doc/ractor.md M eval.c M ext/pty/pty.c M ext/socket/ipsocket.c M ext/socket/socket.c M ext/win32/lib/win32/registry.rb M gc.c M io.c M man/ruby.1 M math.c M pack.rb M re.c M timev.rb M tool/update-deps M vm_eval.c commit 3d439447250f19333418adcdf777142dda4b3364 Author: Kazuhiro NISHIYAMA Date: Tue Jan 5 23:10:39 2021 +0900 Fix a typo [ci skip] M ext/monitor/monitor.c commit 83e62d77981adeb2968a49c3176a7a940c8ee29e Author: Nobuyoshi Nakada Date: Tue Jan 5 16:31:43 2021 +0900 [ruby/io-console] Shrink struct query_args https://github.com/ruby/io-console/commit/720be0a3e5 M ext/io/console/console.c commit 4272395982dc442dbd38fef514116e0bad9f9303 Author: Nobuyoshi Nakada Date: Tue Jan 5 16:29:00 2021 +0900 [ruby/io-console] Pre-define chomp! ID https://github.com/ruby/io-console/commit/028e1c9497 M ext/io/console/console.c commit ead8d89bd7fa11601c7d6678a2b9182b01263077 Author: Nobuyoshi Nakada Date: Tue Jan 5 13:52:18 2021 +0900 [ruby/io-console] Ignore chomp! result and return the modified string https://github.com/ruby/io-console/commit/09e5ccc729 M ext/io/console/console.c M test/io/console/test_io_console.rb commit 06454a9457e3c6fd819eb1ad6a9aa5b32eb083b1 Author: Nobuyoshi Nakada Date: Tue Jan 5 21:24:10 2021 +0900 sync_default_gems.rb: added -a option The option to merge all commits since the commit merged in the last prefixed commit. M tool/sync_default_gems.rb commit 075824ebd53932898015fa264c7b8b8804c946b0 Author: Nobuyoshi Nakada Date: Tue Jan 5 21:23:07 2021 +0900 sync_default_gems.rb: reduced accesses to REPOSITORIES M tool/sync_default_gems.rb commit 903af74bbd2998cbc159c70010fdba0543509a0f Author: Nobuyoshi Nakada Date: Tue Jan 5 17:42:05 2021 +0900 [ruby/irb] Ensure to restore $VERBOSE https://github.com/ruby/irb/commit/cef474a76a M lib/irb/color.rb M lib/irb/ruby-lex.rb commit 0123bc9d3851c79338b9df509a82b74c93371381 Author: aycabta Date: Mon Jan 4 21:11:24 2021 +0900 [ruby/irb] Use error tokens if there are no correct tokens in the same place For example, the broken code "%www" will result in only one error token. https://github.com/ruby/irb/commit/9fa39a7cf3 M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit 5a1866caff1ec7d924c4101ea05e9d460b6ef3ae Author: aycabta Date: Sun Jan 3 03:25:47 2021 +0900 [ruby/irb] Use Ripper::Lexer#scan to take broken tokens ref. https://github.com/ruby/reline/pull/242 https://github.com/ruby/irb/commit/54f90cb6c9 M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit 505e01fe12007382aa2cd4b7231698597f563b42 Author: aycabta Date: Sat Jan 2 05:20:48 2021 +0900 [ruby/irb] Heredoc may contain multiple newlines in a single token Use the start token as the indentation criteria so that it works properly in heredoc. ref. https://github.com/ruby/reline/pull/242 https://github.com/ruby/irb/commit/9704808dfd M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit 5012512398daed11e65113310c212d50ad51fd16 Author: aycabta Date: Thu Dec 31 19:10:50 2020 +0900 [ruby/irb] Handle indentations related to keyword "do" correctly This fixes ruby/irb#158. https://github.com/ruby/irb/commit/964643400b M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit e72a6ed45f6ba844f15523b9f1250c22601c0011 Author: aycabta Date: Mon Dec 28 10:45:17 2020 +0900 [ruby/irb] Escape invalid byte sequence in Exception This fixes ruby/irb#141. https://github.com/ruby/irb/commit/0815317d42 M lib/irb.rb M test/irb/test_raise_no_backtrace_exception.rb commit cce72a24119b5c2177100865f52376ca4b32bd9d Author: aycabta Date: Sat Dec 26 23:34:27 2020 +0900 [ruby/irb] Newline in oneliner def doesn't reset indent This closes ruby/irb#132. https://github.com/ruby/irb/commit/43456dcf5e M lib/irb/ruby-lex.rb M test/irb/test_ruby_lex.rb commit e91160f7579a572e198067b9c0697c91be1876e7 Author: Koichi Sasada Date: Tue Jan 5 16:48:43 2021 +0900 set RUBY_ON_BUG on runruby rule. set RUBY_ON_BUG='gdb -x $(srcdir)/.gdbinit -p' to catch SEGV on `make runruby` rule. M common.mk commit b9c1b3f8d82b6f2517786b2f9e06683909af34c3 Author: Yusuke Endoh Date: Tue Jan 5 13:48:42 2021 +0900 configure.ac: disable using __builtin_setjmp on ARM Android A patch from Tee KOBAYASHI . [Bug #17511] M configure.ac commit f2d0d4cb0ace469e2ca2fd11e16261df1f2840ff Author: Burdette Lamar Date: Mon Jan 4 22:39:13 2021 -0600 RDoc: Enhanced introduction for Enumerable (#4004) * RDoc: Enhanced introduction for Enumerable * RDoc: Enhanced introduction for Enumerable * RDoc: Enhanced introduction for Enumerable M enum.c commit 515d6b47ad9e0933c94c9dc4c1f296ef2d555934 Author: aycabta Date: Mon Jan 4 19:38:22 2021 +0900 [ruby/irb] Stringify when a non-object is passed to PP#text If a nested object is passed to #pp, it may be sometimes passed to the #text method as an object without being stringified. This is fixed on the Ruby main repository; https://github.com/ruby/ruby/commit/433a3be86a811de0b4adbb92e054ee3a6fc6b4d8 but it was a bug of Ripper so still needs this workaround for using irb as a gem on Ruby 3.0.0 or earlier. Co-authored-by: k0kubun https://github.com/ruby/irb/commit/8d13df22ee M lib/irb/color_printer.rb M test/irb/test_color.rb commit 451b45605161a801e8a1e3c53e02d74de82a096a Author: Marcus Stollsteimer Date: Wed Dec 23 17:41:16 2020 +0100 [ruby/io-console] [DOC] Note that IO#getpass returns a chomped string IO#getpass uses String#chomp! on the read input line. https://github.com/ruby/io-console/commit/1e98c93bc8 M ext/io/console/console.c commit 3adf84a0790aa2edb9e6c121e1e1e223cc7c0bbd Author: Nobuyoshi Nakada Date: Tue Jan 5 11:30:53 2021 +0900 Commented out the sh-specific code, in cmd.exe M common.mk commit 449ef72cb97ae57e57c523d2252528f8eb7b9d3e Author: Yusuke Endoh Date: Tue Jan 5 10:16:05 2021 +0900 configure.ac: Stop auto-detection of __ANDROID_API__ when cross-compiling A patch from Tee KOBAYASHI . [Bug #17491] M configure.ac commit 7a3322a0fd660d676f1918bd7c4a37676b44e1c2 Author: Takashi Kokubun Date: Mon Jan 4 13:09:01 2021 -0800 Fix broken JIT of getinlinecache e7fc353f04 reverted vm_ic_hit_p's signature change made in 53babf35ef, which broke JIT compilation of getinlinecache. To make sure it doesn't happen again, I separated vm_inlined_ic_hit_p to make the intention clear. M test/ruby/test_jit.rb M tool/ruby_vm/views/_mjit_compile_getinlinecache.erb M vm_insnhelper.c commit 87c546b5fa97e6e226cce4daf417617a1143f642 Author: Takashi Kokubun Date: Mon Jan 4 10:44:02 2021 -0800 Avoid using inconsistent coding style Other `_mjit_compile_*.erb` files don't use goto. These files'd better be consistent for readability. M tool/ruby_vm/views/_mjit_compile_getinlinecache.erb commit e7fc353f044f9280222ca41b029b1368d2bf2fe3 Author: Koichi Sasada Date: Mon Jan 4 18:08:25 2021 +0900 enable constant cache on ractors constant cache `IC` is accessed by non-atomic manner and there are thread-safety issues, so Ruby 3.0 disables to use const cache on non-main ractors. This patch enables it by introducing `imemo_constcache` and allocates it by every re-fill of const cache like `imemo_callcache`. [Bug #17510] Now `IC` only has one entry `IC::entry` and it points to `iseq_inline_constant_cache_entry`, managed by T_IMEMO object. `IC` is atomic data structure so `rb_mjit_before_vm_ic_update()` and `rb_mjit_after_vm_ic_update()` is not needed. M bootstraptest/test_ractor.rb M compile.c M debug_counter.h M ext/objspace/objspace.c M gc.c M insns.def M internal/imemo.h M iseq.c M mjit.c M mjit.h M test/ruby/test_gc.rb M tool/ruby_vm/views/_mjit_compile_getinlinecache.erb M vm_core.h M vm_insnhelper.c commit bf21faec1521540f2be05df400c37600b4316a0f Author: Nobuyoshi Nakada Date: Tue Jan 5 00:55:55 2021 +0900 stdlib.h is always included in include/ruby/defines.h Since commit:6537dc309962c7fefcb8d698bbebe4e4f78d0096. M main.c commit f42593c98ee2513c25a30922f0808cfa3c999ad2 Author: Gui Heurich Date: Mon Jan 4 16:06:07 2021 +0000 Update compilers.h [ci skip] M internal/compilers.h commit 3fee9e70219fb5e6c896b302d497f8610e4abf0a Author: Kazuhiro NISHIYAMA Date: Tue Jan 5 00:19:48 2021 +0900 Fix indent [ci skip] Suggested by @hanachin at https://github.com/rurema/doctree/pull/2425#discussion_r551327592 M enum.c commit 1fe111d7d0b88ede9735cfbfbfaef25afadbc4e2 Author: git Date: Tue Jan 5 00:02:01 2021 +0900 * 2021-01-05 [ci skip] M version.h commit 433a3be86a811de0b4adbb92e054ee3a6fc6b4d8 Author: Nobuyoshi Nakada Date: Mon Jan 4 23:37:00 2021 +0900 ripper: call #pretty_print on also `state` M ext/ripper/lib/ripper/lexer.rb commit afa9d65d61857792508b1405835b07b78e24449c Author: Nobuyoshi Nakada Date: Mon Jan 4 19:24:09 2021 +0900 make-snapshot: add -extlibs option `make-snapshot` with `-extlibs` (or `-extlibs=yes`) includes extracted and patched external library sources that the extension libraries depend on. M tool/make-snapshot commit ec31ee25c40d19b7192212ba7596a52e60519f71 Author: Nobuyoshi Nakada Date: Mon Jan 4 17:54:26 2021 +0900 Updated bundled_gems M gems/bundled_gems commit 095972e79959966d1177275fab3cf2e6512f6dd3 Author: Takashi Kokubun Date: Mon Jan 4 00:16:40 2021 -0800 Skip mjit_wait if iseq is not a target M mjit.c M mjit.h commit 758ac834a2e31888b45d88f3382de614751a0501 Author: Nobuyoshi Nakada Date: Fri Dec 25 22:36:40 2020 +0900 Daily bundled_gems update [ci skip] A .github/workflows/bundled_gems.yml commit 977252421baac7a4b42a914c48bc7ae29ec934ee Author: Nobuyoshi Nakada Date: Mon Jan 4 14:31:18 2021 +0900 ifchange: check the number of arguments M tool/ifchange M win32/ifchange.bat commit 8da7f4abc779c6549833d718336d75aac98494b8 Author: Nobuyoshi Nakada Date: Mon Jan 4 15:50:30 2021 +0900 [DOC] Update Proc.new without a block [ci skip] [Feature #10499] [Feature #15554] M proc.c commit cf4a6b5e7b36a0b4f71d7abba0c0685c631f19fa Author: Takashi Kokubun Date: Sun Jan 3 22:48:13 2021 -0800 Add a missing dependency M common.mk commit 4b90ea84809a1d230675bfb8e000946e8036314f Author: Kenta Murata Date: Mon Jan 4 13:42:10 2021 +0900 Update ext/bigdecimal/depend M ext/bigdecimal/depend commit 71f0dd339b14d314d47db6c1ed9356fdb2eb4b73 Author: Kenta Murata Date: Mon Jan 4 12:10:09 2021 +0900 [ruby/bigdecimal] Move some definitions to missing.h https://github.com/ruby/bigdecimal/commit/c2b22cc8b3 https://github.com/ruby/bigdecimal/commit/8cbca8481d https://github.com/ruby/bigdecimal/commit/f05aecf673 M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.gemspec M ext/bigdecimal/bigdecimal.h M ext/bigdecimal/bits.h M ext/bigdecimal/extconf.rb A ext/bigdecimal/missing.h commit 69ed64949b0c02d4b195809fa104ff23dd100093 Author: Hiroshi SHIBATA Date: Mon Jan 4 10:11:34 2021 +0900 Track Bundler master(2.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20 M lib/bundler/cli.rb M lib/bundler/cli/gem.rb M lib/bundler/definition.rb M lib/bundler/fetcher.rb M lib/bundler/gem_helper.rb R097 man/bundle-add.1 lib/bundler/man/bundle-add.1 R096 man/bundle-binstubs.1 lib/bundler/man/bundle-binstubs.1 R098 man/bundle-cache.1 lib/bundler/man/bundle-cache.1 R095 man/bundle-check.1 lib/bundler/man/bundle-check.1 R092 man/bundle-clean.1 lib/bundler/man/bundle-clean.1 R097 man/bundle-config.1 lib/bundler/man/bundle-config.1 M lib/bundler/man/bundle-config.1.ronn R095 man/bundle-doctor.1 lib/bundler/man/bundle-doctor.1 R099 man/bundle-exec.1 lib/bundler/man/bundle-exec.1 R098 man/bundle-gem.1 lib/bundler/man/bundle-gem.1 R089 man/bundle-info.1 lib/bundler/man/bundle-info.1 R095 man/bundle-init.1 lib/bundler/man/bundle-init.1 R093 man/bundle-inject.1 lib/bundler/man/bundle-inject.1 R099 man/bundle-install.1 lib/bundler/man/bundle-install.1 R095 man/bundle-list.1 lib/bundler/man/bundle-list.1 R098 man/bundle-lock.1 lib/bundler/man/bundle-lock.1 R092 man/bundle-open.1 lib/bundler/man/bundle-open.1 R098 man/bundle-outdated.1 lib/bundler/man/bundle-outdated.1 R096 man/bundle-platform.1 lib/bundler/man/bundle-platform.1 R097 man/bundle-pristine.1 lib/bundler/man/bundle-pristine.1 R094 man/bundle-remove.1 lib/bundler/man/bundle-remove.1 R093 man/bundle-show.1 lib/bundler/man/bundle-show.1 R099 man/bundle-update.1 lib/bundler/man/bundle-update.1 R096 man/bundle-viz.1 lib/bundler/man/bundle-viz.1 R098 man/bundle.1 lib/bundler/man/bundle.1 R099 man/gemfile.5 lib/bundler/man/gemfile.5 M lib/bundler/man/gemfile.5.ronn A lib/bundler/man/index.txt M lib/bundler/process_lock.rb M lib/bundler/shared_helpers.rb M lib/bundler/source/git/git_proxy.rb M lib/bundler/source/rubygems.rb M lib/bundler/templates/newgem/Rakefile.tt M lib/bundler/templates/newgem/newgem.gemspec.tt R079 lib/bundler/templates/newgem/test/minitest/newgem_test.rb.tt lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt M lib/bundler/version.rb M spec/bundler/bundler/definition_spec.rb M spec/bundler/bundler/env_spec.rb M spec/bundler/bundler/gem_helper_spec.rb M spec/bundler/bundler/plugin_spec.rb M spec/bundler/bundler/shared_helpers_spec.rb M spec/bundler/bundler/source/git/git_proxy_spec.rb M spec/bundler/bundler/ui/shell_spec.rb M spec/bundler/commands/cache_spec.rb M spec/bundler/commands/check_spec.rb M spec/bundler/commands/config_spec.rb M spec/bundler/commands/exec_spec.rb M spec/bundler/commands/help_spec.rb M spec/bundler/commands/install_spec.rb M spec/bundler/commands/newgem_spec.rb M spec/bundler/commands/post_bundle_message_spec.rb M spec/bundler/install/deploy_spec.rb M spec/bundler/install/gemfile/eval_gemfile_spec.rb M spec/bundler/install/gemfile/gemspec_spec.rb M spec/bundler/install/gemfile/git_spec.rb M spec/bundler/install/gemfile/groups_spec.rb M spec/bundler/install/gemfile/path_spec.rb M spec/bundler/install/gemfile/platform_spec.rb M spec/bundler/install/gemfile/sources_spec.rb M spec/bundler/install/gems/compact_index_spec.rb M spec/bundler/install/gems/dependency_api_spec.rb M spec/bundler/install/gems/standalone_spec.rb M spec/bundler/install/git_spec.rb M spec/bundler/install/path_spec.rb M spec/bundler/lock/lockfile_spec.rb M spec/bundler/plugins/install_spec.rb M spec/bundler/plugins/source/example_spec.rb M spec/bundler/quality_spec.rb M spec/bundler/runtime/setup_spec.rb M spec/bundler/spec_helper.rb M spec/bundler/support/path.rb M spec/bundler/support/rubygems_ext.rb D spec/bundler/support/streams.rb commit 5537adf719a37a30b17d39111cc03700f353aa2d Author: Hiroshi SHIBATA Date: Mon Jan 4 10:09:05 2021 +0900 Track RubyGems master(3.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20 M lib/rubygems.rb M lib/rubygems/command_manager.rb M lib/rubygems/commands/install_command.rb M lib/rubygems/commands/setup_command.rb M lib/rubygems/commands/update_command.rb M lib/rubygems/exceptions.rb M lib/rubygems/ext/builder.rb M lib/rubygems/ext/cmake_builder.rb M lib/rubygems/ext/configure_builder.rb M lib/rubygems/install_update_options.rb M lib/rubygems/remote_fetcher.rb M lib/rubygems/resolver/best_set.rb M lib/rubygems/resolver/index_specification.rb M lib/rubygems/source.rb M lib/rubygems/test_case.rb M lib/rubygems/text.rb A lib/rubygems/unknown_command_spell_checker.rb A test/rubygems/data/null-required-rubygems-version.gemspec.rz M test/rubygems/test_config.rb M test/rubygems/test_gem_command_manager.rb M test/rubygems/test_gem_commands_setup_command.rb M test/rubygems/test_gem_commands_update_command.rb M test/rubygems/test_gem_dependency_installer.rb M test/rubygems/test_gem_ext_builder.rb M test/rubygems/test_gem_ext_cmake_builder.rb M test/rubygems/test_gem_ext_configure_builder.rb M test/rubygems/test_gem_remote_fetcher.rb M test/rubygems/test_gem_requirement.rb M test/rubygems/test_gem_resolver_best_set.rb M test/rubygems/test_gem_specification.rb M test/rubygems/test_gem_text.rb commit 35c3a24c8cbcccff1108079360e2063fc354b4bd Author: Nobuyoshi Nakada Date: Mon Jan 4 12:11:37 2021 +0900 Fixed error message when % at EOF M parse.y M test/ruby/test_parse.rb commit 68c2fc4cc0b3bbf865c381d1ff1281a3ac520cd6 Author: git Date: Mon Jan 4 12:05:37 2021 +0900 * 2021-01-04 [ci skip] M version.h commit 597e06360642189d332fadf25b2b6ba9b1df6387 Author: Kenta Murata Date: Mon Jan 4 12:01:04 2021 +0900 Revert "Include RUBY_EXTCONF_H if available" It is unnecessary because RUBY_EXTCONF_H has already been included in ruby/internal/config.h. This reverts commit 0644f466b0ef017202712882b557ba32863002c4. M ext/bigdecimal/bigdecimal.h commit f4be7a510eebbe6507ba41d138d7d252f4a68e90 Author: Nobuyoshi Nakada Date: Sun Jan 3 23:52:02 2021 +0900 Added tests for Time#getlocal with UTC offset M test/ruby/test_time.rb commit 0644f466b0ef017202712882b557ba32863002c4 Author: Kenta Murata Date: Sun Jan 3 23:37:47 2021 +0900 Include RUBY_EXTCONF_H if available M ext/bigdecimal/bigdecimal.h commit bc4c862a763749a831dfe4e874229aae681ae0fd Author: Nobuyoshi Nakada Date: Sat Jan 2 19:07:47 2021 +0900 [ruby/timeout] Removed deprecated names that had been warned for 5 years https://github.com/ruby/timeout/commit/f9a9758a41 M lib/timeout.rb commit 4724bf856f30e8cc56795c0dc23b96e7ae68e874 Author: Takashi Kokubun Date: Sun Jan 3 00:05:00 2021 -0800 Avoid hanging on --jit-wait after MJIT.pause When a worker is stopped, nobody will JIT a method for you. M mjit.c M mjit_worker.c M test/ruby/test_jit.rb commit 09ec8d686654462e55b2c60e2860754d1fa3435f Author: git Date: Sun Jan 3 11:56:16 2021 +0900 * 2021-01-03 [ci skip] M version.h commit a495cb2fd55688699e80078efa01c79313ae32e9 Author: Marc-Andre Lafortune Date: Tue Dec 22 19:22:50 2020 -0500 NEWS-3.0.0: backquote a few code related words. [doc] M doc/NEWS-3.0.0.md commit fdf353996783b8b11df099fa72de44b025e3614b Author: Marc-Andre Lafortune Date: Tue Dec 22 14:27:38 2020 -0500 NEWS: We have links now, and there is no changelog anymore [doc] M NEWS.md M doc/NEWS-3.0.0.md commit 68ea7720b367fe84da601cdbc61cb0d651c3221b Author: Nobuyoshi Nakada Date: Sat Jan 2 16:42:45 2021 +0900 NEWS: [Feature #17312] [ci skip] M NEWS.md commit b8d33df1d9799cd04b92c1c28e42cc3028cc7524 Author: zverok Date: Sat Dec 5 13:39:20 2020 +0200 Add Enumerable#compact and Enumerator::Lazy#compact M enum.c M enumerator.c M test/ruby/test_enum.rb M test/ruby/test_enumerator.rb commit f690eb34e28b000627e5f0649dd81a04e252286f Author: Nobuyoshi Nakada Date: Sat Jan 2 12:11:52 2021 +0900 Fixed dangling imemo_tmpbuf The count of rb_alloc_tmp_buffer_with_count is the allocation size counted in VALUE size but not in the requested element size. Co-authored-by: Yusuke Endoh Co-authored-by: Koichi Sasada M include/ruby/internal/memory.h commit 4b6fd8329b46701414aba2eeca10013cf66ec513 Author: Nobuyoshi Nakada Date: Sat Jan 2 11:16:45 2021 +0900 mkmf.rb: always try_compile as try_header Get rid of "present but cannot be compiled" headers, on some multi-architecture platforms. M lib/mkmf.rb commit a6bbba1135ffc6f97bbffbfbc98f80dc9d4a8a50 Author: Kenta Murata Date: Sat Jan 2 12:06:14 2021 +0900 Avoid to use __builtin_clzl in SPARC Solaris M ext/bigdecimal/bits.h commit 4182035e273ecd042f5f071cfd6626920e1d28ed Author: Takashi Kokubun Date: Fri Jan 1 18:41:20 2021 -0800 Add -v to make benchmark I simply can't tell which of compare-ruby and built-ruby is what. M common.mk commit daec5f9edcfbf98b10a4bfc1aa501c9ac2c64841 Author: S.H Date: Sat Jan 2 11:39:07 2021 +0900 Improve performance some Float methods [Feature #17498] (#4018) M .document A benchmark/float_methods.yml M common.mk M inits.c M numeric.c R078 integer.rb numeric.rb commit ef6ab776d55f2775957b107a3a0d8c45ece119b8 Author: Kenta Murata Date: Sat Jan 2 10:18:58 2021 +0900 Add __x86_64__ guard to include x86intrin.h M ext/bigdecimal/bits.h commit 5aa28d9d6d8d070a4f29905f3a2c76b0f000ed44 Author: Nobuyoshi Nakada Date: Sat Jan 2 09:48:42 2021 +0900 Check if x86intrin.h is available not only existing M ext/bigdecimal/extconf.rb commit 830afd94fe11335cc7569d47ec863ec24c9a1b54 Author: Kenta Murata Date: Sat Jan 2 01:03:32 2021 +0900 [ruby/bigdecimal] Update depend M ext/bigdecimal/depend commit c2c0147538f72e37a6c718456751bc5776bebd93 Author: Kenta Murata Date: Fri Jan 1 16:00:23 2021 +0900 [ruby/bigdecimal] Fix test for Ruby 2.4 Ruby 2.4 does not have RbConfig::LIMITS. https://github.com/ruby/bigdecimal/commit/c8087523b0 M ext/bigdecimal/bigdecimal.gemspec M test/bigdecimal/test_bigdecimal.rb commit 448a67cd812d0be0a7f1cc871daa598c3b846143 Author: Kenta Murata Date: Fri Jan 1 04:13:12 2021 +0900 [ruby/bigdecimal] Implement special conversions for 64-bit integers This change improves the conversion speed from small integers. ``` Comparison: big_n9 master: 4003688.9 i/s bigdecimal 3.0.0: 1270551.0 i/s - 3.15x slower big_n19 master: 5410096.4 i/s bigdecimal 3.0.0: 1000250.3 i/s - 5.41x slower ``` https://github.com/ruby/bigdecimal/commit/3429bd7e6f M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.gemspec A ext/bigdecimal/bits.h M ext/bigdecimal/extconf.rb A ext/bigdecimal/feature.h A ext/bigdecimal/static_assert.h M test/bigdecimal/test_bigdecimal.rb commit 4730efdd80f40119f8a397fe1b4b7ba88a0ce3d3 Author: git Date: Sat Jan 2 00:46:41 2021 +0900 * 2021-01-02 [ci skip] M version.h commit 5ee6830abe7d99cd95c9c7a6f252a3692b57c5bc Author: Kenta Murata Date: Sat Jan 2 00:27:46 2021 +0900 [ruby/bigdecimal] Fix test_limit Keep the default value of BigDecimal.limit by BigDecimal.save_limit to avoid failures of the other test methods due to the unexpected limit. https://github.com/ruby/bigdecimal/commit/bdc1cc6585 M test/bigdecimal/test_bigdecimal.rb commit 715624813794db603f679cf995844f6a7b7010fa Author: Nobuyoshi Nakada Date: Fri Jan 1 23:32:07 2021 +0900 Hoisted out compile_builtin_arg to refine messages M compile.c commit ab32e98f984318f1074c6e39b8f2f04266a1224b Author: Nobuyoshi Nakada Date: Fri Jan 1 14:44:19 2021 +0900 Added AST assertions for method definition arguments [Bug #17495] M test/ruby/test_ast.rb commit 1e51027763ab2b96e9a1a0aecbe7d42e62d00fc6 Author: Nobuyoshi Nakada Date: Fri Jan 1 14:41:51 2021 +0900 Added AST tests for endless method definitions M test/ruby/test_ast.rb commit de5f8a92d5001799bedb3b1a271a2d9b23c6c8fb Author: Masataka Pocke Kuwabara Date: Fri Jan 1 14:25:08 2021 +0900 Make args info for RubyVM::AST to available on endless method without parens Problem === Arguments information is missing for endless method without parens. For example: ```ruby # ok pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2] def x() = 42 RUBY # => (DEFN@1:0-1:12 # mid: :x # body: # (SCOPE@1:0-1:12 # tbl: [] # args: # (ARGS@1:5-1:6 # pre_num: 0 # pre_init: nil # opt: nil # first_post: nil # post_num: 0 # post_init: nil # rest: nil # kw: nil # kwrest: nil # block: nil) # body: (LIT@1:10-1:12 42))) # ok pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2] def x() 42 end RUBY # => (DEFN@1:0-1:14 # mid: :x # body: # (SCOPE@1:0-1:14 # tbl: [] # args: # (ARGS@1:5-1:6 # pre_num: 0 # pre_init: nil # opt: nil # first_post: nil # post_num: 0 # post_init: nil # rest: nil # kw: nil # kwrest: nil # block: nil) # body: (LIT@1:8-1:10 42))) # It has a problem, the `args` is nil pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2] def x = 42 RUBY # => (DEFN@1:0-1:10 # mid: :x # body: (SCOPE@1:0-1:10 tbl: [] args: nil body: (LIT@1:8-1:10 42))) ``` It causes an error if a program expects `args` node exists. For example: https://github.com/ruby/rbs/issues/551 Solution ==== Call `new_args` on this case. M parse.y commit 3d7f71801acbe90e6b484fa944b7c93fd46cc2cf Author: David Rodríguez Date: Thu Dec 31 17:40:48 2020 +0100 Remove unused file D util/remove_openssl.rb commit 48cf548beb8d641d7dd2cb05f8470526eff7661e Author: git Date: Fri Jan 1 00:58:41 2021 +0900 * 2021-01-01 [ci skip] M version.h commit 37e2a67a744f8cee8116663ebaac5b6acca2bd36 Author: Nobuyoshi Nakada Date: Fri Jan 1 00:51:12 2021 +0900 Method ID of call and fcall can be const not only ident M tool/mk_builtin_loader.rb commit 18ea81fd2c56e78df72aec54fcfb4de74adc17b3 Author: Nobuyoshi Nakada Date: Wed Dec 30 01:56:13 2020 +0900 get_tmopt is no longer used M time.c commit 77e7082e824af8523c1e7c3bfc111c2e52e7e3b3 Author: Nobuyoshi Nakada Date: Wed Dec 30 01:55:51 2020 +0900 Moved Time.at to builtin M time.c M timev.rb commit 9101597d05ef645949bab3a210d8fa5e61de26e3 Author: Nobuyoshi Nakada Date: Wed Dec 30 01:54:57 2020 +0900 Moved Time.now to builtin M time.c M timev.rb commit 93735f8fc0597b9f52e631739f68965ff8a4a81c Author: Nobuyoshi Nakada Date: Thu Dec 31 17:23:37 2020 +0900 Moved time.rb to timev.rb M common.mk M inits.c M time.c R100 time.rb timev.rb commit d5fb51d2d3a7ba0e16042282d0f94c5336ed2cc1 Author: Nobuyoshi Nakada Date: Wed Dec 30 01:45:59 2020 +0900 Add time.rb as builtin M common.mk M inits.c M time.c A time.rb commit 0fbf4d0374e2cef84761985b043c2255e03f2ff2 Author: Nobuyoshi Nakada Date: Wed Dec 30 01:22:11 2020 +0900 Access to reserved word parameter like as `__builtin.arg!(:if)` M compile.c M tool/mk_builtin_loader.rb commit 62450e0acf844510808f18d219aaf7da936b5b58 Author: Nobuyoshi Nakada Date: Thu Dec 31 12:30:13 2020 +0900 Fixed missing NORETURN on rb_mod_const_missing M include/ruby/backward.h commit 4b4dc0fac7a8145396fe1c1693edbbcbf5ab2c2b Author: Nobuyoshi Nakada Date: Thu Dec 31 12:23:29 2020 +0900 Defined RBIMPL_ATTR_DEPRECATED_INTERNAL Get rid of duplicate attributes, which may be warned or ignored except for the first. M include/ruby/backward.h commit 20a8425aa0f9a947e72b06cbd3a2afe9674dd18f Author: Nobuyoshi Nakada Date: Thu Dec 31 08:39:20 2020 +0900 Make any hash values fixable [Bug #17488] As hnum is an unsigned st_index_t, the result of RSHIFT may not be in the fixable range. Co-authored-by: NeoCat M hash.c M test/ruby/test_hash.rb commit b2030d4dae3142e3fe6ad79ac1202de5a9f34a5a Author: git Date: Thu Dec 31 02:19:55 2020 +0900 * 2020-12-31 [ci skip] M version.h commit a8014dae47cc777ce5e509c9401b67cacb6631ae Author: Kenta Murata Date: Thu Dec 31 02:01:35 2020 +0900 [ruby/bigdecimal] Refactor object allocation https://github.com/ruby/bigdecimal/commit/271cebe567 M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.h commit 4569e46550d4ceea2ee4d5c683dd27872a758b36 Author: Kenta Murata Date: Thu Dec 31 01:43:08 2020 +0900 [ruby/bigdecimal] Remove ToValue https://github.com/ruby/bigdecimal/commit/97e9feeebd M ext/bigdecimal/bigdecimal.c commit 0284e7ca62e55c160c84d3471e64765e612788ec Author: Nobuyoshi Nakada Date: Wed Dec 30 20:56:10 2020 +0900 Replaced deprecation macros * DECLARE_DEPRECATED_FEATURE with RBIMPL_ATTR_DEPRECATED_SINCE * DECLARE_DEPRECATED_INTERNAL_FEATURE with RBIMPL_ATTR_INTERNAL And moved function declarations outside both. M include/ruby/backward.h commit ac2df89113d6ead77032aaa21cf2b0253c8975db Author: Takashi Kokubun Date: Tue Dec 29 23:01:10 2020 -0800 Stop managing valid class serials `mjit_valid_class_serial_p` has no longer been used since b9007b6c548. M gc.c M mjit.c M mjit.h M mjit_worker.c M vm.c commit 11b8bb99e6722253974c73d96ed653f97495e1c5 Author: Eric Schneider <54514192+eric-unc@users.noreply.github.com> Date: Tue Dec 29 23:37:04 2020 -0500 Minor grammar fix in String#chomp documentation M string.c commit 15c129d08790878444f3ecbdef0f8fe15eed06f4 Author: Takashi Kokubun Date: Tue Dec 29 22:02:46 2020 -0800 Try increasing SMTP's read_timeout for --jit-wait for random hangs like: http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3302796 http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3302188 http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3301293 M test/net/smtp/test_smtp.rb commit 8e231ffa8c4fde25998f827cb965c4fd7d55c53d Author: Takashi Kokubun Date: Tue Dec 29 20:06:49 2020 -0800 Increase timeout for reline with --jit-wait for failures like: http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-130509 http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-165132 http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201228-015519 M test/reline/test_within_pipe.rb commit c550b75ce4c3e10dbdcefc7f5b09dc8959407ca0 Author: git Date: Wed Dec 30 00:46:15 2020 +0900 * 2020-12-30 [ci skip] M version.h commit 8d93c1e70fb0923c53f2342852f4489b21bd80d3 Author: Kenta Murata Date: Wed Dec 30 00:19:10 2020 +0900 [ruby/bigdecimal] Remove VP_EXCEPTION_MEMORY It is no longer used due to the previous commit. https://github.com/ruby/bigdecimal/commit/7d463f802b M ext/bigdecimal/bigdecimal.c M ext/bigdecimal/bigdecimal.h commit 086f3f187224fa59e294947ed4e840bc277aadc5 Author: Kenta Murata Date: Tue Dec 29 22:36:51 2020 +0900 [ruby/bigdecimal] Remove needless pointer checks xmalloc and xrealloc return non-NULL pointers or raise memory error. https://github.com/ruby/bigdecimal/commit/507f0a6a64 M ext/bigdecimal/bigdecimal.c commit f6256d8b7eb97557dac3cb7a99bcde9e81b972d1 Author: Nobuyoshi Nakada Date: Tue Dec 29 21:05:37 2020 +0900 bisect.sh: Apply bisect.patch if exists [ci skip] For some external reasons, e.g. Bison 3.5.91, some commits need to be applied retroactively in order to pass builds. M tool/bisect.sh commit b7163c712c376fd8dc01a5e3bdd44f02ae578001 Author: Nobuyoshi Nakada Date: Tue Dec 29 21:00:02 2020 +0900 Canonicalization functions were removed already At b958e2add835d62c0a62edaf9a23ecbbd70a3635 M tool/leaked-globals commit 208192fdb6aa8ea7fb5a70cc2ed517cb11d346b9 Author: Nobuyoshi Nakada Date: Tue Dec 29 17:49:57 2020 +0900 Fixed wrong configure option M template/Makefile.in commit 47a1f5ff738c5f14f4ffd7def3536b61ce1f9ff0 Author: Kenta Murata Date: Tue Dec 29 17:14:36 2020 +0900 [ruby/bigdecimal] Define bool, true, and false for old Ruby https://github.com/ruby/bigdecimal/commit/a6d3bd2d44 M ext/bigdecimal/bigdecimal.h M ext/bigdecimal/extconf.rb commit 29d012c9641fa53464a03cc682b6a0f5bf7888df Author: Kenta Murata Date: Tue Dec 29 16:35:25 2020 +0900 [ruby/bigdecimal] Alloc wrapper object before VpAlloc Calling TypedData_Wrap_Struct after VpAlloc may cause memory leak. This commit reverts d11b78f9c420f39ee800b9feed4839cd28f4ff5c. https://github.com/ruby/bigdecimal/commit/2c5a288caf M ext/bigdecimal/bigdecimal.c commit 13b520d578d7e4cbfb904199574fa081458a64f8 Author: Kenta Murata Date: Tue Dec 29 16:34:23 2020 +0900 [ruby/bigdecimal] Refactor to extract VpCheckException https://github.com/ruby/bigdecimal/commit/6fd171308b M ext/bigdecimal/bigdecimal.c commit 2f42243bceb60043ca06448a2b419724be0e6d0a Author: Nobuyoshi Nakada Date: Tue Dec 29 16:51:50 2020 +0900 Make more silent when -s on GNU make M common.mk M template/GNUmakefile.in M template/Makefile.in commit d57c5a7b61c256f3216e82fe1ca6b5b6b9e50752 Author: Nobuyoshi Nakada Date: Tue Dec 29 16:42:24 2020 +0900 transcode-tblgen.rb: make silent a little when just -v M common.mk M enc/Makefile.in M enc/depend M ext/extmk.rb M lib/mkmf.rb M template/configure-ext.mk.tmpl M template/exts.mk.tmpl M tool/transcode-tblgen.rb commit 365df8d351d3edee3cc383f008d87212079598c7 Author: Nobuyoshi Nakada Date: Tue Dec 29 15:57:42 2020 +0900 transcode-tblgen.rb: send verbose messages to STDOUT M tool/transcode-tblgen.rb commit 6d07785127d5e26340eb24eec8542470bd5fe883 Author: Takashi Kokubun Date: Mon Dec 28 23:25:01 2020 -0800 [ruby/irb] Remove unnecessary ignore_error in dispatch_seq Just forgotten in https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825 https://github.com/ruby/irb/commit/e42e548793 M lib/irb/color.rb commit f30a3a06290387dd19c08b48cc7c31a18b359693 Author: Takashi Kokubun Date: Mon Dec 28 23:20:26 2020 -0800 [ruby/irb] Do not colorize partially-correct inspect This is to prevent a yellow-mixed output for ActiveSupport::TimeWithZone. Follows up https://github.com/ruby/irb/pull/159 and https://github.com/ruby/ruby/pull/3967. https://github.com/ruby/irb/commit/a5804c3560bb1de3ea8e40002635bff87f6a2825 M lib/irb/color.rb commit 9b7ceb676540d0061b2a31fee2da84ae31f93bae Author: Nobuhiro IMAI Date: Tue Dec 29 16:07:20 2020 +0900 irb: add more syntax errors colorizing support (#3967) M lib/irb/color.rb M test/irb/test_color.rb commit c0a2d322c692228a7574c39c7e173da4af0f34ea Author: Takashi Kokubun Date: Mon Dec 28 23:03:04 2020 -0800 Update help of sync-default-gems M common.mk commit af9d4ee133af6d1844abc520276b8bc3e4861576 Author: Takashi Kokubun Date: Mon Dec 28 22:40:20 2020 -0800 [ruby/irb] Fix failing tests https://github.com/ruby/irb/commit/7723ade899 M test/irb/test_context.rb commit f9e80af28a6ddc59a63fe567198e9d7a3b5b80f8 Author: Takashi Kokubun Date: Mon Dec 28 22:32:30 2020 -0800 [ruby/irb] Add color_printer.rb to gemspec https://github.com/ruby/irb/commit/b4df0fd8b2 M lib/irb/irb.gemspec commit c715fb46c2d8eab48323a6008c5dbca550ebe2e0 Author: Takashi Kokubun Date: Mon Dec 28 22:16:08 2020 -0800 [ruby/irb] Enhance colored inspect output https://github.com/ruby/irb/commit/dffcdb5269 M lib/irb/color.rb A lib/irb/color_printer.rb M lib/irb/inspector.rb commit 1ffb267c5c782ea15d01beb90d031274ca88cd8e Author: Masaki Matsushita Date: Tue Dec 29 15:40:08 2020 +0900 Fix compile error of sockssocket The patch is provided by PhobosK (Phobos Kappa). This should be backported to Ruby 3.0. [Feature #17187] M ext/socket/sockssocket.c commit f8555cad2d96c80fe7fc10012456e718cb81dbab Author: git Date: Tue Dec 29 13:09:21 2020 +0900 * 2020-12-29 [ci skip] M version.h commit 512e08895f3a79e770cde6bae56c8f5ec11f1f17 Author: Kenta Murata Date: Tue Dec 29 03:36:31 2020 +0900 [ruby/bigdecimal] Refactor to decompose VpNewVarArg into small functions https://github.com/ruby/bigdecimal/commit/7504871c48 M ext/bigdecimal/bigdecimal.c commit d11b78f9c420f39ee800b9feed4839cd28f4ff5c Author: Kenta Murata Date: Mon Dec 28 22:44:50 2020 +0900 [ruby/bigdecimal] Reduce needless object allocation in f_BigDecimal https://github.com/ruby/bigdecimal/commit/5c808eeabb M ext/bigdecimal/bigdecimal.c commit 06b44f819eb7b5ede1ff69cecb25682b56a1d60c Author: Kenta Murata Date: Mon Dec 28 21:25:20 2020 +0900 [ruby/bigdecimal] [Doc] Fix the document of BigDecimal() [ci-skip] https://github.com/ruby/bigdecimal/commit/905d0345ec M ext/bigdecimal/bigdecimal.c commit 80d9e457c585038bd4ab2d661b074c7d67955649 Author: Kenta Murata Date: Mon Dec 28 20:26:28 2020 +0900 [ruby/bigdecimal] Reduce conditional branch count in VpNewVarArg https://github.com/ruby/bigdecimal/commit/741fb3e00f M ext/bigdecimal/bigdecimal.c commit 09aca50fc4be0b8bffe89b3583aedfe9c5c3a732 Author: Nobuyoshi Nakada Date: Mon Dec 28 19:52:14 2020 +0900 Adjusted styles [ci skip] M cont.c M gc.c commit 2eea9156eb02b0a0e857b10d41b9cead91be694f Author: Nobuyoshi Nakada Date: Mon Dec 28 19:43:46 2020 +0900 Adjusted indents [ci skip] M hash.c commit a0d1152d2ed5d48d2702acaa711c184181f7e0c4 Author: Hiroshi SHIBATA Date: Mon Dec 28 18:39:35 2020 +0900 [ruby/drb] Removed needless files from Gem::Specification#files https://github.com/ruby/drb/commit/61c49af71b M lib/drb/drb.gemspec commit e6fee2b64f9e85cfec00ee5d2ed6f8a8ddd11544 Author: Hiroshi SHIBATA Date: Mon Dec 28 16:18:42 2020 +0900 [ruby/pp] Removed needless files from Gem::Specification#files https://github.com/ruby/pp/commit/272d4befeb M lib/pp.gemspec commit 8b387bcfba84ee5ca57e7786d21ff927d4ee8e90 Author: Hiroshi SHIBATA Date: Mon Dec 28 13:43:44 2020 +0900 [ruby/pp] Drop to support < Ruby 2.7 https://github.com/ruby/pp/commit/e92228964b M lib/pp.gemspec commit 2556cd3f51112221b991503751b84852a9ffeac6 Author: Nobuyoshi Nakada Date: Thu Dec 24 10:27:59 2020 +0900 Bypass check for warning_category on internal calls M common.mk M error.c commit 64d79d333baf49f1adab9f9015ee02603ed89210 Author: Nobuyoshi Nakada Date: Mon Dec 28 12:12:54 2020 +0900 Suppress too big exponent warnings M spec/ruby/shared/rational/exponent.rb commit 228ad7d84b0f097a1465541fd175887c5ec0db40 Author: Marcus Stollsteimer Date: Sun Dec 27 22:39:42 2020 +0100 doc/ractor.md: Fix indentation Reintroduce removed empty line to fix indentation on rendered page (the first line is _not_ indented despite the leading spaces, and ends up "outdented" compared to the rest of the block). Also add a missing "-". M doc/ractor.md commit cf1f9bdc8df2f4961e84b96b0534c12f02f2a507 Author: Marc-Andre Lafortune Date: Thu Dec 24 04:00:23 2020 -0500 Language tweaks to Fiber [doc] M cont.c commit c8010fcec016ee89aa0c45fe31094b2db0023e5c Author: Nobuyoshi Nakada Date: Mon Dec 28 01:38:17 2020 +0900 Dup kwrest hash when merging other keyword arguments [Bug #17481] M compile.c M test/ruby/test_keyword.rb commit cc055d4d3fc4a3999766b17a2c9f7cd968be1118 Author: git Date: Mon Dec 28 01:39:14 2020 +0900 * 2020-12-28 [ci skip] M version.h commit 727c97da1977544c91b9b3677811da3a44af7d53 Author: Benoit Daloze Date: Sun Dec 27 17:35:32 2020 +0100 Update to ruby/spec@4ce9f41 M spec/ruby/CONTRIBUTING.md M spec/ruby/README.md M spec/ruby/core/argf/bytes_spec.rb M spec/ruby/core/argf/chars_spec.rb M spec/ruby/core/argf/codepoints_spec.rb M spec/ruby/core/argf/lines_spec.rb M spec/ruby/core/array/element_set_spec.rb M spec/ruby/core/array/fill_spec.rb M spec/ruby/core/array/first_spec.rb M spec/ruby/core/array/shared/slice.rb M spec/ruby/core/array/slice_spec.rb M spec/ruby/core/array/values_at_spec.rb M spec/ruby/core/complex/coerce_spec.rb M spec/ruby/core/complex/shared/divide.rb M spec/ruby/core/data/constants_spec.rb M spec/ruby/core/enumerable/first_spec.rb M spec/ruby/core/enumerable/shared/collect.rb M spec/ruby/core/enumerator/initialize_spec.rb M spec/ruby/core/enumerator/new_spec.rb M spec/ruby/core/env/element_reference_spec.rb M spec/ruby/core/env/fetch_spec.rb A spec/ruby/core/env/fixtures/common.rb M spec/ruby/core/env/shift_spec.rb M spec/ruby/core/env/values_at_spec.rb M spec/ruby/core/hash/shared/each.rb M spec/ruby/core/hash/shared/index.rb M spec/ruby/core/integer/coerce_spec.rb M spec/ruby/core/integer/comparison_spec.rb M spec/ruby/core/integer/constants_spec.rb M spec/ruby/core/integer/denominator_spec.rb M spec/ruby/core/integer/element_reference_spec.rb M spec/ruby/core/integer/even_spec.rb M spec/ruby/core/integer/gcd_spec.rb M spec/ruby/core/integer/gcdlcm_spec.rb M spec/ruby/core/integer/lcm_spec.rb M spec/ruby/core/integer/left_shift_spec.rb M spec/ruby/core/integer/right_shift_spec.rb M spec/ruby/core/integer/shared/exponent.rb M spec/ruby/core/integer/shared/next.rb M spec/ruby/core/integer/to_r_spec.rb M spec/ruby/core/integer/uminus_spec.rb M spec/ruby/core/io/bytes_spec.rb M spec/ruby/core/io/chars_spec.rb M spec/ruby/core/io/codepoints_spec.rb M spec/ruby/core/io/lines_spec.rb M spec/ruby/core/io/write_spec.rb M spec/ruby/core/kernel/Float_spec.rb M spec/ruby/core/kernel/Integer_spec.rb M spec/ruby/core/marshal/dump_spec.rb M spec/ruby/core/marshal/shared/load.rb M spec/ruby/core/method/shared/to_s.rb M spec/ruby/core/method/unbind_spec.rb M spec/ruby/core/numeric/denominator_spec.rb M spec/ruby/core/numeric/quo_spec.rb M spec/ruby/core/numeric/real_spec.rb M spec/ruby/core/numeric/shared/imag.rb M spec/ruby/core/numeric/shared/rect.rb M spec/ruby/core/process/constants_spec.rb M spec/ruby/core/process/getrlimit_spec.rb M spec/ruby/core/process/setrlimit_spec.rb M spec/ruby/core/random/rand_spec.rb M spec/ruby/core/range/bsearch_spec.rb A spec/ruby/core/range/count_spec.rb M spec/ruby/core/range/each_spec.rb M spec/ruby/core/range/equal_value_spec.rb M spec/ruby/core/range/first_spec.rb M spec/ruby/core/range/inspect_spec.rb M spec/ruby/core/range/max_spec.rb M spec/ruby/core/range/min_spec.rb M spec/ruby/core/range/size_spec.rb M spec/ruby/core/range/to_a_spec.rb M spec/ruby/core/regexp/last_match_spec.rb M spec/ruby/core/string/upto_spec.rb M spec/ruby/core/struct/deconstruct_keys_spec.rb M spec/ruby/language/defined_spec.rb M spec/ruby/language/numbered_parameters_spec.rb M spec/ruby/language/pattern_matching_spec.rb M spec/ruby/language/regexp/back-references_spec.rb M spec/ruby/language/regexp/escapes_spec.rb M spec/ruby/language/regexp/grouping_spec.rb M spec/ruby/language/regexp/repetition_spec.rb A spec/ruby/language/regexp/subexpression_call_spec.rb M spec/ruby/language/singleton_class_spec.rb M spec/ruby/library/bigdecimal/BigDecimal_spec.rb M spec/ruby/library/bigdecimal/add_spec.rb M spec/ruby/library/bigdecimal/precs_spec.rb M spec/ruby/library/bigdecimal/shared/to_int.rb M spec/ruby/library/matrix/divide_spec.rb M spec/ruby/library/matrix/multiply_spec.rb A spec/ruby/library/pathname/divide_spec.rb A spec/ruby/library/pathname/plus_spec.rb A spec/ruby/library/pathname/shared/plus.rb M spec/ruby/library/stringio/bytes_spec.rb M spec/ruby/library/stringio/chars_spec.rb M spec/ruby/library/stringio/codepoints_spec.rb M spec/ruby/library/stringio/lines_spec.rb M spec/ruby/library/stringscanner/shared/peek.rb M spec/ruby/optional/capi/bignum_spec.rb A spec/ruby/optional/capi/binding_spec.rb A spec/ruby/optional/capi/ext/binding_spec.c M spec/ruby/optional/capi/hash_spec.rb M spec/ruby/optional/capi/numeric_spec.rb M spec/ruby/optional/capi/object_spec.rb M spec/ruby/optional/capi/util_spec.rb M spec/ruby/security/cve_2020_10663_spec.rb M spec/ruby/shared/kernel/object_id.rb M spec/ruby/shared/rational/exponent.rb M spec/ruby/shared/string/times.rb commit 267bed0cd91711e2a8c79219e97431ba22137b01 Author: Benoit Daloze Date: Sun Dec 27 17:35:30 2020 +0100 Update to ruby/mspec@a40a674 M spec/mspec/README.md M spec/mspec/lib/mspec/utils/script.rb M spec/mspec/lib/mspec/utils/warnings.rb M spec/mspec/tool/sync/sync-rubyspec.rb commit a042043487eb4c7d39307b8e784ede1856455c3e Author: Nobuyoshi Nakada Date: Sun Dec 27 20:33:20 2020 +0900 Do not include external library sources into packages M common.mk M tool/make-snapshot commit f6a080047e960e8b1821a97850830286ce9dee1c Author: Nobuyoshi Nakada Date: Sun Dec 27 20:50:15 2020 +0900 Limit bactrace length from Exception#full_message M eval_error.c commit 730b0099fd7b32bf1a79d2a233c327425680a145 Author: Nobuyoshi Nakada Date: Sun Dec 27 19:35:27 2020 +0900 Get rid of inconsistent dll linkages against vcpkg readline M ext/readline/readline.c commit 0a2e4a8f0cfd0c303717ede51a2a848ce19cf3a8 Author: Nobuyoshi Nakada Date: Sun Dec 27 18:29:53 2020 +0900 Removed declarations conflicting on MinGW M ext/-test-/memory_view/memory_view.c commit ecfbd97292fcdf052049a60cae4408750ed27c93 Author: Nobuyoshi Nakada Date: Sun Dec 27 16:38:08 2020 +0900 win32: Removed never used/worked functions Almost certainly, these have never been used in external extension libraries. If any had, these would have had to be declared in headers. M win32/win32.c commit 90dd482061ab014a6137c2df2239cc6106974dbb Author: Nobuyoshi Nakada Date: Sun Dec 27 16:32:08 2020 +0900 win32: Declared wait and fixed the return type M include/ruby/win32.h M win32/win32.c commit 260d626ef69336530b636e2b14b75479f869e8dc Author: Nobuyoshi Nakada Date: Sun Dec 27 14:58:00 2020 +0900 Ignore symbols declared in the platform header M template/Makefile.in M tool/leaked-globals commit 366b58d7ca19914d533a0bef51e51995e7876da7 Author: Nobuyoshi Nakada Date: Sun Dec 27 14:05:24 2020 +0900 Ignore objects from the "missing" directory M tool/leaked-globals commit 0957814c2776a78e509ceb0aa3fe958d3dc65b2f Author: Nobuyoshi Nakada Date: Sat Dec 26 21:47:57 2020 +0900 Get rid of \K for old BASERUBYs which have a bug in String#scan M tool/leaked-globals commit d55d0331c703f883c4b6fd76b5a14508cc398338 Author: Nobuyoshi Nakada Date: Sat Dec 26 21:46:27 2020 +0900 Exclude entry points M tool/leaked-globals commit 46ab4fcf2a71cf68565dc587db6fb1497e75e854 Author: Nobuyoshi Nakada Date: Sat Dec 26 00:53:51 2020 +0900 Support AC_FUNC_MEMCMP M tool/leaked-globals commit b73d256f34dc46ae2b1e682c060330541463b905 Author: Nobuyoshi Nakada Date: Fri Dec 25 23:44:01 2020 +0900 Check leaked global symbols under more various conditions M .github/workflows/compilers.yml M .github/workflows/mingw.yml commit 441cd156e0e6fc5161440c782901861fbc43af80 Author: Kenta Murata Date: Sun Dec 27 13:47:42 2020 +0900 [ruby/csv] Fix typo [ci skip] https://github.com/ruby/csv/commit/117bcf311e M lib/csv.rb commit 677ccb927c10444449459added79c8e7d2fc3186 Author: Sampat Badhe Date: Sat Dec 26 02:47:32 2020 +0530 [ruby/csv] fix typo conveters => converters for CSV parsing docs (#196) https://github.com/ruby/csv/commit/77ccf486fe M doc/csv/recipes/parsing.rdoc commit cd2c726bc072127394fd50fb25076fc8f3cfe632 Author: Sutou Kouhei Date: Mon Nov 23 05:57:32 2020 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/5855c017ef M lib/csv/version.rb commit 7459fcb3ebc225ff8ba871f944a8ed781d736753 Author: git Date: Sun Dec 27 07:02:53 2020 +0900 * 2020-12-27 [ci skip] M version.h commit ab6adf27725c93b4eb346d6bed5b1e6f511a8a69 Author: Marcus Stollsteimer Date: Sat Dec 26 22:51:48 2020 +0100 doc/ractor.md: Fix indentation in code blocks Remove unnecessary indentation of code in code blocks (it is also not rendered properly in the generated HTML). Also remove an empty line. M doc/ractor.md commit 0a867315e8dbdfb1e5d57ced42150b34843a1ea5 Author: Marcus Stollsteimer Date: Sat Dec 26 22:50:55 2020 +0100 [DOC] Fix typos in vm_method.c M vm_method.c commit 114840b0fe5d27a7138ee35df1ea11ca19cc1df3 Author: Marcus Stollsteimer Date: Sat Dec 26 22:49:23 2020 +0100 [DOC] Fix typo in proc.c M proc.c commit 3fc53de5c961cc8fa2b6acbd63874b89fe709520 Author: Marcus Stollsteimer Date: Sat Dec 26 10:40:52 2020 +0100 methods.rdoc: Improve method definition documentation * typos, grammar, formatting * use `concrete_method` again in `regular_method` example, to better distinguish from `forwarding_method` example * clarify that leading arguments before `...` require Ruby 3.0 M doc/syntax/methods.rdoc commit ce65a7687f1e05ce613483102a8131d8e827bcb6 Author: Marcus Stollsteimer Date: Sat Dec 26 10:40:47 2020 +0100 methods.rdoc: Clarify "currently" means "in 2.7" here M doc/syntax/methods.rdoc commit 858f9aa430700efa0fbfc08da246d824c9b9dff4 Author: Kazuhiro NISHIYAMA Date: Sat Dec 26 18:28:50 2020 +0900 Update labels of badges [ci skip] M README.ja.md M README.md commit 3a0a08697a4bec0716130b8e9d97118b33ba4d37 Author: Nobuyoshi Nakada Date: Sat Dec 26 16:37:39 2020 +0900 Add 3.0 top sepc guards * Needs WEBrick M .github/workflows/spec_guards.yml commit bb04856bca76c2db923b0118716dc6f12afbe491 Author: Hiroshi SHIBATA Date: Sat Dec 26 14:27:14 2020 +0900 [ruby/racc] Bump version to 1.5.2 https://github.com/ruby/racc/commit/ce0d7b9cde M lib/racc/info.rb commit 533bf6f19df7ea6bbfb9909f58afe2088a7914d5 Author: Hiroshi SHIBATA Date: Sat Dec 26 14:26:38 2020 +0900 [ruby/racc] Use Racc::VERSION for gemspec https://github.com/ruby/racc/commit/30f5760d85 M lib/racc/racc.gemspec commit 15e192070afd6c2335c119ef3164f3f002c49b89 Author: Takashi Kokubun Date: Fri Dec 25 19:17:16 2020 -0800 Fix a cyclic explanation M insns.def commit dc13bd22bbdbde39332d30930f688205e6a2b4eb Author: Nobuyoshi Nakada Date: Tue Dec 15 23:17:23 2020 +0900 Ignore failure on unsupported fcntl to drop non-blocking mode Fixes https://github.com/ruby/ruby/pull/3723 M ruby.c commit 292230cbf926e9892596ea37fd4567f0c49ab73c Author: Nobuyoshi Nakada Date: Fri Dec 25 23:36:25 2020 +0900 Fixed leaked global symbols M gc.c M vm_insnhelper.c M vm_insnhelper.h M vm_sync.c M vm_sync.h commit 73cd4951de20bf989747013b1e62a202f12ac2d2 Author: Nobuyoshi Nakada Date: Fri Dec 25 23:08:34 2020 +0900 Reduced GitHub Actions Moved leaked-globals before check. M .github/workflows/macos.yml M .github/workflows/ubuntu.yml commit d4ba88bcd800f19a0e5c4b443b8b2424283e34bb Author: git Date: Sat Dec 26 01:41:13 2020 +0900 * 2020-12-26 [ci skip] M version.h commit 6083fed366f4b4bc180e61bfe7efec7a70393911 Author: Nobuyoshi Nakada Date: Wed Nov 25 21:35:56 2020 +0900 Use `size_t` for `RSTRING_LEN` in String#count https://hackerone.com/reports/1042722 M string.c commit 92f9f998fb65c70941ea05ed33a7b9f351f308f7 Author: Nobuyoshi Nakada Date: Fri Dec 25 22:23:53 2020 +0900 test/test_trick.rb: fixed the position to add timeout M test/test_trick.rb commit 255ee4de8ce8f1db044c04843bef25c78e2c28ac Author: zverok Date: Thu Dec 24 11:06:26 2020 +0200 Update method definition documentation * Add endless methods * Add argument forwarding ... M doc/syntax/methods.rdoc commit aaf0474e76ecf8d8fc675c3e56a803d887e63965 Author: Nobuyoshi Nakada Date: Fri Dec 25 22:05:21 2020 +0900 Adjusted the heading level of "Block Arguments" [ci skip] M doc/syntax/methods.rdoc commit a01d28fed7de2682d23606346ffededf19eb42c9 Author: Yusuke Endoh Date: Fri Dec 25 21:58:50 2020 +0900 test/test_trick.rb: increase timeout of some tests http://rubyci.s3.amazonaws.com/raspbian10-armv7l/ruby-master/log/20201225T071824Z.fail.html.gz M test/test_trick.rb commit 7a4b8d8700ebbe8cefcce05311338448ee0fb5b5 Author: Kenta Murata Date: Fri Dec 25 01:47:09 2020 +0900 [memory_view] Fix a comment A consumer of a MemoryView no longer guards the original object. [ci skip] M include/ruby/memory_view.h commit ddacff2b4140006d69ecf6d1ac63ddb791e92e5e Author: Nobuyoshi Nakada Date: Fri Dec 25 17:40:56 2020 +0900 Follow up on variations of the development start messages [ci skip] M tool/lib/vcs.rb commit 7e3d710a22049b8d5c8ced71a136b8807b2e99e7 Author: Kazuhiro NISHIYAMA Date: Fri Dec 25 17:31:48 2020 +0900 Copy NEWS.md to doc/NEWS-3.0.0.md and update for 3.1.0 M NEWS.md A doc/NEWS-3.0.0.md commit c591ab11ce3b74a364c4c4b2003626033daf0757 Author: Yukihiro "Matz" Matsumoto Date: Fri Dec 25 17:09:16 2020 +0900 Development of 3.1.0 started. M include/ruby/version.h commit caae14d90b3ae75f97913cd5420bd236a4eeb0f8 Author: Nobuyoshi Nakada Date: Fri Dec 25 15:57:41 2020 +0900 test_trick.rb: Make the encoding explicit for code written in UTF-8 M test/test_trick.rb commit 67fe290bb3e812487e400457feae83574295508b Author: NARUSE, Yui Date: Fri Dec 25 15:28:37 2020 +0900 fix filename M tool/releng/gen-release-note.rb commit 09216f63ba29b777beda6d4691eb8067af0af5e2 Author: Yusuke Endoh Date: Fri Dec 25 15:22:37 2020 +0900 test/test_trick.rb: Add a test file for TRICK entries (#3988) * test/test_trick.rb: Add a test file for TRICK entries Co-authored-by: Nobuyoshi Nakada A test/test_trick.rb commit 6a0bbc55b64e576afe46672625909971663c48e0 Author: Nobuyoshi Nakada Date: Fri Dec 25 12:32:13 2020 +0900 Updated bundled_gems M gems/bundled_gems commit 78677f105df79e45dec451b56947509fc71c6f57 Author: TAKANO Mitsuhiro Date: Fri Dec 25 12:06:46 2020 +0900 Disable DTrace in FreeBSD (#3999) The latest ruby cannot compile with FreeBSD Dtrace enabled. M configure.ac commit 1f18f5c61e1963ae05d527a4e8483f9bbabdbb98 Author: Kazuhiro NISHIYAMA Date: Fri Dec 25 11:32:19 2020 +0900 Sort URLs by issue numbers and remove duplicated [ci skip] M NEWS.md commit 888cf28a7e3a07fc0a41688777a40910654005ad Author: Koichi Sasada Date: Fri Dec 25 11:10:29 2020 +0900 define RGENGC_DEBUG_ENABLED() as 0 on RUBY_DEVEL==0 and !HAVE_VA_ARGS_MACRO. gc_report() is always enabled on such configuration (maybe it is a bug) so disable RGENGC_DEBUG_ENABLED(). M gc.c commit 1ba77ff8aa1375cbbc9f1e5f3266e4872d7346f3 Author: Hiroshi SHIBATA Date: Fri Dec 25 10:22:43 2020 +0900 Update stdlib section for Ruby 3.0 M NEWS.md commit 45f3d481064c64e3fa1a9c75d215d12d5c7d729e Author: Koichi Sasada Date: Fri Dec 25 09:51:45 2020 +0900 USE_RUBY_DEBUG_LOG is not defined !devel build M debug.c