Файловый менеджер - Редактировать - /opt/alt/ruby30/share/doc/alt-ruby30-doc/ChangeLog
Назад
-*- coding: utf-8 -*- commit 724a0711752f35478dbccdafbb6718687d983d32 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-23 19:23:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2024-04-23 19:23:26 +0900 Bump up 3.0.7 commit 14510521720231dd9f07d949c86c9df9c52b205b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-23 19:23:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2024-04-23 19:23:09 +0900 merge revision(s) 989a2355808a63fc45367785c82ffd46d18c900a: Fix Use-After-Free issue for Regexp Co-authored-by: Isaac Peka <7493006+isaac-peka@users.noreply.github.com> --- regexec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6c6dca749d3f732b7be04bae20095a040c50fdb8 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-23 19:22:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2024-04-23 19:22:22 +0900 merge revision(s) 33e5b47c16f1fd3382186e6ffe73cfc6e00946f7: Fix handling of reg->dmin in Regex matching --- regexec.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit bd9424c71c15896a997d5a092bf5e1ed453defa6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-03-21 15:55:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2024-04-23 16:03:15 +0900 Merge StringIO 3.0.1.1 commit 7957a25edf844c966de45848fa7e9e2513955660 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-03-21 15:47:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2024-04-23 16:02:50 +0900 Merge RDoc-6.3.4.1 commit 5aca51d32c0a561e32d848d78a76eecb60644459 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-10-15 23:55:25 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 No longer download zlib source Although zlib package in vcpkg is still 1.2.12, it should be no problem in ruby tests. commit ecf9b15c71cff8a2f3d15cf096af314dd9ec087f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-01-13 17:44:09 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 [MSWin] Install libffi using vcpkg commit d2dc49d89f92817cad42777749629cceef9de8f0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-12 16:16:21 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 We didn't invoke leaked-globals at ruby_3_0 commit c86a8529d05d5817611cbebd2798ded374fe9303 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-12 16:11:38 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 openssl of Ruby 3.0 couldn't build with c2x compiler commit 2d8337b002b0949dccd9e42528522f1a0dbb8c03 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-12 16:02:29 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 coroutine=pthread is not working with Ruby 3.0 commit f95abc3cecc86c9dbb476ab61f7545e141686430 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-29 21:00:02 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Canonicalization functions were removed already At b958e2add835d62c0a62edaf9a23ecbbd70a3635 commit 682d7e31940a7282698794a4388681debc336e03 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-27 14:58:00 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Ignore symbols declared in the platform header commit 3fdc8e904b78708d191cb9217c22d34dbdd73bf8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-27 14:05:24 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Ignore objects from the "missing" directory commit 10b30c7d126594d0a68870ad86cd4a517354a078 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-26 21:47:57 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Get rid of \K for old BASERUBYs which have a bug in String#scan commit 984ff9c6d65f60107c9510eba5491489357b5e71 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-26 21:46:27 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Exclude entry points commit cbe3a9160ed56bbc6ae12dd5980d17841c0c3b8c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-26 00:53:51 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Support AC_FUNC_MEMCMP commit 3b9012ecdb897177f1b785f8267ecd842062ea9c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-12 15:49:56 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Backport compilers.yml from ruby_3_1 commit 2676046c5851f57d6d85126ca609e3baf92f3419 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2024-04-12 15:44:52 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2024-04-15 14:05:57 +0900 Don't upgrade brew packages commit 4a8d7246d15b2054eacb20f8ab3d29d39a3e7856 Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2023-08-22 10:25:14 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-08-22 10:25:14 +0900 zlib 1.2.13 is gone from zlib.net commit 616926b55e306a0704254a7ddfd6e9834d06c7f2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-06-29 22:25:17 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2023-06-29 22:25:17 +0900 CVE-2023-36617 for Ruby 3.0 (#7997) * Merge URI-0.10.3 * Merge URI-0.10.0.3 for Bundler commit 78d118dcf7849a2896c4c69f3a28f1fc8a657e3a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-06-16 02:38:17 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2023-06-16 02:38:17 +0900 Fix test-bundled-gems for Ruby 3.0 (#7936) * pry is not needed for test-bundled-gems * Run test-unit test without rake task to avoid yard dependency * Use power_assert-1.2.1 to avoid pry dependency commit 23a532679b406cb53c0edfc00c91c32a5ccd335a Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2023-03-30 21:41:03 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-30 21:41:03 +0900 Fix previous commit commit 4ec0bac2d9bd29541442709e6c2b62dee688c1ac Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2023-03-30 20:10:01 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-30 20:10:01 +0900 Limit header length commit b427e3570d16c7b68cfa0e5e05be84ba8e3eac36 Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2023-03-30 19:59:19 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-30 19:59:19 +0900 [Backport #19161] merge part of 96d1acfdf6c6b42f2029f44d5b5920961d6efa92 Check for TLS usability On all platforms using GCC, even other than darwin. commit 53a7cee6850bd0d5999fcb56471f0a507222f486 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-03-29 13:29:08 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-30 19:49:08 +0900 Merge Time-0.1.1 commit 2d99ef4f74e13de352ffd867ffe7308f78d7418e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-03-29 14:54:14 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2023-03-29 14:54:14 +0900 Merge URI-0.10.2 for Ruby 3.0 (#7607) * Merge URI-0.10.2 * Merge URI-0.10.0.2 for bundler * Added assert_linear_performance for URI tests commit 998fe8ace4621b7337fcd88c78eec02588d0bc57 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2023-03-26 23:10:50 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Historical timezones of Lisbon in tzdata are unstable commit 4527440b5242b7e26cce2500177e989853d7fb16 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2023-03-26 15:23:10 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Skip test_europe_lisbon on macOS until we figure out why it's failing. commit 78c2e2827ef8a87da801a612b7a9418db703b2d6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-02-03 15:55:33 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Bump up CodeQL v2 commit 408d2dbede5da0063da0cc71007bf897991e6ca1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-02-03 15:41:16 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Skip test-bundler-prallel with macOS. It mixed system bundler path. https://github.com/ruby/ruby/actions/runs/4061314416/jobs/7033111867 commit 57703ba1ec421c938181f49e8127c6e4ae83c281 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-01-06 09:58:25 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Pin Ubuntu 20.04 because Ruby 3.0 didn't support OpenSSL 3 commit 6ca5d3cfed45a8c42f6dbf8126e509792576cbe1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2023-01-06 09:36:07 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Ruby 3.0 only supports `--jit-*` options commit 9cb6b7d14571c93c5ddb4c5fbf18908b6f756b04 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2022-11-28 06:32:39 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Disable test-all on MJIT CI for now https://github.com/ruby/ruby/actions/runs/3560006749/jobs/5979749144 commit 54d0a2af33c7a43ad3bc7d54da8a68d0d31e1c0a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2021-10-22 11:15:10 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 .github: use GNUMAKEFLAGS instead of JOBS A bit readable to me. See also https://github.com/ruby/ruby/pull/4880 commit fcab8cf702a529301568aa605774ebb470febe97 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2022-11-28 06:12:29 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 Test only --mjit-wait for now We've disabled MJIT CI on GitHub Actions for a while. It's convenient that fork repositories need to see failures or disable it. We should remove unused CI by default instead of silently disabling it. Since I saw --mjit-wait passed on my fork, I'd like to try running --mjit-wait one. commit d8b1279d3bf4c80ad461ed393e6e4839f3f6e1ca Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2021-12-14 09:08:01 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-03-29 10:57:57 +0900 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 commit 72beb9f868880a97c769d38b9aab99201300ece8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-10-15 01:03:47 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2023-02-07 17:26:37 +0900 Remove wrong dollar commit a0a99185577794b1915eba0dc5154f09cc95e81d Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2022-12-08 12:31:20 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-12-08 12:31:20 +0900 merge revision(s) 58cc3c9f: [Backport #19187] [Bug #19187] Fix for tzdata-2022g --- test/ruby/test_time_tz.rb | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) commit 9de654cb74daaa8918ca6b04fbce211c3ccd4209 Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2022-12-08 12:30:36 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-12-08 12:30:36 +0900 Bump teeny commit ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2022-09-08 23:00:01 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-11-24 20:04:56 +0900 Merge openssl-2.2.2 The changes can be found at: https://github.com/ruby/openssl/compare/v2.2.1...v2.2.2 commit 5fb3cf463c2d78a161fba6a4486bd48e0cbd96c9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-03-09 16:29:50 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-11-24 20:01:26 +0900 Keep GC disabled until VM bootstrap has done [Bug #17583] commit bdb8980f01fb119074ccb8c82447cd0dd061d640 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-10-20 20:30:28 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-11-24 11:21:28 +0900 merge revision(s) 4f1e0bfacd93c28bff549e2f3603c3b4942429a3: Followed up CVE-2022-39253 for bundler examples --- spec/bundler/cache/git_spec.rb | 3 +++ spec/bundler/install/gemfile/git_spec.rb | 9 +++++++++ spec/bundler/update/git_spec.rb | 3 +++ 3 files changed, 15 insertions(+) commit 3b231086cb3e4347ec025aed3a5c10f9e577bef5 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-11-22 20:55:17 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-11-24 11:21:28 +0900 merge revision(s) 36f297e62108072b9377d927321928b994f66a93: Use valid tokens as cookie names --- spec/ruby/library/cgi/cookie/name_spec.rb | 12 ++++++------ spec/ruby/library/cgi/cookie/parse_spec.rb | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) commit 3ff3855be22543b78ddf789f520414eaee912f0d Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-10-20 20:30:06 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-11-24 11:21:28 +0900 merge revision(s) dae843f6b7502f921a7e66f39e3714a39d860181,86096a91d55f72620e0f8ca8634da5fa342dc35b: Bypass git submodule add/update with git config protocol.file.allow=always option. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> --- test/rubygems/test_gem_source_git.rb | 5 +++++ 1 file changed, 5 insertions(+) [rubygems/rubygems] Use [] instead of double-quotes --- test/rubygems/test_gem_source_git.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cbe2c0cd0908981dde1a1289403ac8468e3e06b9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2022-11-22 13:49:18 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-11-24 11:21:28 +0900 Merge CGI-0.2.2 commit 6ea1a4771d0fed63f3374fa799c038967b6c1f7b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2022-10-14 08:28:16 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-10-15 23:09:20 +0900 Upgrade zlib_version on AppVeyor They removed https://zlib.net/zlib1212.zip because https://zlib.net/zlib1213.zip was released :thinking_face: Fix CI failures like: https://ci.appveyor.com/project/ruby/ruby/builds/45064876/job/bb9biogolh0u2595 commit 1407149f7bf10168375a1fc40d6748fcfd4616e4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-10-15 12:56:38 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-10-15 23:09:20 +0900 Update zlib version commit 7f2c548255c2e9cf5c7089823153a8a06940f174 Author: Yuta Saito <kateinoigakukun@gmail.com> AuthorDate: 2022-09-24 03:36:04 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-10-01 15:58:25 +0900 Initialize Objective-C classes before fork() for macOS 13 Since macOS 13, CFString family API used in `rb_str_append_normalized_ospath` may internally use Objective-C classes (`NSTaggedPointerString` and `NSPlaceholderMutableString`) for small strings. On the other hand, Objective-C classes should not be used for the first time in a `fork()`'ed but not `exec()`'ed process. Violations for this rule can result deadlock during class initialization, so Objective-C runtime conservatively crashes on such cases by default. Therefore, we need to use CFString API to initialize Objective-C classes used internally *before* `fork()`. For more details, see https://bugs.ruby-lang.org/issues/18912 commit 2ae567acab101b4b89522084898fdae0302bb527 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-09-17 12:09:34 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-10-01 15:58:25 +0900 [Bug #19005] dynamic_lookup linker option in external libraries The warning against `-undefined dynamic_lookup` is just a warning yet, and many gems seem to pay no attention to warnings. Until it fails actually, keep it as a migration path, except for standard extension libraries and bundled extension gems. commit 45c2fd9e3e93b88f84cb559d3bdc3a3b9f62f0b3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-09-13 23:56:34 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-10-01 15:58:25 +0900 -undefined dynamic_lookup is obsolete commit 15615566931d645f19cb65d859fd113abab29204 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-08-17 00:45:27 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-09-20 16:50:02 +0900 The tzdata 2022c removed Amsterdam Mean Time commit 7900a9bd388cff65ba98e4fa09b296eb1f4f815e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2022-08-29 17:42:49 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-09-16 15:12:47 +0900 Backport https://github.com/ruby/ruby/pull/6193 Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com> commit 9733f4d0f00a38b5f77ee2e2fffdff866828cd66 Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2022-07-25 20:39:12 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-07-25 20:39:12 +0900 merge revision(s) edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d: [Backport #18772] Treat NULL fake string as an empty string And the NULL string must be of size 0. --- string.c | 5 +++++ 1 file changed, 5 insertions(+) commit 6ac4449fce6257ffe653a743880cead2e43167e8 Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2022-06-18 23:00:21 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-06-18 23:00:21 +0900 merge revision(s) 7f81f335478a3ca873f34e3bc0af6927819d3e84: [Backport #18734] Return `false` where sticky-bit is not provided [Bug #18734] --- file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 28b238f2cbcbf9993c4ce8031cbe19bd2accbfbf Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2022-06-18 22:54:12 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2022-06-18 22:54:12 +0900 merge revision(s): a0040af6715d85f416f1282588974e151a8164eb [Win32] Fix mode of character/pipe device stat [Bug #18732] commit 3fa771ddedac25560be57f4055f1767e6c810f58 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-12 20:08:08 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-12 20:48:55 +0900 Fix dtoa buffer overrun commit 052ec6d2585c3ace95671013d336f5543624ef3d Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-12 20:07:08 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-12 20:48:55 +0900 Just free compiled pattern if no space is used commit a6d990892c1d5496468bbacdd4cba99e8f0bd675 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2022-01-25 20:48:16 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-12 14:07:25 +0900 Fix spec to not touch the network And not depend on the state of rack's master branch, in particular, on their Ruby support range. commit 5758c6487de1cdc6df33dfabdd59de23d3fd55f4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2022-01-31 09:42:40 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-12 14:07:25 +0900 Expect to receive a non-keywords hash `RSpec::Mocks::ArgumentListMatcher#args_match?` fails when a non-keywords hash is passed while a keyword hash is expected. This is a change in `rspec-mocks` 3.10.3, so we need to adapt to it. commit cdec8a29c5e2e3fedc2e7726d409121d5e2890da Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2022-04-11 19:45:59 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-12 14:07:25 +0900 Merge Bundler-2.2.33 commit 48be8051ef26dd93e714846d94a2c3794c5b101b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2022-04-11 19:45:23 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-12 14:07:25 +0900 Merge RubyGems-3.2.33 commit e73165c4cd3876435040100b8acab6ffc84f8fa8 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-02 14:24:20 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-02 14:24:20 +0900 merge revision(s) 035b75c8f4097a48cde3cebc5db5e2efddc21546: Update zlib version to 1.2.12 --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 74b42fe78154ff5e5a63342b17d005d6c4fa7761 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-02 14:20:08 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-02 14:20:08 +0900 remove bundled zlib patch file for mswin platform. It's already applied at zlib-1.2.12. commit b364e23d76ccc232c06cc691b467f17e303caa67 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-02 14:16:13 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-02 14:16:13 +0900 remove bundled zlib patch file for mswin platform. It's already applied at zlib-1.2.12. commit 6a022fb22dac7dcc9d68e339230f8b3cc2749842 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-02 14:08:11 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-02 14:08:11 +0900 rename filepath in patch for zlib. commit 2802f0628c67fd09890fd269c1ce818322455264 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-02 14:03:21 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-02 14:03:37 +0900 rename bundled zlib patch file for mswin platform. commit 5fafd801fb2db9206097e352bbed02b1055e205a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-04-02 13:58:13 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-04-02 13:58:13 +0900 bundle zlib-1.2.12 instead of 1.2.11. commit a72b7b898c69a116d754d599e8bb061761015255 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-21 16:23:30 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-21 16:52:05 +0900 merge revision(s) d0d6227a0da5925acf946a09191f172daf53baf2,fff1edf23ba28267bf57097c269f7fa87530e3fa: [Backport #17529] alen should be actions number on ractor_select() alen was number of rs, but it should be actions number (taking ractors + receiving + yielding). --- ractor.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) 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). --- bootstraptest/test_ractor.rb | 25 +++++++++++++++ ractor.c | 73 +++++++++++++++++++++++++++++++++++--------- ractor_core.h | 1 + 3 files changed, 84 insertions(+), 15 deletions(-) commit 1ea12cf590603dbc800314c98099eca9eeca1128 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-21 16:46:58 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-21 16:46:58 +0900 update common.mk dependency to follow up the previous commit. commit 1a1701c0c3d86c35019f2edf23c35ec6110d1bac Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-21 16:32:26 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-21 16:32:26 +0900 class.c: include gc.h to suppress 'implicit declaration of function' on some environments. commit e0146e6cc8f3578b02ad5f228f86bf1aef566d16 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-21 15:35:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-21 15:35:07 +0900 merge revision(s) 97426e15d721119738a548ecfa7232b1d027cd34: [Backport #18627] [Bug #18627] Fix crash when including module During lazy sweeping, the iclass could be a dead object that has not yet been swept. However, the chain of superclasses of the iclass could already have been swept (and become a new object), which would cause a crash when trying to read the object. --- class.c | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) commit f404b21f849af06fb8bbd4b87fdfb585e904d6c3 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 15:42:14 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 15:42:14 +0900 merge revision(s) 496591de96b261b8789332c7f8b2bfbd17658955: [Backport #18578] st.c: Do not clear entries_bound when calling Hash#shift for empty hash tab->entries_bound is used to check if the bins are full in rebuild_table_if_necessary. Hash#shift against an empty hash assigned 0 to tab->entries_bound, but didn't clear the bins. Thus, the table is not rebuilt even when the bins are full. Attempting to add a new element into full-bin hash gets stuck. This change stops clearing tab->entries_bound in Hash#shift. [Bug #18578] --- st.c | 1 - test/ruby/test_hash.rb | 13 +++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) commit 2bb5fa495bf9d366d3c1fefc6b093dc4830f27bf Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 15:20:35 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 15:20:35 +0900 merge revision(s) 29f6f79e7396018962eb25c5f5e409f5fe28a73b: [Backport #17788] [Backport #18574] Get `ruby_nonempty_memcpy` to have C linkage Fixes [Bug #17788] --- include/ruby/internal/memory.h | 2 ++ 1 file changed, 2 insertions(+) commit 0bd3e436e27c048933133bc19f863c954ed3e3a6 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 15:16:29 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 15:16:29 +0900 merge revision(s) c79d2e54748f52c5023b0a1ee441561df9826c17: [Backport #18562] Fix TAG_THROW through require [Bug #18562] Previously this was being incorrectly swapped with TAG_RAISE in the next line. This would end up checking the T_IMEMO throw_data to the exception handling (which calls Module#===). This happened to not break existing tests because Module#=== returned false when klass is NULL. This commit handles throw from require correctly by jumping to the tag retaining the TAG_THROW state. --- load.c | 2 +- test/ruby/test_exception.rb | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) commit f4f0c793f6eb427b0a85445bff49fdc6b73447ae Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 15:10:34 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 15:10:34 +0900 merge revision(s) b555e659c4974acc423083b71b1bd5ec6a926046: [Backport #18388] 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. --- io.c | 7 +++++++ test/ruby/test_io.rb | 12 ++++++++++++ 2 files changed, 19 insertions(+) commit 6175823bab28b5d12f66371d67d006df37751fbc Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 11:52:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 11:52:53 +0900 merge revision(s) 7ff1bf317887c0d7b21e91ad548d07b9f05c540c,e89d80702bd98a8276243a7fcaa2a158b3bfb659: [Backport #18516] An alias can suppress method redefinition warning --- test/ruby/test_alias.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) Fix memory leak at the same named alias [Bug #18516] When aliasing a method to the same name method, set a separate bit flag on that method definition, instead of the reference count increment. Although this kind of alias has no actual effect at runtime, is used as the hack to suppress the method re-definition warning. --- method.h | 1 + test/ruby/test_alias.rb | 18 ++++++++++++++++++ vm_method.c | 9 ++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) commit 9c2213f6695a16917dbe7b5a3a334116d6d8bbf6 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 11:49:15 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 11:49:15 +0900 merge revision(s) 6a6227e0168b059c3ed34c9f0ace2e5dc2364221: [Backport #18517] Shifting zero always results in zero [Bug #18517] --- numeric.c | 2 ++ 1 file changed, 2 insertions(+) commit 6a8c166498b856ca1dcb53248f0be5fc138f1af3 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 11:47:39 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 11:47:39 +0900 merge revision(s) 5c7af72304d0ad33cd3f21b24a4bc44e8acd5b2c,d650b17686d49c2ce8e6a87039861154e93d4621: [Backport #18497] Assuming EXIT_SUCCESS equals 0 is not portable --- test/ruby/test_fiber.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) `rb_fiber_terminate` must not return [Bug #18497] In a forked process from a fiber, the fiber becomes the only fiber, `fiber_switch` does nothing as there is no other fibers, `rb_fiber_terminate` does not terminate the fiber. In that case, reaches the end of `fiber_entry` finaly, which is declared as "COROUTINE" and should never return. --- cont.c | 3 ++- eval_intern.h | 2 +- test/fiber/test_process.rb | 15 +++++++++++++++ test/ruby/test_fiber.rb | 5 +++++ 4 files changed, 23 insertions(+), 2 deletions(-) commit 42b1e87ba7856f92973924985a63a60b5fa750c8 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-13 11:37:03 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-13 11:37:03 +0900 merge revision(s) ae5458f228a5477383e9c00425d85d50a3867817: [Backport #18475] thread.c: Convert TAG_BREAK to a normal exception at thread top-level [Bug #18475] --- test/ruby/test_enum.rb | 11 +++++++++++ thread.c | 3 +++ 2 files changed, 14 insertions(+) commit e18e6af604786be481115c7340c1450332615b57 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 16:53:37 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 16:53:37 +0900 merge revision(s) 9e0a91d0640600f2dfd7fc1d5fae6667019c9ca5: [Backport #18458] Don't segfault if Warning.warn is undefined Check that there is a method entry for the method before passing it to rb_method_entry_arity. Fixes [Bug #18458] --- error.c | 3 ++- test/ruby/test_exception.rb | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) commit bac99c5175bf58815846f9987093a6d944d07fd3 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 16:36:40 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 16:36:40 +0900 merge revision(s) bcc2bb28b04054106f4a36e8fd69b2af6ecb033a: [Backport #18500] Fix stack buffer overflow https://hackerone.com/reports/1306859 --- include/ruby/internal/memory.h | 6 +++--- random.c | 7 ++----- 2 files changed, 5 insertions(+), 8 deletions(-) commit 7c0537906314f0c2a317b37661ccdec8dddc6277 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 16:30:52 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 16:30:52 +0900 merge revision(s) fdf39963490cf2cf95b30d91bb9b35964c2c2350: [Backport #18421] Empty and return the buffer if zero size is given [Bug #18421] In `IO#readpartial` and `IO#read_nonblock`, as well as `IO#read`. --- io.c | 8 ++++++-- test/ruby/test_io.rb | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) commit f2d996dcff56057b48ae41ab6f23e7654848ea4b Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 16:28:26 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 16:28:26 +0900 merge revision(s) d6c5a30cfdf658280338dbb8c8b17fab3190b928,a2d4e1cda68a49980a4f9f353f400efbde7e7884: [Backport #18392] ObjectSpace::WeakMap#inspect: check if living object [Bug #18392] --- gc.c | 29 +++++++++++++++++++++++------ test/ruby/test_weakmap.rb | 9 +++++++++ 2 files changed, 32 insertions(+), 6 deletions(-) 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. --- gc.c | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) commit 09b27ec6a984ec1b660d5b7b48f2ff4d5a0065bc Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 16:01:47 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 16:01:47 +0900 merge revision(s) 737e4432b978eb4b9f5b10fb6cc6d9c883a5d17a: [Backport #18409] 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 <akihiko.odaki@gmail.com> for their contributions. --- configure.ac | 5 +++++ 1 file changed, 5 insertions(+) commit 4b1cee1431b44e923611c65a8ec5cc61d4025641 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 16:00:02 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 16:00:02 +0900 merge revision(s) e2ec97c4b823a0b2e0c31e7a6d77b1dcdc0dfada: [Backport #18415] [DOC] How to get the longest last match [Bug #18415] --- string.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) commit 3ce60f44b8de3aabb31c37d2afd2a622a64a3e6f Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 15:58:42 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 15:58:42 +0900 merge revision(s) 0130e17a410d60a10e7041ce98748b8de6946971,32b7dcfb56a417c1d1c354102351fc1825d653bf,79cc566ab4cdf75f125ecf413a27d353a9756c08: [Backport #18394] 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. --- gc.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) Fix more assumptions about the read barrier This is a continuation of 0130e17a410d60a10e7041ce98748b8de6946971. We need to always use the read barrier --- gc.c | 10 ---------- 1 file changed, 10 deletions(-) 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. --- gc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e413a8ff970fc7692e6c0050a23678605ade884e Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 15:52:46 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 15:52:46 +0900 merge revision(s) ecb2ff60507a41c624f59cb9da6a008ab3ec36e1: [Backport #18403] 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 --- include/ruby/internal/intern/select/posix.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 2ec864d9b7a2c79b5bd9136665aa6f705fa76e53 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-03-12 14:43:41 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-03-12 14:43:41 +0900 merge revision(s) 9f0c6f20c58067923864575b60af730d191b8f6c: [Backport #18382] [Bug #18382] Fix crash in compaction for ObjectSpace.trace_object_allocations ObjectSpace.trace_object_allocations can crash when auto-compaction is enabled. --- ext/objspace/object_tracing.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 951e1377c18f84b52fbd3aab048da8536a3bbdb0 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-19 15:15:04 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-19 15:15:04 +0900 merge revision(s) c51b92c18deb850d2cea3a7c9020db23b364ab72: [Backport #18358] [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 --- ext/zlib/zlib.c | 117 ++++++++++++++++++++++++++++++++----------------- test/zlib/test_zlib.rb | 10 ++++- 2 files changed, 85 insertions(+), 42 deletions(-) commit 49ed412060f48d3b9343b8b90d73e6fcb02b3354 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-19 14:36:41 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-19 14:36:41 +0900 merge revision(s) b3d62a77d928eff01268ca7fa1c1c0966702926d: [Backport #17803] [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 --- ext/zlib/zlib.c | 33 ++++++++++++++++++++++++++- test/zlib/test_zlib.rb | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 1 deletion(-) commit 4868d4b439123a7ce2b24770833d2a575b81e3a5 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-19 14:25:50 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-19 14:25:50 +0900 merge revision(s) fa7a712d460dc904f8a836bb22b54d457d95ba8e: Fix -Wundef warnings for HAVE_RB_EXT_RACTOR_SAFE * See [Feature #17752] --- ext/cgi/escape/escape.c | 2 +- ext/monitor/monitor.c | 2 +- ext/racc/cparse/cparse.c | 2 +- ext/zlib/zlib.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 5c15cecfbfe61f9d46f45c949829c79cb7f162a9 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-19 14:19:22 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-19 14:19:22 +0900 merge revision(s) 0c5f8c62766afe4605172800063e63fe36996658: [Backport #10961] [ruby/zlib] Resume zstream if available [Bug #10961] --- ext/zlib/zlib.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 7cd359261e2427dbed1e721e982043a1ebc2cdbc Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 17:02:39 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 17:02:39 +0900 skip some test using openssl to cease failure on GitHub Actions for MinGW. commit b61b456391703b530428b96c148c610cee794bce Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 16:09:00 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 16:09:00 +0900 skip some tests of rdoc temporary. commit 6c70a32918738a183d65fcca6bb2b4010ed4536a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 16:05:27 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 16:05:27 +0900 merge revision(s) f18a0b7654d471101b207e7fe553e12a25398e45,77e1b477297a48e285d34b21e8d30ab4b46bf90c,c483aa8394fc26e341666db66938b1d6fc2cbb8e,f2e39e5fed498b51ae914ed42ec51ae578330583,6aaa1c4d09249baae93d5bb7fba585be420c4fee,923b3652247aa17ac99dc45cb1cd0654fa08d976,950c7a12efa19d73bed10d377368a50664cae32c,69ce9e4187589335124077029496ee293d4e9189,ddb87396349fa4699153d5c4c7569c2e0186adfc,09e7a0c4a4fba18e3308e4f8cb4b8b5b52b41d20,298d65b1e4f3019af7fc9b905390b56736f5fd0e,2f3edf28f3a251bac2cf3b47b46b372faac71e8e: [ruby/rdoc] Follow-up rubygems Use test-unit assertions instead of minitest. https://github.com/ruby/rdoc/commit/d6a6209d7f --- test/rdoc/test_rdoc_rubygems_hook.rb | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) [ruby/rdoc] Add an alias for test-unit with older versions of RubyGems https://github.com/ruby/rdoc/commit/b8d68fdd87 --- test/rdoc/test_rdoc_rubygems_hook.rb | 3 +++ 1 file changed, 3 insertions(+) [ruby/rdoc] Rwrite test-case for rubygems_hook without Gem::TestCase https://github.com/ruby/rdoc/commit/f8d1087ce5 --- test/rdoc/test_rdoc_rubygems_hook.rb | 38 +++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 18 deletions(-) [ruby/rdoc] Update test/rdoc/test_rdoc_rubygems_hook.rb https://github.com/ruby/rdoc/commit/fb264c4cc4 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> --- test/rdoc/test_rdoc_rubygems_hook.rb | 4 ++++ 1 file changed, 4 insertions(+) [ruby/rdoc] Use pend instead of skip https://github.com/ruby/rdoc/commit/8460a36d84 --- test/rdoc/test_rdoc_rubygems_hook.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) Close UserInteraction for tests to fix leaked file descriptors --- test/rdoc/test_rdoc_rubygems_hook.rb | 2 ++ 1 file changed, 2 insertions(+) Make temporary directory under the regular location --- test/rdoc/test_rdoc_rubygems_hook.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) Clear default configurations Remove environment variables which can affect the default configurations. --- test/rdoc/test_rdoc_rubygems_hook.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) Clear rdoc options in the global rubygems configuration --- test/rdoc/test_rdoc_rubygems_hook.rb | 2 ++ 1 file changed, 2 insertions(+) Dispose the global rubygems configuration wholely --- test/rdoc/test_rdoc_rubygems_hook.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Discard RDOCOPT environment variable to make tests stable --- test/rdoc/test_rdoc_rubygems_hook.rb | 1 + 1 file changed, 1 insertion(+) [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 --- test/rdoc/test_rdoc_rubygems_hook.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 18bd117955479bb0b84d5f5b2d4e4defdb7e7868 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 14:30:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 14:30:15 +0900 Revert 207fb8e6d82c5018c958243de8bfaac3fa5ddfb3 partially. Bacause the GitHub Actions workflow for MinGW failed on 'where check' commit 207fb8e6d82c5018c958243de8bfaac3fa5ddfb3 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 14:27:20 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 14:27:20 +0900 merge revision(s) 49cc7709cb762594aa8ea1b98a1fdf41662a5cf6: [Actions] mingw - use ruby/setup-ruby@v1 again --- .github/workflows/mingw.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 0b45ce2ad03614339e691826c0e65ca3bf2a1970 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 14:20:41 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 14:20:41 +0900 merge revision(s) 63358581bca80c7a885228ac841b0ae9c4ca11b5: Fix weird MinGW failure notifications It's been "MinGW / Array", but it will be "MinGW MINGW64 / check" or "MinGW UCRT64 / check" by this. --- .github/workflows/mingw.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 62c2414bd94b895d231a7766d7b0a8b29eb7f80e Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 14:20:20 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 14:20:20 +0900 merge revision(s) e0a5c3d2b71dfad038d7562fdd33f02ffd79232d,7d55f1b6b6b9777a8bd665f6c5ed6a64c7fa2e9b: [MinGW] Set job names --- .github/workflows/mingw.yml | 1 + 1 file changed, 1 insertion(+) [Actions] use windows-2022 for mingw MSP-Greg/ruby-setup-ruby@win-ucrt-1 --- .github/workflows/mingw.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit e7f212651ebb500ed07025b94ed64c896d785386 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-13 14:11:35 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-13 14:11:35 +0900 merge revision(s) ec032e86faf9ac128ac51e3394d9b4001a374b38,8acb2a9b4069f55f71a80c747fc7c6bcb686abb7: [MinGW] Clear prefix and move the directory to DESTDIR Also the destination will be created at the installation. --- .github/workflows/mingw.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) [MinGW] Use autogen --- .github/workflows/mingw.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit ea04e3fff7401cbf0a45f39351c7eb9c9dd6030e Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-12 16:55:40 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-12 17:12:32 +0900 Fix bundler test failures. These failures are caused by the incompatibility in keyword argument treatment in rspec-mocks. I fix the expectations in the bundler/rubygems_integration_spec.rb. These tests are not touched in the master branch. It seems that the following patch also fix the failures. But I believe the expectations in these tests are wrong. We should pass a Hash literal explicitly. --- a/common.mk +++ b/common.mk @@ -1365,7 +1365,7 @@ yes-test-bundler-precheck: main no-test-bundler-prepare: no-test-bundler-precheck yes-test-bundler-prepare: yes-test-bundler-precheck $(XRUBY) -C "$(srcdir)" bin/gem install --no-document \ - --install-dir .bundle --conservative "rspec:~> 3.8" "rake:~> 13.0" "parallel_tests:~> 2.29" + --install-dir .bundle --conservative "rspec-core:= 3.10.1" "rspec-expectations:= 3.10.1" "rspec-mocks:= 3.10.2" "rake:~> 13.0" "parallel_tests:~> 2.29" RSPECOPTS = BUNDLER_SPECS = commit 034872d6a66916fb2859f41d380ce503c84a65e8 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2022-02-12 16:52:38 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2022-02-12 16:52:38 +0900 merge revision(s) 342e7a094a70d6f90b96262c88177dae32976c85: [rubygems/rubygems] Fix spec to not touch the network And not depend on the state of rack's master branch, in particular, on their Ruby support range. https://github.com/rubygems/rubygems/commit/9ea4baffac --- spec/bundler/commands/remove_spec.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 545d6820715a48a17d6182128c0db4198dfa76c1 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-12-24 17:47:44 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-12-24 17:47:44 +0900 merge revision(s) fb4cf204a662a8cd9dafef6f31f2bd0db9129abe,fa0279d947c3962c3f8c32852278d3ebb964cb19: [Backport #17725] 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 --- test/ruby/test_method.rb | 15 +++++++++++++++ vm.c | 11 +++++------ 2 files changed, 20 insertions(+), 6 deletions(-) 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). --- array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1d29740c1b101db4bd8fc2d05f929a9e37471a0f Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-12-24 14:41:08 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-12-24 14:41:08 +0900 merge revision(s) 5086c25f6015558877f85c3f1c014780b08fd3ce,3ff0a0b40c2e1fbdad2286f1dafe837f822d0e0d: [Backport #16936] Properly exclude test cases. Lets consider the following scenario: ~~~ irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):001:0> p suite OpenSSL::TestEC => OpenSSL::TestEC irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):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(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):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(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):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(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):005:0> filter === method => true irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):006:0> filter === "#{suite}##{method}" => false irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):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]. --- tool/lib/test/unit.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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. --- tool/lib/test/unit.rb | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) commit 62a33dfa168504f8ee77d493979e66616ebe1da8 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-12-24 14:36:45 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-12-24 14:36:45 +0900 merge revision(s) c6706f15af123bdbb3b39a21903d85c78462d047: [Backport #18241] 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] --- string.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 69272c74a3f675373fc6c6f32b685620da8a85ee Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-12-02 08:05:08 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-12-02 08:05:08 +0900 merge revision(s) 9f8a50723f8a84b3e4755b418570148f422d1b28: [Backport #17836] Specify -c to emit pch with clang (#4423) [Bug #17836] --- mjit_worker.c | 1 + 1 file changed, 1 insertion(+) commit 5c5974dbd00e1e0a827baed5290517208878355d Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-12-02 08:03:28 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-12-02 08:03:28 +0900 merge revision(s) 44d67128a827c65d1a3867c5d8fd190d10aa1dd2: 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 --- test/openssl/test_cipher.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8cfddb68702a1320953c520c77b81176e3269ec7 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-24 22:25:22 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-24 22:25:22 +0900 bump teeny version to 3.0.4. commit 3fb7d2cadc18472ec107b14234933b017a33c14d Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-24 20:12:15 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-24 20:12:15 +0900 Fix integer overflow Make use of the check in rb_alloc_tmp_buffer2. https://hackerone.com/reports/1328463 When parsing cookies, only decode the values Bump version Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> commit 02dfd5a7100841f61ba0bc976339d0ad7c76437f Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-24 19:47:36 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-24 19:47:36 +0900 Bump patchlevel. commit d1e3dd4db16f3306fd9477e029c7e5e281c8b5b3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-24 13:29:44 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-24 19:46:22 +0900 Merge date-3.1.3 commit c2125240cc886c0844efcae8d01e06b291b92aa6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-24 13:29:09 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-24 19:46:22 +0900 Merge RubyGems-3.2.32 and Bundler-2.2.32 commit 3ac499555d9f0c5dd94f636a05c5feb4983656fb Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-24 19:21:54 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-24 19:21:54 +0900 merge revision(s) f367b4ffe739453e87e55f955138b0ce662942b7,31a757a4426f1ac8c479313e01542940386fc2fe,837cbea64b74d464bfbfb10e6c81a8f92c6eee71: assert_equal accepts an expected value as the first argument --- test/psych/test_coder.rb | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) 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. --- test/psych/test_coder.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 ``` --- test/psych/test_coder.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 7b3948750e1b1dd8cb271c0a7377b911bb3b8f1b Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-24 12:03:46 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-24 12:03:46 +0900 merge revision(s) e1b03b0c2b2449a7794f4701bab8b2382eb15116,007e439fe965871c73127928f7244ebb96a86e58: Enable VM_ASSERT in --jit CIs (#4543) --- .github/workflows/mjit.yml | 2 +- ractor.c | 6 +++--- vm_core.h | 6 +++--- vm_method.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) 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. --- vm_dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 949af69408e44b69cc7437b58e8edbe3cd77c966 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-23 14:26:20 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-23 14:52:30 +0900 merge revision(s) 5680c38c75aeb5cbd219aafa8eb48c315f287d97,f5d20411386ff2552ff27661387ddc4bae1ebc30: [Backport #17573] 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 --- vm_trace.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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 <john@hawthorn.email> Co-authored-by: John Crepezzi <john.crepezzi@gmail.com> --- ext/-test-/postponed_job/postponed_job.c | 31 ++++++++++++++++++++++++++ test/-ext-/postponed_job/test_postponed_job.rb | 7 ++++++ vm_trace.c | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) commit aadb8cad563ca23e54a775d4fee936a07466112f Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-23 14:20:49 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-23 14:52:30 +0900 merge revision(s) e83c02a768af61cd0890a75e90bcae1119d8bd93: [Backport #18289] Delegate keywords from Enumerable#to_a to #each Fixes [Bug #18289] --- enum.c | 2 +- test/ruby/test_enum.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) commit b6f87d527f59257f07ba6774addaefdedee4fcde Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-23 14:19:44 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-23 14:52:29 +0900 merge revision(s) 84202963c52e02cecad3e6b2fad478bfbeee1bc7: [Backport #18329] [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. --- test/ruby/test_super.rb | 31 +++++++++++++++++++++++++++++++ vm_insnhelper.c | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) commit 5afefe4371b19155fc4d692a5ff2616ad748e9cc Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 20:39:22 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump psych version to 3.3.2 commit 5a6f8462dc00ae453268eb7b42b1d395b9f644f8 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 20:14:59 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump racc version to 1.5.2 commit d7c9d86573c6e9244c7d3e29e6d6be7d6545f748 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 19:32:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump resolv version to 0.2.1 commit 6775e9a21b240279dfda889364b50ac9160e7cd6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 18:28:47 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump strscan version to 3.0.1 commit d9a1f148052c49398975f3f3284d2822e03b92f7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 18:24:24 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump date version to 3.1.1 commit 8cdb0ebb55ec88ea909b98d3c89e30debedc33b6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 18:20:09 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump etc version to 1.3.0 commit bfed3296ec81c2ca53e65dc3df5b0e8f1e6810ab Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 18:12:18 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump io-wait version to 0.2.0 commit 4716a8e157044b3a3a490c96957eb6c9204d70f1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 18:06:33 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump fiddle version to 1.0.8 commit b789399c099b51cd60a07fe686145c451d0a5d4e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 18:01:32 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump rdoc version to 6.3.3 commit 989540c9ccf89e4e2d837a123858ab420e5c4b6c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 17:34:43 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump pp version to 0.2.1 commit f86b773b5c46a6f9e7df259913708671cedfd38e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 17:33:27 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump rinda version to 0.1.1 commit 60d904c4b24df6aa8bac1cfc9d895b0956b37926 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 17:32:59 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump prettyprint version to 0.1.1 commit e6fced73e55dda487f026c929d97542cf1832252 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 17:31:58 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump stringio version to 3.0.1 commit e735773fd4a0f9cbab82134e22d989bf540b744e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 17:16:21 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump optparse version to 0.1.1 commit b2b66ede714e52b63211bc06996a8a4f237d51e2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 17:12:44 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump net-protocol version to 0.1.1 commit 8ddad13dcdf60f495fed13bef83016b2db597734 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 16:28:34 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump debug version to 0.2.1 commit c6d9bd75ee4a757618a23eacc6853fa34b091fc5 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 16:13:54 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 pin rbs-1.6.x for test-bundled-gems commit 905842e122a4c4f150f09e283fec6b004538e2a2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 16:02:44 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Bump debug version to 0.2.0 commit b19b2e98675a132b4b4a59aa130fd5a9f65d775f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 11:13:48 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Merge RubyGems 3.2.31 and Bundler 2.2.31 commit e27381d289cbdbdca434bcc957c2cd1beab1c82c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 11:00:30 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Merge RubyGems 3.2.30 and Bundler 2.2.30 commit e262272b6a50c1a92cdcfee684e82f9242ef8171 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 10:44:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Merge RubyGems 3.2.29 and Bundler 2.2.29 commit 24f911f474e11560af5fbd0f637f4c0ded23f604 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 10:41:39 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Merge RubyGems 3.2.28 and Bundler 2.2.28 commit 31a71048521224774bdb8b5982ab73eb35dad66d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-11-11 10:40:30 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-22 10:51:35 +0900 Merge RubyGems 3.2.27 and Bundler 2.2.27 commit 6d540c1b9844a5832846618b53ce35d12d64deac Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-06 17:37:22 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-06 17:37:22 +0900 merge revision(s) d0a05fd4b40ff0f88728c4897e67b68185128f54: Fixed FD leaks --- test/socket/test_tcp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 75e74993916e9abda1a74164fed5b59fc3d9b7ce Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-11-06 16:47:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-11-06 16:47:07 +0900 merge revision(s) a4d5ee4f31bf3ff36c1a8c8fe3cda16aa1016b12: [Backport #18264] [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`). --- test/ruby/test_settracefunc.rb | 10 ++++++++++ vm_trace.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) commit b1696c87d31d30a64c93d7d4d9c948f383a9da11 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-31 13:29:01 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-31 13:29:01 +0900 test_gc.rb: relax criterion commit 5afb947d724f92cf9c94fcbf331c8d530b8ce710 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-30 20:54:03 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-30 20:54:03 +0900 Bump patchlevel. commit 519e3bde24ca18489d3327dd369aed815ef84c61 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-10-14 20:59:02 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-30 20:53:12 +0900 [ruby/drb] Bump up drb version to 2.0.5 https://github.com/ruby/drb/commit/7edf67654c commit f96517ec2b52e68fd425151cb64c3561a6ae854a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-10-14 17:16:32 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-30 20:53:12 +0900 [ruby/fcntl] Bump up fcntl version to 1.0.1 https://github.com/ruby/fcntl/commit/0bcc0c4518 commit e5babb16a1cc7f034e15180df0eeaacd17b29a34 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-10-14 15:55:58 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-30 20:53:12 +0900 Bump up zlib version to 2.0.0 commit c9bc91bf6934d67bb302cd13961beb6870b05c03 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-30 20:23:44 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-30 20:23:44 +0900 Bump patchlevel. commit 00e89fe36b57e2d7c4ea269bc827d9806edef5ed Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2021-09-28 18:03:24 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-30 20:22:06 +0900 openssl: import v2.2.1 Bring the local copy of ruby/openssl in sync with the upstream gem release v2.2.1. The commits happened in the upstream repository can be found at: https://github.com/ruby/openssl/compare/v2.2.0...v2.2.1 Note that many of these have already been applied to ruby.git and don't appear in the file changes of this commit. commit 5427b08381fb0d644ec69d5aa94234f90a4fbed1 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-16 13:28:27 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-16 13:28:27 +0900 merge revision(s) 76228191474c76810043b294a74bbb2f1808b3d9: [Backport #18023] 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] --- bootstraptest/test_ractor.rb | 22 ++++++++++++++++++++++ vm.c | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) commit a2fe4b75e4b236ad15778c59ace63006ace53889 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-16 13:26:47 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-16 13:26:47 +0900 merge revision(s) 217df51f0e5d9824ed712a4d175f555d932e44d8: [Backport #18232] 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] --- compile.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++- test/ruby/test_iseq.rb | 10 +++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) commit cfad0583eb18bb4505f28ee5cfab703a6b9987be Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-09 15:36:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-09 15:36:53 +0900 merge revision(s) abc0304cb28cb9dcc3476993bc487884c139fd11: [Backport #17507] 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] --- re.c | 46 +++++++++++++++++++--------------------------- test/ruby/test_regexp.rb | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+), 27 deletions(-) commit 2c947e74a0a11fe6c54253c15224dc80054c62a2 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-09 15:08:38 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-09 15:08:38 +0900 merge revision(s) 60d0421ca861944459f52292d65dbf0ece26e38a,b6534691a16d751d59fc572d5dddebcaeb21f007,409dbc951b9875d27bd73748c88e15386473cffb,842b0008c132dd587f09766a228041afb7fed24f: [Backport #18191] 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. --- ruby.c | 12 +++++++++++- test/ruby/test_require.rb | 22 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) Copy path strings as interned strings --- ruby.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) Replace expanded load path only when modified --- ruby.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) Skip broken strings as the locale encoding --- internal/string.h | 1 + ruby.c | 11 +++++++---- string.c | 6 ++++++ 3 files changed, 14 insertions(+), 4 deletions(-) commit fe9d33beb78d5c7932a5c2ca3953045c0ae751d5 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-09 15:05:24 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-09 15:05:24 +0900 merge revision(s) 89242279e61b023a81c58065c62a82de8829d0b3,529fc204af84f825f98f83c34b004acbaa802615: [Backport #18141] Marshal.load: do not call the proc until strings have their encoding Ref: https://bugs.ruby-lang.org/issues/18141 --- marshal.c | 7 +++- spec/ruby/core/marshal/shared/load.rb | 62 +++++++++++++++++++++++------------ test/ruby/test_marshal.rb | 17 ++++++++++ 3 files changed, 64 insertions(+), 22 deletions(-) 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. --- marshal.c | 75 ++++++++++++++++++++--------------- spec/ruby/core/marshal/shared/load.rb | 75 ++++++++++++++++++++--------------- test/ruby/test_marshal.rb | 12 ++++++ 3 files changed, 97 insertions(+), 65 deletions(-) commit f192e01233ccd7966721a164e62a86707b4e6d9e Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-03 16:16:18 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-03 16:16:18 +0900 merge revision(s) 7c0230b05d0978958f89434c84ddd9c82419c1a5,552728a23aeab0df598b356b19a573259e297d14,49af9012a20a824542cf588e55e5488895553e09: [Backport #18184] Check the entire name as `ruby2_keywords_flag` [Bug #18184] --- marshal.c | 2 +- test/ruby/test_marshal.rb | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) Check the encoding of `ruby2_keywords_flag` [Bug #18184] --- marshal.c | 1 + test/ruby/test_marshal.rb | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) Prohibit invalid encoding symbols [Bug #18184] --- marshal.c | 8 +++++++- test/ruby/test_marshal.rb | 10 +++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) commit 5341eca588e738cd5031ab7d8bb5c300471c00e9 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-03 16:10:01 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-03 16:10:01 +0900 merge revision(s) ddb32e66160ab50849419ef7c7ac584913b79c34: [Backport #18173] [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. --- load.c | 1 + test/ruby/test_require.rb | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) commit efa1ba15fd5007210f819e6d11002ca829c989bf Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-10-02 11:22:19 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-10-02 11:22:19 +0900 merge revision(s) fa05697e4832fbd67a4f91b9bb362471902faab3: [Backport #18166] Use `%printer` directive for Bison 3.8 --- parse.y | 74 ++++++++++++++++++++++++++--------------------------------------- 1 file changed, 29 insertions(+), 45 deletions(-) commit 8ac058b64577d9b6fb1ee998d0fa7800529d7d34 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2021-07-28 16:55:55 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-26 20:49:54 +0900 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. commit 7d4a0c4b93cbdf40a9a43c4974199405099a8545 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-06-15 00:03:05 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-26 20:49:54 +0900 Suppress exception report in inner thread commit 24f146bee1780d7fc62be6850b93097819b2a686 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-06-15 00:02:15 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-26 20:49:54 +0900 Close leaked file descriptors commit 5e9ec351044fb74f07f2a45a0dab1e226159b7e6 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2021-06-14 14:56:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-26 20:49:54 +0900 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. commit 98ac62de5cb03efec0fb32684c61c0d4df692e5a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-18 16:23:48 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-18 16:23:48 +0900 merge revision(s) bb84c75001f1bf13b4b2a12db8f4420e76a3ea03: [Backport #17735] Revert "Force recycle intermediate collection in Hash#transform_keys! [Bug #17735]" This reverts commit 522d4cd32f7727886f4fcbc28ed29c08d361ee20. --- hash.c | 1 - 1 file changed, 1 deletion(-) commit 3e61556191ea7e6586ffb995f03e6d2631ec6fb0 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-18 16:13:38 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-18 16:13:38 +0900 merge revision(s) 99d8c4832a7133ca52578d015e3ddcfd94820f4a: [Backport #18160] Preserve the encoding of the argument in IndexError [Bug #18160] --- re.c | 20 ++++++++++---------- test/ruby/test_regexp.rb | 7 ++++++- 2 files changed, 16 insertions(+), 11 deletions(-) commit 7b55ff21b52e818819b698326f80158643175645 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-18 16:11:19 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-18 16:11:19 +0900 merge revision(s) 564ccd095a9d7fbe869031dbf666d61dadfdcb03: [Backport #17756] [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 --- ext/strscan/strscan.c | 5 +---- test/strscan/test_stringscanner.rb | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) commit e6e25b794d8db52e1df85a02f28846ad7eb82d49 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-18 16:07:30 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-18 16:07:30 +0900 merge revision(s) 13939d61b4b69bd109c5f41303c79868d639fa44: [Backport #17661] Check if closed after each yield [Bug #17661] --- io.c | 4 +++- test/ruby/test_io.rb | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) commit 650af7d29d98de6a3c2631e31edc6fbe435ece89 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-11 14:00:44 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-11 14:00:44 +0900 merge revision(s) 5d815542815fe8b939239750bba7f8f0b79c97d6: [Backport #18154] [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. --- string.c | 2 +- test/ruby/test_string.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) commit 13f64b65e0476c2fe416a29274fcc91e3c0cf5d3 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-11 13:59:43 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-11 13:59:43 +0900 merge revision(s) f336a3eb6c76890f3d8f878725b3d328c8fdcf33: [Backport #18126] 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] --- signal.c | 5 ++++- vm_core.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) commit 8e4ed4ed00e8346029953c14dd414a996e37a437 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-11 13:52:43 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-11 13:52:43 +0900 merge revision(s) d795f494a89e0d9498dfedc54b8a98acc2bc4d7b: [Backport #17794] Avoid `free(3)`ing invalid pointer Fixes [Bug #17794] --- addr2line.c | 2 ++ 1 file changed, 2 insertions(+) commit 7b4bc893941b146565c396606effb5f16aa9e88d Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-05 16:17:25 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-05 16:17:25 +0900 merge revision(s) 7d22060c14895bbca3ff962e5456384095b66738: [Backport #17609] addr2line.c: DW_LNS_fixed_advance_pc takes a single uhalf operand Fixes [Bug #17609] Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com> --- addr2line.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit c42208f8e24402fe1aa8747901fba275bfb0d56b Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-05 14:55:14 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-05 14:55:14 +0900 merge revision(s) c0f4e4ca6d0f76985bca79314b232b787c8f008e: [Backport #18007] undefine alloc functions for C extensions per guidance in doc/extension.rdoc, these classes now undefine their alloc functions: - ObjectSpace::InternalObjectWrapper - Socket::Ifaddr --- ext/objspace/objspace.c | 1 + ext/socket/ifaddr.c | 1 + 2 files changed, 2 insertions(+) commit 3fb51aec5ba7decffdfc32e540262aaae6167a95 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-05 14:12:20 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-05 14:12:20 +0900 merge revision(s) bbedd29b6e98ef6e3fc2ce2b358d2b509b7cd1bb: [Backport #18117] [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: ``` <internal:ractor>:627: [BUG] rb_objspace_reachable_objects_from() is not supported while during_gc == true ``` Co-authored-by: Vinicius Stock <vinicius.stock@shopify.com> --- bootstraptest/test_ractor.rb | 15 +++++++++++++++ ractor.c | 12 ++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) commit 911e75f0547ae3496280a731fbfd986096b0ffb6 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-05 13:49:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-05 13:49:07 +0900 add dependency for ext/-test-/array/concat/to_ary_conact.c commit 92846db6861eed324288819157e6c7722fc62fc2 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-09-05 12:19:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-09-05 12:19:53 +0900 merge revision(s) cd4f5b13228879d954fa97b6aa479c4a5ef4fb0a,8db269edb3550a85dfab9b193ea115ca36912ced,ab63f6d8543903f177c46634f38e5428655f003b: [Backport #18140] 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] --- array.c | 1 + test/ruby/test_array.rb | 6 ++++++ 2 files changed, 7 insertions(+) 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] --- ext/-test-/array/concat/depend | 321 ++++++++++++++++++++++++++++++++ ext/-test-/array/concat/extconf.rb | 2 + ext/-test-/array/concat/to_ary_conact.c | 64 +++++++ test/-ext-/array/test_to_ary_concat.rb | 20 ++ 4 files changed, 407 insertions(+) create mode 100644 ext/-test-/array/concat/depend create mode 100644 ext/-test-/array/concat/extconf.rb create mode 100644 ext/-test-/array/concat/to_ary_conact.c create mode 100644 test/-ext-/array/test_to_ary_concat.rb Refined test [Bug #18140] --- ext/-test-/array/concat/to_ary_conact.c | 48 +++++++-------------------------- test/ruby/test_array.rb | 5 +++- 2 files changed, 13 insertions(+), 40 deletions(-) commit 261a0e0e4a3202ca004eddc3cc2cefc9e8d0a90a Author: Andrew Aladjev <aladjev.andrew@gmail.com> AuthorDate: 2021-09-05 11:42:08 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-09-05 11:42:08 +0900 Backport mutexes for socket and connection lists on win32 #4212 (#4218) Co-authored-by: nagachika <nagachika@ruby-lang.org> commit 8899fa0b3d41fd27dd1a2c6f75106cb78ff27236 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-29 19:09:35 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-29 19:09:35 +0900 merge revision(s) d43279edacd09edf3a43e02d62f5be475e7c3bcb,5dc36ddcd00fc556c04c15ce9770c5a84d7d43dc,523bf31564f160f899f8cf9f73540d6a6f687f17: [Backport #18138] 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) --- array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Add out of range tests for Array#slice! --- test/ruby/test_array.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) Add negative position tests [Bug #18138] --- test/ruby/test_array.rb | 4 ++++ 1 file changed, 4 insertions(+) commit 600d0f78395c6a67d6bc8974be9964701976e745 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-19 15:47:39 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:47:39 +0900 Bump patchlevel. commit c758756174958c19c521b7d29ede4deddb214ccb Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2021-08-19 11:33:09 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:46:40 +0900 Bundle RBS 1.4.0 & typeprof 0.15.2 (#4753) * Bundle RBS 1.4.0 * Bundle typeprof 0.15.2 commit 400576304129998d2546462f96b8d0be7393ed06 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2021-08-15 11:59:05 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:46:40 +0900 Update TypeProf to 0.15.1 commit 37f824377fce1bb0fb3ae94f858e2b9417b67b56 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-08-18 19:37:11 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:46:40 +0900 Merge RubyGems 3.2.26 and Bundler 2.2.26 commit 41a28637807bef9b15c404c93a778aaa6266ace7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-08-02 12:07:39 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:46:40 +0900 Merge RubyGems 3.2.25 and Bundler 2.2.25 commit 679185d6c87e0f2e4f6a5da5ce50d02c80ab31b1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-08-02 12:06:43 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:46:40 +0900 Merge RubyGems 3.2.24 and Bundler 2.2.24 commit f1039afa4179f9d3a42f0d89b499e3c955b495d9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-08-02 12:05:18 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:46:40 +0900 Merge RubyGems 3.2.23 and Bundler 2.2.23 commit ca8f73efb31b18fefee1ec25c69143f31ed1aae5 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-19 15:45:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:45:53 +0900 Revert "merge revision(s) 164f50dea918e7019847f578c3cffb079993d626,1985a3a77fac64cda177c74113a9348e36233630:" This reverts commit 09d90c0ed861e74e58a59bc413bc39bcf9775db8. commit 09d90c0ed861e74e58a59bc413bc39bcf9775db8 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-19 15:08:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-19 15:08:07 +0900 merge revision(s) 164f50dea918e7019847f578c3cffb079993d626,1985a3a77fac64cda177c74113a9348e36233630: Update TypeProf to 0.15.1 --- .github/workflows/ubuntu.yml | 2 +- gems/bundled_gems | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Bundle RBS 1.4.0 & typeprof 0.15.2 (#4753) * Bundle RBS 1.4.0 * Bundle typeprof 0.15.2 --- gems/bundled_gems | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3922394c85b33315483b65eeeac36613deaf0433 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-08 13:01:42 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-08 13:01:42 +0900 Bump patchlevel. commit c07545bbf82068f4fd92a5ccfa2b09bb96b39adb Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2021-08-07 00:07:56 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-08 12:59:45 +0900 Fix multiple bugs in partial backtrace optimization This fixes multiple bugs found in the partial backtrace optimization added in 3b24b79. 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. ``` 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: ``` 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. In terms of the implementation, this correctly skips iseq frames without pc that occur before the number of frames the caller requested to skip. This rewrites the algorithm used for handling the partial backtraces. It scans from the current frame outward to the earliest frame, until it has found the desired number of frames. It records that frame as the start frame. If needed, it continues scanning backwards until arg->prev_cfp is set, as that is needed to set the location of the first frame. Due to the fact that arg is a void pointer, it's not possible to check this directly, but this calls the iter_skip function in a situation where it knows it will set arg->prev_cfp, and then breaks out of the loop. Fixes [Bug #18053] commit d6b8b37a2608a0fbb8bcfd10356bb25f9ebbe1fe Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-08 12:00:48 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-08 12:00:48 +0900 merge revision(s) e5dd40b1f3a11f48d566413ab347ce0cfdd94960: [Backport #18065] Stop force-recycling evacuated array [Bug #18065] --- hash.c | 1 - 1 file changed, 1 deletion(-) commit 80c180df769016d58663218de2687613841864f3 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-04 12:40:12 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-04 12:40:12 +0900 merge revision(s) b8386f7f7f6d7a7d76481e02d389d0f5211f0f2c: Prepend DebugSystem to VCS class only And revert 24e5f1c982966c379220b1bbb26b4e0320180fa1, pepending to Kernel did not affect the top level methods before 3.0. --- tool/lib/vcs.rb | 3 --- tool/make-snapshot | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) commit a4d2e48c735b3cd4d2af9c71d16d49175d70fef6 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-01 18:31:21 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-01 18:31:21 +0900 merge revision(s) 24e5f1c982966c379220b1bbb26b4e0320180fa1: Ignore 7z unless available `DebugSystem#system` is prepended in vcs.rb and defaulted to `exception: true`. --- tool/make-snapshot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6f4ab641bb1035c5811e42e43320112e4a502a0e Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-01 18:30:39 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-01 18:30:39 +0900 merge revision(s) 345db8f2aa373a31c619c8f85bd372f0a20829c1: [Backport #10902] 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] --- load.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 0dbb3c15dbe9b7693ea362c94ed8939d20cba083 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-08-01 18:05:04 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-08-01 18:05:04 +0900 merge revision(s) b360588cd3cbac5fb4f004aa53a8fdc715906719: [Backport #15856] 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. --- load.c | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 7 deletions(-) commit fd476075593b97b143ad39293af5450143cc2ad0 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-29 23:25:09 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-29 23:25:09 +0900 merge revision(s) 8897098b5ca3ce987307d1799f7765e6a279ff0d,d04ba0906c35013a8432535168eec270d6e9a913: Update bundled_gems to pass test-bundled-gems on macOS. --- gems/bundled_gems | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Update bundled_gems --- gems/bundled_gems | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e2aaed044e9775dde061ecc960b7afabe91e7c6f Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-25 14:51:32 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-25 14:51:32 +0900 merge revision(s) 292230cbf926e9892596ea37fd4567f0c49ab73c: Fixed leaked global symbols --- gc.c | 14 +++++++++----- vm_insnhelper.c | 7 ++++--- vm_insnhelper.h | 2 +- vm_sync.c | 4 ++-- vm_sync.h | 6 ++++-- 5 files changed, 20 insertions(+), 13 deletions(-) commit 0a5f22cc426006da8ec2108b36abadad160f8e09 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-25 14:19:12 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-25 14:19:12 +0900 merge revision(s) 73cd4951de20bf989747013b1e62a202f12ac2d2,6e6be107dd0c820afc4db68d09110ad96c4aebdd: Reduced GitHub Actions Moved leaked-globals before check. --- .github/workflows/macos.yml | 4 +++- .github/workflows/ubuntu.yml | 8 +++----- 2 files changed, 6 insertions(+), 6 deletions(-) Ignore test-bundled-gems on GitHub Actions because matrix tests has unknown issues --- .github/workflows/macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 95dc88c88869541dd0eccafd14924d78c8d7f427 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-25 13:38:05 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-25 13:49:53 +0900 partially merge revision(s) 5f69a7f60467fa58c2f998daffab43e118bff36c: [Backport #17666] Co-authored-by: Samuel Williams <@ioquatix> https://github.com/nagachika/ruby/pull/1/commits/2cee515f024f3295945f312cb6b052f972f9c93d commit dc7ad0287eff6e11c2d0f71d2a02e56fe172a0da Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-25 13:47:45 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-25 13:47:45 +0900 bump up bundled rbs and typeprof version to pass test-bundled-gems. commit ec5bc13262de3c827d0e1685d89be3b18457783c Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-25 13:12:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-25 13:13:08 +0900 bump up bundled rbs and typeprof version to pass test-bundled-gems. commit a215c6d0448764131cbbb48b476dc698b51c2273 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-18 15:23:09 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-22 11:47:00 +0900 partially merge revision(s) 119697f61e2b2b157816a8aa33aada5863959900,4a627dbdfd1165022fa9e716ba845e937b03773d: [Backport #18014] [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. --- gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) [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. --- gc.c | 116 +++++++++++++++++++++++++++------------------------------- internal/gc.h | 6 +++ ractor.c | 3 ++ ractor_core.h | 5 +-- 4 files changed, 64 insertions(+), 66 deletions(-) Co-authored-by: Peter Zhu <peter@peterzhu.ca> commit c4b602e80fdc1824c68602302a4ed82a0e90d5b7 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-18 11:22:50 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-18 11:22:50 +0900 merge revision(s) 25e56fe374478a2266ac25f22a07bb3c6a423c83,8758b07b1e4fd636dffb4b442388a3033c63d4b5,791e8eec66d3aebcee36c1369b0bf52bc3815e94: [Backport #18016] [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 --- ext/fiddle/lib/fiddle/types.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) [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 --- ext/fiddle/lib/fiddle/types.rb | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) [ruby/fiddle] win32types: sort https://github.com/ruby/fiddle/commit/35dec6c5a5 --- ext/fiddle/lib/fiddle/types.rb | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) commit b93a2d9d2cac5d3efe72537debedb089d447d33a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-18 11:19:13 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-18 11:19:13 +0900 merge revision(s) 391abc543cea118a9cd7d6310acadbfa352668ef,e86c1f6fc53433ef5c82ed2b7a4cc9a12c153e4c,f6539202c52a051a4e6946a318a1d9cd29002990: [Backport #12052] Scan the coderange in the given encoding --- ext/-test-/string/enc_str_buf_cat.c | 14 ++++++++++++++ string.c | 32 ++++++++++++++++++++++--------- test/-ext-/string/test_enc_str_buf_cat.rb | 9 +++++++++ 3 files changed, 46 insertions(+), 9 deletions(-) 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 <nobu@ruby-lang.org> --- test/ruby/test_transcode.rb | 19 +++++++++++++++++++ transcode.c | 6 ++++++ 2 files changed, 25 insertions(+) =?UTF-8?q?-=20add=20regression=20tests=20for=20U+6E7F=20(?= =?UTF-8?q?=E6=B9=BF)=20in=20ISO-2022-JP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- test/ruby/test_transcode.rb | 3 +++ 1 file changed, 3 insertions(+) commit ca6ebde821991cb558003c3a1d680eaa8df3169d Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-18 10:58:55 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-18 10:58:55 +0900 merge revision(s) 1fac99afdae2671a9ca86bead5bde4d0e2eff1b4: [Backport #18030] 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. --- gc.c | 16 ++++++++++------ test/objspace/test_objspace.rb | 13 +++++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) commit 3540939b95ffa9c24873e9675997037c54063417 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-07 21:35:10 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 21:35:10 +0900 bump teeny version to 3.0.3. commit 0db68f023372b634603c74fca94588b457be084c Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-07 19:08:35 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 19:08:35 +0900 bump up RUBY_PATCHLEVEL commit e2ac25d0eb66de99f098d6669cf4f06796aa6256 Author: Shugo Maeda <shugo@ruby-lang.org> AuthorDate: 2021-05-11 10:31:27 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 19:08:18 +0900 Fix StartTLS stripping vulnerability This fixes CVE-2021-32066. Reported by Alexandr Savca in <https://hackerone.com/reports/1178562>. commit fc71da2673b4cef08749a6756c3fe2ca214820b7 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-07 19:06:32 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 19:06:32 +0900 bump up RUBY_PATCHLEVEL commit bf4d05173c7cf04d8892e4b64508ecf7902717cd Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2021-07-07 11:57:15 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 19:05:36 +0900 Ignore IP addresses in PASV responses by default, and add new option use_pasv_ip This fixes CVE-2021-31810. Reported by Alexandr Savca. Co-authored-by: Shugo Maeda <shugo@ruby-lang.org> commit ec171fa1f9165c31b00971f90c74ef9674d82973 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-07-07 08:57:34 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Merge RubyGems-3.2.22 and Bundler-2.2.22 commit 865221f0ba69f07f700e06b2d2f0a859a01dd233 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-06-28 19:25:33 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Merge RubyGems-3.2.21 and Bundler-2.2.21 commit a50de0adfff8166ea18570edafafb0ba501ff2fa Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-04-15 13:36:06 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Also merge tool/bundler/*.rb for testing of Bundler commit 39f61c3d380576da2f11da73a4b3b640a687d851 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-05-12 16:01:49 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Use assert_raise instead of assert_raises commit fd5e314ecc238a73ca70418c9dc7bce1c8141a50 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-05-11 20:08:03 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Workaround for make test-tool commit 596a99ac7faf4e7cc25fedb2b17fa49918323d56 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2021-05-11 19:46:15 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Fix a typo of c6a11b865e1f9085c88fe169a1f47680383580c2 It failed to define `refute_path_not_exist` commit 152397e495650dc5d55b85796a4272c3b52e0b15 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-05-11 19:32:03 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Alias assert/refute_path_exists for test-unit gem. It's required at https://github.com/rubygems/rubygems/pull/3141 commit bf0e7095dc75516e61d077f70ee8733ecb54faa6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-06-14 13:03:16 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Use the latest version of Bundler's gemspec commit 1e98ec27f6ab893d7c9c1d48214fbe9bb2aa049c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-06-14 12:55:54 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Merge RubyGems-3.2.20 and Bundler-2.2.20 commit f63d3bbb6e27daaac8211c57929d62add4fef1ad Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-06-14 12:55:30 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Merge RubyGems-3.2.19 and Bundler-2.2.19 commit d4b4281959d2a9846d766253b5e21e8158948aa7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-06-14 12:55:03 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Merge RubyGems-3.2.18 and Bundler-2.2.18 commit dd28c03d5fd7a82d1b694a9c2332a55dab81add9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-06-14 12:54:37 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Merge RubyGems-3.2.17 and Bundler-2.2.17 commit 3e2f089432119cf67017d55f4deef2ea909ceb79 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-06-14 12:54:06 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-07 10:03:15 +0900 Merge RubyGems-3.2.16 and Bundler-2.2.16 commit 69fd46f2524ac5df5b739f0a19c71aecfa180d48 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-03 14:22:06 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-03 14:22:06 +0900 Revert "merge revision(s) e86c1f6fc53433ef5c82ed2b7a4cc9a12c153e4c,f6539202c52a051a4e6946a318a1d9cd29002990: [Backport #1205]" This reverts commit e62cccaeb0986d43480bccbd365cb20056bda4d7. commit e62cccaeb0986d43480bccbd365cb20056bda4d7 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-03 13:49:46 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-03 13:49:46 +0900 merge revision(s) e86c1f6fc53433ef5c82ed2b7a4cc9a12c153e4c,f6539202c52a051a4e6946a318a1d9cd29002990: [Backport #1205] 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 <nobu@ruby-lang.org> --- test/ruby/test_transcode.rb | 19 +++++++++++++++++++ transcode.c | 6 ++++++ 2 files changed, 25 insertions(+) =?UTF-8?q?-=20add=20regression=20tests=20for=20U+6E7F=20(?= =?UTF-8?q?=E6=B9=BF)=20in=20ISO-2022-JP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- test/ruby/test_transcode.rb | 3 +++ 1 file changed, 3 insertions(+) commit 2aad080396f5b79a33502f1d812fb237968cb931 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-03 12:09:42 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-03 12:09:42 +0900 merge revision(s) 0846c2da457e7523819236ac7da492029b3ef73d,6c7cb00c094332a208cf36e5cd723a9ba60c41b8: [Backport #16376] Check backref number buffer overrun [Bug #16376] --- regcomp.c | 21 ++++++++++++--------- test/ruby/test_regexp.rb | 6 ++++++ 2 files changed, 18 insertions(+), 9 deletions(-) test/ruby/test_regexp.rb: Avoid "ambiguity between regexp and two divisions" --- test/ruby/test_regexp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 934001fb08ef133b2925f1651f36f83ddcd2f46d Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-07-03 11:38:10 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-07-03 11:38:10 +0900 merge revision(s) 5d710d7e41ef3a9877426c87de121be3bf770e34: [Backport #17476] Fix the wrong file detection for net-*.gemspec [Bug #17476][ruby-core:101724] --- tool/rbinstall.rb | 5 +++++ 1 file changed, 5 insertions(+) commit f0a1c063490d69f0868876deed74ad52db63cf4b Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-13 14:07:06 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-13 14:07:06 +0900 merge revision(s) d74e5d5b4fba41a9120b3ed2762cf765478605ad: [Backport #17948] 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. --- vm_dump.c | 62 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 30 deletions(-) commit 3d6b5c23139f097ca5022bcb84135b42ee0ff2b4 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-10 16:09:02 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-10 16:09:02 +0900 merge revision(s) 773c690f2553db31a9cc83a037f5449e0c1ea456: [ruby/net-ftp] Bump version to 0.1.2 https://github.com/ruby/net-ftp/commit/895ba44b3c --- lib/net/ftp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 24370a7a38db06a29637052a174c1fdc9c779a28 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-10 16:08:40 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-10 16:08:40 +0900 merge revision(s) 370949aad60e992c26037241c07489c056554ea3: test/net/ftp/test_ftp.rb - fix intermittent MinGW failure Fixes intermittent error as below: [242/838] 5316=test_ftp #<Thread:0x0000020aa8733f20 D:/a/ruby/ruby/src/test/net/ftp/test_ftp.rb:2532 run> terminated with exception (report_on_exception is true): D:/a/ruby/ruby/src/tool/lib/minitest/unit.rb:199:in `assert': Expected #<Errno::ECONNRESET: An existing connection was forcibly closed by the remote host.> 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' --- test/net/ftp/test_ftp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 98e5d1f23c8fd492f7b856902132c11752967d3a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-10 16:07:42 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-10 16:07:42 +0900 merge revision(s) fe11031b677f301fa011202f3d27e8eb73064264: test/net/ftp/test_ftp.rb: remove unused variable --- test/net/ftp/test_ftp.rb | 1 - 1 file changed, 1 deletion(-) commit 02411b16afa615617b8076548571cc2cdd6a5228 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-10 16:07:25 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-10 16:07:25 +0900 merge revision(s) 1b2abb6590a653cb7b31d73c42edbaf2d0617b27: [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 --- lib/net/ftp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6363492817d9dc73da836da852d7cb6a4ace3a8f Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-10 16:06:01 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-10 16:06:01 +0900 merge revision(s) 990baec41174a0b4cf7e285cf3185b4ab444437e: [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 --- lib/net/ftp.rb | 24 ++++++++++++++---------- test/net/ftp/test_ftp.rb | 39 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 12 deletions(-) commit ced669aed0de19090d1ba85eb9881becb693a735 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-10 16:01:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-10 16:01:53 +0900 merge revision(s) a86c6cb34df0c44973efe6578ba1cd9150af22cf: [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 --- lib/net/ftp.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) commit d4f4ae599f650feb0a9da6fa486ce425dbe8a81a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-10 10:31:27 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-10 10:31:27 +0900 merge revision(s) 73f9831a57e133ab5645221df862a176a42f6685: [Backport #17941] POSIX timer cannot be shared in forked process [Bug #17941] --- thread_pthread.c | 1 + 1 file changed, 1 insertion(+) commit 2dd18df4a35a4b2dd0cf2dec7759898246fc6935 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-03 20:46:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-03 20:46:53 +0900 merge revision(s) 86c262541ad07528842d76dab4b9b34bd888d5f4,7e14762159643b4415e094f9d2a90afaf7994588: [Backport #17935] 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. --- mjit.c | 21 +++++++++++++-------- mjit_worker.c | 4 ++++ 2 files changed, 17 insertions(+), 8 deletions(-) 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. --- mjit.c | 23 ++++++++++++++--------- mjit_worker.c | 4 ++-- 2 files changed, 16 insertions(+), 11 deletions(-) commit 9680ee97e0b3e87c0fc9a65c01de1ee50a1a178b Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-06-03 20:46:01 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-06-03 20:46:01 +0900 merge revision(s) 1aac0e88193a82ed36b43e852c46414181b66455: [Backport #17928] Mark inlined ISeqs during MJIT compilation (#4539) [Bug #17584] --- common.mk | 6 ++++++ mjit.c | 18 +++++++++++----- mjit_compile.c | 24 +++++++++++++++------ mjit_worker.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 99 insertions(+), 15 deletions(-) commit a21ec8d1ecc6e978ea6b18a27046c424e2849752 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-29 14:36:28 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-29 14:36:28 +0900 merge revision(s) 636d4f7eb9f3fcb088e1a44af4181c4aa36789b4: [Backport #17822] 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] --- test/ruby/test_refinement.rb | 22 ++++++++++++++++++++++ vm_method.c | 15 ++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) commit d47df50678b00bd622e6be474031204ed2e52b31 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-29 14:35:12 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-29 14:35:12 +0900 merge revision(s) 39a2ba5cc559900c30c3143da32446c2f20a7484: [Backport #17806] 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] --- class.c | 4 +++- test/ruby/test_refinement.rb | 49 ++++++++++++++++++++++++++++++++++++++++++++ vm_method.c | 13 ++++++++++-- 3 files changed, 63 insertions(+), 3 deletions(-) commit 7b6a2ad04a3272a31323493133498dfc60d77d76 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-29 14:34:00 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-29 14:34:00 +0900 merge revision(s) 4b36a597f48c857aa5eb9ed80fec0d02f6284646: [Backport #17519] 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] --- test/ruby/test_module.rb | 110 ++++++++++++++++++++++++++++++++++++++++++++++- vm_method.c | 3 +- 2 files changed, 111 insertions(+), 2 deletions(-) commit 20bf397f7cebd8156d76941dd54659cf9b8c8fe7 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-29 14:04:25 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-29 14:04:25 +0900 merge revision(s) fd8991f797c145615820b4c76e6b7ac5a71339ea: [Backport #17889] Fix lazy enumerator with index size Fixes [Bug #17889] --- enumerator.c | 7 ++++++- test/ruby/test_lazy_enumerator.rb | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) commit 9d63a8dd0beefa49796eb86ab688c2eb0cd89a20 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-29 13:39:20 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-29 13:39:20 +0900 merge revision(s) 5cdf99f64e344b8e4638824d55f5caf33be682ca: [Backport #17761] 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. --- lib/mkmf.rb | 8 ++++---- test/mkmf/test_install.rb | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 test/mkmf/test_install.rb commit 5af5ea7f860ed64062796e54e73274e7a56c7280 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-23 16:09:17 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-23 16:09:17 +0900 merge revision(s) cfd162d535c7a4f8b1f95255cc6be696a8b75557: [Backport #17467] 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] --- spec/ruby/core/string/lstrip_spec.rb | 18 ++++++++++++------ spec/ruby/core/string/strip_spec.rb | 22 ++++++++++------------ string.c | 4 ++-- test/ruby/test_string.rb | 16 ++++++++++++++++ 4 files changed, 40 insertions(+), 20 deletions(-) commit 44b87adc07621b6a8eddfcf4aaff34ce634179d4 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-23 15:51:10 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-23 15:51:10 +0900 merge revision(s) e019dd24df4ed7063ad80d4c2e4070141793f598,7954bb056be30e86c419fe3792064d28990a4999,7d3fdfb27dac456827b004d9e66a44b15f8cd762: [Backport #17736] Ensure the receiver is modifiable before shrinking [Bug #17736] * Ensure the receiver is modifiable before shinking [Bug #17736] * Assert the receivers are not modified --- array.c | 1 + test/ruby/test_array.rb | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) 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 --- hash.c | 2 ++ test/ruby/test_hash.rb | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) Hash#transform_values! ensures receiver modifiable in block [Bug #17736] --- hash.c | 1 + test/ruby/test_hash.rb | 9 +++++++++ 2 files changed, 10 insertions(+) commit 86f7e55dfb5938e0c617b8629a1fbb4d24341dc0 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-23 15:05:06 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-23 15:05:06 +0900 merge revision(s) 10e63f3f56cc0f559816d921f3e771dea02f3eb9: [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 --- test/rdoc/test_rdoc_rdoc.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 410216c9db033a72f4dd119c366bc58dd54383ec Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-23 14:59:26 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-23 14:59:26 +0900 merge revision(s) d8a13e504992a45d52063f7c925408d7aad3595a: [Backport #17780] [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. --- proc.c | 2 +- test/ruby/test_method.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) commit fc73fc79cbaee6674256589b7cfe53d20b638a05 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-23 14:40:20 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-23 14:40:20 +0900 merge revision(s) 1ad222477344597038d7ec08885a41f547c2a3b4: [Backport #17625] [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) <xtkoba+ruby@gmail.com> https://github.com/ruby/openssl/commit/f2d004679a --- ext/openssl/ossl_ts.c | 22 +++++++++++----------- test/openssl/test_ts.rb | 5 +++++ 2 files changed, 16 insertions(+), 11 deletions(-) commit f9196de1dee6f5ab8b6fe115070b92775a3500fe Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-23 14:36:05 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-23 14:36:05 +0900 merge revision(s) 3a3b19b2bba49e5d6f1cf13764eb6dd701397be9: [Backport #17827] Fix Monitor to lock per Fiber, like Mutex [Bug #17827] --- ext/monitor/monitor.c | 10 +++++----- test/monitor/test_monitor.rb | 7 +++++++ 2 files changed, 12 insertions(+), 5 deletions(-) commit 31816356eee6313fe968eecd4cd3ad9ac4848819 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-22 17:09:16 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-22 17:09:16 +0900 merge revision(s) 2bc293e899c9d32dcd794a73de8925c49ecf8f15,d0e6c6e682b9ba2b0309a5177933a0628e8ef316,cc0dc67bbbe1951ff90004bc987f78545625d772,e1eff837cf12a8e813de9d4ff2db50c9b68b86b5,0ab0b86c8491d639b9ff1335ddf35e341ecd867e,6911b4bc82889860ff7da4ecf975504cdc3e5314: [Backport #17854] 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] --- common.mk | 1 + compile.c | 7 +++++++ internal/rational.h | 1 + rational.c | 13 ++++++++++--- test/ruby/test_rational.rb | 7 +++++++ 5 files changed, 26 insertions(+), 3 deletions(-) cdhash_cmp: rational literals with fractions Nobu kindly pointed out that rational literals can have fractions. --- compile.c | 5 +++-- test/ruby/test_rational.rb | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) cdhash_cmp: can also take complex There are complex literals `123i`, which can also be a case condition. --- compile.c | 15 +++++++++++---- complex.c | 12 +++++++++--- internal/complex.h | 1 + test/ruby/test_rational.rb | 4 ++++ 4 files changed, 25 insertions(+), 7 deletions(-) cdhash_cmp: recursively apply For instance a rational's numerator can be a bignum. Comparison using C's == can be insufficient. --- compile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) cdhash_cmp: should use || cf: https://github.com/ruby/ruby/pull/4469#discussion_r628386707 --- compile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) test_cdhash: refactor change class It is now strange to test Complex in a class named Rational_Test. --- test/ruby/test_rational.rb | 15 --------------- test/ruby/test_syntax.rb | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 15 deletions(-) commit af9de56c6fde7f9adb81d6ed0ef3067af81f90e5 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-22 16:47:24 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-22 16:47:24 +0900 merge revision(s) 110f242ef9b495037f59e4972ee102a8b8b372d5: [Backport #17861] 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. --- parse.y | 12 ++++++++++-- test/ruby/test_parse.rb | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) commit 5e21726cda22e3cb34127751aec7e9babb4308b3 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-22 16:27:29 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-22 16:27:29 +0900 merge revision(s) 799ea1d1540aca03542ee31647052343507a4b41: [Backport #16651] mkmf.rb: convert also arch_hdrdir [Bug #16651] --- lib/mkmf.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ddd720f8dcd98de6a250a152fa40c3c044d62383 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-22 15:51:37 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-22 15:51:37 +0900 merge revision(s) 5026f9a5d5012248729a0052cd6cec811748291b: [Backport #17868] compile.c: stop the jump-jump optimization if the second has any event Fixes [Bug #17868] --- compile.c | 3 ++- test/ruby/test_settracefunc.rb | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) commit 9c0df2e81c22e6e35f3c5d69a070c2a3cf67e320 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-22 15:20:23 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-22 15:20:23 +0900 merge revision(s) 9edc162583a4f685332239f6249745ad9b518cbe: [Backport #17781] [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 --- lib/resolv.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit e175917f66f0b51638d9d9e143918d4109d489f4 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-22 14:59:05 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-22 14:59:05 +0900 merge revision(s) dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4: [Backport #17874] [Backport #17876] 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. --- mjit_worker.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2a70d2148453aeb39443f4c84147ace722d53a9a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-05-22 14:51:13 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-05-22 14:51:55 +0900 merge revision(s) b1c73f239fe9af97de837331849f55d67c27561e,bb570ce6d80d28cfc7131dcb72885eed2f989b30,b88d1e6b44164bca0c2b85ea6639469813e1e1d8,127f735c1e5e0771076caf2a74390757a42fb177,f3f1a666c77f8c528b0adc9ccf78e4b9910bd6e0,fa048a0f8523cefde5428805dd334691486319e6,d5d1c41728d65acfb8aa2cf95f2d8ac88f271cd1,52ebaf718e6a78297ceb0dff49815eeed28eae45,7fe22152fc28084f4395fece84ff6e5eb2d6b288,19e6d271266eca5925e66fc8ec39b251a2fa6bcd,05898c5b9001c0b1e8bd7bf0d12b42a8e7c388b8,3651f678a719ae3a35825bcb4e0dabbc7c60d8df,10b082064e6ab0943cce4ef43e567d8044c7096d,de8e6218a3257fe19b46ff0aa157e66f452ac8b7,971a0cd246db6578e1ea8760a903e1a23e3681f3,61a29a41e1d0d11a9963315aa86d25ed690124c0,ff9a00887161840eb8a34d53749a7d7962181cfe,fad3412d475b57055f426cf4e86eafeab516672b,54aa11efa8b1be2c5d20402890d6d2fa90aa19a8,e84d275fe6d0c14ba58ce73b13323879c060b7ae,61e1cf23ac0d122fba3ad4cbaa402c7c94ad54d3,a6948329f8f89fb390215086fe4a888915fd589e,64b991b0cd98ee8f23266b8cbea0fa34bdaab1ec,b1c73f239fe9af97de837331849f55d67c27561e,0ee24b4fab1a1faef600a42c29863e1c3edd8c61: [Backport #17877] Synchronize rdoc with upstream version v6.3.1. [ruby/rdoc] Use File.open to fix the OS Command Injection vulnerability in CVE-2021-31799 https://github.com/ruby/rdoc/commit/a7f5d6ab88 --- lib/rdoc/rdoc.rb | 2 +- test/rdoc/test_rdoc_rdoc.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) [ruby/rdoc] Support ChangeLog generated by `git log` https://github.com/ruby/rdoc/commit/5e0a123ca1 --- lib/rdoc/parser/changelog.rb | 35 +++++++++++++++++++++ test/rdoc/test_rdoc_parser_changelog.rb | 56 +++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) [ruby/rdoc] Make each commit entries h3 https://github.com/ruby/rdoc/commit/11eefb2ae9 --- lib/rdoc/parser/changelog.rb | 12 ++++++------ test/rdoc/test_rdoc_parser_changelog.rb | 12 ++++-------- 2 files changed, 10 insertions(+), 14 deletions(-) [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 --- lib/rdoc/parser/changelog.rb | 20 +++++++++++++++++- test/rdoc/test_rdoc_parser_changelog.rb | 36 ++++++++++++++++++++++++++++++++- 2 files changed, 54 insertions(+), 2 deletions(-) [ruby/rdoc] Shorten commit hashes https://github.com/ruby/rdoc/commit/5d3e153963 --- lib/rdoc/parser/changelog.rb | 2 +- test/rdoc/test_rdoc_parser_changelog.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) [ruby/rdoc] Add links to the commits https://github.com/ruby/rdoc/commit/1821628076 --- lib/rdoc/parser/changelog.rb | 107 +++++++++++++++++++++++++------- test/rdoc/test_rdoc_parser_changelog.rb | 36 ++++++----- 2 files changed, 107 insertions(+), 36 deletions(-) [ruby/rdoc] Sort by CommitDate if available https://github.com/ruby/rdoc/commit/455715e930 --- lib/rdoc/parser/changelog.rb | 11 ++++++--- test/rdoc/test_rdoc_parser_changelog.rb | 40 +++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) [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 --- lib/rdoc/parser/changelog.rb | 36 ++++++++++++++++++++------------- test/rdoc/test_rdoc_parser_changelog.rb | 2 ++ 2 files changed, 24 insertions(+), 14 deletions(-) [ruby/rdoc] Support other date formats in git-log https://github.com/ruby/rdoc/commit/ad8cf37d72 --- lib/rdoc/parser/changelog.rb | 6 +++--- test/rdoc/test_rdoc_parser_changelog.rb | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) [ruby/rdoc] Support iso-strict format in git-log https://github.com/ruby/rdoc/commit/2a6c22da63 --- lib/rdoc/parser/changelog.rb | 6 +++--- test/rdoc/test_rdoc_parser_changelog.rb | 11 +++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) [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 --- lib/rdoc/generator/template/darkfish/css/rdoc.css | 1 + 1 file changed, 1 insertion(+) [ruby/rdoc] Support GFM table https://github.com/ruby/rdoc/commit/9dc933df16 --- lib/rdoc/markdown.rb | 349 +++++++++++++++++++++++++++++++- lib/rdoc/markup.rb | 1 + lib/rdoc/markup/table.rb | 47 +++++ lib/rdoc/markup/to_html.rb | 23 +++ lib/rdoc/markup/to_joined_paragraph.rb | 1 + lib/rdoc/markup/to_rdoc.rb | 28 +++ lib/rdoc/markup/to_table_of_contents.rb | 1 + test/rdoc/test_rdoc_markdown.rb | 23 +++ 8 files changed, 471 insertions(+), 2 deletions(-) create mode 100644 lib/rdoc/markup/table.rb [ruby/rdoc] Add table style https://github.com/ruby/rdoc/commit/2219c5ae80 --- lib/rdoc/generator/template/darkfish/css/rdoc.css | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) [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 --- lib/rdoc/markdown.rb | 447 +++++++--------------------------------- test/rdoc/test_rdoc_markdown.rb | 36 +++- 2 files changed, 112 insertions(+), 371 deletions(-) [ruby/rdoc] Allow partial default values to be overridden with .rdoc_options https://github.com/ruby/rdoc/commit/e14800891f --- lib/rdoc/options.rb | 34 +++++++++++++++++++++++++++++++++- lib/rdoc/rdoc.rb | 7 ++++++- test/rdoc/test_rdoc_rdoc.rb | 12 ++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) [ruby/rdoc] Allow empty .rdoc_options https://github.com/ruby/rdoc/commit/0c8cb25b50 --- lib/rdoc/rdoc.rb | 2 ++ test/rdoc/test_rdoc_rdoc.rb | 11 +++++++++++ 2 files changed, 13 insertions(+) [ruby/rdoc] Suppress unused variable warning of "text" https://github.com/ruby/rdoc/commit/3a4120b155 --- lib/rdoc/markdown.rb | 345 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 343 insertions(+), 2 deletions(-) [ruby/rdoc] Get rid of a trailing space https://github.com/ruby/rdoc/commit/7b7b91768e --- lib/rdoc/markdown.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) [ruby/rdoc] Disable other notations in <code> tags https://github.com/ruby/rdoc/commit/0cd3b55210 --- lib/rdoc/markup/attr_span.rb | 10 ++- lib/rdoc/markup/attribute_manager.rb | 102 ++++++++++++++++++------ test/rdoc/test_rdoc_markup_attribute_manager.rb | 24 +++++- test/rdoc/test_rdoc_markup_to_html.rb | 6 ++ 4 files changed, 114 insertions(+), 28 deletions(-) [ruby/rdoc] Treat other tags as word boundaries https://github.com/ruby/rdoc/commit/8222f85a17 --- lib/rdoc/markup/attribute_manager.rb | 17 +++++++++++++---- test/rdoc/test_rdoc_markup_to_html.rb | 5 +++++ 2 files changed, 18 insertions(+), 4 deletions(-) [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 --- lib/rdoc/markup/attr_span.rb | 2 +- lib/rdoc/markup/attribute_manager.rb | 10 +++++----- test/rdoc/test_rdoc_markup_attribute_manager.rb | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) [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 --- test/rdoc/test_rdoc_top_level.rb | 3 +++ 1 file changed, 3 insertions(+) [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 --- lib/rdoc/markup/to_html.rb | 4 ++++ test/rdoc/test_rdoc_markup_to_html.rb | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) [ruby/rdoc] Use File.open to fix the OS Command Injection vulnerability in CVE-2021-31799 https://github.com/ruby/rdoc/commit/a7f5d6ab88 --- lib/rdoc/rdoc.rb | 2 +- test/rdoc/test_rdoc_rdoc.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) [ruby/rdoc] Version 6.3.1 https://github.com/ruby/rdoc/commit/9307f932b7 --- lib/rdoc/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3e07a4edc92f18dec4806961c1b724ac5cf4d6b2 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-29 17:53:07 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-29 17:53:07 +0900 merge revision(s) 3a3033c138c0951ad5edbf02b5c233b58a190d2f: [Backport #17787] 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. --- internal/bits.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit cc4e602634e894c831a4103a5803a3de566c1856 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-29 17:49:55 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-29 17:49:55 +0900 merge revision(s) 87c546b5fa97e6e226cce4daf417617a1143f642,7a3322a0fd660d676f1918bd7c4a37676b44e1c2: Avoid using inconsistent coding style Other `_mjit_compile_*.erb` files don't use goto. These files'd better be consistent for readability. --- tool/ruby_vm/views/_mjit_compile_getinlinecache.erb | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) 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. --- test/ruby/test_jit.rb | 12 +++++++++++ .../ruby_vm/views/_mjit_compile_getinlinecache.erb | 2 +- vm_insnhelper.c | 25 ++++++++++++++-------- 3 files changed, 29 insertions(+), 10 deletions(-) commit 58240b5d0b52d9685b773e5b9e45d22ca500392a Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-29 17:20:52 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-29 17:20:52 +0900 merge revision(s) 4ae27d8075b2d138d13cb2b112f0ee50934b3017,2670509ebba5ba31a5bf34cf906943075446e005,8e2ac2140d1cd9c163c1556df58c020dc22ab269: [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 --- lib/net/ftp.rb | 5 +++-- test/net/ftp/test_ftp.rb | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) [ruby/net-ftp] Add test cases https://github.com/ruby/net-ftp/commit/865232bb2a --- test/net/ftp/test_ftp.rb | 6 ++++++ 1 file changed, 6 insertions(+) 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 --- test/net/ftp/test_ftp.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 13f93ad16d3d1ecf96ece229cd4bc5ea294e1a71 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-24 14:04:04 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-24 14:04:04 +0900 merge revision(s) 611e711085c7e3984555a79626d025c8b876eced,a9c5c2d614f30a616970245fef3e7ffc151e2ecf: [Backport #17527] Test incorrect behaviour of `rb_io_wait_readable/writable`. --- test/fiber/test_io.rb | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) Check errno before invoking scheduler in `rb_io_wait_readable/writable`. See <https://bugs.ruby-lang.org/issues/17527> for more details. --- io.c | 66 +++++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 35 insertions(+), 31 deletions(-) commit 5a9b5b8e953dc36f4f7f7639e8aeaa8132241c79 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-18 19:03:43 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-18 19:04:24 +0900 Add execution bit for autogen.sh. commit 6e6157d9a985dd39a141e26e579b8508f6ceff15 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-18 17:59:19 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-18 17:59:19 +0900 merge revision(s) 6268fdc662c75c61091b2ab0b476ec15df023328: 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 --- spec/ruby/core/hash/transform_keys_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 316699605c4ffd37329370233dcee48d6fa8e0d1 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-15 13:51:10 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-15 13:51:10 +0900 bump up RUBY_PATCHLEVEL commit ce06c24b0c1fd9a3e74909886b425feb0af50233 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-04-06 16:07:16 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-15 13:43:56 +0900 merge revision(s) c32375883a6,48bb0329eb3: Update for autoconf 2.70 --- configure.ac | 232 +++++++++++++++++------------------ tool/m4/ruby_check_builtin_setjmp.m4 | 8 +- tool/m4/ruby_check_printf_prefix.m4 | 9 +- tool/m4/ruby_check_setjmp.m4 | 6 +- tool/m4/ruby_check_sysconf.m4 | 6 +- tool/m4/ruby_cppoutfile.m4 | 4 +- tool/m4/ruby_decl_attribute.m4 | 4 +- tool/m4/ruby_dtrace_available.m4 | 2 +- tool/m4/ruby_dtrace_postprocess.m4 | 2 +- tool/m4/ruby_mingw32.m4 | 4 +- tool/m4/ruby_stack_grow_direction.m4 | 4 +- tool/m4/ruby_try_cflags.m4 | 2 +- tool/m4/ruby_try_cxxflags.m4 | 2 +- tool/m4/ruby_try_ldflags.m4 | 2 +- 14 files changed, 143 insertions(+), 144 deletions(-) Revert AC_PROG_CC_C99 for -std=gnu99 option to gcc 4.8 --- configure.ac | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 6add6014d8626c4e5f6816030ea651321e6aa044 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-04-06 16:06:36 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-15 13:43:56 +0900 merge revision(s) a3851d97ede: Removed unused AC_CHECKING --- configure.ac | 7 ------- 1 file changed, 7 deletions(-) commit 84d9a9afc0b49d095541acb9832f8b12fb506e19 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-15 10:11:19 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-15 10:25:30 +0900 merge revision(s) 31e0382723bfb35cffe3ca485dd0577668cafa07,5e5fb72f99701dc27c66ab148471893f14e6d6f0,fb6ebe55d91187d9635e0183d47dbf38e95b1141,522d4cd32f7727886f4fcbc28ed29c08d361ee20: [Backport #17735] Keep non evaluated keys in `Hash#transform_keys!` [Bug #17735] --- hash.c | 6 +++++- spec/ruby/core/hash/transform_keys_spec.rb | 12 +++++++++++- test/ruby/test_hash.rb | 8 ++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) Clear an intermediate hash [Bug #17735] --- hash.c | 1 + 1 file changed, 1 insertion(+) Hide an intermediate array --- hash.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 --- hash.c | 2 ++ 1 file changed, 2 insertions(+) commit d5a34e1b142eccc54971494be2243a0c6ac01d94 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-15 09:46:36 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-15 09:46:36 +0900 merge revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730: [Backport #17802] 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 `<main>' = 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. --- test/drb/test_drb.rb | 4 ++-- test/drb/test_drbssl.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit f057a60792293cccfb259430c1a48d445c5c9310 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2021-04-15 09:44:59 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2021-04-15 09:44:59 +0900 bump teeny version to 3.0.2. commit 0fb782ee38ea37fd5fe8b1f775f8ad866a82a3f0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-04-05 21:20:51 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-05 21:33:42 +0900 Get rid of multibyte prefix to tmpdir commit 6cdc36a60d7fbf4b218785087b1c3a91682bc147 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-04-05 21:06:23 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-05 21:33:12 +0900 [ruby/tmpdir] Bump version to 0.1.2 https://github.com/ruby/tmpdir/commit/c79bc7adf6 commit b609bf0a17e166a7092fa6d2ff291ed9a26e2510 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-05 20:56:45 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-05 20:56:45 +0900 teenyup commit 69e6e07a314aa4b2b3c334163dbfb494f369ec54 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-05 20:08:23 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-05 20:08:23 +0900 Update REXML to 3.2.5 commit 3b97a6496f35efbc6aef9aef2bd1fe87e6b5d158 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-04-01 01:17:45 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-05 20:06:22 +0900 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 commit cafa7904e7233d1a4b8ae7e738f6bd35ed67d642 Author: aycabta <aycabta@gmail.com> AuthorDate: 2021-04-03 18:26:46 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-04-03 18:26:46 +0900 Backport lib/reline, and lib/irb for 3.0.1 4th (https://github.com/ruby/reline/pull/4349) * [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 * [ruby/irb] Do not continue line if last expression is an endless range Fixes [Bug #14824] https://github.com/ruby/irb/commit/63414f8465 * [ruby/irb] Add a test for not continuing when endless range at eol https://github.com/ruby/irb/commit/1020ac9c65 * [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 * 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 ``` * 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' ``` * [ruby/irb] Define "measure" command without forced override https://github.com/ruby/irb/commit/9587ba13b5 * [ruby/irb] Add all lib files automatically https://github.com/ruby/irb/commit/ecc82336b7 * [ruby/irb] Don't call Ruby 2.4+'s String#pretty_print https://github.com/ruby/irb/commit/89bcf107be * [ruby/irb] Implement ls command https://github.com/ruby/irb/commit/19b6c20604 * [ruby/irb] Add whereami command https://github.com/ruby/irb/commit/bc822e4aac * [ruby/irb] Fix column overflow on ls output https://github.com/ruby/irb/commit/6115754623 * [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 * [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 * [ruby/irb] Have some right padding instead of filling out an entire line https://github.com/ruby/irb/commit/6ac8f45f5f * Suppress verbose messages Get rid of warnings in the parallel test. ``` unknown command: "Switch to inspect mode." ``` * [ruby/irb] Change ripper_lex_without_warning to a class method https://github.com/ruby/irb/commit/d9f8abc17e * [ruby/irb] Complete require and require_relative https://github.com/ruby/irb/commit/1c61178b4c * [ruby/reline] Add Reline.ungetc to control buffer https://github.com/ruby/reline/commit/43ac03c624 * [ruby/reline] Reline.delete_text removes the current line in multiline https://github.com/ruby/reline/commit/da90c094a1 * [ruby/reline] Support preposing and postposing for Reline.completion_proc https://github.com/ruby/reline/commit/1f469de90c * [ruby/reline] Suppress crashing when completer_{quote,word_break}_characters is empty https://github.com/ruby/reline/commit/c6f1164942 * [ruby/irb] fix completion test when out-of-place build * [ruby/irb] Cache completion files to require https://github.com/ruby/irb/commit/612ebcb311 * [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 * [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 `<main>' 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 `<top (required)>' 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 <module:InputCompletor>' 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 * [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 * [ruby/irb] SIGINT should raise Interrupt after IRB session https://github.com/ruby/irb/commit/5832cfe75b * [ruby/irb] Colorize `__END__` as keyword https://github.com/ruby/irb/commit/9b84018311 * [ruby/irb] Add show_source command https://github.com/ruby/irb/commit/108cb04352 * [ruby/reline] Reset @rest_height when clear screen https://github.com/ruby/reline/commit/3a7019b0d5 * [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 => #<A:0x00007f984211fbe8> ``` https://github.com/ruby/irb/commit/45aeb52575 * [ruby/irb] Add yamatanooroti test example https://github.com/ruby/irb/commit/279155fcee * [ruby/irb] Add test for multiline paste https://github.com/ruby/irb/commit/e93c9cb54d * [ruby/irb] Evaluate each toplevel statement https://github.com/ruby/irb/commit/bc1b1d8bc3 * [ruby/irb] Version 1.3.5 https://github.com/ruby/irb/commit/22e2ddf715 * [ruby/reline] Version 0.2.5 https://github.com/ruby/reline/commit/22ce5651e5 Co-authored-by: Jeremy Evans <code@jeremyevans.net> Co-authored-by: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Aleksandar Ivanov <aivanov92@gmail.com> Co-authored-by: Koichi Sasada <ko1@atdot.net> Co-authored-by: Cody Cutrer <cody@instructure.com> commit 6abb8ee711a941b7ad31d21fdb429750f7ea4463 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-02 16:09:09 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-02 16:09:09 +0900 merge revision(s) 0a544c0c35f7445d69402d7c53d825384c728017: [Backport #17754] 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 --- error.c | 4 +++- test/ruby/test_nomethod_error.rb | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) commit 0315e1e5ca0722f9dffeae70b860c19de303e339 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-02 16:08:30 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-02 16:08:30 +0900 merge revision(s) f9f13a4f6d8be706b17efc089c28f7bc617ef549: [Backport #17746] 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 <jean.boussier@gmail.com> --- test/ruby/test_backtrace.rb | 16 ++++++++++++++ vm_backtrace.c | 52 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 2 deletions(-) commit 4e2738f477b5343a0d48a400c975220fed123c9b Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-02 16:06:31 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-02 16:06:31 +0900 merge revision(s) 7e8a9af9db42a21f6a1125a29e98c45ff9d5833b: [Backport #17732] 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 --- encoding.c | 28 ++++++++++++---------------- ext/-test-/string/depend | 3 +++ ext/-test-/string/fstring.c | 15 +++++++++++++++ internal/encoding.h | 3 +++ string.c | 4 ++++ test/-ext-/string/test_fstring.rb | 16 ++++++++++++++++ 6 files changed, 53 insertions(+), 16 deletions(-) commit 855401da495117fcf5d258fe43b71010abc43d9a Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-02 12:31:08 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-02 12:31:08 +0900 merge revision(s) a85ed626f18d1014d09fb37eb0a703976c3d2b53: [Backport #17731] Fix Enumerable#inject with high negative fixnums [Bug #17731] --- enum.c | 2 +- test/ruby/test_enum.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) commit 1a47de64f44da6d4339ba8b2c5220eeaba82954c Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-02 12:27:26 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-02 12:27:26 +0900 merge revision(s) f748b911c9157a0bb86f38280ddfba72a55049b6: [Backport #17729] 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 --- eval_intern.h | 11 ++++++++++- test/ruby/test_rubyoptions.rb | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) commit d1cec0bca588266b9af1d55e592016c45ee68fbb Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-04-02 12:26:56 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-04-02 12:26:56 +0900 merge revision(s) 58660e943488778563b9e41005a601e9660ce21f: [Backport #17519] 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] --- test/ruby/test_module.rb | 23 +++++++++++++++++++++++ vm_method.c | 14 +++++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) commit 2efda212b0d9ad5ec265271db25ad51d796fde44 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-03-24 04:52:19 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-03-24 04:52:19 +0900 Merge RubyGems-3.2.15 and Bundler-2.2.15 (#4311) commit ff2ea4daeb795ebb3d0afa8c57d86a4af9757e50 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-14 21:30:23 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-14 21:30:23 +0900 merge revision(s) 2a6bfd22468343003463e0cbf91953a01b0dbba5,3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f: [Backport #17645] Properly convert time_t [Bug #17645] --- thread_sync.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Explicitly cast __s64 to time_t [Bug #17645] A workaround of shorten-64-to-32 error where 32-bit linux. --- file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e050dd53230cb354e816415f8a937901f79ec395 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-13 17:56:17 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-13 17:56:17 +0900 merge revision(s) f6d5de8f33fe715d939e3e77b8ef73d88bcd6c9f: [Backport #17659] [ruby/io-wait] Declare as Ractor-safe Fixes https://bugs.ruby-lang.org/issues/17659 https://github.com/ruby/io-wait/commit/ba338b4764 --- ext/io/wait/wait.c | 4 ++++ test/io/wait/test_ractor.rb | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/io/wait/test_ractor.rb commit b20e2c3f2a3ce227b9cf32d2bf02db0ac67eccb5 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2021-03-13 17:55:49 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-03-13 17:55:49 +0900 Backport io-console 0.5.7 to Ruby 3.0 (https://github.com/ruby/io-console/pull/4252) * [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 * [ruby/io-console] Ignore chomp! result and return the modified string https://github.com/ruby/io-console/commit/09e5ccc729 * [ruby/io-console] Pre-define chomp! ID https://github.com/ruby/io-console/commit/028e1c9497 * [ruby/io-console] Shrink struct query_args https://github.com/ruby/io-console/commit/720be0a3e5 * [ruby/io-console] bump up to 0.5.7 https://github.com/ruby/io-console/commit/f55d7ebff6 Co-authored-by: Marcus Stollsteimer <sto.mar@web.de> Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> commit 6f9e007729d53fdbc22e37e52129ea5aa2556d0e Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-13 05:12:54 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-13 05:12:54 +0900 merge revision(s) b3c53a8a885be8f5cc2b712798b0d2741c488ce4: [Backport #17672] 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. --- bootstraptest/test_ractor.rb | 12 ++++++++++++ ractor.c | 9 --------- thread.c | 9 +++++++++ 3 files changed, 21 insertions(+), 9 deletions(-) commit 6bf32cbed8f3fd0b73b99737d671f833c594d800 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-13 05:11:30 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-13 05:11:30 +0900 merge revision(s) 63abb5c227e5c20d18d0debf699251da93ca64b5,34d02631e71209b12abb69d0114601027e485bc9,2adbf01ae14c0a4cf190b7c969b91726966a0e0f,3acc81d9e41b18380b9e0168fe2b5e5e0c727256: [Backport #17612] dtoa.c: make compilable independently Except for `-Dxmalloc=malloc -Dxfree=free`. --- missing/dtoa.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) dtoa.c: constified clang seems to locate never modified local data in the const segment implicitly. --- missing/dtoa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) dtoa.c: make thread-safe by using atomic CAS --- common.mk | 2 ++ missing/dtoa.c | 75 ++++++++++++++++++++++++++++++++++++++++++---------------- util.c | 1 + 3 files changed, 57 insertions(+), 21 deletions(-) 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 <ko1@atdot.net> --- bootstraptest/test_ractor.rb | 11 +++++++++++ missing/dtoa.c | 13 ++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) commit 72c6497453f74f3398130d99fc610922f3995ae5 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-12 00:32:56 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-12 00:32:56 +0900 merge revision(s) 7b9476fbfab738d1eb01b4b4c4af9a1680513019: [Backport #17642] Ractor.allocate should not be allowed Ractor.allocate and Ractor#dup should not be allowed like Thread. [Bug #17642] --- bootstraptest/test_ractor.rb | 18 ++++++++++++++++++ ractor.c | 2 ++ 2 files changed, 20 insertions(+) commit 6305d1c6edeec2c3aa25b9220142274f1ef2e868 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2021-01-06 13:06:25 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-11 20:36:52 +0900 remove invalidated cc if cc is invalidated, cc should be released from iseq. commit d3863cb2e80f27d26b521b2c957b21feacb900de Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-11 20:34:40 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-11 20:34:40 +0900 merge revision(s) 07ab172ebef28bb82c2650694548d123802d6c22: [Backport #17636] sync check_rvalue_consistency_force() check_rvalue_consistency_force() uses is_pointer_to_heap() and it should be synchronized with other ractors. [Bug #17636] --- gc.c | 149 ++++++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 76 insertions(+), 73 deletions(-) commit de6072a22edbaab3793cf7f976cc9e0118d0df40 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-11 20:24:48 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-11 20:24:48 +0900 merge revision(s) abdc634f64a440afcdc7f23c9757d27aab4db8a9,083c5f08ec4e95c9b75810d46f933928327a5ab3,1ecda213668644d656eb0d60654737482447dd92,813fe4c256f89babebb8ab53821ae5eb6bb138c6: [Backport #17497] remove unused decl --- internal/vm.h | 6 ------ vm_args.c | 2 -- 2 files changed, 8 deletions(-) Check stack overflow in recursive glob_helper [Bug #17162] --- dir.c | 2 ++ internal/vm.h | 1 + vm_eval.c | 10 ++++++++++ 3 files changed, 13 insertions(+) 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. --- debug_counter.h | 3 + vm.c | 12 +++ vm_callinfo.h | 12 --- vm_core.h | 5 + vm_eval.c | 288 ++++++++++++++++++++++++++++++++++++++++++-------------- vm_insnhelper.c | 11 ++- vm_method.c | 14 ++- 7 files changed, 255 insertions(+), 90 deletions(-) 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. --- vm_insnhelper.c | 99 ++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 36 deletions(-) commit 0074ea2d83230e10ab0cd769fff203c13d3c592f Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-11 20:06:14 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-11 20:06:14 +0900 merge revision(s) 2a83650b0fd25719fb6c03bfec7bd895734d3ceb: [Backport #15852] Destroy VM-wise locks before freeing [Bug #15852] --- thread.c | 7 ------- vm.c | 2 ++ 2 files changed, 2 insertions(+), 7 deletions(-) commit 04ef602c28aa175d7e03e802aa7db750632251cf Author: Aditya Prakash <aditya.prakash132@gmail.com> AuthorDate: 2021-03-06 12:11:50 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-03-11 17:24:52 +0900 [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 commit 0476ce0370c1ee56de690d43c15d5e8d7893dedd Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-03-10 12:08:20 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-03-11 17:24:52 +0900 Merge RubyGems-3.2.14 and Bundler-2.2.14 commit 7efc7afcae6720e1af7ab49986d789b6f9d6fe0a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-03-08 12:17:52 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-03-11 17:24:52 +0900 Merge RubyGems-3.2.13 and Bundler-2.2.13 commit 06cd5711e0afc6302052e847863a7fdcc42fe692 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-03-02 20:38:16 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-03-11 17:24:52 +0900 Merge RubyGems-3.2.12 and Bundler-2.2.12 commit f375bc77d2f347dd2a44705b8abd29398feae427 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-03-02 20:37:31 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-03-11 17:24:52 +0900 Merge RubyGems-3.2.11 and Bundler-2.2.11 commit 38f8b8d070aaac02f1d048b5d9947b2e58401e2b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-03-02 20:36:40 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-03-11 17:24:52 +0900 Merge RubyGems-3.2.10 and Bundler-2.2.10 commit 70e9489f9ea85ddaa68fb43398c14a3921cacb27 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-03 17:35:47 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-03 19:40:48 +0900 merge revision(s) 0d89aedb734372bc35d8a569a992d13e86e7923e,a6f5f3cccda381ae332aaa6467f2644611371fb5,97cf290063ab940d08819cd96cbcca0ef6d50e4c: [Backport #17338] Assign TAG_NONE to ruby_tag_type instead of 0 --- eval.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Also `eclass` loop can raise in `rb_obj_is_kind_of` --- eval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Copy va_list of exception classes The list is reused when an exception raised again after retrying in the rescue procedure. --- eval.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit b49264ab7aa92f64a806857d7e81b3f1cbba5585 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-02 22:00:45 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-02 22:00:45 +0900 merge revision(s) 969b824a0c7605e0e570631d967ad0de0c37d0bf,100e464bee46ae71ef048ed85a9bdd012935a3f7: [Backport #17599] 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] --- gc.c | 3 +++ 1 file changed, 3 insertions(+) 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] --- gc.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) commit 4328f93f1bf08296115172a279e2d85a0ed80122 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-02 21:50:15 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-02 21:50:15 +0900 merge revision(s) 87437326214e4587a41946c8937e11418d983acd: [Backport #17581] 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] --- test/ruby/test_backtrace.rb | 12 ++++++++++++ vm_backtrace.c | 16 +++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) commit 3e67bfe202d6b410375af990ac806f15cb2df762 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-02 18:29:05 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-02 18:29:05 +0900 merge revision(s) b94b7965c420661ed621c146a4efaf43bc3cf50b: [Backport #17639] Fixed fallback ENABLE_VIRTUAL_TERMINAL_PROCESSING value [Bug #17639] --- ruby.c | 2 +- win32/win32.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit a6dec2e144d65011d49f272e494bf62daf3d7531 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-02 18:28:30 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-02 18:28:30 +0900 merge revision(s) 5de38c41ae7bf17ae599fdfa9f8face87f16d8bb: [Backport #17644] ripper: fix a bug of Ripper::Lexer with syntax error and heredoc [Bug #17644] --- ext/ripper/lib/ripper/lexer.rb | 2 +- test/ripper/test_lexer.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) commit 713d6d5eb05de06a0de25feef801ff8c72c65754 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-02 18:27:43 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-02 18:27:43 +0900 merge revision(s) 265c0022390e3dcd4ff692fc77d29b94e652c877: [Backport #17653] Do not allocate ractor-local storage in dfree function during GC --- random.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 5816725ccc9642101d447b0f3b03c14d232aec6a Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-03-02 17:39:31 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-03-02 17:39:31 +0900 merge revision(s) 15dbaa0b54f10e43976d594ef987da5f51e0c7c1: [Backport #17622] [Fixes #17622] Mark and move the previous ep --- vm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 46825a7462e3106599c034bd77dcd3646a181539 Author: aycabta <aycabta@gmail.com> AuthorDate: 2021-02-26 10:32:34 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-02-26 10:32:34 +0900 Backport lib/reline, and lib/irb for 3.0.1 3rd (https://github.com/ruby/reline/pull/4228) * [ruby/irb] Suppress error when File::ALT_SEPARATOR is nil https://github.com/ruby/irb/commit/96accf3b95 * [ruby/irb] Suppress colorize on Windows tests https://github.com/ruby/irb/commit/5be9354cf9 * [ruby/irb] The command "irb_info" should show RUBY_PLATFORM https://github.com/ruby/irb/commit/39d1cd874f * [ruby/irb] Fix inverse separator condition https://github.com/ruby/irb/commit/33f933196f * [ruby/reline] Return 1 when char width not found This fixes ruby/reline#261. https://github.com/ruby/reline/commit/3cf1213014 * [ruby/reline] Avoid tripping over nil prompt https://github.com/ruby/reline/commit/d4d9d3e3d4 * [ruby/reline] Move script files for yamatanooroti tests https://github.com/ruby/reline/commit/03031b885d * [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 * [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 * [ruby/reline] check ENABLE_VIRTUAL_TERMINAL_PROCESSING flag and switch eof processing https://github.com/ruby/reline/commit/3535676689 * [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 * [ruby/reline] fix Reline::Windows.getconsolemode buffer use double quotes to properly convert the \000 escape sequence. https://github.com/ruby/reline/commit/236dfe5683 * [ruby/irb] Version 1.3.4 https://github.com/ruby/irb/commit/ab9852ccc5 * [ruby/reline] Version 0.2.4 https://github.com/ruby/reline/commit/462f971bd3 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Eamonn Webster <eamonn.webster@gmail.com> Co-authored-by: Yoshinao Muramatu <ysno@ac.auone-net.jp> Co-authored-by: cremno <cremno@mail.ru> commit 551f1236a43ad014522d120dea1f136052879c0a Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-16 13:16:54 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-16 13:16:54 +0900 merge revision(s) a681c484a3c5b9235c84bc5c253b4406e498e8cf: [Backport #17626] Fixed codepage for utime [Bug #17626] Should use the given codepage argument. Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org> --- test/ruby/test_file_exhaustive.rb | 7 +++++++ win32/win32.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) commit 38f9c832e812f96fd06ca73688ff2baa528c119c Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-16 13:13:27 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-16 13:13:27 +0900 merge revision(s) 49d3830f44031174ad450a0ea1cdcdf0eabf9d0e: [Backport #17560] Fix documentation for Module#ruby2_keywords It returns nil, not self. Fixes [Bug #17560] --- vm_method.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 09c681ab38df33468570534bef7609222e49c6f4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-02-09 22:53:57 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-02-09 22:53:57 +0900 Merge RubyGems 3.2.9 and Bundler 2.2.9 (#4158) commit 9aba46d8d80473594e567dff1652626e7b2a77b0 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-08 19:13:52 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-08 19:13:52 +0900 merge revision(s) 6f727853cee41195b67ee5d793c1ac23fe1a6ae0,b2674c1fd725b43adf51af7935c780359d70c2a4: [Backport #17482] 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] --- thread.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) unblock thread is only for main ractor. other ractors should not have a unblock thread. This patch fixes 6f727853cee41195b67ee5d793c1ac23fe1a6ae0. --- thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 77700bf023a963af810bcc49184428a75cd23bb1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2021-02-07 21:04:32 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-02-07 21:04:32 +0900 Backport lib/reline, and lib/irb for 3.0.1 2nd (https://github.com/ruby/reline/pull/4157) * [ruby/irb] Stub a screen size for tests https://github.com/ruby/irb/commit/6663057083 * [ruby/irb] Support GitHub Actions https://github.com/ruby/irb/commit/8e9e6c4037 * [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 * [ruby/irb] Use a real screen size for pp by default https://github.com/ruby/irb/commit/9b9300dec2 * [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 - <STDIN> (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 `<main>' https://github.com/ruby/irb/commit/1719514598 * [ruby/irb] Split test files for IRB::Color and IRB::ColorPrinter https://github.com/ruby/irb/commit/d95e8daab3 * [ruby/irb] Undefine unused constants https://github.com/ruby/irb/commit/eea9c16804 * [ruby/irb] Remove pp-specific stub from TestColor because it was for TestColorPrinter https://github.com/ruby/irb/commit/7569206fd4 * [ruby/irb] Delete a doodle-level memo comment... https://github.com/ruby/irb/commit/fc3e1d9e0c * [ruby/irb] Indent correctly with keyword "for" and "in" https://github.com/ruby/irb/commit/47c83ea724 * [ruby/irb] Indent correctly with method calling with receiver https://github.com/ruby/irb/commit/e7c68e74a0 * [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 * [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 * [ruby/irb] specify the `VERBOSE` to `false` and fix tests to fit https://github.com/ruby/irb/commit/502c590925 * In test, need to pass a context to IRB::WorkSpace.new explicitly * Fix absolute path predicate on Windows A path starts with '/' is not an absolute path on Windows, because of drive letter or UNC. * [ruby/irb] follow up the actual line number https://github.com/ruby/irb/commit/7aed8fe3b1 * [ruby/irb] Add info.rb to gemspec https://github.com/ruby/irb/commit/adbba19adf * [ruby/irb] Allow "measure" command to take block https://github.com/ruby/irb/commit/20f1ca23e9 * [ruby/irb] Enable to reassign a new block with "measure" command https://github.com/ruby/irb/commit/b444573aa2 * [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 * [ruby/reline] Initialize uninitialized variables in tests https://github.com/ruby/reline/commit/25af4bb64b * [ruby/reline] Remove an unused variable https://github.com/ruby/reline/commit/123ea51166 * [ruby/reline] Scroll down when ^C is pressed https://github.com/ruby/reline/commit/6877a7e3f5 * [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 * [ruby/reline] Handle past logs correctly when the code is higher than the screen https://github.com/ruby/reline/commit/f197139b4a * [ruby/reline] Update cursor info by inserting newline even if not in pasting https://github.com/ruby/reline/commit/92d314f514 * [ruby/reline] Move cursor just after the last line when finished https://github.com/ruby/reline/commit/ba06e4c480 * [ruby/reline] The vi_histedit supports multiline This closes ruby/reline#253. https://github.com/ruby/reline/commit/f131f86d71 * [ruby/reline] Autowrap correctly when inserting chars in the middle of a line https://github.com/ruby/reline/commit/ebaf37255f * [ruby/reline] Terminate correctly in the middle of lines higher than the screen https://github.com/ruby/reline/commit/e1d9240ada * [ruby/irb] Version 1.3.3 https://github.com/ruby/irb/commit/4c87035b7c * [ruby/reline] Version 0.2.3 https://github.com/ruby/reline/commit/b26c7d60c8 Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Co-authored-by: Nobuhiro IMAI <nov@yo.rim.or.jp> Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: ima1zumi <mariimaizumi5@gmail.com> commit 0c6361ff28528181e8436aff1f6e045759d8e32d Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-03 00:33:47 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-03 00:33:47 +0900 merge revision(s) 0e5fbec81632968836da06dc50fca4948cae6d30: [Backport #17603] Fixed varargs in `rb_bug_without_die` [Bug #17603] --- error.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 03c50eb0db82afc528f1eaf53b5fd55423449f04 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-03 00:30:28 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-03 00:30:59 +0900 merge revision(s) 598b7988f4f332c2d974bde6bc8be299150e2dce,4a06cb31170789f6fc0b1ce069bccab9d731c8bf: [Backport #17604] Bundle RBS 1.0.4 (#4136) --- gems/bundled_gems | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Update TypeProf to 0.12.0 (#4132) --- gems/bundled_gems | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 852c112a3f6fe4211c5818c2584a1514f46b7d0b Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 22:10:02 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 22:10:02 +0900 merge revision(s) 739f929: NetBSD build update. (#4079) --- addr2line.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 6673b60f3d86e7431a2ae7b4af7249a01d20f71c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-02-02 20:23:57 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-02-02 21:30:08 +0900 Merge RubyGems-3.1.7 commit cc51cfabfd0592dd49d4a8ad4bc78e0520128e72 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-02-02 20:23:14 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-02-02 21:30:08 +0900 Merge Bundler-2.2.7 commit 71b4638ca29a5d8a7d6f72e453513035d2096f47 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 19:09:40 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 19:09:40 +0900 merge revision(s) 1cdae49d39fbaef654df487f168d1fb14a146d59: [Backport #17577] Implement NameError::message#clone for Ractor --- bootstraptest/test_ractor.rb | 13 +++++++++++++ error.c | 35 +++++++++++++++++++++++++++++++++-- test/objspace/test_objspace.rb | 9 +++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) commit e9843cdaee26387310384fa0a1d43d450b017350 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 18:06:56 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 18:06:56 +0900 merge revision(s) b091889ed67f278b1652ddde88596e2160d5aef0: [Backport #17582] 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. --- parse.y | 1 - 1 file changed, 1 deletion(-) commit 3cebc709539c9d0ac5bf0b7b280ec74c8029815f Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 17:50:36 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 17:50:36 +0900 merge revision(s) 9241211538189a58b477bd55b539357617fd42ed: [Backport #17589] Forward keyword arguments for Pathname#each_line [Bug #17589] --- ext/pathname/pathname.c | 4 ++-- test/pathname/test_pathname.rb | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) commit 2dc39e2fd45aacd5fcd33ed80f602bd6f2ddb504 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 17:50:00 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 17:50:00 +0900 merge revision(s) 1b89b99941548fdb65305dd9a412082e7fdba45a: [Backport #17534] 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 --- compile.c | 2 +- test/ruby/test_pattern_matching.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) commit fb6cb226a03c2eeaf4fe68b282fcd6e4a8696ffd Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 15:49:51 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 15:49:51 +0900 merge revision(s) 8dfae85adb96cf3da84bf38f2103969d4a7aed3f: [Backport #17575] Warn the defined location as deprecation as well as the main message [Bug #17575] --- test/ruby/test_defined.rb | 17 +++++++++++++++++ vm_method.c | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) commit d370cb62d26f212e431d4a7b38db56254c95cd5d Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 15:47:10 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 15:47:50 +0900 merge revision(s) 9efd590a13d1e8b8a141c46eabb48c2a1c286d2b,a55eb9a2af7950d180d9d31ffde2bce66710f44f: [Backport #17572] Rationalize floats in coerce [Bug #17572] --- rational.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) Make reciprocal properly of non-integral rational [Bug #17572] --- rational.c | 2 +- test/ruby/test_rational.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) commit c09f5ee344ae5e6edb827b177bc6a5c2df37e805 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 00:15:19 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 15:47:50 +0900 merge revision(s) 6ca3d1af3302f722aed530764d07c1cc83e95ecf: [Backport #17552] objspace_dump.c: Handle allocation path and line missing --- ext/objspace/objspace_dump.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit 7899046315321f78fa95ef92f313afa86f4d962b Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-02 00:14:24 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-02 15:47:50 +0900 merge revision(s) eeacdcb9a073c7d8ad703e0dc9faf229a5ebbe3c: [Backport #17558] Fixed premature return After setting ruby2_keywords for bmethod, the rest of arguments had been ignored. [Bug #17558] --- test/ruby/test_keyword.rb | 9 +++++++++ vm_method.c | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) commit da1f1a4694da618849299987f550e40ec0b8284f Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 23:59:23 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 23:59:23 +0900 merge revision(s) e033c9d7db0: [Backport #17549] Include missing AvailabilityMacros.h --- random.c | 4 ++++ 1 file changed, 4 insertions(+) commit 17986daf6edd00313c2a2fe4d2dfccb4f1472977 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 23:07:02 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 23:07:02 +0900 merge revision(s) b84b253a69537a14e4854e17b6d94ae75c2af050: [Backport #17547] Fix Ripper with heredoc. --- ext/ripper/lib/ripper/lexer.rb | 1 + test/ripper/test_lexer.rb | 10 ++++++++++ 2 files changed, 11 insertions(+) commit 138f0ba6da2a1ecf80729be3065310c5c0cfdb9a Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 23:06:33 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 23:06:33 +0900 merge revision(s) 0ed71b37fa9af134fdd5a7fd1cebd171eba83541: [Backport #17536] 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 <john@hawthorn.email> Co-Authored-By: Alan Wu <XrXr@users.noreply.github.com> --- vm_method.c | 1 + 1 file changed, 1 insertion(+) commit 74f90b46a9f21e8ef6e01bebad9dc00f420f8cec Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 21:42:11 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 21:42:11 +0900 merge revision(s) efcdf68e6443ab70fbff1703b9dabbfc5090df31,5e26619660f20272a53c7f839dde36cce034bb35: [Backport #17539] 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 <john@hawthorn.email> --- compile.c | 7 +++++-- test/ruby/test_gc.rb | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) Fix WB for callinfo The WB for callinfo needs to be executed *after* the reference is written. Otherwise we get a WB miss. --- compile.c | 1 + 1 file changed, 1 insertion(+) commit d1fb0a39537d4536869921383ee2a223cc6dfac9 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 20:27:16 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 20:27:16 +0900 merge revision(s) 952b2dcc8804cbf094f8f626e04bcb3f8e151005: [Backport #17602] 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. --- cygwin/GNUmakefile.in | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 42f02a0bac2c037b4e00a9811c5548c5ec7d28a7 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 19:21:03 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 19:21:03 +0900 merge revision(s) 6bcc4664bdaebbf9b28a762ae63f476a1ec6cfb2,bb40c5cbe977de9f36a2a739e94e9b2fd4496b6e,c060bdc2b4ab8eeef5374f4174f5de48ab936d74: [Backport #17541] Return new NODE_LIT As NODE_ZLIST/NODE_LIST are not markable, cannot be reused as NODE_LIT. --- parse.y | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) Ensure symbol list node is either NODE_STR or NODE_DSTR --- parse.y | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) NODE markability should not change by nd_set_type --- node.c | 31 +++++++++++++++++++++++++------ node.h | 12 ++++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) commit 1b0622d7a9451dbeaadccc1f416b71a98271e097 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 19:20:20 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 19:20:20 +0900 merge revision(s) 0036648a420f945624898568bb82bc5f83195d12: [Backport #17533] Capture to reserved name variables if already defined [Bug #17533] --- parse.y | 5 +++-- test/ruby/test_regexp.rb | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) commit 9aa7b57ba4453fce871011c1d9587536d425700f Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 19:19:11 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 19:19:27 +0900 merge revision(s) 6f6dfdcc685077f0f85dcdd63843ecfc0f6fbfb6: [Backport #17523] 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. --- ruby.c | 4 ++-- test/ruby/test_rubyoptions.rb | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) commit 147453ad1e85bc94506c269e363e736675946908 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 19:16:54 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 19:16:54 +0900 merge revision(s) 85b5d4c8bf4cdcba4f1af65f2bc0c8ac716cb795: [Backport #17509] 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?`. --- internal/vm.h | 2 +- test/ruby/test_defined.rb | 33 --------------------------------- vm_insnhelper.c | 4 ++-- vm_method.c | 12 +++++++----- 4 files changed, 10 insertions(+), 41 deletions(-) commit 5501e1038eb1f606d4b941115fcc45e6e01a0de4 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-02-01 19:05:57 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-02-01 19:05:57 +0900 merge revision(s) f4be7a510eebbe6507ba41d138d7d252f4a68e90: Added tests for Time#getlocal with UTC offset --- test/ruby/test_time.rb | 8 ++++++++ 1 file changed, 8 insertions(+) commit 9aea438768d7ac4aef487300b095860a6ec27517 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-26 16:37:39 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-24 18:33:20 +0900 Add 3.0 top sepc guards * Needs WEBrick commit 21340303c2007117ba39a7012eb6ea609b946704 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-12-29 15:40:08 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-24 18:33:20 +0900 Fix compile error of sockssocket The patch is provided by PhobosK (Phobos Kappa). This should be backported to Ruby 3.0. [Feature #17187] commit 1ce4e90dc748057339bd0a5523d23c7619f5a12c Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2021-01-14 15:08:19 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-24 18:33:20 +0900 Remove check branch from ruby_3_0 commit 151e469a6259837246d88b3abbb4d9e46ff38b9d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-01-21 14:35:56 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-01-21 14:35:56 +0900 Merge RubyGems 3.2.6 and Bundler 2.2.6 (#4103) commit 58509767d17f7d4c6002f1159cefc0e038bbd629 Author: aycabta <aycabta@gmail.com> AuthorDate: 2021-01-19 13:01:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2021-01-19 13:01:31 +0900 Backport lib/reline, ext/readline, and lib/irb for 3.0.1 (https://github.com/ruby/irb/pull/4085) * Get rid of inconsistent dll linkages against vcpkg readline * [ruby/irb] Enhance colored inspect output https://github.com/ruby/irb/commit/dffcdb5269 * [ruby/irb] Add color_printer.rb to gemspec https://github.com/ruby/irb/commit/b4df0fd8b2 * [ruby/irb] Fix failing tests https://github.com/ruby/irb/commit/7723ade899 * irb: add more syntax errors colorizing support (https://github.com/ruby/irb/pull/3967) * [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 * [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 * 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 * [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 <takashikkbn@gmail.com> https://github.com/ruby/irb/commit/8d13df22ee * [ruby/irb] Newline in oneliner def doesn't reset indent This closes ruby/irb#132. https://github.com/ruby/irb/commit/43456dcf5e * [ruby/irb] Escape invalid byte sequence in Exception This fixes ruby/irb#141. https://github.com/ruby/irb/commit/0815317d42 * [ruby/irb] Handle indentations related to keyword "do" correctly This fixes ruby/irb#158. https://github.com/ruby/irb/commit/964643400b * [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 * [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 * [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 * [ruby/irb] Ensure to restore $VERBOSE https://github.com/ruby/irb/commit/cef474a76a * 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 * [ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence` https://github.com/ruby/irb/commit/d09d3c3d68 * [ruby/irb] do not escape a predicate method for doc namespace * Fixes https://github.com/ruby/irb/pull/88 https://github.com/ruby/irb/commit/d431a30af4 * [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 * [ruby/irb] Use Exception#full_message to show backtrace in the correct order [Bug #17466] https://github.com/ruby/irb/commit/1c76845cca * [ruby/irb] Fix BACK_TRACE_LIMIT logic https://github.com/ruby/irb/commit/30dc5d43fe * irb: Drop lines from backtrace for tests in Ruby repository * [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 * [ruby/reline] Correct var names in Reline were different from vi-*-mode-string https://github.com/ruby/reline/commit/8255fc93b9 * [ruby/reline] Remove debug print https://github.com/ruby/reline/commit/d7fbaedc6a * [ruby/reline] Suppress crashing when auto_indent_proc returns broken indent info Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/7c24276275 * [ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken prompt list Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/558f7be168 * [ruby/reline] Suppress auto indent for adding newlines in pasting Co-authored-by: Juanito Fatas <me@juanitofatas.com> https://github.com/ruby/reline/commit/074bb017a7 * [ruby/reline] Add acknowledgments and license for rb-readline https://github.com/ruby/reline/commit/19df59b916 * [ruby/irb] Fix comment, irb gem supports 2.5.0 or older https://github.com/ruby/irb/commit/36118015ba * should use `assert_include` here. Random ordering test can introduce antoher candidate so it should be `assert_include`. * [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 * [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 * Suppress constant redefinition warnings * Fix the failing test with XDG_CONFIG_HOME * [ruby/irb] Version 1.3.1 https://github.com/ruby/irb/commit/c230d08911 * [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 * [ruby/reline] Move the cursor correctly when deleting at eol This fixes ruby/reline#246. https://github.com/ruby/reline/commit/07a73ba601 * [ruby/reline] Version 0.2.1 https://github.com/ruby/reline/commit/a3b3c6ee60 * [ruby/reline] Initialize a variable just in case https://github.com/ruby/reline/commit/29b10f6e98 * [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 * [ruby/reline] Windows needs more times to wait rendering https://github.com/ruby/reline/commit/53ff2b09c7 * [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 * [ruby/reline] Reline::Windows.erase_after_cursor erases attributes too https://github.com/ruby/reline/commit/68b961dfc7 * [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 * [ruby/irb] handle `__ENCODING__` as a keyword as well https://github.com/ruby/irb/commit/a6a33d908f * [ruby/irb] handle repeated exception separately https://github.com/ruby/irb/commit/fcf6b34bc5 * [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 * [ruby/irb] Version 1.3.2 https://github.com/ruby/irb/commit/a7699026cc Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Co-authored-by: Nobuhiro IMAI <nov@yo.rim.or.jp> Co-authored-by: Koichi Sasada <ko1@atdot.net> Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org> commit 29777cb32ad6417c3583a81b01127c93cd667e77 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-01-14 13:38:47 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-01-14 16:44:42 +0900 Merge RubyGems-3.2.5 commit 93dcf0828dc8e627e0c24497795d927911a9d993 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-01-14 13:38:17 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-01-14 16:44:42 +0900 Merge Bundler-2.2.5 commit c721e36ceca587d823a765cbbad90911a20cffce Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-01-14 13:37:23 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-01-14 16:44:42 +0900 Merge RubyGems-3.2.4 commit d4f5827a6d445941450a2ec5dac5e51e333ef745 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2021-01-14 13:36:38 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2021-01-14 16:44:42 +0900 Merge Bundler-2.2.4 commit 303533d23c5f566c0277c86c83f826c5e52f0c1a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2021-01-11 16:40:37 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-13 17:07:56 +0900 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. commit 98ca667b9835fed7709ef192eac966aca98bf50d Author: Tee KOBAYASHI <xtkoba+ruby@gmail.com> AuthorDate: 2021-01-09 13:23:40 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-13 17:07:38 +0900 Fixed a typo [Bug #17522] commit 5b2a0fc682ce69e2b95532ce1116dcb32e6aa011 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2021-01-02 12:11:52 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-13 17:07:17 +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 <mame@ruby-lang.org> Co-authored-by: Koichi Sasada <ko1@atdot.net> commit 1614dd9fd44e27aa5afc6de94602ac7292962d11 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2021-01-06 15:30:56 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-13 17:07:02 +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) commit b2beb8586e930c168af434d6545f75d76123192b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-31 08:39:20 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-13 17:06:48 +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 <neocat@neocat.jp> commit b93e16dc0f45069d4a5fcce20d5c4437e151f0a8 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2021-01-04 18:08:25 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2021-01-13 17:06:16 +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. commit 95aff214687a5e12c3eb57d056665741e734c188 Author: TAKANO Mitsuhiro <takano32@gmail.com> AuthorDate: 2020-12-25 12:06:46 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-25 12:33:01 +0900 Disable DTrace in FreeBSD (#3999) The latest ruby cannot compile with FreeBSD Dtrace enabled. commit 0a31310b99e5c91188af550c0492ac8ecda17cb2 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-25 11:10:29 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-25 12:33:01 +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(). commit 5c6f5b16c65506d0aadacb69b2a110f7a75cbf8b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-25 10:22:43 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-25 10:42:18 +0900 Update stdlib section for Ruby 3.0 commit a628a108fe884d87e527d6f1a46e65ce37b6103e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-25 09:51:45 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-25 09:57:36 +0900 USE_RUBY_DEBUG_LOG is not defined !devel build commit 3fadf2665a109ca3e9b490aff2100ad190765358 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-25 08:45:09 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-25 08:45:09 +0900 v3.0.0p0 commit 93a1ef67095c6654df753b2ecf8a4e36fe2a22c6 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-25 07:20:04 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-25 07:20:04 +0900 Fix typos commit c3f91f9d8823d607e73f621bbf40f4cba44dc739 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-25 07:09:51 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-25 07:09:51 +0900 [DOC] Fix typos commit db2ebbd71b746734b88832b1e70db8afed3d68ed Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-25 02:08:12 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-25 02:08:12 +0900 Optimize calls to `Kernel#hash` (#3987) This avoids recursive checks when the `hash` method of an object isn't specialized. Notes: Merged-By: nurse <naruse@airemix.jp> commit 8981a63f12f9c30e9c6f893d292d01fd5df89991 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-25 01:59:07 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-25 01:59:07 +0900 Update TypeProf to 0.11.0 (#3996) Notes: Merged-By: mame <mame@ruby-lang.org> commit 523b520b44c403345cd9d96ee33ae27fef3c89a5 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-25 01:17:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-25 01:29:18 +0900 [ruby/reline] 0.2.0 https://github.com/ruby/reline/commit/064664c8f9 commit 32616229e3794ffba370fac0d385adc51a1baa94 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-25 01:17:29 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-25 01:29:18 +0900 [ruby/irb] Version 1.3.0 https://github.com/ruby/irb/commit/ec83280e66 commit c64a067d0569a0aa20ff325c800c1cd74977313c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-25 00:06:16 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-25 00:06:16 +0900 configure.ac: Make it possible to build on Android Termux The recent Termux's clang predefines `__ANDROID_API__` as a fixed number 24. However, when it is lower to the current device version, some functions that "configure" determines available are not declared correctly in the header files. This change forces to overwrite the predefined `__ANDROID_API__` macro with the current device version. ref: https://github.com/termux/termux-packages/issues/6176 commit 81562f943e4f33fbfd00fdfd115890ba0b76916c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-24 19:47:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-24 23:35:18 +0900 Updated access to Process::Status attributes pst_pid() no longer returns Qnil even if the receiver is not initialized. commit 9a7647d9eb59c8ed00b0de46fbf26f744a4158c5 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-24 22:53:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-24 23:26:22 +0900 [ruby/reline] Doesn't contain terminate spaces by cw This closes ruby/reline#233. https://github.com/ruby/reline/commit/4c3f2e2eae commit 78421319d0401c37497f2b5df7110e92eef9f0e4 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-24 21:44:09 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-24 23:26:22 +0900 [ruby/reline] Use #bytesize for vi_replace_char This closes ruby/reline#228. https://github.com/ruby/reline/commit/8205fa0b00 commit 0db9842b2ca85709424d6c9c1e11caeae30dfae7 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-24 21:24:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-24 23:26:22 +0900 [ruby/reline] Delete the last char of a line by dw This closes ruby/reline#229. https://github.com/ruby/reline/commit/3f0ae689c4 commit 8d5d139afaf37665d2e77eeb1197e216491d805d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-24 20:28:26 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-24 23:26:22 +0900 [ruby/reline] Suppress crashing when boken prompt_list is given https://github.com/ruby/reline/commit/922d087e7a commit 634b231f33d28e4048afdc643dcf14c924b98f2e Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-24 07:15:54 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-24 23:26:22 +0900 [ruby/reline] Discard prompt cache by changing mode icon https://github.com/ruby/reline/commit/bfeda8a79b commit 167dc37632300e0061351ab87ddc89ebe9c5f53f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-24 22:09:09 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-24 23:26:22 +0900 [ruby/irb] Try not to register the exact same measuring method twice https://github.com/ruby/irb/commit/cc66b5573e commit bdbbfd1fa53baac4d12530a6791140e35a9df46b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-24 16:44:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-24 22:59:37 +0900 Store errno in struct rb_process_status To propagate errno in the fiber thread scheduler hook. Returns nil when no terminated process. Notes: Merged: https://github.com/ruby/ruby/pull/3998 commit c752d29bbf784334240fca8956e39f035fb76ec1 Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-12-24 21:26:46 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-24 21:26:46 +0900 Bundle RBS 1.0.0 (#3994) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 9f9a389d95d8a4615b39b196e549e3d5f9d00794 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-24 19:35:03 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-24 19:35:03 +0900 doc/syntax/pattern_matching.rdoc: fix typos, grammar, style commit a4419a55f0117a9729be412432835b77dab0d55a Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-24 19:31:06 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-24 19:31:06 +0900 doc/extension.ja.rdoc: remove trailing whitespace commit c601a7ecfdfebcbf3534c4c22a3a7afc4dbf3333 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-24 19:30:30 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-24 19:30:30 +0900 doc/keywords.rdoc: fix typo commit 7ca2ca9e32ceea48e2e3a2d31318dff57da7f08e Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-24 16:53:26 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-24 18:58:40 +0900 Remove unneeded code Notes: Merged: https://github.com/ruby/ruby/pull/3993 commit 1a74fb011d318a5afde7b233a6b8c34e7c2b8263 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 18:03:39 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 18:03:39 +0900 doc/maintainers.rdoc: typo commit 8664c3ddef548b53c4f5c5264cccd24ae08f174f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-24 17:41:48 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 17:51:47 +0900 update doc/ractor.md commit a89932799c914d1864fc91f33d6461592dbfd3fb Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-24 17:19:16 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-24 17:20:05 +0900 gen-release-note.rb: Avoid to depend release metadata Because it doesn't have metadata when I edit draft. commit 6a6daf3803771884f4cbf8e134802ae430568ba2 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-24 17:18:07 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-24 17:20:05 +0900 Add tag key Release note will use tag value when I write GitHub URLs with release tags. commit 709d9cf1ba47d6df20ba067fdc8e92a7a817d1d3 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-21 03:02:30 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-24 17:20:05 +0900 Add release engineering related tools commit d58537cf8f4c3a3569fb5dd647dd5f0a19a9f3be Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-21 02:26:19 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-24 17:20:05 +0900 Revert "remove bz2" This reverts commit 7856da5fe75a76bec909778e411270c10a04ca3a. For other branches commit eb3944c287a455fb1673dd74e31b56afb3c3b649 Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-12-24 17:19:23 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-24 17:19:23 +0900 Bundle RBS 1.0.0.pre2 (#3991) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 85f01794795521e29e64e06ead416cbd3d52c55c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 17:14:48 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 17:15:24 +0900 doc/keywords.rdoc: mention pattern matching in the `in` keyword section commit 1415653c84602b3ac4ee449858783aacd8af81ed Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-12-13 01:55:17 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-24 17:03:51 +0900 Redocument non-blocking Fibers and scheduler * Document Fiber's method related to scheduling; * Extend Fiber's class docs with concepts of non-blocking fibers; * Introduce "imaginary" (documentation-only) class Fiber::SchedulerInterface to properly document how scheduler's methods should look. Notes: Merged: https://github.com/ruby/ruby/pull/3891 commit 1729fd8c0acd66aec20bb6986bd82913c9dc190d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 17:00:30 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 17:00:30 +0900 doc/contributing.rdoc: remove outdated content commit f910a27d37a3ab132126f13a20a458afa8889231 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 16:37:52 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 16:38:23 +0900 README.md: Haiku is currently unsupported commit b343d547923cf29456910b20fcd1c0a58ed68176 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-24 16:16:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-24 16:22:50 +0900 Use RBIMPL_COMPILER_{SINCE,BEFORE} for MSVC Pointed out by @shyouhei. NOTE: Already we have dropped the support for older MSVCs, probably prior to 1300 or 1400. Remove the conditional code, especially in win32/Makefile.sub. commit a76082f499ef819a18a0426973ea531019df4e0a Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-24 16:10:10 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-24 16:19:37 +0900 Add call-seq to Ractor doc; improve wording [doc] Notes: Merged: https://github.com/ruby/ruby/pull/3992 commit 176b75747c3a079cab5cc83c47d54fa4f9dfa6be Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-24 15:59:57 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-24 16:02:18 +0900 Add NEWS entries about JIT in Jul ~ Dec * Instance variables * Merge ivar guards on JIT https://github.com/ruby/ruby/commit/a69dd699ee630dd1086627dbca15a218a8538b6f https://github.com/ruby/ruby/commit/e4f7eee009ebe1f23ee3e5ea69ccd9ea1530bc6f * Prefer RB_OBJ_FROZEN_RAW https://github.com/ruby/ruby/commit/5611066e03fe73bdbb08cc46f79530c69975cf17 * Skip checking ROBJECT_EMBED https://github.com/ruby/ruby/commit/81a8d1cf09d59f0d69143d7896545f849f580a4e * Method inlining * Mark some Integer methods as inline https://github.com/ruby/ruby/commit/0703e014713ae92f4c8a2b31e385718dc2452eac * Allow inlining Integer#-@ and #~ https://github.com/ruby/ruby/commit/dbb4f1996939d0ce977e6b37579e28dd886428ff * Inline builtin struct aref https://github.com/ruby/ruby/commit/167d139487d67613bd02522e24476f06ffa137b7 * Make Kernel#then, #yield_self, #frozen? builtin https://github.com/ruby/ruby/commit/24fa37d87a24dc932c1d778bcaf91204f5c12a76 * (For future) Rewrite Kernel#tap with Ruby https://github.com/ruby/ruby/commit/f3a0d7a2035e9f5e0c70effd55732607e3def263 * Other optimizations * Inline constant references https://github.com/ruby/ruby/commit/53babf35ef5b643774636550ea23851e2607e076 * Lazily move PC with RUBY_VM_CHECK_INTS https://github.com/ruby/ruby/commit/5d74894f2bc4a3a18aec952d946ead3d784cb4b4 * Cache access to reg_cfp->self on JIT https://github.com/ruby/ruby/commit/d40983772966938828a28c6e89752a3e76447b9e * JIT compaction * Shrink the blocking region for compile_compact_jit_code https://github.com/ruby/ruby/commit/ed8e552d4d2c825a3f780ac8bd898eaaca7c21e7 * Stop leaving .c files for JIT compaction in /tmp https://github.com/ruby/ruby/commit/fa1250a506e9b6a1bcbf664f6b7b9c06e045d9b9 * GC of JIT-ed code * Run unload_units in the JIT worker thread https://github.com/ruby/ruby/commit/16dab6b69263ed9c816bc0283c8c1f2f95dc1027 * Avoid unloading units which have enough total_calls https://github.com/ruby/ruby/commit/d80226e7bd801fcbccf71f19ba373b7baf71a49e * Throttle unload_units https://github.com/ruby/ruby/commit/122cd35939ddf8ef7bfa17ad75570c01d0cf06ab * Throttle JIT compaction https://github.com/ruby/ruby/commit/096f54428d8000cccce430022784cb0e7cd31cb4 * Compilation speed * Eliminate IVC sync between JIT and Ruby threads https://github.com/ruby/ruby/commit/0960f56a1d773c5417e9de729e159d346aec17ca * Lazily move units from active_units to stale_units https://github.com/ruby/ruby/commit/5d8f227d0edd3c542fcac465eb82005a5f852d34 Please see https://github.com/ruby/ruby/commit/200c5f4075cb1d179c2eba5b30b5b0a500870f67 for other improvements in Jan ~ Jun. commit 8aa299de24145891848ce50e29856d2275c75fd3 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-24 15:36:08 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-24 15:36:08 +0900 Tweak magic comments [doc] commit 8c510e4095458c783420ea0da86f9eedb139731d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 14:57:16 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 14:58:30 +0900 NEWS.md: grammatical improvement commit 24ae0e8ed73947e030b31badb9d620ddf71898b6 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-12-23 15:14:18 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 14:37:09 +0900 Review comments Notes: Merged: https://github.com/ruby/ruby/pull/3981 commit 5696c693540a06c01bf6172d33aff731ad61f871 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-12-23 06:23:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 14:37:09 +0900 Redocument Fiber#transfer Notes: Merged: https://github.com/ruby/ruby/pull/3981 commit 8e1c0b2f93abe23f42bd7eba0a3f0d3f3669e486 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 13:43:22 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 14:34:40 +0900 dir.c: chdir conflict should raise only when called in different thread ... and keep it as a warning (like 2.7) when it is called in the same thread. [Bug #15661] Notes: Merged: https://github.com/ruby/ruby/pull/3990 commit e43b5aa52dcd1eaded1141ab85a30bc8c7c4a6e4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-24 14:31:01 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 14:31:01 +0900 remove redundant example. pointed by @marcandre. commit 6f29716f9ffb710af7f344839ec67ef2b8a48ab2 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-24 10:59:27 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 14:28:47 +0900 shareable_constant_value: experimental_copy "experimental_everything" makes the assigned value, it means the assignment change the state of assigned value. "experimental_copy" tries to make a deep copy and make copyied object sharable. Notes: Merged: https://github.com/ruby/ruby/pull/3989 commit 1e215a66d26d56befab4fbb72e1d953879411955 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-23 14:30:32 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-24 12:29:19 +0900 Fix class of method in Method#inspect for singleton classes of classes Previously, due to a change to fix bug 15608, Method#inspect output changed for class methods: Ruby 2.7 "#<Method: String.prepend(*)>" Before change: "#<Method: #<Class:Object>(Module)#prepend(*)>" This is wrong because the Method object was created from String and not Object. This is because the fix for bug 15608 assumed it was being called on the singleton class of a instance, and would skip the first singleton class until it got to the class itself. For class methods, this results in always using the superclass. Fix behavior to not skip until the superclass if the singleton class is the singleton class of a module or class. After change: "#<Method: #<Class:Object>(Module)#prepend(*)>" Fixes [Bug #17428] Notes: Merged: https://github.com/ruby/ruby/pull/3984 commit 66719d7dc8de7b61129d50f40c81ebd9cee323f0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-23 16:30:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-24 11:43:21 +0900 etc: use atomic operation instead of mutex Notes: Merged: https://github.com/ruby/ruby/pull/3983 commit 6ed6b85ece8733518a7da0c3ec714f20d1102bf5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-23 14:09:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-24 11:43:21 +0900 Expose atomic operation macros with RUBY prefix [Feature #17433] Now we need atomic operations, which are lighter than mutex, more widely for extension libraries because of Ractor. Notes: Merged: https://github.com/ruby/ruby/pull/3983 commit f755926ddd3b92248f1fcdf977bd8537bff1f1dd Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 10:14:39 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 10:15:15 +0900 test/ruby/test_module.rb: not depend on the order of method definitions commit 05a756b3323d23b8f6ec899eaa83f7172ada0999 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-24 09:32:31 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-24 09:32:54 +0900 [memory_view] Fix some grammar issues in a comment commit ae26d5bd41ba3718073176a6be7b16924c5b138b Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-24 05:56:04 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-24 05:56:04 +0900 doc/fiber.md: fix typos commit 7340e7f82780f529d80490045f5ea3e2559d563c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-24 04:29:59 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 04:30:50 +0900 introduce rb_ractor_atfork() to reset main ractor at fork(). commit 7fcb6b3dbe7517fe5426fdb6871cd4940a71b7e8 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-24 04:18:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 04:30:49 +0900 fix ractor-locking around rb_ractor_thread_list() With locking a ractor, rb_ary_push() can call RB_VM_LOCK_ENTER() and it violates an assertion: should not acquire ractor-lock. commit 458d5175b9f3476c4d0c95c35458aab10c78e647 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-24 03:47:26 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-24 03:47:26 +0900 Small improvements in magic comments docs * remove a duplicate statement * fix rdoc markup * fix typos commit b32ed8aa41795e3b153b423ae14d2699060d73db Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-24 01:58:43 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-24 01:59:36 +0900 remove method__cache__clear DTrace probe method__cache__clear is no longer used. [Bug #16658] commit a8fc72f5a8c30ef7b5e78824e15e9868f52a3c33 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 01:50:45 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 01:51:46 +0900 sample/trick2015/kinaba/entry.rb: The constant "Data" has been removed Instead, use "Proc" as a 4-letter constant. commit 8feb40f49a5862ba1a42a5d8d9e228e1a8883a29 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-17 05:39:02 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-24 01:50:33 +0900 Document shareable_constant_value and other magic constants [doc] commit 4a8ff22f0c9f8a7cd9a68f49523fa2573a4326e9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-24 01:25:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-24 01:39:52 +0900 Reset paren_nest at tAREF and tASET [Bug #17431] commit fb545743932a5efd5a34ed9da981248dae3cc5ff Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-24 01:24:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-24 01:24:30 +0900 Pass keyword options in assert_syntax_error commit 3a81daaf8dc037057d96b8e8cdc6ab1691e7e9d9 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-24 00:15:29 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-24 00:15:29 +0900 Module#public_class_method also accepts a symbol array as an argument I'm unsure if this is intentional, but add a document anyway. [Feature #17314] commit 94015200b69820575c8b11d4181d397b033b69ac Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 23:40:04 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-23 23:40:04 +0900 [fiddle] Update to 1.0.6 commit 28e9344fa49387ef84c71a72d1ba7e32b61cf4c7 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-23 20:29:57 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-23 22:08:30 +0900 [ruby/irb] Change StdioInputMethod#eof? to non-blocking This fixes --inf-ruby-mode. https://github.com/ruby/irb/commit/0e4a818955 commit 129ecb43e54b3249734c69787f813d49ce995567 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-23 21:19:27 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-23 21:26:25 +0900 [ruby/irb] Fix error_message for assert_dynamic_prompt https://github.com/ruby/irb/commit/b12dfb6298 commit 31bd17218515a20cf46951018d413b739935beba Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-23 21:18:48 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-23 21:26:25 +0900 [ruby/irb] Suppress "shadowing outer" warning https://github.com/ruby/irb/commit/8b83fbef69 commit 684649ea0573c94f4d5004d9f200df65205ea246 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-23 19:47:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 19:53:21 +0900 [ruby/psych] Bump version to 3.3.0 https://github.com/ruby/psych/commit/0abce07b90 commit 8259d88938bcbd65c7994e3d8261c4de82e74174 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-23 18:45:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 19:45:54 +0900 [ruby/psych] Skip test_ractor.rb with ruby/psych repo Because ruby/psych still uses minitest. minitest didn't support assert_ractor provided by test suite of ruby/ruby repo. https://github.com/ruby/psych/commit/7da26358f1 commit aad88cc10ba268625aaa93ddcc6ff5036052c5cd Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 16:51:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 18:32:24 +0900 [ruby/date] Define dummy RUBY_TYPED_FROZEN_SHAREABLE for old Ruby https://github.com/ruby/date/commit/9f3e90ad10 commit aa856d50772aaaceb7b245b8b59f1ab1851a7fab Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 16:54:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 18:19:26 +0900 [ruby/date] Fix envutil for old Ruby https://github.com/ruby/date/commit/57e25c406a commit 313d63c2ac447abc59a878dec0d619314d75449b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-23 18:06:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 18:06:27 +0900 Use rb_init_identtable instead of direct use of rb_hashtype_ident commit e052d0716325bcb499c57b1de0c6e3eb9effb299 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-23 16:55:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-23 16:55:36 +0900 Revert "need to clear blocking cnt at fork (child process)" This reverts commit 0dd4896175f95c4c2a26d91a97b9fcb9a74cc0c6. It breaks the tests on RUBY_DEBUG=1. commit 81a8d1cf09d59f0d69143d7896545f849f580a4e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-23 16:38:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-23 16:50:43 +0900 Skip checking ROBJECT_EMBED when we already check ROBJECT_NUMIV(self) is larger than ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number of instance variables for the same object doesn't decrease. ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark_3000.yml before --jit: ruby 3.0.0dev (2020-12-23T06:32:19Z master dbb4f19969) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-23T07:45:42Z master 95e866c098) +JIT [x86_64-linux] last_commit=Skip checking ROBJECT_EMBED Calculating ------------------------------------- before --jit after --jit Optcarrot 3000 frames 102.34091772397872 102.77738408379015 fps 103.37784821624231 105.46530219076179 104.39567016876369 106.43712452152215 105.31782092252713 106.54986150067481 ``` commit dbb4f1996939d0ce977e6b37579e28dd886428ff Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-23 15:23:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-23 15:32:19 +0900 Allow inlining Integer#-@ and #~ ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_integer.yml --filter '(comp|uminus)' before --jit: ruby 3.0.0dev (2020-12-23T05:41:44Z master 0dd4896175) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-23T06:25:41Z master 8887d78992) +JIT [x86_64-linux] last_commit=Allow inlining Integer#-@ and #~ Calculating ------------------------------------- before --jit after --jit mjit_comp(1) 44.006M 70.417M i/s - 40.000M times in 0.908967s 0.568042s mjit_uminus(1) 44.333M 68.422M i/s - 40.000M times in 0.902255s 0.584603s Comparison: mjit_comp(1) after --jit: 70417331.4 i/s before --jit: 44005980.4 i/s - 1.60x slower mjit_uminus(1) after --jit: 68422468.8 i/s before --jit: 44333371.0 i/s - 1.54x slower ``` commit daec109f423e54094800e083fc8a8ca5cbceb866 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-23 11:29:00 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 15:08:38 +0900 [ruby/psych] Optimize cache with `compare_by_identity` Using `compare_by_identity` gives a 4x performance boost on cache hits. Benchmark in https://github.com/JuanitoFatas/fast-ruby/issues/189 Notes: Merged: https://github.com/ruby/ruby/pull/3953 commit c5a445d577b786e31c420b5857ad05b954b420ec Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-21 11:42:25 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 15:08:38 +0900 [ruby/psych] Make Ractor-ready. Config is Ractor-local. Benchmarking reveals that using `Ractor.local_storage` for storing cache is similar to accessing a constant (~15% slower). Notes: Merged: https://github.com/ruby/ruby/pull/3953 commit 3ee0ad919034fbc098939979c872d041a82c4334 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 10:01:54 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 15:08:38 +0900 [ruby/psych] Don't use instance variables directly for config Notes: Merged: https://github.com/ruby/ruby/pull/3953 commit d1963adae8373cac771f3d62cd8d92ab11deff9e Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-21 11:41:02 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 15:08:38 +0900 [ruby/psych] Avoid methods depending on bindings Improves Ractor-readiness. Notes: Merged: https://github.com/ruby/ruby/pull/3953 commit 0eb94dae4aec58de06051cf89d555994838452f2 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-21 11:39:56 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 15:08:38 +0900 [ruby/psych] Freeze constants. Improves Ractor-readiness. Notes: Merged: https://github.com/ruby/ruby/pull/3953 commit 0dd4896175f95c4c2a26d91a97b9fcb9a74cc0c6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-23 14:40:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-23 14:41:44 +0900 need to clear blocking cnt at fork (child process) commit 5cf25c55a69264138179f7c955d149a154b50458 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-23 14:03:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 14:03:54 +0900 Update version for Ractor-safe extensions commit 61bd28b836190bbc8ce110e780da4c4aad9f485b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-23 13:15:49 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 13:53:40 +0900 [ruby/date] Workaround for non-ruby repository like ruby/date, flori/json https://github.com/ruby/date/commit/1ff7fa2d80 commit 8a1e12499b83870f9f102f0f0ea512f0355aac67 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-22 22:10:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 13:50:42 +0900 Ensure non-literal expressions shareable if `leteral` Notes: Merged: https://github.com/ruby/ruby/pull/3950 commit c0a2d95cf318cf9b9ffe23f0a4b8720f69775448 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-22 08:26:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 13:50:42 +0900 Update rb_ractor_ensure_shareable * Fixed use of rb_ractor_shareable_p * Raise Ractor::IsolationError Notes: Merged: https://github.com/ruby/ruby/pull/3950 commit b2aa21b868419c2d87e2812b6b3584a8a1479c23 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 15:15:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 13:50:42 +0900 Split the test Notes: Merged: https://github.com/ruby/ruby/pull/3950 commit d1c7db9d003fe2f989e1cd2f55698a900291b48a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 15:08:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 13:50:42 +0900 Added assertions Notes: Merged: https://github.com/ruby/ruby/pull/3950 commit 0c450b86476322ea4c407d0de4d7d1c5d8523126 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 15:11:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 13:50:42 +0900 `begin ... end` is not a literal Notes: Merged: https://github.com/ruby/ruby/pull/3950 commit e70206f5701fca5cce38dbfac8ffaa0d9a5c61a3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 15:04:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 13:50:42 +0900 Added dedicated helper methods Notes: Merged: https://github.com/ruby/ruby/pull/3950 commit 7a094146e6ef38453a7e475450d90a9c83ea2277 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-19 20:42:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 13:50:42 +0900 Changed shareable literal semantics [Feature #17397] When `literal`, check if the literal about to be assigned to a constant is ractor-shareable, otherwise raise `Ractor::Error` at runtime instead of `SyntaxError`. Notes: Merged: https://github.com/ruby/ruby/pull/3950 commit f14aaa2b1282d6dea9fad3d050e65828f1e269e1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-22 16:09:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 13:44:47 +0900 Guard < Ruby 3.0 for the repositories of default gems. commit 7e44ade5658bc6ae16e9838c64ff9e90d4fd805e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-23 13:34:11 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-23 13:39:48 +0900 ruby_single_main_ractor should be clear before warn rb_warn can produce T_HASH object and it should not use transient heap. commit 02233ed024095d67683330b2ee9df08d943a5cd0 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-23 12:18:41 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 12:25:41 +0900 Adapt tool/search-cgvars.rb for MacOS commit 3df3b47187d7a137d4eb5a7887e9c8fa22a121c6 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-23 12:16:18 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 12:25:41 +0900 Add tool/search-cgvars.rb, thanks @ko1 commit 339227363ce0cf967fa17efa4489d823932ddabd Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-23 08:45:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-23 10:17:41 +0900 Merge RubyGems 3.2.3 and Bundler 2.2.3 Notes: Merged: https://github.com/ruby/ruby/pull/3982 commit 733ed1e18498f97250b788f169c37b170e0cf2b6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-22 22:41:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-23 09:56:35 +0900 ripper: fix bad label parameter handling [Bug #17425] Notes: Merged: https://github.com/ruby/ruby/pull/3977 commit cd63f0358ffb43890d20bb5612c5d82be19fae62 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 13:31:11 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 09:46:07 +0900 [ruby/etc] Make Ractor safe Notes: Merged: https://github.com/ruby/ruby/pull/3954 commit 3286380ebcc239b3fe1044884780162f1ee079fe Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 14:02:45 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 09:46:07 +0900 [ruby/etc] Refactor locks using mutex API Notes: Merged: https://github.com/ruby/ruby/pull/3954 commit 9636d14f6f4a1dc21ca61c280b26ec8fb3935168 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 00:51:26 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-23 09:24:55 +0900 [memory_view] Acquire VM lock while running exported_object_registry_free exported_object_registry is freed at exit, so this change is just in case. commit 01ab29cc285ec92c07cd67db6f8616690bd217f8 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 00:43:26 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-23 09:24:55 +0900 [memory_view] Make some rb_memroy_view_t members const commit db0385d6576bb9d2486e799c935e6b1fa1e7dfcc Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 00:43:18 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-23 09:24:54 +0900 [memory_view] Remove needless use of StringValueCStr commit b3ea828c8ef92f2fab4646f72144f7c468339a81 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 00:40:54 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-23 09:24:54 +0900 [memory_view] Add mdview_release_view for test commit 74652e640a3ef50eb5442eb98438e3d634a4faf7 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-23 00:33:24 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-23 09:24:53 +0900 [memory_view][fiddle] Rename len to byte_size in rb_memory_view_t commit 05014dcb887681d986105653ab527da2c4ff7774 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-22 17:33:14 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-23 09:05:07 +0900 [memory_view][fiddle] Use bool for boolean return value commit 74a3569b597f28780958dc3001b41120b54a8a48 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-12-23 07:20:14 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-12-23 07:20:14 +0900 NEWS: fix typos and grammar commit 841d22ea479f37ab03d3f6c575997a2dd1b6d0a8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-23 02:18:32 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-23 06:06:07 +0900 [ruby/reline] [ruby/irb] Handle multiple newlines in a token correctly Co-authored-by: manga_osyo <manga.osyo@gmail.com> Co-authored-by: ima1zumi <mariimaizumi5@gmail.com> https://github.com/ruby/irb/commit/c59a9be82f https://github.com/ruby/reline/commit/a7922da16b commit be5faa2519f1ab70eafd58caccbc3a8cba2718dc Author: Takeru Naito <takeru.naito@gmail.com> AuthorDate: 2020-12-22 12:58:12 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-23 06:06:07 +0900 [ruby/irb] Make it possible to use measure even if it is installed as gem Include the file that implements this command in the irb gem. Co-Authored-By: scivola <scivola@users.noreply.github.com> https://github.com/ruby/irb/commit/d8dfea5b57 commit 32849dc1bbc3296aa13f86a35468ce16f8c32aab Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-12-22 14:56:47 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-12-23 05:49:52 +0900 fiddle: Update to 1.0.5 Notes: Merged: https://github.com/ruby/ruby/pull/3970 commit 228fa3ac6ec25eba5139674d04a74f07a34f2874 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 17:27:18 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 03:48:13 +0900 NEWS: Mention deprecation warnings not being shown by default Notes: Merged: https://github.com/ruby/ruby/pull/3974 commit fd745cc92c5e4dfa226cbdbbeb118f6b780666e1 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 16:52:05 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 03:48:13 +0900 NEWS: group keyword arguments related items together Notes: Merged: https://github.com/ruby/ruby/pull/3974 commit 5a6d27fe220548eb4ab5232d7f7331b42a66a17f Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 16:50:39 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 03:48:13 +0900 NEWS: combine $SAFE and $KCODE, move lower Notes: Merged: https://github.com/ruby/ruby/pull/3974 commit 1bd7427f29bb0e69e6e03d6d66aac6c9a6f7a300 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 16:49:27 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-23 03:48:13 +0900 NEWS: move error handling at end of section Notes: Merged: https://github.com/ruby/ruby/pull/3974 commit f1591b385890fe5e650bf8d5fa75e05a7c01ecea Author: Delton Ding <dsh0416@gmail.com> AuthorDate: 2020-12-22 16:01:53 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-23 03:27:14 +0900 Add verbose nil in testing Notes: Merged: https://github.com/ruby/ruby/pull/3971 commit c6d7e02b90f96d9bcd04edd48b7374f31c510b2a Author: Delton Ding <dsh0416@gmail.com> AuthorDate: 2020-12-22 15:30:59 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-23 03:27:14 +0900 Enable `Fiber.current` and `Fiber#alive?` call inside ractor Notes: Merged: https://github.com/ruby/ruby/pull/3971 commit b222a1a49473490ef8903b76868de86cd0a2164e Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-23 02:32:30 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-23 02:37:27 +0900 Fix a message in example code Thanks to @zverok for the report. commit 31b17a14abf9686a0a9b6777c6b47285f510b66a Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-23 02:31:02 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-23 02:31:02 +0900 Make NoMatchingPatternError a subclass of StandardError commit 53510d1e8a827596dba926c689406edafa399ada Author: ima1zumi <mariimaizumi5@gmail.com> AuthorDate: 2020-12-22 13:59:14 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/reline] [ruby/reline] Remove unused `attr_writer` https://github.com/ruby/reline/commit/ecdc1b7116 https://github.com/ruby/reline/commit/a7922da16b commit 299f5708a2274d069c624073ca3958f8625faf35 Author: ima1zumi <mariimaizumi5@gmail.com> AuthorDate: 2020-12-22 00:59:48 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405] https://github.com/ruby/reline/commit/f79b4c857f commit b52bc4a9c29e80e10b7e64dbebd97117916d3982 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-22 04:38:01 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/reline] Support isearch-terminators https://github.com/ruby/reline/commit/a7922da16b commit 294552ca6c38b90a2be257727ce5df69b93a4de7 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-21 23:02:46 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/reline] Render refreshed prompt just after i-search finished https://github.com/ruby/reline/commit/0d3188fe34 commit 0b14abe8e7610e81e6bac7a4696cdcc24ca164c0 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-22 05:08:12 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/irb] Suppress "shadowing outer" warning https://github.com/ruby/irb/commit/27b149c599 commit fbcdcbff0de551321eee486bfbff9bd9288331d3 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-22 05:01:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/irb] Version 1.2.9 https://github.com/ruby/irb/commit/9668e5fe6b commit 4131cd05be4c00e2d6740d1619711e574cd731af Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-22 04:56:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/irb] Support arg for measure command https://github.com/ruby/irb/commit/b43f35d8f3 commit 47b26795d06ea13d646edddd51470d9a6cd377b4 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-22 04:49:02 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-22 23:45:43 +0900 [ruby/irb] Change variables handling for compatibility https://github.com/ruby/irb/commit/26fd1a75cf commit cae8bbfe6271a15cf212a83a9c3ac3fedcdc7718 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-22 17:07:23 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 23:32:18 +0900 pp is ractor-ready. `@sharing_detection` is only one obstruction to support pp on non-main ractors, so make it ractor-local. Notes: Merged: https://github.com/ruby/ruby/pull/3973 commit 034c19ce288b951cfaf3bbd996ce19e14fdeb502 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-22 21:51:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-22 21:51:15 +0900 Merge json-2.5.1 commit 9b9cbbbc17bb5840581c7da37fd0feb0a7d4c1f3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-22 21:43:30 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-22 21:45:28 +0900 Update library versions of the default gems. They are followed up with https://github.com/ruby/ruby/commit/8fb02b7a97317090e3946e6f2d4a7d034f9699f1 commit 96b881679390271eb2234060ea7eed77a997d707 Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-12-22 21:41:44 +0900 Commit: Akinori MUSHA <knu@idaemons.org> CommitDate: 2020-12-22 21:41:44 +0900 Import set 1.0.1 - Eliminate warnings - Convert rdoc to markdown commit f08cbdbf7d9b31ab570a235e4503ded2bc79d005 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-22 20:55:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-22 20:55:41 +0900 Move the library to extensions for some of default gems commit 93a56a5e98875ed619fe5c29f401a8a43632dbed Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-12-22 06:55:29 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-12-22 19:51:02 +0900 Update fiber scheduler documentation. Notes: Merged: https://github.com/ruby/ruby/pull/3965 commit edb76e8765b7f165237c8ca6155cff1cc0f18cf9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-22 18:18:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-22 19:44:27 +0900 Prepare to release json-2.5.0 Notes: Merged: https://github.com/ruby/ruby/pull/3975 commit f2f00e24fa14b8114d6c3bea11170b2b3e309719 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-20 12:29:16 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 17:12:51 +0900 [ruby/date] Make Ractor-compatible Notes: Merged: https://github.com/ruby/ruby/pull/3946 commit ee102de6d7ec2454dc5da223483737478eb7bcc7 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-20 12:28:20 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 17:12:51 +0900 [ruby/date] Deep-freeze internal constants. Probably not strictly necessary, but good principle anyways. Notes: Merged: https://github.com/ruby/ruby/pull/3946 commit 7fbad9224188905a6d96dee5aad5b1e1564e4461 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-12-22 16:15:35 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-12-22 16:18:17 +0900 rb_cData: no longer exists Commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70 introduced macro `#define rb_cData rb_cData()`. This deleting `VALUE rb_cData;` declaration was then macro-expanded into `VALUE rb_cData();`. This worked by accident because the expanded expression happen to be a K&R style function declaration. This is rather complicated and I guess unintended. Just delete the line to keep things simple straight forward. commit 7898bc92258aff74d7600abe5dbdedff9b543cf0 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-12-22 15:25:03 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-12-22 15:25:03 +0900 rb_cCont: no longer exists Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac. commit 15b81edd86a760331cb551b39882fab6fb9f4e37 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-22 15:05:58 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-22 15:07:40 +0900 MJIT is enabled whenever an MJIT header is used ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark.yml before --jit: ruby 3.0.0dev (2020-12-22T05:16:39Z master 692af8e8f8) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-22T06:05:59Z master d2ca23fdbc) +JIT [x86_64-linux] last_commit=MJIT is enabled whenever an MJIT header is used Calculating ------------------------------------- before --jit after --jit Optcarrot 180 frames 86.61115328062763 91.49245232931852 fps 90.18653732453176 92.31139517827663 91.29817884736318 93.84437713805814 92.76118222412521 93.91929147901106 ``` commit 95acd3c0302b571a4d77debc05bf38cf0bcce929 Author: Yuki Nishijima <yk.nishijima@gmail.com> AuthorDate: 2020-12-22 14:42:32 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-12-22 14:42:32 +0900 Sync did_you_mean commit 692af8e8f8b5f9965450d8f2577f435feaa6f80d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-22 14:16:19 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-22 14:16:39 +0900 Prefer stdbool in vm_exec Make the code a bit modern and consistent with some other places. commit 03f2b093201762031d5be64d0cce85da26c1d3b3 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-22 14:05:36 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-22 14:05:55 +0900 NEWS.md: fix the format commit fee2913d0af894492542cc0ed5e45dbf00e8f8df Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-28 11:03:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-22 13:52:18 +0900 Struct::Tms: delete Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff. Notes: Merged: https://github.com/ruby/ruby/pull/3969 commit fa356a798aefc20725467d4fad02df8325d63e71 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-13 11:44:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-22 13:52:03 +0900 Enumerator.new: raise unless block given Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13. [Feature #17116] [ruby-dev:50945] Notes: Merged: https://github.com/ruby/ruby/pull/3968 commit 7204b81bcb13f84ca3cc34384d205565fd5ad381 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-22 12:59:47 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 12:59:47 +0900 fix to use rb_ractor_id() Catch up recent changes on USE_RUBY_DEBUG_LOG=1. commit 2e1cdf36ba950fef3f7d6fc215835ce3027699f4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-22 12:46:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 12:46:15 +0900 add a NEWS entry about ractor C API commit be9b5553a3ae3a90c73d4c11786cb1a813e915f6 Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-12-22 12:26:45 +0900 Commit: Akinori MUSHA <knu@idaemons.org> CommitDate: 2020-12-22 12:26:45 +0900 Add entries for set 1.0.0 commit 3fa4bd82928983cf5f6711c130711502397e05e2 Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-12-22 12:20:21 +0900 Commit: Akinori MUSHA <knu@idaemons.org> CommitDate: 2020-12-22 12:20:21 +0900 Import set 1.0.0 - SortedSet has been removed for dependency and performance reasons. - Set#join is added as a shorthand for `.to_a.join`. - Set#<=> is added. https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md commit 63b872c409ec441718f55c60362a441cf108cfc0 Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-12-22 12:17:47 +0900 Commit: Akinori MUSHA <knu@idaemons.org> CommitDate: 2020-12-22 12:17:47 +0900 Prepare for importing the set gem commit d0050edb84e9c3ba99946e08325e168deb741e28 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 11:07:13 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 11:07:13 +0900 Update Fiber#backtrace doc [See bug #17408] commit 843fd1e8cfccdf1efcbb157315e267e4f380e030 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-12-22 06:42:01 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 09:22:38 +0900 Document Fiber#backtrace and #backtrace_locations Notes: Merged: https://github.com/ruby/ruby/pull/3966 commit 816bbfdc87d4a5f600f28cf4b0eaa5161af80645 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-12-22 06:15:47 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 09:22:38 +0900 Document Proc#== Notes: Merged: https://github.com/ruby/ruby/pull/3966 commit 861dbd950684d311e4f4bfed0e14885ed8a90b53 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-12-21 05:06:26 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 09:22:38 +0900 Random instance methods Notes: Merged: https://github.com/ruby/ruby/pull/3966 commit 4728c0d900f40036757d869fd5f20673c563bac7 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-12-17 07:49:52 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 09:22:38 +0900 Add Symbol#name and freezing explanation to #to_s Notes: Merged: https://github.com/ruby/ruby/pull/3966 commit 4a18cc7f604c259415d933acd9fd00234733cab6 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-22 09:04:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-22 09:04:54 +0900 NEWS.md: mention the behavior change of Binding#eval [Bug #17419] commit 91773ddd261abfc13f8a36d82b9c27a507c7cd81 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 08:56:46 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 08:56:46 +0900 Remove debugging code commit 831f7850689c51f8d7b17eb76c7f20b0eda16778 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2020-12-22 08:08:27 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2020-12-22 08:08:27 +0900 [DOC] Fix typo in Ractor.make_shareable documentation. commit a29b9e5efe286e8ad1b0d67c38f03cbb70951076 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-22 07:52:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-22 07:52:14 +0900 Remvoed no longer needed version guards commit 520dcbd6009b07458d67309ae33a602d77062975 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-22 05:27:47 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 06:09:30 +0900 reset cache before iterating cee02d754d76563635c1db90d2ab6c01f8492470 resets pCMC and `me` will be a invalidated and continuing the invalidated `me`, it will break the data structure. This patch tris to clear all methods of specified class before manipulating the `me`s. [Bug #17417] Notes: Merged: https://github.com/ruby/ruby/pull/3964 commit d0e4ccbefcdd6032d0ae70bc54c9a4fb55d92576 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-22 02:22:51 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 05:54:14 +0900 add Ractor.main It returns main Ractor, like Thread.main. [Feature #17418] Notes: Merged: https://github.com/ruby/ruby/pull/3963 commit 35471a948739ca13b85fe900871e081d553f68e6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-22 01:55:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 05:26:32 +0900 add Ractor#[]/#[]= for ractor local storage This API is similar to plain old Thread#[]/Fiber#[] interface with symbol key. Notes: Merged: https://github.com/ruby/ruby/pull/3962 commit 8f2031a06725d32f59e5ecd88ede3f96e8c5e9b1 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-22 03:30:40 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-22 03:31:00 +0900 Ractor#to_s as #inspect commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-22 01:00:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-22 02:51:49 +0900 Removed rb_cData entity * Use the wrapper of rb_cObject instead of data access * Replaced rest of extensions * Updated the version guard for Data * Added the version guard of rb_cData Notes: Merged: https://github.com/ruby/ruby/pull/3961 commit c30f03d32833f38fedf41ecb08f1ade9c6657fef Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-27 16:15:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-22 02:51:49 +0900 Data: delete Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5. Matz says in [ruby-core:83954] that Data should be an alias of Object. Because rb_cData has not been deprecated, let us deprecate the constant to make it a C-level synonym of rb_cObject. Notes: Merged: https://github.com/ruby/ruby/pull/3961 commit 5c0abe2d94c545275079a862dc36bb163953010a Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-22 02:08:32 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-22 02:08:57 +0900 Update documentation for pattern matching commit 02d9524cdaca1754718bf1d591408d377e6b383a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-20 01:44:41 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 00:03:00 +0900 separate rb_ractor_pub from rb_ractor_t separate some fields from rb_ractor_t to rb_ractor_pub and put it at the beginning of rb_ractor_t and declare it in vm_core.h so vm_core.h can access rb_ractor_pub fields. Now rb_ec_ractor_hooks() is a complete inline function and no MJIT related issue. Notes: Merged: https://github.com/ruby/ruby/pull/3943 commit a2950369bd8a5866092f6badf59b0811653a6092 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-19 06:38:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-22 00:03:00 +0900 TracePoint.new(&block) should be ractor-local TracePoint should be ractor-local because the Proc can violate the Ractor-safe. Notes: Merged: https://github.com/ruby/ruby/pull/3943 commit c7a5cc2c3098ea74343a0dbab36b3a65bc7a4144 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 21:46:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-21 23:45:38 +0900 Replaced magic numbers tr table commit 84eebb3c9e92d33055393d32a276e11f3e1afd3f Author: Naohisa Goto <ngotogenome@gmail.com> AuthorDate: 2020-12-21 23:08:35 +0900 Commit: Naohisa Goto <ngotogenome@gmail.com> CommitDate: 2020-12-21 23:42:34 +0900 On Solaris, _XOPEN_SOURCE should be undefined for C++ sources. commit 91e2f08a6a296acb7debb184ffe1229c5c25bb0c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-21 23:28:05 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-21 23:28:05 +0900 export rb_eRactorIsolationError for MJIT https://ci.appveyor.com/project/ruby/ruby/builds/36942168/job/7ugrpk0pndoly9wp ``` _ruby_mjit_p11920u0.c C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.c(14) : warning C4005: 'GET_SELF' : macro redefinition c:\projects\ruby\vm_insnhelper.h(111) : see previous definition of 'GET_SELF' Creating library C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.lib and object C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.exp _ruby_mjit_p11920u0.obj : error LNK2001: unresolved external symbol rb_eRactorIsolationError C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.so : fatal error LNK1120: 1 unresolved externals ``` commit 0b6a80c0beec5afb3a98535c5bc851bb77b3a5e2 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-21 22:40:38 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-21 22:41:24 +0900 [json] Avoid method redefinition commit dca6752fecc6733575145185764d7b6a218cee96 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-21 18:06:28 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-21 22:29:05 +0900 Introduce Ractor::IsolationError Ractor has several restrictions to keep each ractor being isolated and some operation such as `CONST="foo"` in non-main ractor raises an exception. This kind of operation raises an error but there is confusion (some code raises RuntimeError and some code raises NameError). To make clear we introduce Ractor::IsolationError which is raised when the isolation between ractors is violated. Notes: Merged: https://github.com/ruby/ruby/pull/3957 commit 14d7d1df25bbefadfc385042d541b4afc31e4c1b Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-21 15:57:42 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-21 22:10:43 +0900 [json] Make json Ractor safe commit 4c2e7f26bda8df087a66e546744de0d0d467ea7c Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-21 15:50:04 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-21 22:10:43 +0900 [json] JSON_parse_float: Fix how to convert number Stop BigDecimal-specific optimization. Instead, it tries the conversion methods in the following order: 1. `try_convert`, 2. `new`, and 3. class-named function, e.g. `Foo::Bar.Baz` function for `Foo::Bar::Baz` class If all the above candidates are unavailable, it fallbacks to Float. commit 596da98b3ff28ff48b10aed0bbe75287862eacbb Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-21 15:45:50 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-21 22:10:42 +0900 [json] Make JSON.create_id thread-safe commit 98cc15ed1e9193e17fad6b87cccf8f8b5ade7801 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-20 12:17:32 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-21 22:10:33 +0900 [json] Stop using prototype objects commit d84dd66da065cc40da69df5e042205209411c086 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 18:17:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-21 18:17:45 +0900 Fixed a typo in an error class name commit b9d00f42e63593e8c52dbe86cd4ebb7a120f768e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 18:09:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-21 18:12:02 +0900 Enable escape sequence on Windows10 console via pager too commit d8469507b943376b2b1b9be2692ff2fe055496a3 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-16 17:53:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-21 17:46:30 +0900 [ruby/digest] Remove .gitignore and .travis.yml from gemspec https://github.com/ruby/digest/commit/7b57b73f46 commit 09f939d3a0140478f2e547f45b4becd05247d360 Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2020-12-21 17:29:09 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2020-12-21 17:29:09 +0900 Enable escape sequence on Windows10 console * win32/win32.c (init_stdhandle): enable escape sequence on Windows10 console to show `ruby --help` colors correctly. commit 95ce5c0ee9baa692d419dd45f0e00cbd5cee4d4c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-21 13:27:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-21 16:22:08 +0900 [ruby/rdoc] Bump version to 6.3.0 https://github.com/ruby/rdoc/commit/3d3616cb94 commit 391343e82867919bb13be4660fd49e05ebd5983c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-21 13:35:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-21 16:21:46 +0900 [ruby/rdoc] Guard for WEBrick https://github.com/ruby/rdoc/commit/b1e7129e05 commit f26f905b28c5531c78445ac15d74ca1265eff5c5 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-21 16:17:28 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-21 16:17:37 +0900 Mark an ISeq being JIT-ed This is to avoid SEGV on a CC reference in a normal compilation https://github.com/ruby/ruby/runs/1586578023 commit 1fdc97f1b76b7532d011b20d52f843a2bb0d1a2f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-21 15:41:52 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-21 15:58:45 +0900 Mark active_units to avoid SEGV on mjit_recompile and compact_all_jit_code. For some reason, ISeqs on stack are sometimes GC-ed (why?) and therefore it may run mjit_recompile on a GC-ed ISeq, which I expected d07183ec85d to fix but apparently it may refer to random things if already GC-ed. Marking active_units would workaround the situation. http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3292740 Also, while compact_all_jit_code was executed, we saw some SEGVs where CCs seemed to be already GC-ed, meaning their owner ISeq was not marked properly. Even if units are still in active_units, it's not guaranteed that their ISeqs are in use. So in this case we need to mark active_units for a legitimate reason. http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3293277 http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3293090 commit a574df14e45b8b5a1de7bfe949e08b61ae51b0bd Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-21 14:54:27 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-21 15:03:20 +0900 Stop marking unit_queue The original motivation of this marking was https://github.com/k0kubun/yarv-mjit/issues/20. As wanabe said, there are multiple options to mitigate the issue, and Eric Wong introduced another fix at 143776f6fe by checking unit->iseq inside the lock. Therefore this particular condition has been covered in two ways, and the script given by wanabe no longer crashes without mjit_mark(). commit 1ecac8e4d031c244df711d573fa73ce339ffa2f5 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-21 11:51:11 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-21 12:00:05 +0900 Add `require_relative` option to `assert_ractor` commit eee93bc9330cb069abb679a0a0d48a49b10f6a4e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-21 11:33:22 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-21 11:40:48 +0900 eval_error.c: fix off-by-one error for --backtrace-limit https://bugs.ruby-lang.org/issues/17413 commit ac78d90d5e90d414fed2c5ea61faaaa4c57e1815 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-21 11:22:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-21 11:23:01 +0900 Bump bundled rake version to 13.0.3 commit 5253b9579a129f66a768dae24bd50a95bab02841 Author: Victor Shepelev <zverok.offline@gmail.com> AuthorDate: 2020-12-21 09:32:30 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-21 09:32:30 +0900 Document usage of ArithmeticSequence in Array#slice, and add to NEWS (#3952) Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 6be61ab264c98c96e26b5d3398cf80b49197ba29 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-21 02:04:38 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-21 02:39:34 +0900 should use owned_p instead of locked_p It should raise an error if the same thread tris to call receive/receive_if. Notes: Merged: https://github.com/ruby/ruby/pull/3949 commit 435b619a3d5a2d5754a3f739c50f64d1ad520ffc Author: Ivan Denysov <johnny.denisov@gmail.com> AuthorDate: 2020-12-21 02:24:30 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-21 02:38:11 +0900 fix phrasing in comment Notes: Merged: https://github.com/ruby/ruby/pull/3951 commit 7600f69a8e7955fc2ba3ef83d0c9fa019114216e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-21 02:20:57 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-21 02:21:33 +0900 rename to rb_ractor_make_shareable_copy() from rb_ractor_make_copy_shareable(). commit 9c73c756244fa27ffa99d81dcc73a4ad14198002 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 01:16:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-21 01:19:55 +0900 Use Integer instead of Fixnum/Bignum commit ad534a677a6df7437c934440b35affa88ce3648a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-21 00:20:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-21 01:19:55 +0900 Fixnum as a Symbol was an old feature until 1.6 commit 730f314171e67d981887c061d5dabf927ff5efd5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-21 01:13:39 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-21 01:13:39 +0900 fix Ractor.make_shareable() with Class/Module To check shareable-ness, rb_ractor_shareable_p() is needed for Class/Module objects isntead of checking flags. commit 8680ae9cbd6e7e7e08f6d21fa8d35abdc82342da Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 19:36:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 19:36:24 +0900 irb: Removed unused variables commit 4b6e3f7b82e03d6eb6562631365d35abaee35fb3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 19:35:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 19:35:59 +0900 irb: Define extension command on the given object commit 37987d99940f10bc6fec9b4825d7ce72df391d42 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 02:20:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 18:34:04 +0900 win32: Deprecate file CP version functions Notes: Merged: https://github.com/ruby/ruby/pull/3948 commit 95862ae44046cfc66c474ce534c204d276ea704d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 15:29:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 18:34:04 +0900 win32: Added rb_w32_ureaddir only for UTF-8 [Feature #12654] Notes: Merged: https://github.com/ruby/ruby/pull/3948 commit 5b98b2ce39ed979aec614365a2dc3e1c30052bca Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 02:16:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 18:34:04 +0900 win32: Use UTF-8 as filesystem encoding [Feature #12654] Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/3948 commit feea436febb50eb4265bd985a550e384c606122c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 18:25:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 18:26:38 +0900 irb: Define extension command only on the given object Not to interfer in class variables. commit 0fad9a9e30d3dd362d9567284284206e1a476920 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 17:10:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 17:15:02 +0900 Set non-verbose mode as well as tty mode commit 59b84fbf2ef38f1f7c93c526bdb64e382f3dd635 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-20 17:07:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-20 17:07:24 +0900 Set :DEFAULT to PROMPT_MODE for CI commit 216a087e9351132b83110e0f7aad81d796371bdd Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-20 16:48:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-20 16:48:47 +0900 Suppress errors related to using variables that are not directly related to testing commit 24fcbc92b44d44bccf28d9375201162e627bb4ec Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-20 16:16:11 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-20 16:23:59 +0900 [ruby/irb] Version 1.2.8 https://github.com/ruby/irb/commit/bcd96834c7 commit a7cacd33ccef56b6377d511e0bf3f8b7c1f760be Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-20 16:15:58 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-20 16:23:59 +0900 [ruby/reline] Version 0.1.10 https://github.com/ruby/reline/commit/723c6e191a commit 9f08e3c703795e81d333d568e7e44743022468f1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-15 06:36:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-20 16:23:59 +0900 [ruby/irb] Add measure command You can use "measure" command to check performance in IRB like below: irb(main):001:0> 3 => 3 irb(main):002:0> measure TIME is added. => nil irb(main):003:0> 3 processing time: 0.000058s => 3 irb(main):004:0> measure :off => nil irb(main):005:0> 3 => 3 You can set "measure :on" by "IRB.conf[:MEASURE] = true" in .irbrc, and, also, set custom performance check method: IRB.conf[:MEASURE_PROC][:CUSTOM] = proc { |context, code, line_no, &block| time = Time.now result = block.() now = Time.now puts 'custom processing time: %fs' % (Time.now - time) if IRB.conf[:MEASURE] result } https://github.com/ruby/irb/commit/3899eaf2e2 commit 8b6aaeaddf2d13833c0540490a84741035a3a808 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-20 12:20:00 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-20 16:23:58 +0900 [ruby/irb] Handle rest of tokens correctly if no newline at last https://github.com/ruby/irb/commit/f3c8edad2a commit 67ee1cbdd5def5b8e9db987a4a9367ab1d22fcfe Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-20 16:00:13 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-20 16:00:13 +0900 Remove unnecessary files from .document * ruby:ext/rbconfig/exts.mk * ruby:ext/rbconfig/sizeof/Makefile * ruby:ext/rbconfig/sizeof/depend * ruby:ext/rbconfig/sizeof/mkmf.log * ruby:ext/win32/depend * ruby:ext/win32/exts.mk * ruby:ext/win32/resolv/depend * ruby:lib/racc/pre-setup commit 7d0144e055fdbd7110cf84275b9e145550b77fd3 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-20 14:35:59 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-20 14:38:14 +0900 Check mjit_call_p only when interrupted for leaf_without_check_ints insns. $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml before --jit: ruby 3.0.0dev (2020-12-20T05:02:18Z master 02b3555874) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-20T05:36:00Z master 3f58de4eab) +JIT [x86_64-linux] last_commit=Check mjit_call_p only when interrupted Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 84.50647332260259 85.85057800433144 fps 91.17796644338372 92.09930605656054 91.29346683444497 93.01336611323687 91.50322318568884 93.07234029037433 91.66560903214686 93.22773241529644 91.82315142636172 93.37032901061119 92.15066379608260 93.83701526141679 92.37897097456643 93.86032792681507 92.53049815524908 93.91211970920320 92.78414507914283 94.09109196967890 92.90299756525958 94.40107239595325 93.70279428858790 95.01326369371263 commit ae1cc3fd4e4e926dc9d84723ae2696b9799cfe9d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 14:28:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 14:29:31 +0900 Made an internal callback function static commit 02b3555874cecb93bdfff7c1ea6a80ca908785c9 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-20 14:02:18 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-20 14:02:18 +0900 Install gdb on Actions commit 85ec6cc38767320bc8767298c909f75e61b0d63b Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-20 13:28:40 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-20 13:35:20 +0900 Fix markups and indentation commit d37be18af5a789003e46015c2a2a916923e7682a Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-20 13:25:43 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-20 13:25:43 +0900 Fix typos commit 4902f96ee56d0391165b9ba769224c0d88d105fe Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-20 13:22:53 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-20 13:22:53 +0900 Update documentation for pattern matching commit b1b6dbfdc3abaca44e971979328fd396b424c32a Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-20 12:37:27 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-20 12:37:27 +0900 `assert_ractor` tweak. Thanks Nobu commit f70b894b8829c064e39646c9b5f6d304d13bb16d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-20 03:23:41 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-20 11:46:13 +0900 sync RCLASS_CONST_TBL() RCLASS_CONST_TBL() is shared resource so we need to sync with other ractors. Notes: Merged: https://github.com/ruby/ruby/pull/3944 commit 648bbfcc65ad28841db2206513375dd88f064c52 Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-12-20 10:25:27 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-20 10:25:27 +0900 Update rbs 1.0.0.pre (#3941) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 6343a8112950b12df942f5098edc093bca96ef2d Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-20 02:19:06 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-20 07:13:08 +0900 [ruby/ostruct] Add Ractor test Notes: Merged: https://github.com/ruby/ruby/pull/3942 commit 67e062b523e1a1bdf597a500027c916c16cd07a1 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-20 02:17:47 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-20 07:13:08 +0900 [ruby/matrix] Add Ractor test This reverts commit cacdf2681dcc7c431973f33a18979b10566ec2f9. Notes: Merged: https://github.com/ruby/ruby/pull/3942 commit 70f20234b297a7fc9940bace30101813aa9df052 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-20 02:54:07 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-20 07:13:08 +0900 Add `assert_ractor` [Feature #17367] Notes: Merged: https://github.com/ruby/ruby/pull/3942 commit 7f8108eeff8ffa66c93efb07d4bead1baf7153a8 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-20 04:51:00 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-20 04:51:00 +0900 fix indent commit bcf4b236e424ce0e6055f4a9651b5369a830866a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-20 04:22:13 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-20 04:22:29 +0900 ext/racc/cparse is ractor-safe commit 846c4b03b8e9ff788f355f1bcd12e75715288e95 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-20 04:21:54 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-20 04:22:29 +0900 ext/monitor is ractor-safe commit c1461c927b123468ba83713676dcda48e51c8ec1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-20 04:09:40 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-20 04:22:29 +0900 cgi/escape is ractor-safe commit 362138004624f0d8664c16da4c0d5133ac213942 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-20 04:14:05 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-20 04:14:05 +0900 NEWS.md: remove nonsense caveat 3.0 will be released in a few days (hopefully), so remove a caution: "it may be reverted until 3.0 release." commit ed4381d94132990067922bc4204c8abb99cde3e8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 03:14:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 03:14:58 +0900 BigDecimal#precs is deprecated commit c01ad11f908c2a57c2348e83d109b08fdd89dc4e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 03:13:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 03:13:33 +0900 bigdecimal: initialize conditionally assigned variable commit b2acae32742adf86a64ba5c0af55830bb3bddc0d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-20 02:56:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 03:10:30 +0900 Reduced ID caches NEW_GASGN and NEW_GVAR evaluate `id` argument twice. commit 1f565ac6d98e902f51a0ea7b8b4aa85693deea6e Author: Victor Shepelev <zverok.offline@gmail.com> AuthorDate: 2020-12-20 03:04:40 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-20 03:04:40 +0900 Add documentation for Ractor (#3895) Notes: Merged-By: marcandre <github@marc-andre.ca> commit d44671c819e104d329e604fdf9bb59bbb426afb5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-28 18:39:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-20 01:57:51 +0900 Revived the getenv macro for dln_find.c This partially reverts commit "Windows: Improve readablity of getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6. The `getenv` macro defined here is to also substitute the function in dln_find.c, not only in this file. commit de80b928910b7ca785725382cec53cb27f1d65ed Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-20 00:40:47 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-20 00:40:47 +0900 [pathname] Make Pathname Ractor safe (#3940) Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 8355a3e17b6ea05ee60400ae41a1553eee900ed8 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 21:13:33 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:59 +0900 [bigdecimal] Fix deprecation warning test commit 8986f948e0a7da0e53647d1ce7ea8d626051b7e3 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 19:21:56 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:59 +0900 [bigdecimal] Version 3.0.0 https://github.com/ruby/bigdecimal/commit/e68f1eb33a commit df3deb3baa0eabc66a47879be115ae3ffca4daba Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 17:06:14 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:59 +0900 [bigdecimal] Add BigDecimal#n_significant_digits https://github.com/ruby/bigdecimal/commit/981dc48f95 https://github.com/ruby/bigdecimal/commit/9ecf880ec04 commit 654f6fbf19c0ca2e01765a909b4d952b7f0f5baa Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 11:55:46 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:58 +0900 [bigdecimal] Make BigDecimal#precs deprecated https://github.com/ruby/bigdecimal/commit/7e80e6e145 https://github.com/ruby/bigdecimal/commit/0ed7846e8c commit ff9e40811c67b1090966b655f7adc0684fc58abe Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 04:24:15 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:58 +0900 [bigdecimal] Add BigDecimal#precision https://github.com/ruby/bigdecimal/commit/458eb66c49 commit 928a06723d1ede495b7c3b42f3ca48e370ccec77 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 02:45:47 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:57 +0900 [bigdecimal] Make bigdecimal Ractor safe https://github.com/ruby/bigdecimal/commit/93fc392640 https://github.com/ruby/bigdecimal/commit/a90d13c4d0 commit 97d4e72e0bc4b07442f5ce674a945df91d9fce3c Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 01:30:37 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:57 +0900 [bigdecimal] Use DBLE_FIG https://github.com/ruby/bigdecimal/commit/12296dcb90 commit e1424c35012ccf1f3822c9046081b225aef4142e Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-18 23:46:26 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 22:13:53 +0900 [bigdecimal] Fix the default precision of Float#to_d Fix https://github.com/ruby/bigdecimal/issues/70 [Bug #13331] https://github.com/ruby/bigdecimal/commit/aa536cd4b5 commit 4735a5b9d2cbde69c501ee8d5bb570f4fac7e51d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-19 21:19:16 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 21:19:16 +0900 test/ruby/test_module.rb: Avoid "warning: method redefined" commit 1ba8d63b49318e5682a22502c5f5b70e3298da8f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-19 18:22:44 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 18:22:44 +0900 Recommit 34f06062174882a98ebef998c50ad8d4f7fc0f2e commit eb8ea336d33af7e1dec4c17964c671c33cf75ce1 Author: Radosław Bułat <radek.bulat@gmail.com> AuthorDate: 2020-12-19 03:17:57 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 18:19:49 +0900 Feature 17314: allow to pass array to public, protected and private methods commit 8148f88b92a6b8d850b991afe74fb0d0f9c11887 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-19 18:04:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-19 18:04:47 +0900 ALWAYS_INLINE implies inline commit 0d3dc2ec807c313d0952d15ac4f30bc8586bba2f Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-18 04:43:11 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-19 17:59:51 +0900 Make `Hash#except` always return a Hash [Feature #15822] Notes: Merged: https://github.com/ruby/ruby/pull/3929 commit 5611066e03fe73bdbb08cc46f79530c69975cf17 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-19 17:33:21 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-19 17:34:33 +0900 Prefer RB_OBJ_FROZEN_RAW following the original implementation's change. RB_TYPE_P(obj, T_OBJECT) is already checked in these places. ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml before --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-19T08:27:44Z master 52b1716c78) +JIT [x86_64-linux] Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 88.04551460097873 84.38303800957766 fps 88.25194345156318 85.31098251408059 88.34143982084871 86.60491582339496 88.63486879856976 88.23675694701865 88.85392212902701 88.23696283371444 89.05739427483194 88.97185459567562 89.08141031147311 90.16373192658857 89.11359420883423 90.61655686444394 89.80323392966130 90.77044959019291 90.58912189625207 90.88534596330966 90.59847996970350 91.34314801302897 90.61180456415137 93.11599164249547 ``` commit e33eb09b76e9070fd49837e8b896319636501b38 Author: Nobuhiro IMAI <nov@yo.rim.or.jp> AuthorDate: 2020-12-19 01:31:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-19 17:32:39 +0900 ripper: fix `#tok` on some error events [Bug 17345] sorting alias target by event arity, and setup suitable `Elem` for error. Notes: Merged: https://github.com/ruby/ruby/pull/3936 commit 52b1716c78a7ad9daa317e3eb43f744744b9f736 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-19 17:27:42 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-19 17:27:44 +0900 Fix vm_search_invokeblock call_ needs to be vm_invokeblock_i, and flags is also not empty. commit 8ec8f37566902c0167f736d345bb5c8cca6016d3 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-19 16:30:09 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-19 17:03:46 +0900 discourage inlining for vm_sendish() reversing 9213771817 only for JIT, because it made JIT slower. $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' --repeat-count=36 --alternate --output=all benchmark.yml before: ruby 3.0.0dev (2020-12-19T07:38:17Z master a139318538) [x86_64-linux] after: ruby 3.0.0dev (2020-12-19T07:52:01Z master ce9faaeff5) [x86_64-linux] last_commit=discourage inlining for vm_sendish() before --jit: ruby 3.0.0dev (2020-12-19T07:38:17Z master a139318538) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-19T07:52:01Z master ce9faaeff5) +JIT [x86_64-linux] last_commit=discourage inlining for vm_sendish() Calculating ------------------------------------- before after before --jit after --jit Optcarrot Lan_Master.nes 42.83365858987760 42.68912456143848 76.50136803552716 65.74704713379785 fps 42.87724738609940 42.89045158177300 79.72624911659534 81.26221749201044 43.34963955708526 42.95431841174180 80.18085951039328 82.86458983313545 43.56786038452823 43.57563008888242 80.45933051716041 83.09150550702445 43.83219269706004 43.60748924115331 80.67164125046142 83.39458202043882 43.99035062888973 43.62050459554573 80.93204435712701 83.56303651352751 44.25176047881120 44.04822899344536 81.15051082548314 83.58166141398522 44.41978060794512 44.06521657912991 81.35651907376140 83.80036752456826 44.46864790591856 44.09325484326153 81.53456531520031 83.87502933718609 45.54712020644544 44.70693952869038 81.97738413452767 83.95818356402224 45.84292299382878 44.77704345873913 82.35118338199700 83.95966387450966 45.89411137280815 45.41425773286726 83.01052538434648 84.12812994632024 45.93130099197283 46.16884439916935 83.50833510120576 84.26276094927231 46.13648038236674 46.66645417860622 84.88757531920830 85.41732546800056 46.74873798919658 46.71790568883760 84.90953097036886 85.56340808970482 47.11273577214855 46.74581938882115 84.93196765297411 85.57603396455576 47.17870777128640 46.82414166607185 84.97178445888456 86.63510466280221 47.19338055580042 46.83645774240446 85.43536447262163 86.74129103462393 47.25761413477774 46.86834469505590 85.59822430471097 86.85376073363715 47.53327847102834 46.90228589364909 85.76446609620548 87.26108400015282 47.64308771617673 47.02814519551055 85.79904863600991 87.72293541243303 47.80286861846863 47.44672838168050 85.88640862064263 87.86803587836525 47.86455937950740 47.65301489003541 85.88750199172448 88.16881051171814 47.90065455321760 47.73425082354376 85.94295700508701 88.71267004066843 47.90727961241468 47.86377917424705 85.94674546805844 88.77726627283683 47.93243954623904 47.88720812998766 86.51872778134982 88.78993962536994 47.95062952008558 47.88774830879015 86.63116771614249 88.88085054889298 47.95097849989396 47.89825669442417 86.77387990931732 89.72021826461126 48.04730571166697 47.89981045730949 86.95084011077047 89.75804193954582 48.08042611622322 48.03246661737583 87.87239147980547 90.05949240088842 48.08999523258601 48.15253490344558 88.31289344498016 90.36439442190294 48.25670456430854 48.26904755214532 88.33999433286937 90.54253266759406 48.25947200597002 48.41894159956091 88.35502296938638 90.72591894564106 48.30826210577268 48.43125201523194 88.58311746582939 90.77173035874087 48.31514124187375 48.53932287546499 88.89099681179805 91.07747476133886 48.44349281318267 48.58969411593706 89.34043973691581 91.08545627378257 commit 349e79bae02a8a161c06ba5f6fa203d609f6e8b9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-19 16:53:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-19 16:53:18 +0900 Try to test with rake-13.0.2 again. [ruby/fileutils] Make verbose output go to stdout instead of stderr This reverts commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c. commit bdd18090ad75cd5659b561890756c5e0b1227b69 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-19 16:52:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-19 16:52:56 +0900 Bump bundled rake version to 13.0.2 commit a139318538f070cb3eb2ca1a72ae56a8c9c4acad Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-19 15:51:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-19 16:38:17 +0900 Added macros for headers which are not included by ruby.h commit 042c3e91fbc621e28e5edda015c43e01341fee1c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-19 16:10:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-19 16:38:17 +0900 Check macros for headers commit 144b11e03ee0994cacd3fa5eb9ff8b87bd627452 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-12-19 15:24:09 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-12-19 15:24:09 +0900 Fix `warning: instance variable @head not initialized` and remove unused instance variable commit 0cb556b457cdb200966aa011de21b752940a9c1f Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-18 17:56:01 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 15:08:01 +0900 [digest] Version 3.0.0 https://github.com/ruby/digest/commit/4bbd247a32 commit b66f52b0e374d298cbd3a68029226dc1ccd77554 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-16 23:04:42 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 15:08:01 +0900 [digest] Make digest Ractor safe https://github.com/ruby/digest/commit/c13a024b85 https://github.com/ruby/digest/commit/9edca3f8be https://github.com/ruby/digest/commit/378b56b6ca commit feacae193ca3856b1d326697835357791a6df12b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-17 11:02:31 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 15:08:01 +0900 [digest] Added rb_digest_make_metadata to wrap metadata https://github.com/ruby/digest/commit/7046fe6005 commit 5b2cf7eac89550fc88aea45ad2a9dfe9a261c2b1 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-19 11:48:04 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 12:24:41 +0900 Partially reintroduce e042e8460bb9a63c05f938d51e8c7c5345a6f3a4 and ... 34f06062174882a98ebef998c50ad8d4f7fc0f2e Add a test for alias_method commit 51bcd50915941d21df806e8dcde769ae63b6eaaf Author: Radosław Bułat <radek.bulat@gmail.com> AuthorDate: 2020-12-19 03:14:23 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 12:23:58 +0900 Feature 17314: alias_method returns symbol commit 34f6b22df073fe86e30aca99be5aa0b0eb8653df Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-18 12:10:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-19 11:44:05 +0900 Use rb_id_attrset without intermediate strings commit 5616f2ee93e63e575dc5e30db75a6f475ac57fb3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-18 12:59:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-19 11:39:03 +0900 Added missing tests for public, private, protected and alias_method commit d40d95296d0947edf513ad5bc7d4bf338b2e3877 Author: Radosław Bułat <radek.bulat@gmail.com> AuthorDate: 2020-12-19 01:40:31 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 09:22:26 +0900 Feature 17314: update docs and NEWS about attr* methods returning array of symbols commit 76e88480371469400346fca609efe67096813915 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-19 05:57:12 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-19 05:57:12 +0900 unfreeze Ractor::MovedObject Matz prefers to unfreeze the class. [Feature #17401] commit 80cb9165fa34185b601970da407a295a78ec9eff Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-19 05:52:18 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-19 05:52:18 +0900 add "copy: true" option for Ractor.make_shareable Ractor.make_shareable(obj) tries to make obj a shareable object by changing the attribute of obj and traversable objects from obj (mainly freeze them). "copy: true" option is more conservative approach by make deep copied object and make it sharable. It doesn't affect any existing objects. commit cee02d754d76563635c1db90d2ab6c01f8492470 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-19 04:30:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-19 04:33:04 +0900 fix refinements/prepend bug replaced method entry should be invalidated. [Bug #17386] commit 04d62e6f6202684c57f2fcf71bbfcb891cd4ddd9 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-19 04:29:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-19 04:33:04 +0900 fix method cache debug tool commit 0e79d4cde547edd52b2d5bf576780906e45a742d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-19 03:25:48 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 03:25:48 +0900 Added tests for [Feature #17314] Partially reintroduce 34f06062174882a98ebef998c50ad8d4f7fc0f2e commit aa7a02071072b5b0dd15357740d0ffd506bb0381 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-19 03:20:09 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 03:20:09 +0900 Revert "Revert "Use rb_id_attrset without intermediate strings"" This reverts commit 41c208d4a463183fddca250026e5f1cd759d2604. Reintroduce 66090b9d10cdaed917b525225e59d1c19e399248. commit 346bf0f5a586ce6140e28aca145e5b6a8160ee4f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-19 03:16:20 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 03:16:20 +0900 spec/ruby/core/module/attr_*: Add version guards commit 5944c4b3cfbbf8b774a4a76ca71ab9f71c71d1b0 Author: Radosław Bułat <radek.bulat@gmail.com> AuthorDate: 2020-12-19 03:11:35 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-19 03:11:35 +0900 attr_reader, attr_writer, attr_accessor and attr methods returns array of symbols (#3935) Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Notes: Merged-By: mame <mame@ruby-lang.org> commit 7e2dbbda357b8c509358a3aa10ff6d588ed819e2 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-17 02:02:23 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-19 02:54:11 +0900 Use category: :experimental in warnings that are related to experimental features This adds rb_category_compile_warn in order to emit compiler warnings with categories. Note that Ripper currently ignores the category for these warnings, but by default it ignores the warnings completely, so this shouldn't matter. Notes: Merged: https://github.com/ruby/ruby/pull/3917 commit 05313c914b29f7027b27a91021ae2662f0149e54 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-29 02:10:31 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-19 02:54:11 +0900 Use category: :deprecated in warnings that are related to deprecation Also document that both :deprecated and :experimental are supported :category option values. The locations where warnings were marked as deprecation warnings was previously reviewed by shyouhei. Comment a couple locations where deprecation warnings should probably be used but are not currently used because deprecation warning enablement has not occurred at the time they are called (RUBY_FREE_MIN, RUBY_HEAP_MIN_SLOTS, -K). Add assert_deprecated_warn to test assertions. Use this to simplify some tests, and fix failing tests after marking some warnings with deprecated category. Notes: Merged: https://github.com/ruby/ruby/pull/3917 commit 6ced55b07cf00e4ce8ffac5762f10e8ff1ecc59b Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-17 01:37:04 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-19 02:54:11 +0900 Make warning_categories a map of category symbols to category numbers Use this to simplify rb_warning_category_from_name. This also adds support for using the :experimental category in Kernel#warn and Warning.warn. Notes: Merged: https://github.com/ruby/ruby/pull/3917 commit 52fb696ee7d01b1d55a1d5c42c60c6a5ebfc4502 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-17 01:15:13 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-19 02:54:11 +0900 Switch rb_category_warn{,ing} to accept an rb_warning_category_t Since we decided to only allowing specific warning categories, there is no reason to have an API that accepts a general string, as it is more error-prone. Switch to only allowing the specific warning categories. As rb_category_warn{,ing} are public API, this requires making rb_warning_category_t public API as well. Notes: Merged: https://github.com/ruby/ruby/pull/3917 commit 7b06085c7bf8cc0db157e46fb11d16a6447d4d63 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 02:44:20 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 02:44:20 +0900 [bigdecimal] Fix test for d5ab8e8562 commit d5ab8e8562ec15979a32365fe4bf85be9e6334c0 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-19 02:29:18 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-19 02:29:31 +0900 [bigdecimal] Use rb_undef_alloc_func to undefine allocate commit c2a5594e271170b57f92d7461466f3c0ab8da863 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-19 00:41:00 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-19 02:12:11 +0900 [ruby/reline] Use cached prompt list when just moved the cursor https://github.com/ruby/reline/commit/cfe619460b commit d4257c6152ac9ad5179eb77d6e68942a5b9c011f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-18 23:36:33 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-19 02:12:11 +0900 [ruby/reline] Yank by em-kill-region correctly This closes ruby/reline#106. https://github.com/ruby/reline/commit/2549a52e15 commit af2c81e10c15c267611e59f11b7152545c617826 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-18 23:35:15 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-19 02:12:11 +0900 [ruby/reline] Bind yank-pop correctly https://github.com/ruby/reline/commit/3c74beac65 commit 671f2762fb8a4832d2c17322ee600f53c91f76f5 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-18 22:25:09 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-19 02:12:11 +0900 [ruby/reline] Add Enumerable to KillRing for debugging https://github.com/ruby/reline/commit/d208874152 commit dc61affd67a3e93c870bf6f79eefc0473630d6f1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-19 01:52:14 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-19 02:12:11 +0900 [ruby/reline] [ruby/irb] Call ripper only once when generating dynamic prompt https://github.com/ruby/irb/commit/babb122a48 https://github.com/ruby/reline/commit/e6dbcb3b42 commit e76b56f58e44cb54497d93526d649950f5bdd1c0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-19 02:04:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-19 02:05:08 +0900 support Ruby 2.x for openssl commit ad76c8fb6bc9df26601b0b454f3f0b61c2c772c9 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-18 23:16:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 00:53:47 +0900 Update TypeProf to 0.10.0 Notes: Merged: https://github.com/ruby/ruby/pull/3933 commit 19a98a8791f99085aca11413a331811659c8b78c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-19 00:34:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-19 00:34:14 +0900 Fixed not to make non-literal expression shareable [Feature #17273] Non-literal expression which is not a part of a literal expression is not a subject of `shareable_literal_value: literal`. commit ed5c09f38459fe4a0f94c9e24358b21ff5f151c6 Author: Radosław Bułat <radek.bulat@gmail.com> AuthorDate: 2020-11-09 19:25:11 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-19 00:04:19 +0900 Remove unused variable Notes: Merged: https://github.com/ruby/ruby/pull/3934 commit c71934f8a50746c9cd01a86375b178d5c7823259 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-18 09:24:37 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-18 22:00:07 +0900 [stringio] Version 3.0.0 https://github.com/ruby/stringio/commit/831be01071 commit e1b5289a2bf297d80ea35b32a32a0c5c34ab2ad8 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-17 10:38:42 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-18 22:00:07 +0900 [stringio] Add test-unit in the development dependencies https://github.com/ruby/stringio/commit/de010fc0e9 commit 3d3194412918012ddab185751b84ebb64fe6e5d5 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-17 10:05:07 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-18 22:00:07 +0900 [stringio] Make stringio Ractor safe https://github.com/ruby/stringio/commit/ee3fec7512 https://github.com/ruby/stringio/commit/18dcd045ef https://github.com/ruby/stringio/commit/18dcd045ef commit 14ca7f633cae9938b7d8bc722fe1c5c96f6bcd95 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-18 21:58:41 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-18 21:58:41 +0900 [openssl] Fix dependencies commit b5588edc0a538de840c79e0bbc9d271ba0c5a711 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 18:19:33 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 18:19:33 +0900 openssl is ractor-safe ossl_bn_ctx is C's global variable and it should be ractor-local to make it ractor-safe. commit 74ab2c3b463da4d98803fe694acad831938a97e5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 17:59:26 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 17:59:26 +0900 finalizing should be checked before VM lock commit 7d32bf78537eaeb046166b45a79b47316ccf6f02 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-18 17:56:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-18 17:56:08 +0900 Removed a moved local variable commit 61236770e6cc41f1364dc04249d845def03d9f37 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 17:49:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 17:50:01 +0900 need to sync gc_finalize_deferred gc_finalize_deferred() runs finalizers and it accesses objspace, so it need to sync. commit 75416b86287c8266cef3a8b372625c1738661a24 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-17 13:50:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-18 16:27:43 +0900 Removed old GC.stat keys deprecated since 2.2 Notes: Merged: https://github.com/ruby/ruby/pull/3921 commit 763d5f9c6baf57108396ee5452fa73c834fe9ce0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-17 13:49:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-18 16:27:43 +0900 Removed old GC tuning environment variables deprecated since 2.1 Notes: Merged: https://github.com/ruby/ruby/pull/3921 commit 982443e6e373f5a3ac22ee495909cb9adffcd08d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-18 14:12:42 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-18 16:08:55 +0900 Revert "Better cooperation between public/protected/private with attr* and alias_method" This reverts commit 81739ad4fdfcc86a769056fec352f27c686fba1b. commit 41c208d4a463183fddca250026e5f1cd759d2604 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-18 14:12:38 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-18 16:08:25 +0900 Revert "Use rb_id_attrset without intermediate strings" This reverts commit 66090b9d10cdaed917b525225e59d1c19e399248. commit c4e50b58d1e6f030b24faffbc208d3d454d1f433 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-18 14:12:15 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-18 16:08:24 +0900 Revert "Added missing tests for public, private, protected and alias_method" This reverts commit e042e8460bb9a63c05f938d51e8c7c5345a6f3a4. commit 0a60ba923e044ec2e84ac63406ca85b7bb8fc73f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-18 14:12:09 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-18 16:08:24 +0900 Revert "Added tests for [Feature #17314]" This reverts commit 34f06062174882a98ebef998c50ad8d4f7fc0f2e. commit 8e03e3b0baf12b0e470ef7188559097fea95cb37 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-18 15:09:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-18 15:16:30 +0900 Drop token info also for endless singleton method definition commit f0ec923c5852b9ae9c82824137641e4e1dfad35a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-18 14:36:06 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-18 14:36:26 +0900 Remove --jit-save-temps from MJIT It's probably not helping the backtrace. commit b5de66e13278ec588cbc8b76b7212e22898e6a89 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-17 22:40:26 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-18 14:25:48 +0900 [strscan] Fix license comment and files https://github.com/ruby/strscan/commit/a999f2c6d1 commit 5370963992a0c79925c812e70beb94d09dbc5e47 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-17 18:32:08 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-18 14:25:42 +0900 [strscan] Version 3.0.0 https://github.com/ruby/strscan/commit/08645e4e77 commit 985f0af2576c4b4f9f4e75dce7299ba9d55d9419 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-17 18:29:21 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-18 14:25:41 +0900 [strscan] Make strscan Ractor safe (https://github.com/ruby/strscan/pull/17) * Make strscan Ractor safe * Add test-unit in the development dependencies https://github.com/ruby/strscan/commit/3c93c2bebe commit cfa124ef05e1b899c1953888c0fb3076388a0d8e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 14:14:40 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 14:16:06 +0900 acquire VM lock on gc_verify_internal_consistency() There is a case to call this function without VM lock acquiring. commit 8cba3b35e095bf17308ed00bf19f6d6f7a682ae2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-18 14:11:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-18 14:11:50 +0900 Bump version RubyGems and Bundler in NEWS commit b44f7151c71011460877bdba549453aaeada88fe Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 11:37:13 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 14:09:32 +0900 zlib is ractor-safe commit 0e40cc9b194a5e46024d32b85a61e651372a65cb Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-18 12:13:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-18 13:33:18 +0900 Merge RubyGems 3.2.2 and Bundler 2.2.2 Notes: Merged: https://github.com/ruby/ruby/pull/3930 commit 34f06062174882a98ebef998c50ad8d4f7fc0f2e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-18 13:03:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-18 13:03:22 +0900 Added tests for [Feature #17314] commit e042e8460bb9a63c05f938d51e8c7c5345a6f3a4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-18 12:59:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-18 12:59:01 +0900 Added missing tests for public, private, protected and alias_method commit 66090b9d10cdaed917b525225e59d1c19e399248 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-18 12:10:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-18 12:10:20 +0900 Use rb_id_attrset without intermediate strings commit a07f2498031d5f4c53ddc03d61a8a41a6b77baca Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 11:23:16 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 11:23:34 +0900 socket is ractor-safe. commit aa82b067cbf24e781fedfe951be153b6b1d21ddf Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-12-18 11:18:09 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-12-18 11:18:09 +0900 ruby_set_stack_size: no longer exists Deleted since fc3c60f6081d85f6274986a7a08b59db1515fcb5 commit 51c2725dc646030283d01ce23a32c06f0f1c8bf6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 09:12:26 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 09:12:26 +0900 use eval to create different Regexp objects Only one warning is shown for the same Regexp object, so create different objects to support repeating tests. http://ci.rvm.jp/results/trunk-repeat20@phosphorus-docker/3290658 commit 29e42b8bfdfc7a2d879a4ddb1db3d4453d66143a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 08:25:24 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 08:26:25 +0900 add explicit check To debug this issue: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20201217T220004Z.fail.html.gz commit 895b10ad020a788566c6e35431d07e6121e38c87 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-12-18 06:25:35 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-12-18 06:26:53 +0900 Add documentation about GC.compact [Misc #16443][ruby-core:96395] commit 81739ad4fdfcc86a769056fec352f27c686fba1b Author: Radosław Bułat <radek.bulat@gmail.com> AuthorDate: 2020-11-09 19:25:11 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-18 02:46:02 +0900 Better cooperation between public/protected/private with attr* and alias_method Notes: Merged: https://github.com/ruby/ruby/pull/3757 commit 6538c89f1c9d1af95c0fb3e58ac0e807a5fe47f4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-18 01:19:03 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-18 01:20:02 +0900 gc_verify_internal_consistency() needs barrier gc_verify_internal_consistency() accesses all slots (objects) so all ractors should stop before starting this function. commit caef364cc5e9816b398f46a7da50057707f87af3 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-17 22:39:37 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-17 22:39:37 +0900 test/ruby: suppress some warnings follow up to 9908177857a28633d6279c43a1ad4dfedcb98596 commit 980f994b3b349486c5e64b51241330d4c9fc63f1 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-11-21 06:58:02 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:24:08 +0900 [ruby/irb] Change context-mode's default to new mode 4. This new mode uses a copy of the TOPLEVEL_BINDING. This is compatible with refinements (contrary to mode 3), while keeping nested IRB sessions separate https://github.com/ruby/irb/commit/25c731cb2f commit 753222d72c8787f2d57781c2e55194da2d3d0d8f Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-09 01:56:01 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:23:49 +0900 [ruby/irb] Enable deprecation warnings when using -W or -w Requested in Ruby Bug 17377 https://github.com/ruby/irb/commit/698f6eb34a commit 336fe648b08e7bd062dc8d4cc11781dd8d617f11 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-06 02:13:56 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:23:27 +0900 [ruby/irb] Skip the few failing tests on TruffleRuby https://github.com/ruby/irb/commit/22717844c0 commit cbf6a7f906d17968c8f54f4efb1899e9b204ccfe Author: Nobuhiro IMAI <nov@yo.rim.or.jp> AuthorDate: 2020-11-21 08:40:31 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:22:29 +0900 [ruby/irb] workaround for lack of tokens from `Ripper.lex` * Fixes https://github.com/ruby/irb/pull/38 https://github.com/ruby/irb/commit/905fb8e52e commit 422e2c7274d9dbf1ff93dccc0c3c388f4775e636 Author: Robert Schulze <robert@dotless.de> AuthorDate: 2020-05-05 16:24:52 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:20:07 +0900 [ruby/reline] Use plus operator to create unfrozen string https://github.com/ruby/reline/commit/ca274b0d37 commit cdf2790aa089c5ff608dd97407b5ce684cc9f415 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-17 19:57:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:17:22 +0900 [ruby/reline] Support longer than screen height on Windows https://github.com/ruby/reline/commit/2a97ca9362 commit 0158ba7e51cb3fc5a204cb65d1be1618802e08d2 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-16 16:28:51 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:17:11 +0900 [ruby/reline] Make a log file on windows if debug env is set https://github.com/ruby/reline/commit/dff30a2d44 commit 2b8fa7817643a9ac7632b66ffed7cb5fd3753966 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-13 11:30:05 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:14:59 +0900 [ruby/reline] Support longer than screen height https://github.com/ruby/reline/commit/e83a3de9ed commit 9908177857a28633d6279c43a1ad4dfedcb98596 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-17 20:06:18 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-17 20:06:18 +0900 test/ruby: Check warning messages at a finer granularity Instead of suppressing all warnings wholly in each test scripts by setting `$VERBOSE` to `nil` in `setup` methods. Notes: Merged: https://github.com/ruby/ruby/pull/3925 Merged-By: nobu <nobu@ruby-lang.org> commit d597d7a8b6e753cfe40b8470c770f744adde5d4f Author: Yale Kozinski <ytk@kozinski.com> AuthorDate: 2020-11-23 18:17:06 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-17 20:04:42 +0900 Fixing glitchy kill ring behavior in irb See https://github.com/ruby/irb/issues/85 for details Notes: Merged: https://github.com/ruby/ruby/pull/3806 commit da3438a50454706cce2e5b06bdad498b42977f8f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 17:29:05 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 18:13:40 +0900 sync obj_to_id_tbl objspace->obj_to_id_tbl is a shared table so we need to synchronize it to access. Notes: Merged: https://github.com/ruby/ruby/pull/3924 commit 7f11c8086a4b5924737223322e24be23e9ff34c5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 17:20:29 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 18:13:26 +0900 reduce barrier counts for GC events mark needs barrier (stop other ractors), but other GC events don't need barriers (maybe...). Notes: Merged: https://github.com/ruby/ruby/pull/3923 commit 99b91453809be68c604f94416030addfff3d6142 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 04:06:04 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 17:37:52 +0900 relax synchronization on WB Current synchronization is too much on write barriers. Notes: Merged: https://github.com/ruby/ruby/pull/3918 commit 44fba194a5561a5ca20f6bd91fb96b7d8edd1dbb Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-17 17:24:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-17 17:24:51 +0900 ruby/pathname separated .rb file to top-level directory. commit c42948d78463d7e38f04070236985dcda895efd5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 17:03:05 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 17:03:05 +0900 add debug counters for gc start events commit 92137718170118030a1f56303764d08201bf5c33 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 15:46:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 16:53:41 +0900 encourage inlining for vm_sendish() Some tunings. * add `inline` for vm_sendish() * pass enum instead of func ptr to vm_sendish() * reorder initial order of `calling` struct. * add ALWAYS_INLINE for vm_search_method_fastpath() * call vm_search_method_fastpath() from vm_sendish() Notes: Merged: https://github.com/ruby/ruby/pull/3922 commit 5d74894f2bc4a3a18aec952d946ead3d784cb4b4 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-17 15:08:04 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-17 16:06:28 +0900 Lazily move PC with RUBY_VM_CHECK_INTS ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-12-17T07:01:48Z master 843abb96f0) +JIT [x86_64-linux] last_commit=Lazily move PC with RUBY_VM_CHECK_INTS Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 80.29343646660429 83.15779723251525 fps 82.26755637885149 85.50197941326810 83.50682959728820 88.14657804306270 85.01236533133049 88.78201988978667 87.81799334561326 88.94841008936447 87.88228562393064 89.37925215601926 88.06695585889995 89.86143277214475 88.84730834922165 90.00773346420887 90.46317871213088 90.82603371104014 90.96308347148916 91.29797694822179 90.97945938504556 91.31086331868738 91.57127890154500 91.49949184318844 ``` commit 3b4d698e0b5a79b63b05ae0c79d282a9049225e4 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-17 15:12:50 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-17 15:17:46 +0900 Ignore catch_except_p for PC motion We probably don't need to move it when an insn is leaf... commit a09c3c6fe1f24e5956b43157e6e40dfe4f986bed Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-17 14:37:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-17 14:37:45 +0900 expand VERSION path for ruby repository. commit 46ea74297eb3e46e19fb692a8d8eef817b93a49b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-17 14:20:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-17 14:20:42 +0900 Bump version to json-2.4.1 and use VERSION file for json version same as upstream commit ccf9da079f0a9987f80d74b971a11bcd236d3576 Author: d-m-u <16326669+d-m-u@users.noreply.github.com> AuthorDate: 2020-12-17 13:20:49 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-17 13:22:15 +0900 fix doc typo s/it's/its Notes: Merged: https://github.com/ruby/ruby/pull/3920 commit d07183ec85dc20c7c034170bd8964c79c34a47d7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-17 12:43:17 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-17 12:43:43 +0900 Do not access jit_unit if NULL commit 93ba3ac03681a2a65ca28b4c5aaba72da9e16f97 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 03:46:44 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 03:46:44 +0900 RGENGC_PROFILE=0 Enabled this flag, maybe accidentally. commit 2a3324fcd2f9681e167b2619563a5c26e1a362fe Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 01:56:30 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 03:44:23 +0900 No sync on ASCII/US_ASCCII/UTF-8 rb_enc_from_index(index) doesn't need locking if index specify ASCII/US_ASCCII/UTF-8. rb_enc_from_index() is called frequently so it has impact. user system total real r_parallel/miniruby 174 0.000209 0.000000 5.559872 ( 1.811501) r_parallel/master_mini 175 0.000238 0.000000 12.664707 ( 3.523641) (repeat x1000 `s.split(/,/)` where s = '0,,' * 1000) Notes: Merged: https://github.com/ruby/ruby/pull/3916 commit c58142134cccdd31811f12aabf4f9dd3ce6a17f7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 01:29:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 03:43:59 +0900 make RB_DEBUG_COUNTER_INC()_thread-safe Notes: Merged: https://github.com/ruby/ruby/pull/3915 commit d5929b39a9c7944de14c133fa3948b7b3a92e423 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-16 23:57:35 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-17 00:42:17 +0900 Make Ractor#receive_if private commit 24f018972b958d6287c71a4682ea1dcc8d1fa16e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 00:31:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 00:34:30 +0900 fix timing bug ractor_sleep() can remain wait.status by interrupt, so that this patch handles more correctly. This patch fixed this kind of assertion failures: Assertion Failed: ../src/ractor.c:1332:ractor_yield_atexit:cr->sync.wait.status == wait_none commit b29c0fadeca7bd7d00d9fe17345fe88bf968312f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-17 00:28:48 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-17 00:29:48 +0900 add HAVE_RB_EXT_RACTOR_SAFE macro define HAVE_RB_EXT_RACTOR_SAFE to check rb_ext_ractor_safe() is available or not. commit 53babf35ef5b643774636550ea23851e2607e076 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-16 23:24:07 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-16 23:24:07 +0900 Inline getconstant on JIT (#3906) * Inline getconstant on JIT * Support USE_MJIT=0 Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 9c859f4b3c2098af590d3e0eadc2d1011fb32bb8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-16 22:53:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-16 22:53:43 +0900 Ripper: Pass callback result to alias_error as well as other errors [Bug #17345] commit 47328ad217ecaf240f0faedac89723dcd6a917ac Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-16 21:01:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-16 21:08:33 +0900 Ripper: Fixed erred token on wrong alias [Bug #17345] commit a9a7f4d8b8ec30abc7a47ce700edc7209ae12279 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-08 14:04:18 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 19:12:48 +0900 Ractor#receive_if to receive only matched messages Instead of Ractor.receive, Ractor.receive_if can provide a pattern by a block and you can choose the receiving message. [Feature #17378] Notes: Merged: https://github.com/ruby/ruby/pull/3862 commit ddb93c3d64b8997c85f23c96a73ad0a9a7f82ad1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-16 17:05:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-16 19:10:37 +0900 Made LARGEFILE_SUPPORT mandatory Notes: Merged: https://github.com/ruby/ruby/pull/3914 commit 5193fbb6d0dedfbc2b3c017456fb58a13136de01 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-16 17:00:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-16 19:10:37 +0900 Removed stale declaration rb_w32_pipe_exec was removed in 1.9.3, at commit:7ac32d7a16734ea66de15319bcff2fd429abae7f. Notes: Merged: https://github.com/ruby/ruby/pull/3914 commit 8b32191a3101cb6441fc64c87cfd011fdadc6867 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-15 23:17:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-16 17:54:43 +0900 Ignore failure on unsupported fcntl to drop non-blocking mode Notes: Merged: https://github.com/ruby/ruby/pull/3913 commit 4fe7f270ce924b6339e9ccf56c3fff2de3f4fa8b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-16 17:39:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-16 17:39:40 +0900 Different names instead of `ulimit` commit 5d8f227d0edd3c542fcac465eb82005a5f852d34 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-16 16:14:02 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-16 17:22:50 +0900 Lazily move units from active_units to stale_units to avoid SEGV like http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3289588 by a race condition between mjit_recompile and compation around active_units commit 0a521618723e5e602c1288b4185b869e94332172 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-16 17:18:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 17:18:13 +0900 fix Ractor#receive by other ractors Ractor#receive can be called by the another Ractors using send, so making this method completely same as `Ractor.receive` even if the ractor is specified by the receiver (OO term :p). commit c668772b145b7fd889000480778e011a808442ab Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-16 16:17:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-16 16:17:54 +0900 test/ruby/test_enum.rb: Avoid "warning: assigned but unused variable" commit 19157a3c001d68acdc8e5190a806189840d23375 Author: David CARLIER <devnexen@gmail.com> AuthorDate: 2020-12-16 15:32:11 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-16 15:32:11 +0900 vm debug: dump registers on ARM too. (#3900) * vm debug: dump registers on ARM too. Notes: Merged-By: nurse <naruse@airemix.jp> commit 98dca855736c9fb8d4edef8b33a5df1cfe67ebb7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-16 14:13:32 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 14:20:20 +0900 tuning vm_setivar_slowpath() more. specify inline/noinline code for is_attr condition. commit 1bafb3cb47649037cc93fec97503c18a864e3983 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-16 13:43:56 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-16 13:43:56 +0900 [memory_view] Make MemoryView API Ractor-safe (#3911) * memory_view.c: make Ractor-safe * test/ruby/test_memory_view.rb: Add test_ractor * memory_view: fix typo * memory_view.c: Use st_update in unregster_exported_object * memory_view: update dependency Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 1e11c12a066036e85177104a9f8f5469063858a7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-16 13:30:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 13:30:34 +0900 remove unused function commit 5499651ee75538a4d8a3bb4a7442f5f59f36acd8 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-16 12:03:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 13:06:13 +0900 tuning ivar set * make rb_init_iv_list() simple * introduce vm_setivar_slowpath() for cache miss cases ../clean/miniruby is 647ee6f091. Calculating ------------------------------------- ./miniruby ../clean/miniruby ../ruby_2_7/miniruby vm_ivar_init 7.388M 6.814M 5.771M i/s - 30.000M times in 4.060420s 4.402534s 5.198781s vm_ivar_init_subclass 2.158M 2.147M 1.974M i/s - 3.000M times in 1.390328s 1.397587s 1.519951s vm_ivar_set 128.607M 97.931M 140.668M i/s - 30.000M times in 0.233269s 0.306338s 0.213268s vm_ivar 144.315M 151.722M 117.734M i/s - 30.000M times in 0.207879s 0.197730s 0.254811s Comparison: vm_ivar_init ./miniruby: 7388398.8 i/s ../clean/miniruby: 6814257.1 i/s - 1.08x slower ../ruby_2_7/miniruby: 5770583.9 i/s - 1.28x slower vm_ivar_init_subclass ./miniruby: 2157763.6 i/s ../clean/miniruby: 2146557.0 i/s - 1.01x slower ../ruby_2_7/miniruby: 1973747.9 i/s - 1.09x slower vm_ivar_set ../ruby_2_7/miniruby: 140668063.8 i/s ./miniruby: 128606912.1 i/s - 1.09x slower ../clean/miniruby: 97931027.8 i/s - 1.44x slower vm_ivar ../clean/miniruby: 151722121.9 i/s ./miniruby: 144314526.5 i/s - 1.05x slower ../ruby_2_7/miniruby: 117734305.5 i/s - 1.29x slower Notes: Merged: https://github.com/ruby/ruby/pull/3912 commit ad8e82f70828bf6a0a36648f8b4bdc3142b09968 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-16 12:31:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-16 12:31:40 +0900 Fixed marshal compatibility of Process::Status commit cfefd1e524fdd8c832c5a762d5ec969b71190827 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-16 11:26:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-16 11:26:26 +0900 Added entry for webrick changes at Ruby 3.0 to NEWS commit 0b678cc9e5a5149e40765562142ed1dc05d09b53 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-16 10:10:05 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 10:38:12 +0900 add vm_sync debug counters * vm_sync_lock * vm_sync_lock_enter * vm_sync_lock_enter_nb * vm_sync_lock_enter_cr * vm_sync_barrier Notes: Merged: https://github.com/ruby/ruby/pull/3910 commit 171f0431e766ba5b1a326386fff34a30f6cbc4c5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-16 10:36:23 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 10:36:23 +0900 fix typo commit dff67c809f786c94933583a450dbd9398fa07039 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-16 10:29:48 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-16 10:29:48 +0900 fix duplicated name commit ccc828f49956424b2548e32cb3bc3a78e16e207b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-12-15 16:57:28 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-12-16 08:47:49 +0900 configure.ac: avoid squashing CXX=g++ We are discussing this issue at [Bug #17337] but in the meantime, leave this questionable autoconf glitch as-is to save sassc and eventmachine. Notes: Merged: https://github.com/ruby/ruby/pull/3907 commit d5f0d338c7b5d3d64929b51d29061d369550e8c4 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-09 11:20:37 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-16 02:54:45 +0900 Optimize `Enumerable#grep{_v}` [Bug #17030] Notes: Merged: https://github.com/ruby/ruby/pull/3868 commit 289d42c932b744260359ee2c02d6723ecb8fc714 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-15 23:43:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-15 23:43:08 +0900 Removed unneeded cast and use the real name commit 8f6cb5b70b5ca107260960a107e257ef202c9dc0 Author: Zoltán Mizsei <zmizsei@extrowerk.com> AuthorDate: 2020-10-30 06:47:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-15 23:13:24 +0900 TEST: multiarch support for Haiku commit 95423215849ad26e1b928b3d36af021472bb185b Author: Zoltán Mizsei <zmizsei@extrowerk.com> AuthorDate: 2020-10-30 06:49:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-15 23:12:31 +0900 Haiku: disable stack-protector commit 4d43ac2fb94de27ed6f87f92f2ef71808c9cc44b Author: Zoltán Mizsei <zmizsei@extrowerk.com> AuthorDate: 2020-10-30 06:49:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-15 23:12:28 +0900 Add Haiku to the context support list commit e0bdd54348514ff06df88a9bac88fa56058235a4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-15 14:14:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-15 21:36:23 +0900 Ripper: Refined error callbacks [Bug #17345] Notes: Merged: https://github.com/ruby/ruby/pull/3909 commit 2e436982ee64301aceb97e0c8d5b06b94fc7b580 Author: Junichi Ito <jit@sonicgarden.jp> AuthorDate: 2020-12-15 20:11:02 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-12-15 21:00:10 +0900 Fix typo in NEWS.md Notes: Merged: https://github.com/ruby/ruby/pull/3908 commit 151ff609e595e78b7937ecb4b011879dc5a0cbd1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-15 20:05:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-15 20:06:42 +0900 Added updated versions of the default gems on NEWS commit ad3e3bd65a69c05035289b0dbf04394a8238fbfb Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-15 19:54:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-15 19:54:58 +0900 Bump version to json-2.4.0 commit 5463eff5f6236f89c137c562ee271e1c1ff92a89 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-15 16:33:49 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-15 16:35:45 +0900 Lock only active_units references 556a7285080c1344c75bb93a333c9bfc5d631c61 was not good maybe because it wasn't using list_for_each_safe. If list_for_each_safe is safe for list_del for any nodes (is that true?), this should be fine. commit ce6fafb8cc59658245a70ff24c75a3108a39ba93 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-15 15:15:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-15 15:19:23 +0900 Cache warning category IDs commit a86c147579745859ea064ec22b2901a7ac7e4abf Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-15 15:17:15 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-15 15:17:15 +0900 Import bigdecimal 2.0.2 (#3905) * remove duplicated include * Make BigDecimal#round with argument < 1 return Integer Fixes [Bug #12780] * Use a higher default precision for BigDecimal#power and #** When a fractional power is given, increase the precision if the precision isn't specified via power's second argument: Float: increase by 15 (rough number of decimal precision in float) BigDecimal: increase by adding similar precision modifier as done to calculate the base precision. Rational: double the precision, since a BigDecimal is created, but the created BigDecimal uses the same precision. Increasing the precision for these power calculations has the obvious tradeoff of making the calculations slower. Fixes Ruby Bug #17264 * Use DBLE_FIG for a Float value * Version 2.0.1 Co-authored-by: pavel <pavel.rosicky@easy.cz> Co-authored-by: Jeremy Evans <code@jeremyevans.net> Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 9d85ed6cbb50960d08bdb24c303a8f5e06b7e922 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-15 14:06:53 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-15 14:07:41 +0900 Simplify positioning of '{' and '}' and fix inconsistent indentation in mjit_compile.inc.erb commit 72a73691bd069c20f07a42bbd2740ada319ee001 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-15 12:10:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-15 13:29:30 +0900 add several debug counters add cc_found_in_ccs (renamed from cc_found_ccs), cc_not_found_in_ccs, call0_public, call0_other debug counters to measure more details. also it contains several modification. Notes: Merged: https://github.com/ruby/ruby/pull/3903 commit aa6287cd26582e64c19e37dea3fd90b380b85d5b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-15 05:40:38 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-15 13:29:30 +0900 fix inline method cache sync bug `cd` is passed to method call functions to method invocation functions, but `cd` can be manipulated by other ractors simultaneously so it contains thread-safety issue. To solve this issue, this patch stores `ci` and found `cc` to `calling` and stops to pass `cd`. Notes: Merged: https://github.com/ruby/ruby/pull/3903 commit 40b7358e934e3b1f2cc7a664f97e5cc1393cbc77 Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2020-12-15 10:34:31 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-15 12:38:59 +0900 Skip defined check in NODE_OP_ASGN_OR with ivar Previously we would add code to check if an ivar was defined when using `@foo ||= 123`, which was slower than `@foo || (@foo = 123)` when `@foo` was already defined. Recently 01b7d5acc702df22d306ae95f1a9c3096e63e624 made it so that accessing an undefined variable no longer generates a warning, making the defined check unnecessary and both statements exactly equal. This commit avoids emitting the defined instruction when compiling NODE_OP_ASGN_OR with a NODE_IVAR. Before: $ ruby --dump=insn -e '@foo ||= 123' == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,12)> (catch: FALSE) 0000 putnil ( 1)[Li] 0001 defined instance-variable, :@foo, false 0005 branchunless 14 0007 getinstancevariable :@foo, <is:0> 0010 dup 0011 branchif 20 0013 pop 0014 putobject 123 0016 dup 0017 setinstancevariable :@foo, <is:0> 0020 leave After: $ ./ruby --dump=insn -e '@foo ||= 123' == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,12)> (catch: FALSE) 0000 getinstancevariable :@foo, <is:0> ( 1)[Li] 0003 dup 0004 branchif 13 0006 pop 0007 putobject 123 0009 dup 0010 setinstancevariable :@foo, <is:0> 0013 leave This seems to be about 50% faster in this benchmark: require "benchmark/ips" class Foo def initialize @foo = nil end def test1 @foo ||= 123 end def test2 @foo || (@foo = 123) end end FOO = Foo.new Benchmark.ips do |x| x.report("test1", "FOO.test1") x.report("test2", "FOO.test2") end Before: $ ruby benchmark_ivar.rb Warming up -------------------------------------- test1 1.957M i/100ms test2 3.125M i/100ms Calculating ------------------------------------- test1 20.030M (± 1.7%) i/s - 101.780M in 5.083040s test2 31.227M (± 4.5%) i/s - 156.262M in 5.015936s After: $ ./ruby benchmark_ivar.rb Warming up -------------------------------------- test1 3.205M i/100ms test2 3.197M i/100ms Calculating ------------------------------------- test1 32.066M (± 1.1%) i/s - 163.440M in 5.097581s test2 31.438M (± 4.9%) i/s - 159.860M in 5.098961s Notes: Merged: https://github.com/ruby/ruby/pull/3904 commit 2fa9f3c0322570dfb1672b49bc1f3306ef595131 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-15 08:32:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-15 10:54:09 +0900 Prepare to release rubygems-3.2.1 and bundler-2.2.1 Notes: Merged: https://github.com/ruby/ruby/pull/3901 commit 7898f4243f5df9ead0bf91cc8c40907c559d18c0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-15 09:37:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-15 10:26:50 +0900 ripper: return pushed new token instead of the token list commit 25a48b703ec738d4667a7b8edcfe8e100ed6ca84 Author: Alan Wu <alanwu@ruby-lang.org> AuthorDate: 2020-12-15 07:56:42 +0900 Commit: Alan Wu <alanwu@ruby-lang.org> CommitDate: 2020-12-15 07:56:42 +0900 Update dependencies commit f5c89c1660afd3a89514125aad579c0a96990c4b Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-12-15 04:24:18 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-15 04:29:50 +0900 Deprecate Random::DEFAULT * Closes [Feature #17351]. commit c183288754fdad17e627c4182de599d965e99405 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-12-15 04:11:15 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-15 04:13:48 +0900 Remove references to Random::DEFAULT in the documentation * Random::DEFAULT is no longer a Random instance, and referencing it is more confusing than helpful. Related to [Feature #17351] commit b3e99b36765f99add04e8106b85bb32f3d3022f7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-14 23:53:50 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-14 23:53:50 +0900 Fix indent for rdoc's markdown It seems that nested points need four spaces commit c2a60fec2f79c05bdb865c143b6ad8eddfc6cc36 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-14 20:13:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-14 20:13:12 +0900 Merge Psych-3.2.1 from ruby/psych commit 27520a1e1e8ac1ef0607a75d654e2cff6d36e15a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-14 19:39:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-14 19:39:32 +0900 Fixed dst name for digest gem commit 332317472779554f991ffa5bad74c1255828cc21 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-26 18:10:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Support shareable_constant_value: literal Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 89e489d51d164cf22bce3a7580e5695da22fb347 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-13 14:03:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Make shareable_constant_value tri-state Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 7060aeedbd69c0888379cbf91f0bb2208bc59308 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-02 19:48:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 shareable_constant_value: is effective only in comment-only line Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 25cf1aca927946595b1325e4fde7f642bba2a706 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-22 16:25:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Added continued line case Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 78cb9b627b19069abad5b27f1710abacf1eed064 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-22 16:24:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Added false case Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit d19601fb569a2b3adea1bfb1938820314833a475 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-21 14:35:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Test by Ractor.shareable? Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 11d9983bc340f3cc05da3a87d5d0c63f4f6bd899 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-21 14:11:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Make the value shareable deeply Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 070a990bcb81ed371fc60e3922f5329b1020aa44 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-10 16:24:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Save and pass lex_context wholly Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit dc1cc33d691faacccd2c12ce3ca75b24cc89dbf9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-10 00:44:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Determine shareable-ness after assignment operator Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 60f0c376f762aafadaba38e761d2dc9b0c1c0c82 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-09 23:55:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Implemented shareable_constant_value op_asgn Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 65450e8f7daf59ca64a12ff1da0efdc0f4280dc1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-20 17:28:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Call FrozenCore.make_shareable Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit f43c71abe07b4b2b0f8f9a69c567fcd0f38faef6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-09 23:06:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Implemented shareable_constant_value It does shallow freeze only for now. Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit b1bd223085d7b97d8de8679894a81b7993c26b28 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-09 20:06:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 19:19:16 +0900 Support shareable_constant_value pragma Notes: Merged: https://github.com/ruby/ruby/pull/3681 commit 7060d6b721092d56f1cbc084940db960e01671fd Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-14 18:37:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 18:38:40 +0900 fix condition and add another debug counter mc_inline_miss_same_def is added to check same method or not. Also the mc_inline_miss_same_cc calculation was fixed. commit e889c025501850de9a91012552d38924cc5fb947 Author: Junichi Ito <jit@sonicgarden.jp> AuthorDate: 2020-12-14 06:01:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-14 18:26:45 +0900 Add information to Caveats section in NEWS.md Notes: Merged: https://github.com/ruby/ruby/pull/3896 commit c37ba2c5478c8fa81f3cb26d7ddb9b79d681147d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-14 18:17:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 18:17:35 +0900 add ccs_not_found debug counter ccs_not_found to count not found in ccs table. commit da3be76cb017c188d1a99d8aa14d13c15d93f9d1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-14 17:56:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 17:56:34 +0900 add debug counters to survey the IMC miss commit aacd2295d0f2c982641229e159ff179462d83a36 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-14 16:35:27 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-14 16:35:29 +0900 Debug the command used for gdb dump It's not working http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3288206. I'm debugging why. commit 8d83334a695b7454e9b942289eaede843c4c3660 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-14 16:33:54 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-14 16:33:59 +0900 @ruby is the target Ruby in bootstraptest commit ab869d6b9ba07fa9453d39902d8641c3db485b76 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-14 15:56:13 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-14 15:56:13 +0900 test/ruby/test_method_cache.rb: suppress "assigned but unused variable" commit 53edb27baccaffe919c2885a9c86312cc51ea9fb Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-14 14:51:39 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 15:28:09 +0900 use method cache on Object#respond_to? rb_method_boundp (method_boundp) searches method_entry, but this search did not use pCMC, so change to use it. Notes: Merged: https://github.com/ruby/ruby/pull/3899 commit 0362b4c689e319e233691ee052cd703bf8d2baa1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-14 10:50:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 11:57:46 +0900 add tests for method cache. Notes: Merged: https://github.com/ruby/ruby/pull/3892 commit a8aa169b8f1f89660037c874e8fc2feaf596a43a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-14 10:49:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 11:57:46 +0900 add cc_invalidate_negative debug counter counts for invalidating negative cache. Notes: Merged: https://github.com/ruby/ruby/pull/3892 commit 967040ba59799e6b7891168ffbf37cc646988d84 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-13 05:55:18 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 11:57:46 +0900 Introduce negative method cache pCMC doesn't have negative method cache so this patch implements it. Notes: Merged: https://github.com/ruby/ruby/pull/3892 commit fa63052be19b26d39b22689ad9969aa83909809e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-13 01:32:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-14 11:57:46 +0900 create ccs with 0 capa ccs is created with default 4 capa, but it is too much, so start with 0 and extend to 1, 2, 4, 8, ... Notes: Merged: https://github.com/ruby/ruby/pull/3892 commit ea6856dcdf9e5909d12e6c4960d4a39fabaac85b Author: Junichi Ito <jit@sonicgarden.jp> AuthorDate: 2020-12-14 07:34:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-14 08:17:13 +0900 Remove "2.8" from NEWS.md Notes: Merged: https://github.com/ruby/ruby/pull/3897 commit 6e84af2fa9c5986d9717bfdfe70c88f402742f5c Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-12-13 20:26:22 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-12-13 20:26:22 +0900 `ulimit` does not affect another shell commit a3adb10aacb48efe0ecb059f012969dc08145360 Author: Junichi Ito <jit@sonicgarden.jp> AuthorDate: 2020-12-13 17:15:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-13 18:18:15 +0900 Add NEWS about open-uri and Kernel#open There might be a lot of codes using redefined Kernel#open via open-uri, so it's worth mentioning that. Notes: Merged: https://github.com/ruby/ruby/pull/3894 commit c7530f0d568e9772bef22a93907f92d8cd872995 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-13 13:39:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-13 13:39:57 +0900 Wait testing/helper threads to terminate commit 416e402cf3d756dcf9c5b10dc7042adf686efacf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-13 13:12:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-13 13:12:18 +0900 Fixed a suspicious comparison commit 97e6c28db4cfb2b383870769940ade08cbe1a6bf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-13 11:34:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-13 11:57:05 +0900 Narrowed down unaligned member access region in RB_OBJ_WRITE Since UNALIGNED_MEMBER_ACCESS assigns to an intermediate variable, it can cause unused-value warnings. commit 88f3ce12d32ffbef983b0950743c20253ea2d0c6 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-13 11:50:14 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-13 11:51:49 +0900 Reintroduce `expr in pat` [Feature #17371] commit a8cf526ae99c9e0823cd8c7c5ac96e43061fafa6 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-12-13 11:47:02 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-12-13 11:51:49 +0900 Don't emit warning when the pattern of one-line pattern matching is just a variable pattern https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#feature-17371-reintroduce-expr-in-pat-ktsj commit 1b45174aeaad4ab0e14b37f70d60a1d43ae21adc Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-13 11:47:48 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-13 11:47:50 +0900 Allow dumping a core file on Actions to see a C backtrace. commit 246d7e4f1d92851356d459f424cbc3491135d1ac Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-13 11:46:13 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-13 11:46:24 +0900 Dump a backtrace with gdb Because Ruby often fails to dump a C backtrace. commit 3b7c05ef8dc15371316e5254d33af12928183971 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-13 01:10:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-13 01:16:57 +0900 Fixed RUBY_RM_RECURSIVE when autoconf met the required version Before 9189cf5793cd527a86b711d15d5fd0633ec082e1 the result of `m4_version_compare` was compared to -1, however the `$2` of `m4_version_prereq` has different meaning and is expanded when the required version met. commit 7ef5226520cbd13bdbc65a7f3c60188e002b133c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-12 23:25:15 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-12 23:25:15 +0900 spec: suppress deprecations of "lambda(&proc_block)" pattern commit efbef729b2aee13241e6f7606f90d407f4530df8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-12 23:11:47 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-12 23:11:47 +0900 test/ruby/test_lambda.rb: prevent lambda(&proc_block) warnings commit 248f1ef2821325987b7525fc6c839145d66c65e4 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-12 23:09:11 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-12 23:09:11 +0900 tool/mk_builtin_loader.rb: prevent "assigned but unused variable" commit 4d2ad8d737c55c3efd4c75131687dd1c8db7441b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-12 17:20:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-12 17:23:44 +0900 Removed obsolete autoconf checks Use regular `AC_CHECK_MEMBERS` instead of: * `AC_STRUCT_ST_BLKSIZE` * `AC_STRUCT_ST_BLOCKS` * `AC_STRUCT_ST_RDEV` Notes: Merged: https://github.com/ruby/ruby/pull/3890 commit 0df67a469561fab80b78478b99703ed893c4db07 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-12 16:06:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-12 17:02:42 +0900 Signal handler type should be void Notes: Merged: https://github.com/ruby/ruby/pull/3889 commit 21c5726418136d6efa98cbf205860a8bee328907 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-12 16:01:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-12 17:02:42 +0900 Omit checks for C89 standard or later Now we require C99, these features available of course. * prototypes * stdarg prototypes * token pasting * stringization * string literal concatenation Notes: Merged: https://github.com/ruby/ruby/pull/3889 commit e53c0bc906c514ca6f0d40e2140dee1e23b4591e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-12 15:52:15 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-12 15:52:19 +0900 Add some JIT options to MJIT Actions hoping to improve C backtrace outputs commit 68af5235292f82145c599038b4bff7d9225e62d7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-12 14:22:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-12 14:25:30 +0900 Added parentheses to silence sizeof-array-div warnings [Bug #17385] As well as 2366c681166a1dab95de6b9ca8ffcaae18aadd39. commit 52bca75cde2d888e636301fc43f6371808118154 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-12-11 14:20:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-12 14:12:40 +0900 Remove unused function declarations Notes: Merged: https://github.com/ruby/ruby/pull/3886 commit 3e2399134509930f3fe4d98787264f3a2c96af4c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-12 12:58:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-12 12:58:59 +0900 Lock GC while searching the best iseq To fix http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3286265 commit 70a311fdeb66ce80b562ccc4459c409cea64b74c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-12 06:54:46 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-12 08:36:52 +0900 trap on non-main ractor trap can accept blopck/Proc and it can violate Rator isolation, so the Proc should be isolatable when trap is used on non-main ractor. Notes: Merged: https://github.com/ruby/ruby/pull/3888 commit 124321e0c7ab8dac1ffce78c653cc677f878d5b0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-12 06:29:11 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-12 06:29:11 +0900 fix lambda's warning and tests There are warning condition bugs and test bugs. b53ccb9c69abd24e3bdad66cbe4c7e7480eaef16 commit d741c77b5fd976300815c1ea987e76e92b71122f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-11 16:37:20 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-12 06:19:18 +0900 fix ivar with shareable objects issue Instance variables of sharable objects are accessible only from main ractor, so we need to check it correctly. Notes: Merged: https://github.com/ruby/ruby/pull/3887 commit 31e8de2920935d500105949bda931f3ca22cdbff Author: nicholas a. evans <nicholas.evans@gmail.com> AuthorDate: 2020-11-18 09:23:51 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-12-12 06:18:19 +0900 Let Fiber#raise work with transferring fibers This automatically choosess whether to use transfer on a transferring fiber or resume on a yielding fiber. If the fiber is resuming, it raises a FiberError. Notes: Merged: https://github.com/ruby/ruby/pull/3795 commit 68d3952c52de3b7cf4aba10d61085244f1bf449b Author: ima1zumi <mariimaizumi5@gmail.com> AuthorDate: 2020-12-11 22:18:36 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-11 23:08:06 +0900 [ruby/reline] Fix breaking to input Emoji with ZWJ. https://github.com/ruby/reline/commit/f21dfdbb11 commit ed343c76fbd94dfcd429668b72844e0db87a0b46 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-11 19:54:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-11 20:21:03 +0900 RDoc states that Process::Status.wait returns nil if cannot wait commit 885135f84cd609fb1c7be3fa0a20ae77969eae9d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-11 14:56:48 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-11 14:56:49 +0900 Allow an MJIT worker to show a backtrace on SEGV An MJIT worker thread doesn't have ec, and it's required for SDR() and rb_backtrace_print_as_bugreport(). Therefore it must be checked. commit 4439b783366aa8d7dddbb39673f4074bb062f3d6 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-11 14:36:42 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-11 14:36:48 +0900 Save a core file from bootstraptest commit a6a68bae3ced278bb41a42d363a0eaee86fa31bd Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-11 14:16:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-11 14:16:42 +0900 Removed needless gemspec of webrick commit 947a5505e50de1321fd26bf9a5b016be33ae189c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-11 14:15:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-11 14:16:42 +0900 Bump webrick-1.7.0 for version management with ruby/webrick. commit c718c300079573392d4de6f51fbb28b3a34c5341 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-04 00:07:37 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-11 14:08:33 +0900 addr2line.c: support debuglink by build_id Currently, addr2line.c supports only one path format of debuglink: "/usr/lib/debug/usr/bin/ruby.debug". However, recent debian packages seem to use another format by build_id: "/usr/lib/debug/.build-id/ab/cdef1234.debug". https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/dh_strip#L292 https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/dh_strip#L353 This changeset makes ruby backtrace support the second format. Notes: Merged: https://github.com/ruby/ruby/pull/3627 commit 8c5ec10038a9bbc328eeb3756da207ba5976072d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-11 10:54:06 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-11 14:08:23 +0900 Link zlib always if available Major Linux distribution packages including Debian, Ubuntu, and Fedora use `--compress-debug-sections=no` to build ruby, and then extract and compress debug symbols as separate files. However, the configure option makes ruby not link zlib, thus the generated binary cannot uncompress the compressed separate debug symbol files, and fails to show C level backtrace when a critical error like segfault occurs. This change makes ruby always link zlib if it is available so that it can show C level backtrace correctly. Related: Debian packages require https://github.com/ruby/ruby/pull/3627 to load debug symbol files. Notes: Merged: https://github.com/ruby/ruby/pull/3884 commit 288e93bea872e99ccf706294dc63b8a2b139ea2c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-11 13:40:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-11 13:43:18 +0900 Exclude parenthesized function declarations such as NORETURN Fixes https://github.com/ruby/ruby/pull/3883 commit b53ccb9c69abd24e3bdad66cbe4c7e7480eaef16 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-11 11:54:50 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-11 11:57:25 +0900 show deprecation warning correctly for lambda(&b) lambda(&b) where b is given block of method (like: def foo(&b)) should warn correctly. [Feature #17361] Also labmda(&labmda_block) or lambda(&:to_s) (Symbol#to_proc) should not warn (but I'm not sure who cares about it). commit ad6573163f4a7b7eedb904f2f6f730c3cd2669e3 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-11 11:52:19 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-11 11:57:25 +0900 add RUNOPT and RUNOPT0 for dev rules. run, runruby, ... accept RUNOPT and RUNOPT0 configuration to pass some commandline argument like that: $(BTESTRUBY) $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT) RUNOPT0 is options for ruby interpreter (-w, -v, ...) RUNOPT is options for the script (ARGV/ARGF) commit 56918578ea48ef3bc6a5f27f884fb2cccbe02c06 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-12-11 11:13:13 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-11 11:13:24 +0900 Remove unimplemented parameter from comment :resolv_timeout of TCPSocket.new is not implemented for now. commit 974e89ae0743e591f0034de6c8dfc41a81d6429d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-11 09:54:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-11 09:54:34 +0900 revert da3bca513f437b05b3953c3712ff48621fc5e008 It seems introduce critical problems. Now I could not find out the issue. http://ci.rvm.jp/results/trunk-test@ruby-sky1/3286048 commit 9b0c36b39032cffff3c62a2b0e1fc38fa429f5ea Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-11 09:41:12 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-11 09:41:12 +0900 Import fiddle-1.0.4 (#3860) I don't use tool/sync_default_gem.rb because the last sync was incomplete. Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org> Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Co-authored-by: sinisterchipmunk <sinisterchipmunk@gmail.com> Co-authored-by: Sutou Kouhei <kou@clear-code.com> Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 6b1d2de6cc2e85fda7885fe77dbd7c99c4eb1ef2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-11 07:40:22 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-11 07:40:29 +0900 Unfortunately getinstancevariable was still not leaf https://github.com/ruby/ruby/runs/1533401436 commit 97868f16ff764e60176e817db101e65c9d58eff3 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-11 06:00:02 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-11 06:00:02 +0900 Reintroduce the fix again commit 4474aadae8d6610cc5b1c62156739d4245a1a38c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-11 04:48:54 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-11 04:48:57 +0900 Fix the path properly :disappointed: commit f56ab7a4764131e5c01e279623e2a141442426a8 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-11 04:18:23 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-11 04:18:30 +0900 Try fixing the -I position https://github.com/ruby/ruby/runs/1532260149 :thinking: commit dca13e2bf7b7efeb2841a039e3cfd7b5cd650a7b Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-09 02:00:04 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-11 03:16:40 +0900 Make ruby -We the same as ruby -W -e This changes the behavior, which I'm not sure is acceptable. However, it's odd to allow an option to be combined, but change the behavior of the option when combined. Notes: Merged: https://github.com/ruby/ruby/pull/3867 commit 699608487d2ff09bb5c610a9d1e6e13f5bd2a25e Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-11 00:36:55 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-11 03:16:05 +0900 Make getinstancevariable a leaf instruction It can no longer issue a warning. Notes: Merged: https://github.com/ruby/ruby/pull/3879 commit 01b7d5acc702df22d306ae95f1a9c3096e63e624 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-12-10 13:53:02 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-12-11 03:16:05 +0900 Remove the uninitialized instance variable verbose mode warning This speeds up all instance variable access, even when not in verbose mode. Uninitialized instance variable warnings were rarely helpful, and resulted in slower code if you wanted to avoid warnings when run in verbose mode. Implements [Feature #17055] Notes: Merged: https://github.com/ruby/ruby/pull/3879 commit 4a559aa22537bbd2f17c7babb1aca48d1a3a4647 Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2020-12-11 02:27:02 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-11 02:27:02 +0900 Actions mingw - add tool/test for WEBrick in spec tests (#3882) Some spec tests require WEBrick, and the spec tests are run from install with the MinGW CI. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit f3c19ddfbcfde63505a34b7a5b3a640f23b22dc0 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-11 00:09:09 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-11 01:32:20 +0900 Show C backtrace appropriately at core dump for GCC 8 or later When ruby is compiled by GCC 8 or later, some frames of C level backtrace information lacks. ``` $ ./miniruby -e '1.times { Process.kill(:SEGV, $$) }' ... -- C level backtrace information ------------------------------------------- /home/mame/work/ruby-gcc-9/miniruby(rb_vm_bugreport+0x611) [0x558a5fdcbc21] ../ruby/vm_dump.c:758 [0x558a5fbc789a] /home/mame/work/ruby-gcc-9/miniruby(sigsegv+0x4d) [0x558a5fd1eaed] ../ruby/signal.c:959 /lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f687e6713c0] /lib/x86_64-linux-gnu/libc.so.6(kill+0xb) [0x7f687e31355b] ../sysdeps/unix/syscall-template.S:78 /home/mame/work/ruby-gcc-9/miniruby(rb_f_kill+0x350) [0x558a5fd1fe60] ../ruby/signal.c:480 [0x558a5fda50d3] [0x558a5fdb085c] [0x558a5fdb0fe7] [0x558a5fdbae1a] [0x558a5fdaf484] /home/mame/work/ruby-gcc-9/miniruby(rb_yield_1+0x29f) [0x558a5fdb2fbf] ../ruby/vm.c:1265 /home/mame/work/ruby-gcc-9/miniruby(int_dotimes+0x5c) [0x558a5fc72f2c] ../ruby/numeric.c:5198 [0x558a5fda50d3] [0x558a5fdb085c] [0x558a5fdb0fe7] [0x558a5fdbaf21] [0x558a5fdaf484] /home/mame/work/ruby-gcc-9/miniruby(rb_ec_exec_node+0xed) [0x558a5fbcc4fd] ../ruby/eval.c:317 /home/mame/work/ruby-gcc-9/miniruby(ruby_run_node+0x4f) [0x558a5fbd110f] ../ruby/eval.c:375 /home/mame/work/ruby-gcc-9/miniruby(main+0x73) [0x558a5fb2c083] ../ruby/main.c:50 ``` By this one-line change, it shows all locations. ``` $ ./miniruby -e '1.times { Process.kill(:SEGV, $$) }' ... -- C level backtrace information ------------------------------------------- /home/mame/work/ruby-gcc-9/miniruby(rb_print_backtrace+0x11) [0x558247adec21] ../ruby/vm_dump.c:758 /home/mame/work/ruby-gcc-9/miniruby(rb_vm_bugreport) ../ruby/vm_dump.c:956 /home/mame/work/ruby-gcc-9/miniruby(rb_bug_for_fatal_signal+0x15a) [0x5582478da89a] ../ruby/error.c:773 /home/mame/work/ruby-gcc-9/miniruby(sigsegv+0x4d) [0x558247a31aed] ../ruby/signal.c:959 /lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f82202f73c0] /lib/x86_64-linux-gnu/libc.so.6(kill+0xb) [0x7f821ff9955b] ../sysdeps/unix/syscall-template.S:78 /home/mame/work/ruby-gcc-9/miniruby(rb_f_kill+0x350) [0x558247a32e60] ../ruby/signal.c:480 /home/mame/work/ruby-gcc-9/miniruby(vm_call_cfunc_with_frame+0x123) [0x558247ab80d3] ../ruby/vm_insnhelper.c:2821 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method_each_type+0x7c) [0x558247ac385c] ../ruby/vm_insnhelper.c:3324 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method+0xc7) [0x558247ac3fe7] ../ruby/vm_insnhelper.c:3428 /home/mame/work/ruby-gcc-9/miniruby(vm_sendish+0x14) [0x558247acde1a] ../ruby/vm_insnhelper.c:4412 /home/mame/work/ruby-gcc-9/miniruby(vm_exec_core) ../ruby/insns.def:789 /home/mame/work/ruby-gcc-9/miniruby(rb_vm_exec+0x1a4) [0x558247ac2484] ../ruby/vm.c:2165 /home/mame/work/ruby-gcc-9/miniruby(rb_yield_1+0x29f) [0x558247ac5fbf] ../ruby/vm.c:1265 /home/mame/work/ruby-gcc-9/miniruby(int_dotimes+0x5c) [0x558247985f2c] ../ruby/numeric.c:5198 /home/mame/work/ruby-gcc-9/miniruby(vm_call_cfunc_with_frame+0x123) [0x558247ab80d3] ../ruby/vm_insnhelper.c:2821 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method_each_type+0x7c) [0x558247ac385c] ../ruby/vm_insnhelper.c:3324 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method+0xc7) [0x558247ac3fe7] ../ruby/vm_insnhelper.c:3428 /home/mame/work/ruby-gcc-9/miniruby(vm_sendish+0x14) [0x558247acdf21] ../ruby/vm_insnhelper.c:4412 /home/mame/work/ruby-gcc-9/miniruby(vm_exec_core) ../ruby/insns.def:770 /home/mame/work/ruby-gcc-9/miniruby(rb_vm_exec+0x1a4) [0x558247ac2484] ../ruby/vm.c:2165 /home/mame/work/ruby-gcc-9/miniruby(rb_ec_exec_node+0xed) [0x5582478df4fd] ../ruby/eval.c:317 /home/mame/work/ruby-gcc-9/miniruby(ruby_run_node+0x4f) [0x5582478e410f] ../ruby/eval.c:375 /home/mame/work/ruby-gcc-9/miniruby(main+0x73) [0x55824783f083] ../ruby/main.c:50 ``` Details: In short, it is an uninitialized variable bug. Until GCC 7, all function locations are represented by a pair of DW_AT_low_pc and DW_AT_high_pc in DWARF information. But since GCC 8, some functions are split to multiple chunks, which are represented by DW_AT_ranges. DW_AT_ranges are represented as offsets from a base address. According to DWARF specification, it is the base address of the compilation unit, but GCC seems to use zero as default. The function "di_read_cu" in addr2line.c had a comment about the fact. However, the base address wasn't initialized as zero. Notes: Merged: https://github.com/ruby/ruby/pull/3881 commit b72f613210de7b80ce76edb9beef2101d4311d68 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-11 00:56:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-11 01:17:15 +0900 Suppress a "clobbered" warning by gcc on macOS commit 73db60bdda64fab43f6ba4d1902337a39715fd91 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-10 21:41:47 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-10 21:41:47 +0900 include/ruby/memory_view.h: fix the return type of rb_memory_view_prepare_item_desc commit 0fcd478a4e50af309ad8a1a7afc3e121609ebbf3 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-10 21:35:53 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-10 21:35:53 +0900 include/ruby/memory_view.h: fix typo commit d5dfc3f2c833d62e4e0fb3145ed729f48b8e2a66 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-12-10 21:04:57 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-12-10 21:06:10 +0900 Use `abort(message)` instead of `puts` and `exit` commit 78f188524f551c97b1a7a44ae13514729f1a21c7 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-09-25 16:20:18 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-10 20:52:29 +0900 Add connect_timeout to TCPSocket Add connect_timeout to TCPSocket.new in the same way as Socket.tcp. Closes [Feature #17187] commit 658b4ff60934b9fb6845e214fda83229e631e366 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-10 18:55:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:55:03 +0900 Fixed the test failures called WEBrick.new directly commit 72f1c43584df714a011864ca9fafc6e15ace392c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-10 13:27:08 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-10 18:27:44 +0900 ObjectSpace._id2ref should not support unshareable ObjectSpace._id2ref(id) can return any objects even if they are unshareable, so this patch raises RangeError if it runs on multi-ractor mode and the found object is unshareable. Notes: Merged: https://github.com/ruby/ruby/pull/3878 commit 7856da5fe75a76bec909778e411270c10a04ca3a Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-09 17:41:21 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-10 18:24:43 +0900 remove bz2 commit 142f154a0a0863dc48cf767b2d1b5acec0371999 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-10 18:16:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-10 18:16:22 +0900 Unpoison freelist to chain commit 9a17437558e42aa1da372b515ba8bc18067d578c Author: Lourens Naudé <lourens@bearmetal.eu> AuthorDate: 2019-11-26 22:07:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-10 18:15:26 +0900 Right size literal regular expression buffers on compile Notes: Merged: https://github.com/ruby/ruby/pull/2696 commit e7433a3288b48f90447bc8ebb1531f57be17392c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-10 16:20:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 Added help message for gem i webrick in rdoc Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit 4ccc66265cdef0480eb6ff46f6be9f8de1a01891 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-03 07:14:36 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 Added help message for gem i webrick in gem server command Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit b084f8abcf5b7310ce8f08d48a1a3f3e56876123 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-03 07:11:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 Completely removed webrick Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit 880727f037ee7dfeeb3dbc9027622798d46fdbac Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-02 20:02:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 Added help message for gem i webrick in un.rb Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit 05cc58c2ebc467ebc18897b1aef2c2089b26adf3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-02 19:58:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 webrick was removed from ruby repo Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit 0e73b49b4c35a3ae8fd5530a730556b4e4ef4377 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-02 19:57:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 Promote webrick to bundled gems Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit 087ac34fb2f6fa74bd84a290d511f4d47a286119 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-02 16:48:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 Added tool/lib into test-spec loadpath Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit 5dc786bf86bb6e0da2639f88659598ec8b9db30d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-02 13:44:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-10 18:06:25 +0900 Move webrick library into internal test toolchain Notes: Merged: https://github.com/ruby/ruby/pull/3729 commit 46d3ea2c2569e2e5a9ee3e7e206f07f0f8b693f5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-12-10 17:41:39 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-10 17:41:39 +0900 .github: reduce (#3876) Comment out some 50-ish tests. fix https://bugs.ruby-lang.org/issues/17376 commit 9e8f732f397ec73ebcab2d121f02c909c8f06755 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-10 17:21:59 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-10 17:22:57 +0900 Revert "Revert some recent JIT changes" This reverts commit b7dc04e51823f9fe8b5355c30a304ecdb11fe5ed. This should be fine, rather necessary, too. commit 12a1a2518161bda1d893920f70e936c82925e758 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-10 17:21:33 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-10 17:21:33 +0900 Revert "Revert "Have list_node at the top of rb_mjit_unit"" This reverts commit 73b07c437e24711c23dd2dd01d3ffc5f1012e046. This was, of course, innocent. commit 16c765990ceaf5fb1efaeba2850083cfec7c137e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-10 17:17:59 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-10 17:18:35 +0900 Use list_for_each_safe when list_del is used inside list_for_each seems to cause all the SEGVs we've seen. commit da3bca513f437b05b3953c3712ff48621fc5e008 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-10 10:58:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-10 13:05:43 +0900 cache free pages per ractor Per ractor method cache (GH-#3842) only cached 1 page and this patch caches several pages to keep at least 512 free slots if available. If you increase the number of cached free slots, all cached slots will be collected when the GC is invoked. Notes: Merged: https://github.com/ruby/ruby/pull/3875 commit 554c0949777cd495e5a1296bd6719fcf508a70d0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-10 10:38:30 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-10 13:05:43 +0900 set min/maximum free slots relative to ractor cnt A program with multiple ractors can consume more objects per unit time, so this patch set minimum/maximum free_slots to relative to ractors count (upto 8). Notes: Merged: https://github.com/ruby/ruby/pull/3875 commit eafe000af3d363f6cb65be99edcfccedf35d801c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-10 10:28:53 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-10 13:05:43 +0900 lazy sweep tries to collect 2048 slots Lazy sweep tries to collect free (unused) slots incrementally, and it only collect a few pages. This patch makes lazy sweep collects more objects (at least 2048 objects) and GC overhead of multi-ractor execution will be reduced. Notes: Merged: https://github.com/ruby/ruby/pull/3875 commit 2544f7196ee7d157000244ca9cac55514e3b193d Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-10 00:58:44 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-10 00:59:00 +0900 test/ruby/test_arithmetic_sequence.rb: restore test_last_bug17218 And rename the existing `test_last_bug17218` to `test_to_a_bug17218`. commit bb489aca5815acf3afd43ec9e3cdae008d882e3a Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-10 00:24:36 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-10 00:24:36 +0900 memory_view.c: Add rb_memory_view_get_item and rb_memory_view_prepare_item_desc (#3871) Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 3156fb0f2c3ebf8229f392c8502c08fe165ab181 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-10 00:16:49 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-10 00:16:49 +0900 test/ruby/test_arithmetic_sequence.rb: remove a duplicated test There is another "test_last_bug17218" commit fad3023e94c45e7f03478732f7641b6f39ba9d12 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-09 18:48:59 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-09 18:48:59 +0900 Fix ArithmeticSequence#last and ArithmeticSequence#each for non-integer sequences (#3870) [Bug #17218] [ruby-core:100312] Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit cacdf2681dcc7c431973f33a18979b10566ec2f9 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-09 18:21:00 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-09 18:21:00 +0900 [ruby/matrix] Disable Ractor test commit 150dbb656dd8c479f32db3bc83ae9fc57fe48608 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-09 14:30:05 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-09 16:15:41 +0900 [ruby/matrix] v0.3.1 Notes: Merged: https://github.com/ruby/ruby/pull/3869 commit a7dccd08e7c9cf0e5d0c0fdbe659ccc921624e6f Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-27 04:49:43 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-09 16:15:41 +0900 [ruby/matrix] Make frozen matrices Ractor shareable Notes: Merged: https://github.com/ruby/ruby/pull/3869 commit 6b264e833f9b9c86819feff88048ffcdf8d67af8 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-09 15:24:16 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-09 15:30:06 +0900 [ruby/prime] Fix gemspec commit 45b29754cfba8435bc4980a87cd0d32c648f8a2e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-09 14:49:06 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-09 15:15:46 +0900 need the lock for debug checking. Checking code (RGENGC_CHECK_MODE > 0) need a VM lock because it refers objspace. commit b603085d2f4b997541247f8eab864f92f9b5f006 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-09 14:45:56 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-09 14:45:56 +0900 [ruby/prime] v0.1.2 commit 1866d483dce614a02c5186bd0588b48a5041e55e Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-05 14:20:39 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-09 14:40:09 +0900 [ruby/prime] Optimize `Integer#prime?` Miller Rabin algorithm can be used to test primality for integers smaller than a max value "MaxMR" (~3e24) It can be much faster than previous implementation: ~100x faster for numbers with 13 digits, at least 5 orders of magnitude for even larger numbers (previous implementation is so slow that it requires more patience than I have for more precise estimate). Miller Rabin test becomes faster than previous implementation at somewhere in the range 1e5-1e6. It seems that the range 62000..66000 is where Miller Rabin starts being always faster, so I picked 0xffff arbitrarily; before that, or above "MaxMR", the previous implementation remains. I compared the `faster_prime` gem too. It is slower than previous implementation up to ~1e4. After that it becomes faster and faster compared to previous implementation, but is still slower than Miller Rabin starting at ~1e5 and up to MaxMR. Thus, after this commit, builtin `Integer#prime?` will be similar or faster than `faster_prime` up to "MaxMR". Adapted from patch of Stephen Blackstone [Feature #16468] Benchmark results and code: https://gist.github.com/marcandre/b263bdae488e76dabdda84daf73733b9 Co-authored-by: Stephen Blackstone <sblackstone@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/3847 commit dea600046aa5895e745a8d655ff90616705e11a6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-09 13:10:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-09 13:10:28 +0900 Ad-hoc fix of test-bundler commit b419f90a8bc3e472635a813e56cc2153b3125b41 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-09 11:49:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-09 11:51:57 +0900 Tweaked `Process::Status.wait` * revert `rb_last_status_set` * renamed the new function as `rb_process_status_new` * `rb_process_status_new` always freezes the return value * marked `Process::Status.wait` as EXPERIMENTAL, as it has not been discussed totally yet. commit 4f907a80f04292e472d2eea660c4f5c0cb62e00f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-09 11:32:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-09 11:32:18 +0900 Removed declaration of non-existent symbol commit 27b6df9653e88e83c6a524149ef44070802770c5 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-10-24 06:42:48 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-09 07:49:14 +0900 Add test that `Ractor.make_shareable` calls user defined `#freeze` Notes: Merged: https://github.com/ruby/ruby/pull/3694 commit 2553c5f94a5d51c2c5876b31e4c1521ad9be12f6 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-12-08 05:29:09 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-12-09 04:55:35 +0900 Add support for non-blocking `Process.wait`. Notes: Merged: https://github.com/ruby/ruby/pull/3853 commit ee194af2aa170c0cb1bfd5fed4e84259a8150ece Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-08 00:42:20 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-09 01:40:38 +0900 re-layout rb_ractor_t separate synchronization data and ractor local data. Notes: Merged: https://github.com/ruby/ruby/pull/3858 commit 2749123e213007e20d2f5e65ce941ff53feb4c76 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-08 19:33:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-08 22:50:45 +0900 Supported category option in Warning#warn commit d5ffa4e9a43ebdd451fb2c46529d301dec03f666 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-08 19:32:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-08 22:13:04 +0900 [DOC] mentioned category option commit 2427393b4d1ea0557362b106044e3aba3da32370 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-08 21:58:08 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-08 21:58:08 +0900 Revert "test/fiddle/helper.rb: remove duplication (#3863)" (#3865) This reverts commit bd47a8d660ab33a20c5e28d0effcc29105c434e4. `libc_so` and `libm_so` are `nil` at line 124 because Big Sur doesn't have `/usr/lib/libSystem.B.dylib`. The reassignment at line 127 is necessary in this case. Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 30d4a7ad9a1f629d84b9b0e22db4ba146e63fd61 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-08 21:42:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-08 21:42:03 +0900 Update rubygems.org links for published default gems. commit 09229c71bcdc82b2e7c3138baa4cb2696b97ec5d Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-12-08 17:21:28 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-12-08 19:37:42 +0900 Fix "Ruby is not properly fortified on armv7hl". See <https://bugs.ruby-lang.org/issues/16762> for more details. Notes: Merged: https://github.com/ruby/ruby/pull/3866 commit aeeaf90b7ee8230425e8c68cb9cfc962b0a186f4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-08 18:38:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-08 18:38:25 +0900 Added missing dependency of fileutils commit 86332cdce900ab5777962696c5dea676f731c8dc Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-08 16:43:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-08 17:30:02 +0900 Bump version numbers of RubyGems and Bundler on NEWS Notes: Merged: https://github.com/ruby/ruby/pull/3864 commit 473f9d2df0ddd7fdb5cc73fa3ad49b2f19f22b06 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-08 16:36:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-08 17:30:02 +0900 Merge prepare version of Bundler 2.2.0 Notes: Merged: https://github.com/ruby/ruby/pull/3864 commit 4aca77edde91f826aa243e268bf1ef5214530583 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-08 16:33:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-08 17:30:02 +0900 Merge prepare version of RubyGems 3.2.0 Notes: Merged: https://github.com/ruby/ruby/pull/3864 commit 4b583d4928d1797b35d99b7fc9666e0b4cbed136 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-08 16:46:14 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-08 16:46:14 +0900 Add NEWS about UTF-8 on Windows * 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9 * ca76337a00244635faa331afd04f4b75161ce6fb commit bd47a8d660ab33a20c5e28d0effcc29105c434e4 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-08 15:42:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-08 15:42:31 +0900 test/fiddle/helper.rb: remove duplication (#3863) Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit b7dc04e51823f9fe8b5355c30a304ecdb11fe5ed Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-08 14:06:00 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-08 14:12:29 +0900 Revert some recent JIT changes Revert "Lock the entire active_units loop" This reverts commit 5c2ff88be2e515613dfe54823e8429656f688e9f. Revert "Lock active_units references on compaction" This reverts commit 556a7285080c1344c75bb93a333c9bfc5d631c61. Revert "Wait for GC before unload_units" This reverts commit a8f16df615daa55901bb351efe038e86b61fbb92. Well, the previous revert actually didn't fix it, but this series of reverts seems to rollback the situation a little. commit 73b07c437e24711c23dd2dd01d3ffc5f1012e046 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-08 14:02:21 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-08 14:02:26 +0900 Revert "Have list_node at the top of rb_mjit_unit" This reverts commit 3319ce37651aa7e50c31b5fba14871938318b37a. I still haven't figured out why, but this seems to have increased the failure rate. commit a8f16df615daa55901bb351efe038e86b61fbb92 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-08 12:57:15 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-08 12:57:15 +0900 Wait for GC before unload_units commit ea18c8bb96c019a609b37671ceec5f51d61476cd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-08 11:43:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-08 11:43:42 +0900 Made method-local instance variables local variables commit 5c2ff88be2e515613dfe54823e8429656f688e9f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-08 08:33:29 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-08 08:34:02 +0900 Lock the entire active_units loop The previous fix seems not working. Let me test if this works. commit 41fafd9dd29717cfa9fcf6331d9da88f49da4916 Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2020-12-08 07:47:42 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-08 07:47:42 +0900 Remove BUNLDER_VERSION in Windows (#3859) [Bug #17372] Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 2580093d5deb9940700aa5faa5bed3af405d989f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-08 07:21:21 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-08 07:21:21 +0900 Pass the flag as $TESTOPTS Fixing the failure of a4f292426b40f9d6c8f3d646e4b7c667313074f2 like https://github.com/ruby/ruby/runs/1513663542 commit 3319ce37651aa7e50c31b5fba14871938318b37a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-08 06:54:04 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-08 06:54:32 +0900 Have list_node at the top of rb_mjit_unit to convert list_node to rb_mjit_unit easily in gdb. commit a4f292426b40f9d6c8f3d646e4b7c667313074f2 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-12-08 05:45:22 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-12-08 05:45:22 +0900 skip failing tests in test-all on mingw https://bugs.ruby-lang.org/issues/17372 commit 146b3695c0e1ea0d6cf00442d5524f97d8a75296 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-08 02:09:53 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-08 02:10:03 +0900 ruby.c: remove needless substitution of uenc uenc has already been initialized the top of the function. commit 7e69296a2be8db8814aa0cd0ce6471b80d55b464 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-12-08 02:01:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-08 02:01:31 +0900 memory_view.c: Add rb_memory_view_extract_item_members (#3855) Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit ca76337a00244635faa331afd04f4b75161ce6fb Author: Lars Kanis <kanis@comcard.de> AuthorDate: 2020-12-08 02:00:39 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-08 02:00:39 +0900 Windows: Read ENV names and values as UTF-8 encoded Strings (#3818) * Windows: Read ENV names and values as UTF-8 encoded Strings Implements issue #12650: fix https://bugs.ruby-lang.org/issues/12650 This also removes the special encoding for ENV['PATH'] and some complexity in the code that is unnecessary now. * Windows: Improve readablity of getenv() encoding getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent. * Windows: Change external C-API macros getenv() and execv() to use UTF-8 They used to process and return strings with locale encoding, but since all ruby-internal spawn and environment functions use UTF-8, it makes sense to change the C-API equally. Notes: Merged-By: nurse <naruse@airemix.jp> commit 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9 Author: Lars Kanis <kanis@comcard.de> AuthorDate: 2020-12-08 01:48:37 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-08 01:48:37 +0900 Set default for Encoding.default_external to UTF-8 on Windows (#2877) * Use UTF-8 as default for Encoding.default_external on Windows * Document UTF-8 change on Windows to Encoding.default_external fix https://bugs.ruby-lang.org/issues/16604 Notes: Merged-By: nurse <naruse@airemix.jp> commit 3bf7b999e503199e2e9fe68ade25ee6830b3e57e Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-12-06 17:45:05 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-08 00:08:41 +0900 [ruby/reline] Editing to initial content is not just cursor moving https://github.com/ruby/reline/commit/0a4f175b0a commit 05e1d87e625d9903d53e13049d69848924aecd28 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-07 23:57:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 23:57:31 +0900 rbinstall.rb: do not install useless files after installed commit 91f831ac17c8ff58d536ce1fa320294bb477d2ae Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-07 23:47:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 23:47:37 +0900 Extract gemspec to versioned file Not to be overwritten by test-bundler-prepare. gem files often contain useless gemspec files which have not been processed. commit e025113d71ca208255203f78cc85e9efa25bb23f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-07 22:40:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 22:40:46 +0900 rbinstall.rb: relaxed split argument did_you_mean splits the output by `$/`. commit 5894ea5954db119fc818bb7030ed56cf46830c6d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-07 22:27:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 22:38:09 +0900 rbinstall.rb: fix the position to expand files As `spec.files` is used for `executables` and so on, the expanded list needs to be located at the same place. commit c6b37cb169f190bac46c76a643350ee4ffc3dfca Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-12-07 21:32:25 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-07 21:37:33 +0900 Remove resolv_timeout of TCPSocket.new from NEWS We couldn't support it for now, because getaddrinfo_a(3) was reverted in 5d8bcc4870. `resolv_timeout` will be just ignored. commit 29dee10af28e5766916ad3aa93401508508d53e2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-07 19:09:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 19:09:23 +0900 rbinstall.rb: install files expanded from bundled gems Although gemspec file (e.g., power_assert and rake) often uses `git ls-files`, as it does not make sense in other than its own repository, it has been ignored now. Gather all files expanded from the bundled gem to install, instead. commit 7817a438eb1803e7b3358f43bd1f38479badfbdc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-02 15:50:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 18:38:59 +0900 Removed deprecated Time#succ Notes: Merged: https://github.com/ruby/ruby/pull/3841 commit 20d53dad47064b28721d81ad0a98a25dcb0731c6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-06 23:37:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 18:35:59 +0900 Update the version guard to 3.0 commit 547c71dec47561571b4862dda0395fb0b08d6c1c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-27 10:19:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-07 18:35:58 +0900 Hash#index: delete Has been deprecated since 0c97c8e33584e6203bb09c08f92b63bd2cca8ae7. commit 53ce71b5af09843e1f6dfac7d2f39fa4cf682b12 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-05 14:04:48 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-07 16:21:12 +0900 Ractor.select requires an argument or yield_value Notes: Merged: https://github.com/ruby/ruby/pull/3848 commit c2fa024e0220aca6e2437e56df2abf1a2368cbdf Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-07 16:01:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 16:01:35 +0900 fix Thread's interrupt and Ractor#take issue Thread's interrupt set Ractor's wakeup_status as interrupted, but the status remains next Ractor communication API. This patch makes to ignore the previous interrupt state. [Bug #17366] Also this patch solves the Thread#kill and Ractor#take issues. commit 5d8bcc4870601ab1ee05346346f241d4a805aac9 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-12-07 12:49:44 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-07 13:33:53 +0900 Revert getaddrinfo_a() getaddrinfo_a() gets stuck after fork(). To avoid this, we need 1 second sleep to wait for internal worker threads of getaddrinfo_a() to be finished, but that is unacceptable. [Bug #17220] [Feature #17134] [Feature #17187] commit 1ba05f5b2d7b1701242023b5ac156b169f1ded90 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-07 13:32:20 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 13:32:50 +0900 need more lock in finalize_list() Some data should be accessed in parallel so they should be protected by the lock. commit 556a7285080c1344c75bb93a333c9bfc5d631c61 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-07 13:23:19 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-07 13:23:32 +0900 Lock active_units references on compaction This might race with mjit_recompile. commit 4b4af40f5577263ae48813fed1593ba81c89c7e7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-07 11:57:27 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-07 11:57:27 +0900 Update TypeProf to 0.9.0 (#3856) * Update TypeProf to 0.9.0 Notes: Merged-By: mame <mame@ruby-lang.org> commit 0ebf6bd0a26b637f019d480ecd7f00a73c416b58 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-07 11:27:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 11:27:25 +0900 RB_VM_LOCK_ENTER_NO_BARRIER Write barrier requires VM lock because it accesses VM global bitmap but RB_VM_LOCK_ENTER() can invoke GC because another ractor can wait to invoke GC and RB_VM_LOCK_ENTER() is barrier point. This means that before protecting by a write barrier, GC can invoke. To prevent such situation, RB_VM_LOCK_ENTER_NO_BARRIER() is introduced. This lock primitive does not become GC barrier points. commit 8dd03e5cf0d583ffb836cf27be5645a7d88ac736 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-07 11:10:18 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 11:10:18 +0900 skip assertion on multi-ractor This assertion is not considerred on multi-ractor mdoe. commit bef3eb544025cc4bd4c9c7b87a8ffe4966db6faa Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-07 00:07:30 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 fix decl of ruby_single_main_ractor On windows, MJIT doesn't work without this patch because of the declaration of ruby_single_main_ractor. This patch fix this issue and move the definition of it from ractor.c to vm.c to locate near place of ruby_current_vm_ptr. Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 344ec26a99e09c2d2f756fa6384e75ffa48f415f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-06 15:41:21 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 tuning trial: newobj with current ec Passing current ec can improve performance of newobj. This patch tries it for Array and String literals ([] and ''). Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 59ddb88da6bf483eeec7b85b8a85cf3719edf440 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-06 15:40:16 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 RB_EC_NEWOBJ_OF NEWOBJ with current ec. Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 91d99025e4776885ceea809123a129cb31cd1db6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-03 15:57:39 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 per-ractor object allocation Now object allocation requires VM global lock to synchronize objspace. However, of course, it introduces huge overhead. This patch caches some slots (in a page) by each ractor and use cached slots for object allocation. If there is no cached slots, acquire the global lock and get new cached slots, or start GC (marking or lazy sweeping). Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 1d0bf3d8dd8de40d498a7c2784a84aa566d290b9 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-05 05:42:44 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 log for the beginning of vm_lock_enter Before this patch, there is no information to start locking. Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 554a7180a0aad85bee5cb8ed41d99d16dab304e7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-02 04:10:05 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 RB_VM_LOCK_ENTER_CR_LEV This is variant of RB_VM_LOCK_ENTER_LEV, but accept current racotr's pointer. Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 23f9447429a1bbb262aa19afd9a2a1ad0eba8ca6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-05 05:38:50 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 show ractor info on non-single ractor mode Without this patch, Ruby doesn't show ractor's information when there is only 1 ractor. However it is hard to read the log when some ractors are created and terminated. This patch makes to keep showing ractor's information on multi-ractor mode. Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 307732ccee7f9f28f8422bab2f839da021d8cdec Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-05 06:15:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 cancel theap on multi-ractors accessing theap needs complicating synchronization but it reduce performance on multi-ractor mode. So simply stop using theap on multi-ractor mode. In future, theap should be replaced with more cleaver memory strategy. Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit b67b24d0f5e78481e6a306881b6858f0dec996ba Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-02 03:37:56 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-07 08:28:36 +0900 ruby_single_main_ractor for single ractor mode ruby_multi_ractor was a flag that indicates the interpreter doesn't make any additional ractors (single ractor mode). Instead of boolean flag, ruby_single_main_ractor pointer is introduced which keeps main ractor's pointer if single ractor mode. If additional ractors are created, ruby_single_main_ractor becomes NULL. Notes: Merged: https://github.com/ruby/ruby/pull/3842 commit 60eabb1aa7d1d8ab83c49916bd8c3536daf5d03b Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-07 00:32:29 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-07 00:38:19 +0900 Revert "memory_view.c: Add rb_memory_view_extract_item_members" This reverts the following three commits. - ce707079c153f389d861c91a8dccc510fab0e245 - 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c - 51500eedefa492699668ced3e07e330a9a4d53ee commit ce707079c153f389d861c91a8dccc510fab0e245 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-07 00:18:55 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-07 00:19:25 +0900 memory_view.c: suppress uninitialized warning commit e427c5cc2a8cc1163bfef7fb84f06a3e709a93b5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-06 23:47:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-06 23:48:03 +0900 Update rbs commit 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-06 23:24:45 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-06 23:24:45 +0900 memory_view.c: Fix the argument type of rb_memory_view_extract_item_members commit 51500eedefa492699668ced3e07e330a9a4d53ee Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-04 15:50:13 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-06 22:46:06 +0900 memory_view.c: Add rb_memory_view_extract_item_members commit 14580ebef9ab72fe542e8b1276604c69751c9057 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-06 22:19:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-06 22:19:36 +0900 Update rbs commit 3184cd85c7a539200665e47ef4dfbbac84224748 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-06 16:10:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-06 16:11:10 +0900 Updated bundled gems commit e4e2a33560ca1ec4543fd593b344a29d452f251f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-06 15:59:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-06 16:11:10 +0900 update-bundled_gems: support recent format, keep the tag to test commit ea9f16a27fab68388532cf681e5f1dd79ef973c3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-06 16:00:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-06 16:11:09 +0900 update-bundled_gems: chomp ".git" suffix from the source code URI commit 967ed35bbb2c42646b764ce9f72d69e609e2eafd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-06 15:56:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-06 16:11:09 +0900 Moved update-bundled_gems code to a tool commit 5d07a21ccd50f4e966749bf5de70e343eed232ac Author: MSP-Greg <Greg.mpls@gmail.com> AuthorDate: 2020-12-06 04:59:07 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-12-06 10:53:54 +0900 RubyGems certs - remove AddTrust, add GlobalSign Root R3 Notes: Merged: https://github.com/ruby/ruby/pull/3854 commit 76439eee68d2f1e56ac7a6ab38aceacf0b4b40c8 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-12-06 01:16:33 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-06 01:32:43 +0900 Call cleanup function for getaddrinfo_a(3) only before fork() Previously, rb_getaddrinfo_a_before_exec() is called from before_exec(). However, the function needs to be called only before fork(). The change moves it to before_fork(). commit c56a1c1953bf25581a6a0cd4ade22d2691a920e0 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-12-05 18:05:09 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-06 01:01:13 +0900 Extend sleep time to 1.5 second in rb_getaddrinfo_a_before_exec() After 94d49ed31c, TestSocket#test_getaddrinfo_after_fork fails in some platforms. To avoid this, the change extends sleep time to 1.5 second. commit 9dbb2bfd73e66106ec75fb9fff3ac38d85e40395 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-12-05 19:40:00 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-05 19:40:00 +0900 Wrap SortedSet with `ruby_version_is ""..."3.0"` * Using $ spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.0"' spec/ruby/library/set/sortedset/**/*_spec.rb commit bb3d70581972969a01c8ba7f2f3477ec92224f97 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-12-05 19:36:22 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-05 19:39:33 +0900 Add MSpec tool to automatically wrap spec files with a guard commit d0bd43c332f95e5f227ffcd4eb0e6f7bfa942b2a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-12-05 19:16:32 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-05 19:17:22 +0900 Revert "SortedSet was removed at a3db08d7b6ff119223f77e3df00b4f6deac971e2" * This reverts commit b06ffce4aef002dc47c3c5968181230e7ab8d7cc. * Do not revert specs, wrap them with `ruby_version_is` (tool for that in next commit). commit 5e58a9033fa795b73c76a5bb6a2fb7782335acbd Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-12-05 17:43:03 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-05 17:43:35 +0900 Reduce timeout of test_getaddrinfo_after_fork commit d2b7e1e4b24633608aba8ef1e00189b00ea2a1d8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-05 14:46:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-05 14:57:31 +0900 Protoized old pre-ANSI K&R style definitions commit a83a51932dbc31b549e11b9da8967f2f52a8b07c Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-04 15:57:40 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-05 14:56:58 +0900 [ruby/matrix] Optimize ** Avoiding recursive call would imply iterating bits starting from most significant, which is not easy to do efficiently. Any saving would be dwarfed by the multiplications anyways. [Feature #15233] Notes: Merged: https://github.com/ruby/ruby/pull/3844 commit 3b5b309b7b3724849c27dc1c836b5348a8a82e23 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-11-10 06:21:14 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-12-05 07:38:56 +0900 Proposed method for dealing with stack locals which have non-local lifetime. Notes: Merged: https://github.com/ruby/ruby/pull/3624 commit 15e23312f6abcbf1afc6fbbf7917a57a0637f680 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-10-03 14:42:04 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-12-05 07:38:56 +0900 Rework the order of operations to avoid stack smashing. Notes: Merged: https://github.com/ruby/ruby/pull/3624 commit f4386413f16f9e492a74f6b65e981e20e22c4849 Author: Robert Schulze <robert@dotless.de> AuthorDate: 2020-02-05 18:59:13 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 03:14:42 +0900 Cope with frozen-string-literal When running irb 1.2.1 (2019-12-24) with frozen-string-literal enabled, it crashes in reline with `can't modify frozen String (FrozenError)` Steps to reproduce: `RUBYOPT="--enable-frozen-string-literal" irb` commit 0cf073088ef1a0a3c7d49038ba2d67547b5ed16b Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-27 23:11:46 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Process insertion buffer forcibly https://github.com/ruby/reline/commit/89d49ec9e0 commit c2bd5b84d06f5e74afce72e4e4af06d7176453b2 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-26 19:13:34 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Support bracketed paste mode https://github.com/ruby/reline/commit/d1a6869322 commit 7624f5275713c3dd2d551058355d9a4544c2ef53 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-21 13:08:53 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Forced newline insertion is not just cursor moving https://github.com/ruby/reline/commit/0e30a49d03 commit 37a574b527f2c612be46ec8038ff52bf861bf82f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-21 02:59:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Drop prompt list cache when num of lines is changed https://github.com/ruby/reline/commit/1959e22043 commit 2910684c45399eed4dcebda72637a37858b74a62 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-21 00:30:11 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Cache dynamic prompt for 0.5sec https://github.com/ruby/reline/commit/06b89d0e61 commit b763c5cdf09fab247a7ca9526bb27a63cf03a81d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-20 17:13:15 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Stop rerendering if the cursor is only moved https://github.com/ruby/reline/commit/30e8eaf855 commit a297565a4e873b9de079510bca011dc3bb2fdf78 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-20 06:00:25 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Split #rerender method that is too huge https://github.com/ruby/reline/commit/d0fbc89253 commit 493f381c327d129cfc8329c20cdb13413710ac2f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-20 04:14:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Version 0.1.9 https://github.com/ruby/reline/commit/0b1b5e77ce commit b545ab219b40323373596eb45b43f2599a7a3c61 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-19 22:59:16 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Stop rerendering whole screen when adding newline at end of buffer 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.33sec -> 0.22sec https://github.com/ruby/reline/commit/496c6a1892 commit fb2fda9a27ed96d5100897e93cc31e155b9c41a8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-18 15:21:57 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Optimize regexp handling for width The rendering time in IRB has been reduced as follows: start = Time.now [{"_id"=>"5f9072a4589a06d2d74b6028", "index"=>0, "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7", "isActive"=>true, "balance"=>"$1,442.84", "picture"=>"http://placehold.it/32x32", "age"=>34, "eyeColor"=>"blue", "name"=>{"first"=>"Ward", "last"=>"Levy"}, "company"=>"HYPLEX", "email"=>"ward.levy@hyplex.us", "phone"=>"+1 (867) 568-3319", "address"=>"867 Cobek Court, Clara, Maryland, 3254", "about"=> "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.", "registered"=>"Monday, May 25, 2015 6:51 AM", "latitude"=>"16.001127", "longitude"=>"-72.377848", "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"], "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "friends"=> [{"id"=>0, "name"=>"Alison Bryant"}, {"id"=>1, "name"=>"Ester Espinoza"}, {"id"=>2, "name"=>"Sullivan Kane"}], "greeting"=>"Hello, Ward! You have 7 unread messages.", "favoriteFruit"=>"apple"}] puts "Duration: #{Time.now - start} seconds" 0.47sec -> 0.34sec start = Time.now "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing." puts "Duration: #{Time.now - start} seconds" 0.11sec -> 0.08sec 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.40sec -> 0.33sec Co-authored-by: NARUSE, Yui <naruse@airemix.jp> https://github.com/ruby/reline/commit/a9e39ddcc4 commit 3d0bcf1cc28041454de90de76ac755f20ccd7658 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-17 11:55:52 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:59 +0900 [ruby/reline] Optimize ASCII character width calculation The rendering time in IRB has been reduced as follows: start = Time.now [{"_id"=>"5f9072a4589a06d2d74b6028", "index"=>0, "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7", "isActive"=>true, "balance"=>"$1,442.84", "picture"=>"http://placehold.it/32x32", "age"=>34, "eyeColor"=>"blue", "name"=>{"first"=>"Ward", "last"=>"Levy"}, "company"=>"HYPLEX", "email"=>"ward.levy@hyplex.us", "phone"=>"+1 (867) 568-3319", "address"=>"867 Cobek Court, Clara, Maryland, 3254", "about"=> "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.", "registered"=>"Monday, May 25, 2015 6:51 AM", "latitude"=>"16.001127", "longitude"=>"-72.377848", "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"], "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "friends"=> [{"id"=>0, "name"=>"Alison Bryant"}, {"id"=>1, "name"=>"Ester Espinoza"}, {"id"=>2, "name"=>"Sullivan Kane"}], "greeting"=>"Hello, Ward! You have 7 unread messages.", "favoriteFruit"=>"apple"}] puts "Duration: #{Time.now - start} seconds" 0.73sec -> 0.43sec start = Time.now "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing." puts "Duration: #{Time.now - start} seconds" 0.15sec -> 0.10sec 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.59sec -> 0.38sec Co-authored-by: NARUSE, Yui <naruse@airemix.jp> https://github.com/ruby/reline/commit/36bc9e3abb commit c85035363feb79d283a753db1fe795fff0067213 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-14 22:52:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Key strokes like 2dl should behave d2l Key strokes, vi arg, operator, and motion should be treated as operator, vi arg, and motion. https://github.com/ruby/reline/commit/d1a7e74aa4 commit 21f26018d253bf1320432a956a9ce7dfa8ab7adb Author: manga_osyo <manga.osyo@gmail.com> AuthorDate: 2020-11-12 13:42:29 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Add test `Reline::Unicode.test_get_mbchar_width`. https://github.com/ruby/reline/commit/301e9048fc commit e47e5db88943b7421f802f1fdfd34ba2224ec057 Author: manga_osyo <manga.osyo@gmail.com> AuthorDate: 2020-11-12 12:36:48 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Fix crash to input `é`. refs #174 https://github.com/ruby/reline/commit/ba5e267e5f commit ff4656ee64f0dc7ea7eb0f87d90dd718948f4de3 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-09 16:09:42 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Version 0.1.8 https://github.com/ruby/reline/commit/e79e402c01 commit dbfc1f30d59e595793aaf19fe2b774c103def087 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-09 15:59:52 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Add alias vi-movement-mode to vi-command-mode for compatibility https://github.com/ruby/reline/commit/a79c297567 commit 48742614df2f68a682226613dcaefe3dea2b1cab Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-09 15:55:53 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Move alias_method to right after original definition https://github.com/ruby/reline/commit/b7c8b93fa9 commit 9750c27afc99034960b74e8951718ca07cc353a8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-08 21:56:27 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Call process_insert when the end of pasting plural fullwidth chars https://github.com/ruby/reline/commit/594484d9f9 commit ba8e5f77eb2562cc0605f1414426a34c7e844964 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-07 12:05:43 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Motions e, E, t, f should include a char on cursor if follows operator https://github.com/ruby/reline/commit/86e9a76499 commit 6be3b2da19a45e21c63ed0a9c51fa4e1a0d1bd08 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-02 21:57:54 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Implement vi_yank https://github.com/ruby/reline/commit/164aaf9a5f commit 2dc4aca8d18ae8b5159da22c5d02b3052a7ac4ec Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-02 14:55:15 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Operator with arg need to make sure that they take arg to avoid crashing https://github.com/ruby/reline/commit/1c0c06de1f commit 92b22db6a7d943328ef2776fb3b6a6924fc8b496 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-02 15:22:11 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Unimplemented vi command should be no-op https://github.com/ruby/reline/commit/abc90e6867 commit faf8f216be034a575350c7f3387992930b224bfc Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-02 14:48:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Keep operator proc as a local variable in the scope The proc variable will be used later so the instance variable will be changes. https://github.com/ruby/reline/commit/496c4361f6 commit 564aadce626ff8dc94784d909d2a9c7bcd27b427 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-01 22:59:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Skip em_exchange_mark without mark https://github.com/ruby/reline/commit/abb56e5ec3 commit e6429ad047a46e19739fceb8fa1a64380cb6ae12 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-01 20:39:26 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Backspace and C-h should be unassigned on vi command mode https://github.com/ruby/reline/commit/28f4dae020 commit 853c176ea7b36c498045b60359431afe06bd9e3f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-01 20:04:20 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Version 0.1.7 https://github.com/ruby/reline/commit/710ca23427 commit 266ffdde8eeb9b6626030653a927f033d7464cdf Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-31 16:45:15 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Continuous insertion buffering The rendering time in IRB has been reduced as follows: start = Time.now [{"_id"=>"5f9072a4589a06d2d74b6028", "index"=>0, "guid"=>"6b3051e2-dbc7-4537-bdb9-6cd7bb5358a7", "isActive"=>true, "balance"=>"$1,442.84", "picture"=>"http://placehold.it/32x32", "age"=>34, "eyeColor"=>"blue", "name"=>{"first"=>"Ward", "last"=>"Levy"}, "company"=>"HYPLEX", "email"=>"ward.levy@hyplex.us", "phone"=>"+1 (867) 568-3319", "address"=>"867 Cobek Court, Clara, Maryland, 3254", "about"=> "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing.", "registered"=>"Monday, May 25, 2015 6:51 AM", "latitude"=>"16.001127", "longitude"=>"-72.377848", "tags"=>["dolore", "nostrud", "occaecat", "cillum", "nisi"], "range"=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], "friends"=> [{"id"=>0, "name"=>"Alison Bryant"}, {"id"=>1, "name"=>"Ester Espinoza"}, {"id"=>2, "name"=>"Sullivan Kane"}], "greeting"=>"Hello, Ward! You have 7 unread messages.", "favoriteFruit"=>"apple"}] puts "Duration: #{Time.now - start} seconds" 2.17sec -> 0.92sec start = Time.now "Exercitation eu ex aliqua sit. Pariatur aliquip incididunt sint id non consectetur ullamco Lorem ea mollit duis amet sint labore. Commodo laborum labore commodo officia in cillum adipisicing esse excepteur cupidatat adipisicing ut. Non esse incididunt voluptate aliquip cillum eu aute duis laboris sit et. Amet enim quis tempor occaecat excepteur exercitation excepteur deserunt amet cillum adipisicing." puts "Duration: #{Time.now - start} seconds" 1.57sec -> 0.22sec 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.88sec -> 0.77sec https://github.com/ruby/reline/commit/7d87ac5a12 commit 76cac4c05a7be61a94a709b8b850118ad0bfa684 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-21 13:29:19 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Improve the performance of `get_mbchar_width` It is about three times faster to use one big regexp instead of sequential matching. https://github.com/ruby/reline/commit/e36f6c0707 commit b3e0db80606614f11412604f1657a135002326e9 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-21 07:14:45 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Version 0.1.6 https://github.com/ruby/reline/commit/20a7806815 commit 9461cceb8aa111bf17c70ffb2e85e1c32315647f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-20 10:49:18 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Update the generator script too https://github.com/ruby/reline/commit/8b0926820a commit 55cc397a87dbfaa5d95168ce05f9a0d20339c657 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-20 08:39:12 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Suppress callbacks in pasting IRB uses Reline's 3 dynamic real-time callbacks with calling Ripper; output_modifier_proc, prompt_proc, and auto_indent_proc. These processing times make the paste time too long. https://github.com/ruby/reline/commit/beec3399a8 commit 4291ff370f88c9cbb83913b1d18e3f6206758b14 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-20 08:32:42 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Bypass newline insertion at eol on command prompt A newline is automatically inserted if a character is rendered at eol on command prompt. https://github.com/ruby/reline/commit/2dfd5d0df8 commit 6a51d393ca834984737a2fa60e9a37bc9dec2a03 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-19 23:22:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Improve the regexps for EastAsianWidth A character class is about three times faster than Regexp alternatives https://github.com/ruby/reline/commit/57c7955c55 commit 4af2e4111b0e351464a62c73e4ea0ef8b27c43f5 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-14 23:29:17 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Deduplicate completed items https://github.com/ruby/reline/commit/2dabf0c786 commit e16e481385743666443e162141116b46416cb10d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-14 23:16:23 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Use yamatanooroti 0.0.6 for supporting startup_message on Windows https://github.com/ruby/reline/commit/167423b664 commit da59f6517865189281986edf9ffbf4f356c1b021 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-10 03:00:04 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Add tests about complicated rendering https://github.com/ruby/reline/commit/f4683b72eb commit dd87d639e9ce71be474a9a5eb014875c88e2ae6b Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-09 21:46:22 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Test prompt with escape sequence https://github.com/ruby/reline/commit/c7c1d5f5d1 commit 87f51c7e66f9e92242621dda526c668071c315be Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-09 21:30:57 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Use startup_option instead of startup wait https://github.com/ruby/reline/commit/a63ce6371c commit 092c253bff2e81ddae6e8c85b3a94af45129bdab Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-12 07:37:46 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Wait for the process to be started in start_terminal https://github.com/ruby/reline/commit/d29d33dcf5 commit 62666a6bbdab7a066c761283e448132215ca2e7d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-06 23:55:33 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Add write_inputrc https://github.com/ruby/reline/commit/70536d8c9a commit d5cf3fcd68348ac047094dc24a54e0ea055de844 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-05 01:07:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-12-05 02:58:58 +0900 [ruby/reline] Update to Unicode 13.0.0 https://github.com/ruby/reline/commit/d49bb0aa34 commit d7cda3b0024d82d9c921382b7095a31c866fa857 Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-12-05 00:49:33 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-12-05 01:43:32 +0900 Add T_MOVED to rp command of GDB Notes: Merged: https://github.com/ruby/ruby/pull/3846 commit b4ec4a41c24105efbb43f9b70ca7f36d22f98294 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-12-05 00:40:02 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-05 00:45:54 +0900 Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) && * Otherwise those tests, etc cannot run on alternative Ruby implementations. commit 9ea1055eabcb0e498f387953a28747dea9bf2308 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-12-05 00:32:14 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-05 00:32:14 +0900 2.8 -> 3.0 in specs commit 94d49ed31c39002335eeee65d42463139f561954 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-11-26 16:07:28 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-12-04 23:31:51 +0900 Add a hook before fork() for getaddrinfo_a() We need stop worker threads in getaddrinfo_a() before fork(). This change adds a hook before fork() that cancel all outstanding requests and wait for all ongoing requests. Then, it waits for all worker threads to be finished. Fixes [Bug #17220] commit 1cfc6e7b7a92c1a624182392ba702d3dcb2eba98 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-04 20:21:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 20:21:41 +0900 Added dependencies for rinda commit 6f14a30022e284398017b47d37f3f717f384f985 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-23 03:22:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 20:16:00 +0900 [ruby/logger] Consider cygwin a Windows platform This should fix Ruby Bug 12468. https://github.com/ruby/logger/commit/49de53d1fc commit 60b57866ac64ef8a21951c7d5ff7b7f98e1ce15f Author: Masataka Pocke Kuwabara <p.ck.t22@gmail.com> AuthorDate: 2020-11-24 00:37:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:53:16 +0900 [ruby/mutex_m] Fix `Mutex_m#initialize` when the super's initialize has kwargs Co-authored-by: Ryuta Kamizono <kamipo@gmail.com> https://github.com/ruby/mutex_m/commit/84ca1fc108 commit da126250ba31cd341b434b86047cf4ebde4e2539 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-28 03:05:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:50:26 +0900 [ruby/fileutils] Make mkdir_p only attempt to create necessary directories Previously, if creating the directory directly didn't work and the directory didn't exist, mkdir_p would create all directories from the root. This modifies the approach to check whether the directory exists when walking up the directory tree from the argument, and once you have found an intermediate directory that exists, you only need to create directories under it. This approach has a couple advantages: 1) It performs better when most directories in path already exist, and that will be true for most usage of mkdir_p, as mkdir_p is usually called with paths where the first few directories exist and only the last directory or last few directories do not. 2) It works in file-system access limited environments such as when unveil(2) is used on OpenBSD. In these environments, if /foo/bar/baz exists and is unveiled, you can do `mkdir /foo/bar/baz/xyz` but `mkdir /foo` and `mkdir /foo/bar` raise Errno::ENOENT. https://github.com/ruby/fileutils/commit/ec0c229e78 commit e666bd1c5a595ab64faee00b3744b3bfa591acb1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-04 19:36:30 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:36:30 +0900 Skip subclass spec with SortedSet commit b06ffce4aef002dc47c3c5968181230e7ab8d7cc Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-04 19:34:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:36:12 +0900 SortedSet was removed at a3db08d7b6ff119223f77e3df00b4f6deac971e2 commit 1804c3368cf4a94791fafa9701f79a2e6f76d5d8 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-10-02 12:55:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:24:22 +0900 [ruby/set] Add `Set#<=>` https://github.com/ruby/set/commit/447974a374 commit a3db08d7b6ff119223f77e3df00b4f6deac971e2 Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-09-20 22:03:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:23:59 +0900 [ruby/set] Remove SortedSet implementations It required RBTree to perform decently and the external dependency was not suitable for a standard library. The pure ruby fallback implementation was originally meant to be an example of how to write a subclass of Set, and its poor performance was not suitable for use in production. I decided it should be distributed as an external library instead of bundling it with Set. https://github.com/ruby/set/commit/dfcc8e568b commit 46fc8d78a5d23d3c9a24e1bcc3c5cde4bce888de Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-09-20 23:23:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:23:35 +0900 [ruby/set] Resurrect support for Ruby 2.x In Ruby 2.x, initialize_copy does not take a freeze option. https://github.com/ruby/set/commit/3da6c309df commit 0adc426ca5cf83e57f5e8433a2f7b55fb7a1fad6 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-30 04:28:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:12:32 +0900 [ruby/zlib] Add Zlib::Inflate#inflate :buffer keyword argument If a buffer keyword argument is given, it is used as the buffer, instead of creating new strings. This can result in significantly lower memory usage during inflation. Implements #19 https://github.com/ruby/zlib/commit/dac9a9b57d commit bc63ec57e7f965796479f68f6f687187c089bd40 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-29 02:58:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:12:20 +0900 [ruby/zlib] Allow Zlib.crc32 and .adler32 to accept IO instance This reads from the IO in 8192 byte chunks, so you don't need to have the entire string in memory. Fixes https://github.com/ruby/zlib/pull/16 https://github.com/ruby/zlib/commit/ba9793c550 commit a60dfff43470583bbb4474594efde8607f889e8b Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-12 05:15:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-04 19:11:30 +0900 [ruby/zlib] Document that gets can return nil when eof? returns false This behavior differs from File#gets. Fixes [Bug #13904] https://github.com/ruby/zlib/commit/448e41efdd commit c0de997eddfccd0a9d398a91ef122b16af1686d4 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-04 14:23:24 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-04 15:07:07 +0900 memory_view.c: Fix endianness of n, N, v, V commit e8cee4915b280dab57ca4f916f36bea4eb7ebdf1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-04 14:59:12 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-04 14:59:12 +0900 fix initialize order `captured->code.val` should be initialize before because it can be a GC point by another ractor because `RB_OBJ_WRITE` can issue VM locking. commit 82bbce826f7f170270856bec8ef852667028d143 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-04 14:39:03 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-04 14:42:38 +0900 fix index `i` should not be used here because `i` will be `alen` when jumped here by "goto restart". commit f1757a88a4c8e2a50481de020787b37d926463df Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-04 14:33:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-04 14:33:35 +0900 Avoid leaving too many core files in /tmp for CIs like ci.rvm.jp. commit 30fba5f37d9058cc7e4d852ff211313f13ded3a1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-04 14:24:35 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-04 14:24:36 +0900 Do not require time and fileutils by default I have no idea what I'm doing, but the previous commit caused lots of CI failures like https://github.com/ruby/ruby/runs/1496949568 and this place is the most suspicious. commit 067f45ecd379ea44f294084c8f342c69f735c018 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-04 14:01:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-04 14:01:25 +0900 Save a core file on a worker crash CI failures like http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3280458 doesn't provide any useful information, and it doesn't leave a core file in a CI environment because a test like `Process.kill(:TRAP, $$)` overwrites in a next run very quickly. Thus I'd like to keep core files in /tmp. commit 0734a6cd59e6fb1d59180ee73113709ec238b045 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-04 13:55:29 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-04 13:55:36 +0900 Revert "Report a full_message on a worker crash" This reverts commit 00f046ef57f9da7f5248f9ef9d55702ddc407bf1. It was not helpful for an issue I was debugging. commit a9d773a2888d37993db172023769822574f1c8e8 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-12-04 10:19:15 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-12-04 10:19:15 +0900 Revert "Skip repeated scan of object during compaction" This seems to be breaking the build for some reason. This command can reproduce it: `make yes-test-all TESTS=--repeat-count=20` This reverts commit 88bb1a672c49746972f4b15410fa92e9d237c43d. commit 88bb1a672c49746972f4b15410fa92e9d237c43d Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-12-04 04:09:18 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-12-04 04:58:05 +0900 Skip repeated scan of object during compaction Notes: Merged: https://github.com/ruby/ruby/pull/3843 commit bc4ca06f90c0da09fe3a6d2ab29e260b9b9cfe1b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-12-03 23:34:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-12-03 23:34:46 +0900 test/ruby/test_io.rb: some test methods had been overwritten http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20201203T123002Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:1830: warning: method redefined; discarding old test_each_byte /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:376: warning: previous definition of test_each_byte was here test/unit warning: method TestIO#test_each_byte is redefined /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:1849: warning: method redefined; discarding old test_each_char /home/chkbuild/chkbuild/tmp/build/20201203T123002Z/ruby/test/ruby/test_io.rb:1799: warning: previous definition of test_each_char was here test/unit warning: method TestIO#test_each_char is redefined ``` commit 2a99fea89e6a9510f2f2b378cfa661264bcffd5e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-03 21:31:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-03 21:31:44 +0900 test-bundled-gems.rb: show failed gems at last commit d3c685f0b5b1aedfdeb7660b374ab033bcd27147 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-03 19:17:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 19:17:29 +0900 digest gem is available now commit 1af8a0a95ecc606cb57f8bce82288b6c263d9631 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-03 17:39:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:48:32 +0900 [ruby/ipaddr] fixup 90b46678a5b09ed32612b0629b7c51c6d39a0444 https://github.com/ruby/ipaddr/commit/d2ec7cc3ee commit e62eb9a3fa627b42eb4445688afc46bd28c0def4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-03 17:33:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:37:31 +0900 [ruby/ipaddr] Relaxed Ruby version for 3.0 https://github.com/ruby/ipaddr/commit/90b46678a5 commit d65621b636e1eb89696f13f4076e53d54710cb3f Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2019-07-09 20:16:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:37:08 +0900 Specify minimum version. commit ca024beeba93340aefff6dde6ee3ac35d9b03352 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-16 18:03:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:36:39 +0900 Use Gemfile instead of Gem::Specification#add_development_dependency. commit 7b126a82a921c991f8121f62e094a62a5f0edb30 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2019-07-09 20:16:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:30 +0900 Simplify `ipaddr.gemspec`. commit ab524dfdd90078b48cc41354a8e9a472ef466a2f Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-08-24 23:07:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/forwardable] Specify minimum Ruby version. Remove jruby-9.1.17.0 from CI https://github.com/ruby/forwardable/commit/08d92a9c39 commit 5b1ebb8ead87e7b3b35c6e43959b6b8687ac3be3 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-26 11:02:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/readline-ext] Rename depend.gem with depend-gem https://github.com/ruby/readline-ext/commit/897ffe26a6 commit b526db85fe96f906beea6500f7029013a16f9349 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-26 01:47:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/readline-ext] Version 0.1.1 https://github.com/ruby/readline-ext/commit/6d55854434 commit b619197dfad4767ee779822047ca0b03ffe1fb05 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-26 01:43:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 Use gemified depend commit eab4aa4178e9fb55f7c9abfeb631bbe44a665d6e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-11 15:41:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/io-wait] Added extensions https://github.com/ruby/io-wait/commit/664c93b2ff commit 09266eccf46540e1cd8170800e3b52a6565254d3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-11 15:27:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/io-wait] Fixed regexp to reject .travis* at the toplevel only https://github.com/ruby/io-wait/commit/4434b10e46 commit 7fcbe07d612a967d1904a52617903007c28ffb86 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-11 15:25:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/io-wait] Exclude dot-files for CIs https://github.com/ruby/io-wait/commit/12cce69ddf commit 09bcb935ec5467e44bab7426446c6e7ce2bbf983 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-11 15:19:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/io-wait] Fix ls-files matching regexp See rubygems/rubygems@8a81183236c4475152798db99734e89779287331. https://github.com/ruby/io-wait/commit/04857e0cf5 commit 2800e9f347dc9110d2be33d5abab94a1957c71a6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-12 14:56:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:29 +0900 [ruby/io-nonblock] Added extensions https://github.com/ruby/io-nonblock/commit/8b7abbd1b5 commit 7820162018869f8931e7abd5d153d5d26c6ae411 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-12 14:55:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:28 +0900 [ruby/io-nonblock] Exclude dot-files for CIs https://github.com/ruby/io-nonblock/commit/9fa3ad9c7a commit 7d0a6e28f2260ec2ba487c174e35a9dc614e2e60 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-12 14:53:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:28 +0900 [ruby/io-nonblock] Fix ls-files matching regexp See rubygems/rubygems@8a81183236c4475152798db99734e89779287331. https://github.com/ruby/io-nonblock/commit/e14f7952c1 commit 412a0f52406b2e215eaa77dd601c456dd5c23fce Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-03 16:31:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:28 +0900 [ruby/digest] LICENSE https://github.com/ruby/digest/commit/aa048ce345 commit 7324d76da40de79cd1a25d023b1a0629002929a7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-03 16:30:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-03 17:35:28 +0900 [ruby/digest] Fixup d981714348f71177132426e3ac19598e1b2e8f5d https://github.com/ruby/digest/commit/502a12587c commit 541e4340dd70de75d44c8ac3b5a4a69943042737 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-03 17:01:10 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-03 17:01:11 +0900 Assert unit->iseq null out happens under the JIT/GC guard commit 58c3c75fee775abb9a145e7b106320a55f2c8be1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-12-03 16:38:40 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-12-03 16:38:42 +0900 Skip checking Ractor recursive locking for an MJIT worker thread. We can't do it because its GET_EC() returns NULL. commit 43b95bafd57d04c8fb401d3a9b52aca3f5b4b0be Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-27 11:15:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-03 12:47:51 +0900 delete deprecated IO-like methods This commit deletes {IO,ARGF,StringIO,Zib::GZipReader}#{bytes,chars,lines,codepoints}, which have been deprecated since c47c095b9740e7c19d6fdca29ab661c1089221d4. Note that String also has those methods. They are neither depreacted nor deleted because they are not aliases of counterpart each_something. commit 1f71c7dc81628bfd141bb91ee10bd8ca44ccaf07 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-03 06:49:52 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-03 06:49:52 +0900 add GC guard new_prev_env is stored in the env_body memory block but this is not a GC root, so new_prev_env could be freed. commit 51268be7feace6a6547f8be72d6baf9023b08f2b Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-24 08:13:11 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-12-03 03:47:10 +0900 When allocating new pages, add them to the end of the linked list When we allocate new pages, allocate them on the end of the linked list. Then when we compact we can move things to the head of the list Notes: Merged: https://github.com/ruby/ruby/pull/3814 commit 9e73177d5362c1986814f411961b712967dc5f97 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-24 07:40:59 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-12-03 02:42:02 +0900 Do not reduce quantifiers if it affects which text will be matched Quantifier reduction when using +?)* and +?)+ should not be done as it affects which text will be matched. This removes the need for the RQ_PQ_Q ReduceType, so remove the enum entry and related switch case. Test that these are the only two patterns affected by testing all quantifier reduction tuples for both the captured and uncaptured cases and making sure the matched text is the same for both. Fixes [Bug #17341] Notes: Merged: https://github.com/ruby/ruby/pull/3808 commit 0bebea985dd1b759973e285e87ed9dfa8610d253 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-12-02 08:15:14 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-12-03 01:23:31 +0900 Incremental sweeping should not require page allocation Incremental sweeping should sweep until we find a slot for objects to use. `heap_increment` was adding a page to the heap even though we would sweep immediately after. Co-authored-by: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/3837 commit 12a121cc0f7f5b438388288383a7b8b9baf3e2fe Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-27 10:25:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-02 20:17:11 +0900 ENV.index: delete Has been deprecated since 373282f6656d3d3d989d261e7a95f8e81b5c9712. commit 28001e55b3eb65e210484bc2b6f42e89c2903d49 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-02 15:58:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 19:36:06 +0900 Added dependencies for net-pop commit 1fa3f9a1b5d237d4d9d6ad87e1d56ea5c1e98717 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-02 15:57:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 19:36:06 +0900 Added dependencies for net-imap commit 4e01ab342a4b1478255eee09ddbb5e9fe46a88b9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-02 19:11:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-02 19:11:01 +0900 Revert "Removed deprecated Dir.exists? and File.exists?" This reverts commit 1a5205536f0c0d6021450b11722919211847df86. commit 1a5205536f0c0d6021450b11722919211847df86 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-30 23:33:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-02 17:24:34 +0900 Removed deprecated Dir.exists? and File.exists? commit 9e94cd18fcf193a9f87b908b7130123602a7d800 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-02 17:06:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-02 17:06:09 +0900 test-bundled-gems: select bundled gems to test by BUNDLED_GEMS commit 44f038bd7f8371011722ef3531a13d054e541fa2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-02 17:04:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-02 17:04:33 +0900 gmake.mk: renamed BUNDLED_GEMS as bundled-gems Hyphenated names are safe in GNU make. commit 30ded41fc3237f83470d0f6b64103f18bc92a78d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-02 16:16:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-02 16:16:48 +0900 Loaded script is unset yet when crashed in the initialization phase commit 98c9120cc00ba691b4abcc13a49a30fa54638535 Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-12-02 13:45:00 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-02 13:45:00 +0900 Bundle rbs 0.19.0 (#3838) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit c461b2405ca2b86b6d1328a51374bda8a2fdf332 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-02 13:32:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 13:32:43 +0900 Removed needless .rb commit 4bbb61001187a285ba8e504ef2fdce9a4835966f Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-12-18 23:03:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 12:46:17 +0900 Emit warning when 'RubyGems' were not properly loaded. Notes: Merged: https://github.com/ruby/ruby/pull/2764 commit fbe37ff37a291f138d9a1119df257174005e7086 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-12-18 23:02:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 12:46:17 +0900 Emit warning when 'did_you_mean' was not properly loaded. Notes: Merged: https://github.com/ruby/ruby/pull/2764 commit 0ad7f2dd19c84e44b8fd8d314de33c3e2255feb6 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-12-18 22:55:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 12:46:17 +0900 Don't fail when 'RubyGems' are not available. Although 'RubyGems' are always available in upstream Ruby, it might not be available optionally when Ruby is delivered via packaging systems. E.g. Linux distributions. Notes: Merged: https://github.com/ruby/ruby/pull/2764 commit 55c9a95ac8ed1a44645cc8d7d80f2e5ebee6ec8f Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-12-18 22:29:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 12:46:17 +0900 Don't fail when 'did_you_mean' is not available. Although 'did_you_mean' is always available in upstream Ruby, it might not be available when speed, memory, disk or network bandwidth is a concern. This is typically the case for production environment, where 'did_you_mean' is of limited usage. Also it might not be available optionally when Ruby is delivered via packaging systems. E.g. Linux distributions. Notes: Merged: https://github.com/ruby/ruby/pull/2764 commit 2e601c284c9b61c286aa031d91e5198c17b44f00 Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-05-28 00:53:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 11:09:12 +0900 digest: remove OpenSSL engine The OpenSSL engine of Digest uses the low-level API of OpenSSL, whose use has been discouraged for years for multiple reasons. A long-standing issue on a FIPS-enabled system is that using ::Digest results in crashing the Ruby process, because the low-level API lacks the mechanism to report an error (the policy violation) and thus kills the process as a last resort[1][2]. Also, the upcoming OpenSSL 3.0 will deprecate it for future removal[3]. Compiling with -Wdeprecated-declarations will start to emit warnings. A proper fix for this is to make it use the EVP API instead. This is a non-trivial work as it requires backwards-incompatible changes to the framework interface of Digest::Base and rb_digest_metadata_t. It is more than 15 years ago that the openssl library became part of the standard library. It has implemented the exactly same functionality as OpenSSL::Digest, in fact, as a subclass of Digest::Class. There is not much point in having an identical code in the digest library. Let's just get rid of OpenSSL within digest. This leaves the C implementations and the CommonCrypto engine for Apple systems. A patch is being prepared for the openssl library to provide ::Digest constants for better performance[4]. [1] https://bugs.ruby-lang.org/issues/6946 [2] https://bugs.ruby-lang.org/issues/13681 [3] https://www.openssl.org/docs/OpenSSL300Design.html [4] https://github.com/ruby/openssl/pull/377 Notes: Merged: https://github.com/ruby/ruby/pull/3149 commit 95bb49d42568802e36b213a7139176dbf9f58672 Author: Cristian Greco <cristian@regolo.cc> AuthorDate: 2020-10-22 23:34:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 10:59:53 +0900 Fix code example in Readline::HISTORY documentation. Wrapping the example into a <code> block to avoid it being rendered as a link. Notes: Merged: https://github.com/ruby/ruby/pull/3686 commit 82dc0c6aa380ea736adcd5ea54ec8f77a9269007 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-12-02 09:42:05 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-12-02 09:44:03 +0900 memory_view.c: Check availability in rb_memory_view_get commit 7172272c4ca290b0b8d5bed4dd9de84eb1561303 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 21:42:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 09:12:26 +0900 Added dependencies for net-ftp commit afba96f9f5cc94ecbd717e792c568511ed0729fe Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 21:41:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 09:12:25 +0900 Added dependencies for net-http commit 48149d8fe7634a521a41be7bc1b9c49a39104d65 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 21:39:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 09:12:25 +0900 Added dependencies for net-smtp commit b0f4cccfaea3fcd65cf22931b481c405bc759b64 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 21:38:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 09:12:25 +0900 Added dependencies for net-protocol commit f8435f424bd634cfafef137d2a18b6d3e8f4dddf Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 21:23:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 09:12:25 +0900 Added dependencies for tmpdir commit 10d6a2733415e3184bf87534969a531e19416faa Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 21:21:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 09:12:25 +0900 Added dependencies for erb commit c364865bdf2bafbdb7cd1338ddda25d32ce0db5e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 21:19:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-02 09:12:25 +0900 Added dependencies for pp commit 56141d38a3f3910d883e1dde754998ce10b79a58 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-11-26 07:33:09 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-12-02 05:23:09 +0900 Fix docs about movement for rb_gc_register_mark_object() This API in fact pins objects passed to it. See vm.c:2546. Notes: Merged: https://github.com/ruby/ruby/pull/3815 commit 21bc330e5f190d9b40c3e0fd4945247bdd68d5ab Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-12-02 00:40:09 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-12-02 00:40:09 +0900 Bundle rbs 0.18.1 (#3825) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 0c57438ccfe394050142171c4d5bba3ae1885534 Author: jacopo <1753245+intrip@users.noreply.github.com> AuthorDate: 2020-12-01 20:19:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-01 20:40:33 +0900 Update fixnum.h Fix a typo: "nevative" => "negative" in `rb_fix_plus_fix`. Notes: Merged: https://github.com/ruby/ruby/pull/3834 commit ad0c2232b1743f329b882977f068aecdbd6e0d8f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 19:14:36 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-01 19:48:24 +0900 Added dependencies for open-uri commit ac29c405f6816fbb3c52d4d10d85e224ed9dc455 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 19:14:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-01 19:48:24 +0900 Added dependencies for time commit 0115ae5ffcf88c5e49ad291ce7be9eefca3f2575 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 19:09:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-01 19:48:24 +0900 Added dependencies for prime commit 6ac5e3c06a29dd51b8c8ab7bee21c29c50f779e0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-12-01 18:32:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-12-01 19:48:24 +0900 Added dependencies for weakref commit 764de7566ffa3fe828abf13ec93d76515ba27dd1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-01 16:34:59 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-01 18:16:23 +0900 should not use rb_str_modify(), too Same as 8247b8edde, should not use rb_str_modify() here. https://bugs.ruby-lang.org/issues/17343#change-88858 Notes: Merged: https://github.com/ruby/ruby/pull/3833 commit d5e16161f6871793bf2f148b5a6901a1a3f6d326 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-12-01 17:35:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-12-01 17:35:28 +0900 Update ext/.document commit 1ca9facab6c85264168b4c0a18c24f489cabcc9f Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-12-01 16:07:14 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-12-01 16:07:38 +0900 Add monitor to document files commit 182fb73c40351f917bf44626c44c1adb6cb1aa5a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-30 16:18:43 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-01 15:44:18 +0900 rb_ext_ractor_safe() to declare ractor-safe ext C extensions can violate the ractor-safety, so only ractor-safe C extensions (C methods) can run on non-main ractors. rb_ext_ractor_safe(true) declares that the successive defined methods are ractor-safe. Otherwiwze, defined methods checked they are invoked in main ractor and raise an error if invoked at non-main ractors. [Feature #17307] Notes: Merged: https://github.com/ruby/ruby/pull/3824 commit 8247b8eddeb2a504a5c9776d1f77d413c8146897 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-01 11:14:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-01 13:18:32 +0900 should not use rb_ary_modify() ractor_copy() used rb_ary_modify() to make sure this array is not sharing anything, but it also checks frozen flag. So frozen arrays raises an error. To solve this issue, this patch introduces new function rb_ary_cancel_sharing() which makes sure the array does not share another array and it doesn't check frozen flag. [Bug #17343] A test is quoted from https://github.com/ruby/ruby/pull/3817 Notes: Merged: https://github.com/ruby/ruby/pull/3831 commit d2cfb5228a89678a712efd381e049391800373e1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-01 11:10:19 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-01 11:10:19 +0900 show with sharing info commit a67cd8a8886eed7579c3ffbaf84beecda7ab7d2f Author: James Koenig <Koenig.James@Live.com> AuthorDate: 2020-12-01 05:48:31 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-01 10:11:18 +0900 -> creates a lambda so this updates the documentation to reflect that Notes: Merged: https://github.com/ruby/ruby/pull/3828 commit 67693d8d806e67d6e50b303dd0be6ec06b81c853 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-28 04:39:09 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-01 09:39:30 +0900 ractor local storage C-API To manage ractor-local data for C extension, the following APIs are defined. * rb_ractor_local_storage_value_newkey * rb_ractor_local_storage_value * rb_ractor_local_storage_value_set * rb_ractor_local_storage_ptr_newkey * rb_ractor_local_storage_ptr * rb_ractor_local_storage_ptr_set At first, you need to create a key of storage by rb_ractor_local_(value|ptr)_newkey(). For ptr storage, it accepts the type of storage, how to mark and how to free with ractor's lifetime. rb_ractor_local_storage_value/set are used to access a VALUE and rb_ractor_local_storage_ptr/set are used to access a pointer. random.c uses this API. Notes: Merged: https://github.com/ruby/ruby/pull/3822 commit e79f1941b29738d95b42f8cb5bdb159e7138cf49 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-12-01 01:27:04 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-12-01 09:39:09 +0900 tune parallel test This patch contains the fowllowing hacks: (1) Add "--timetable-data=FILE" option for test-all This option enables to dump timeline event contains worker, suite, and start/end time. (2) remove TestJIT in test_jit_debug.rb on parallel test. it is duplicated test. (3) move test_jit.rb and test_jit_debug.rb at first because these two tests are bottleneck of parallel tests. On my environment, `make test-all TESTS=-j12` reduced the total time 190 seconds -> 140 seconds. Notes: Merged: https://github.com/ruby/ruby/pull/3826 commit e25165b3fc72166a85ed10e49609153d72333388 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-12-01 05:51:30 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-12-01 09:33:37 +0900 Fix `Ractor.make_shareable` for recursive structures with unfreezable components Followup to #3823 Notes: Merged: https://github.com/ruby/ruby/pull/3827 commit 56bb6e7d582f2e73c23f05594cd89d6deea9c318 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-12-01 06:28:24 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-12-01 07:45:27 +0900 Only check if the current ep is a local or not, then mark The vm mark function should only check if the current frame is a local or not and then mark values in that frame. Since it's walking up the stack looking at each cfp, then all ep's should be examined. This fixes a bug in the Rails tests where we're seeing segv in railties. Thanks Yasuo Honda for giving me a reliable repro! Notes: Merged: https://github.com/ruby/ruby/pull/3829 commit b4e21ce25cfa6bf8a04cdeba8875215c5aabfaf1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-30 16:55:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-30 18:27:46 +0900 Clean temproray directory created by test-spec commit d92f427d5ae71da27028770d5c1bd6747d64b6ec Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-30 16:54:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-30 18:27:45 +0900 Clean static-ruby commit 6bef49427ab2a9d3bc338f1cffcd086153a59f44 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-11-18 21:57:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-30 17:33:28 +0900 Fix rb_interned_str_* functions to not assume static strings Fixes [Feature #13381] When passed a `fake_str`, `register_fstring` would create new strings with `str_new_static`. That's not what was expected, and answer almost no use cases. Notes: Merged: https://github.com/ruby/ruby/pull/3786 commit 930a135524382ddd80c0608a7593b6cdfceee846 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-30 16:07:36 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-30 16:07:36 +0900 Fixed Ractor.shareable? on cross-recursive objects [Bug #17344] Notes: Merged: https://github.com/ruby/ruby/pull/3823 Merged-By: nobu <nobu@ruby-lang.org> commit 555bd83a8e8b1e859f698089cbbd9ad938159a0e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-30 15:19:49 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-30 15:19:49 +0900 Raise when loading unprovided builtin function [Bug #17192] Notes: Merged: https://github.com/ruby/ruby/pull/3622 Merged-By: nobu <nobu@ruby-lang.org> commit 73a337e21461469290005f169c05bc1791112d67 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-11-30 14:53:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-30 14:53:13 +0900 Keep references of memory-view-exported objects (#3816) * memory_view.c: remove a reference in view->obj at rb_memory_view_release * memory_view.c: keep references of memory-view-exported objects * Update common.mk * memory_view.c: Use st_update Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 77936ad679d63a6d0e7b585db4c31db5507f5586 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-30 05:07:28 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-30 05:10:48 +0900 support SIGSEGV/BUS while read_barrier_handler() read_barrier_handler() can cause SIGSEGV/BUS so it should show the errors. commit 02c32b2e9299726e20bb4499fa7c1f5430ce0b6d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-29 15:01:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-29 15:01:41 +0900 Get rid of allocation when the capacity is small commit dbdeb92b6832867ef208130d9a8e7d01df0ccb93 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-29 11:49:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-29 11:49:47 +0900 Do not throttle the workaround for --jit-wait --jit-wait CI can be stuck when the workaround is throttled http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3274091 commit 85aabef023e1a2e81c308ad98741137c73d4d80b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-31 22:13:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-28 18:51:36 +0900 [Feature #17136] Remove special behavior from $KCODE Notes: Merged: https://github.com/ruby/ruby/pull/3483 commit 3db21cf25f9c0830fafd9f72f228826515a5b566 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-28 18:39:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-28 18:47:56 +0900 Revived the getenv macro for dln_find.c This partially reverts commit "Windows: Improve readablity of getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6. The `getenv` macro defined here is to also substitute the function in dln_find.c, not only in this file. commit 14453a256d58b11b06d432e2a4388d95aac298d6 Author: Lars Kanis <kanis@comcard.de> AuthorDate: 2020-11-26 19:15:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-28 17:49:47 +0900 Windows: Improve readablity of getenv() encoding getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent. commit 95edb3ec107c89a04d2a7e2395841cc228e91a81 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 17:17:55 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 17:17:56 +0900 Increase timeout for MJIT Actions It's too short for --jit-wait https://github.com/ruby/ruby/runs/1466690076?check_suite_focus=true commit 3378a1ccef8fe867c58b0df37a366c31d0a075a8 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 16:46:10 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 16:46:46 +0900 Fix compactions.size for throttling 096f54428d changes the behavior for this kind of cases. commit 096f54428d8000cccce430022784cb0e7cd31cb4 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 16:25:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 16:25:32 +0900 Throttle JIT compaction The compilation for JIT compaction is very heavy. Triggering a second compaction to include one more new method is probably not worth it. So this triggers JIT compaction for ten more new methods after each compaction. commit 2a7e85861751fff05010099a985902f997cbf3a0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 16:13:17 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 16:13:18 +0900 Try to fix the mswin CI failure Sorry, I forgot to add this in 122cd35939 while I said I did something for it. commit 122cd35939ddf8ef7bfa17ad75570c01d0cf06ab Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 15:46:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 16:06:40 +0900 Throttle unload_units Because d80226e7bd often reduces the number of unloaded units, it increases the number of unload_units calls, which are heavy. To mitigate that, this throttles unload_units per `max_cache_size / 10`. Also hoping to fix https://ci.appveyor.com/project/ruby/ruby/builds/36552382/job/kjmjgw9cjyf2ksd7 commit 95bef7b69a6fb42687a6200b338060be307259f5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-27 16:13:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-28 15:41:41 +0900 Subsecond of Time::tm should be 0 Notes: Merged: https://github.com/ruby/ruby/pull/3821 commit 276f6a225d18561cbe5282b798cb4e416c66079f Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-27 14:16:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-28 15:41:41 +0900 Don't double fractional seconds when passing timezone object to Time.new I found that fractional seconds were doubled when using the timezone feature of Time in Sequel's named_timezones extension (which uses TZInfo for the timezone object), and traced the problem to this code. There is no subsecx being modified in the utc_to_local call below this, and I'm not sure why you would want to add in the fractional seconds unless you assumed the timezone conversion would drop the existing fractional seconds (TZInfo doesn't drop fractional seconds). Notes: Merged: https://github.com/ruby/ruby/pull/3821 commit d80226e7bd801fcbccf71f19ba373b7baf71a49e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 15:07:02 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 15:26:14 +0900 Avoid unloading units which have enough total_calls instead of just unloading worst 10% methods. commit 12866b0d31755dc045d7c5fce0a61572a41891c7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 14:52:22 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 14:52:47 +0900 Log when JIT compaction is skipped due to ISeq GC commit 16dab6b69263ed9c816bc0283c8c1f2f95dc1027 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-28 14:28:57 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-28 14:38:51 +0900 Run unload_units in the JIT worker thread to avoid "Too many JIT code, but skipped unloading units for JIT compaction". Now we can forget the `in_compact` locking. Moving some functions from mjit.c to mjit_worker.c because mjit_worker.c should have functions executed in the JIT worker. commit ddb1736bfc0cc65351bc52c150b85baf45871870 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-27 23:47:17 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-27 23:47:17 +0900 Update to ruby/spec@c4170a3 commit f02d2f82bf10351f480ea312f40cb840e2437f93 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-27 22:55:31 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-27 22:55:31 +0900 Update to ruby/spec@ac878ad commit f0bfa266d70651dc295a63b026938b246693499b Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-27 22:55:29 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-27 22:55:29 +0900 Update to ruby/mspec@b58e665 commit 039ba387aa3c94600c60bbc2d7a9cf448f843ca5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-27 21:36:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-27 21:38:08 +0900 Use opaque struct pointer than void commit 5d8fe1267d2d4e60943e7b41f6dad990a53e077b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-27 17:51:07 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-27 19:53:21 +0900 configure.ac: Check x86intrin.h only when the target CPU is x86 The check output a warning on M1 Mac mini http://rubyci.s3.amazonaws.com/osx1100arm/ruby-master/log/20201127T074507Z.log.html.gz ``` checking x86intrin.h usability... no checking x86intrin.h presence... yes configure: WARNING: x86intrin.h: present but cannot be compiled configure: WARNING: x86intrin.h: check for missing prerequisite headers? configure: WARNING: x86intrin.h: see the Autoconf documentation configure: WARNING: x86intrin.h: section "Present But Cannot Be Compiled" configure: WARNING: x86intrin.h: proceeding with the compiler's result checking for x86intrin.h... no ``` Notes: Merged: https://github.com/ruby/ruby/pull/3820 commit f0e2ea2859f9a51260f22b38fae1719a2eab59d9 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-27 18:29:39 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-27 18:29:39 +0900 Clarify spec and change of behavior for Random::DEFAULT commit d40983772966938828a28c6e89752a3e76447b9e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-27 17:36:02 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-27 17:42:42 +0900 Cache access to reg_cfp->self on JIT ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml before --jit: ruby 3.0.0dev (2020-11-27T06:41:15Z master 8ce1711c25) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-11-27T08:36:02Z master 2c592126b9) +JIT [x86_64-linux] last_commit=Cache access to reg_cfp->self on JIT Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 82.40522392468650 82.66023870551237 fps 82.67998539899482 83.08660305312587 85.51280693947453 87.09311989553235 86.32925337181406 87.16115255191410 87.35617494926235 87.30699391518075 87.91865339426212 88.47590342996875 88.11573661006648 88.64778616696353 88.16060826662158 88.67015079203991 88.21639244865058 89.19630739497482 88.47241577897603 89.23443637947730 89.37087287229809 89.57052723997015 89.46969964699964 89.97803363889025 ``` commit 5496415d3165e57e3ade16238a4cc9ec2c3a81f6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-27 17:36:02 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-27 17:36:02 +0900 mark default_rand default_rand can points a Bignum seed, so it should be marked. commit 2db2fb9f6c742d5bd0019ccd11c7a375e1b12c0b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-26 04:25:42 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-27 17:03:30 +0900 per-ractor Random::DEFAULT Random generators are not Ractor-safe, so we need to prepare per-ractor default random genearators. This patch set `Random::DEFAULT = Random` (not a Random instance, but the Random class) and singleton methods like `Random.rand()` use a per-ractor random generator. [Feature #17322] Notes: Merged: https://github.com/ruby/ruby/pull/3813 commit 8ce1711c255679d38b6a2405ff694eb5b5b2eae5 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-27 15:41:15 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-27 15:41:15 +0900 Revert "Set VM_FRAME_FLAG_FINISH at once on MJIT" This reverts commit 4d2c8edca69884a41d2f843d36023e3decdb9872. Unfortunately this seems to cause several issues: https://github.com/ruby/ruby/runs/1462188376?check_suite_focus=true http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3272802 commit 4d2c8edca69884a41d2f843d36023e3decdb9872 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-27 14:25:09 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-27 14:32:14 +0900 Set VM_FRAME_FLAG_FINISH at once on MJIT Performance is probably improved? $ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml before --jit: ruby 3.0.0dev (2020-11-27T04:37:47Z master 69e77e81dc) +JIT [x86_64-linux] after --jit: ruby 3.0.0dev (2020-11-27T05:28:19Z master df6b05c6dd) +JIT [x86_64-linux] last_commit=Set VM_FRAME_FLAG_FINISH at once Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 80.89292998533379 82.19497327502751 fps 80.93130641142331 85.13943315260148 81.06214830270119 87.43757879797808 82.29172808453910 87.89942441487113 84.61206450455929 87.91309779491075 85.44545883567997 87.98026086648694 86.02923132404449 88.03081060383973 86.07411817365879 88.14650206137341 86.34348799602836 88.32791633649961 87.90257338977324 88.57599644892220 88.58006509876580 88.67426384743277 89.26611118140011 88.81669430874207 This should have no bad impact on VM because this function is ALWAYS_INLINE. commit 69e77e81dc10945ac6327717bd480db78004f65a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-27 13:35:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-27 13:37:47 +0900 Run rb_print_backtrace first on ruby_on_ci Unfortunately we couldn't see a C backtrace with the previous commit http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3272697. commit 4dbf6f1e515bd6a3b03ba9edccabccb780c3f789 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-27 13:08:20 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-27 13:09:57 +0900 Call rb_bug_without_die on CI when GC.compact's SEGV handler is installed commit 82541df081393198dd9265ed12d6cc7cc32915a0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-31 22:06:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-27 13:09:20 +0900 Separated tests for $KCODE and $= commit 1898e9558a55fa2558fb52d63bbb30bd8c513e50 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-27 12:23:34 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-27 12:23:35 +0900 Always clean up leftovers at ci.rvm.jp to prevent failures like http://ci.rvm.jp/logfiles/brlog.trunk-mjit.20201126-182515. Since fa1250a506e9b6a1bcbf664f6b7b9c06e045d9b9, it should be safe to do this. commit f5ca3ff4dbcf5c140a77d1de5ff3fe3eed2d558d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-26 20:14:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-26 20:14:34 +0900 Store all kinds of syntax errors [Bug #17345] commit 1df3896382a8e2ed86e2edbb5ba80424da0ab5b9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-26 20:03:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-26 20:03:38 +0900 Removed a duplicate assertion commit 6be9d18a4d13f96ebe08384f6b45e4202516a733 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-26 00:38:38 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-26 15:13:32 +0900 Update TypeProf to 0.7.0 Notes: Merged: https://github.com/ruby/ruby/pull/3812 commit af80df18208232368529af45fd7a77c87e16b35f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-25 21:01:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-26 09:37:38 +0900 Keep patched zlib files commit e0944bde9178fda7281717a159d0ffbfd3154f47 Author: Alan Wu <alanwu@ruby-lang.org> AuthorDate: 2020-11-26 07:05:06 +0900 Commit: Alan Wu <alanwu@ruby-lang.org> CommitDate: 2020-11-26 07:05:06 +0900 Prefer rb_module_new() over rb_define_module_id() rb_define_module_id() doesn't do anything with its parameter so it's a bit confusing. commit c32218de1ba094223420a4ea017707f48d0009c5 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-26 02:24:50 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-26 04:29:14 +0900 Disable auto compaction on platforms that can't support it Both explicit compaction routines (gc_compact and the verify references form) need to clear the heap before executing compaction. Otherwise some objects may not be alive, and we'll need the read barrier. The heap must only contain *live* objects if we want to disable the read barrier during explicit compaction. The previous commit was missing the "clear the heap" phase from the "verify references" explicit compaction function. Fixes [Bug #17306] commit 7aaf6676c416e773b0b3053de2e250a73c2b2e77 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-25 16:14:01 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-25 16:14:01 +0900 should stop other ractors on transient_heap_evacuate transient_heap_evacuate() evacuates all living objects from theap to malloc managed memory. This evacuation can run in any ractors in parallel with other ractor's execution and it is danger. To stop such danger parallel execution, use rb_vm_barrier() to stop all other ractors. commit d43d4acf2638ed50ab1542769c5d032c1aa8fb31 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-25 15:51:31 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-25 15:51:31 +0900 fix error message commit a79fe07db6c2de7a477613f8cd5c9c51322367bf Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-25 15:00:26 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-25 15:08:10 +0900 show the error message before Ractor.yield Ractor's error will be printed if Thread#report_on_exception is true (default), and error message is used. Without this patch, the exception object is sent by Ractor.yield and it can be shared with another ractor. http://ci.rvm.jp/results/trunk-random3@phosphorus-docker/3269368 To prevent such sharing, show errors befor Ractor.yield(). commit fed67fe6b277361940e3357c8b1ffa455d7f2339 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-25 14:29:45 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-25 14:30:13 +0900 Revert "Disable auto compaction on platforms that can't support it" This reverts commit 63ad55cd882e4010fe313d271af006a430b5ffa8. Revert "Disable read barrier on explicit compaction request" This reverts commit 490b57783d80f0c5f7882c66d9fb6aa02713c9a5. commit 00f046ef57f9da7f5248f9ef9d55702ddc407bf1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-25 13:36:25 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-25 13:36:39 +0900 Report a full_message on a worker crash A worker crash happens very often, but we're not sure why. I'd like to know a backtrace if it's available. commit eaa87be5f620a709eb38695f995de405ac42490b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-25 13:18:04 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-25 13:18:05 +0900 Skip test_ractor.rb:137 for --jit-min-calls=5 It's failing like http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3270373 but I have no bandwidth to fix it for now. We're still checking --jit-wait (without --jit-min-calls=5) on GitHub Actions. commit c6b7b4f6f429d2cd3ea7a5ba38d2fc9f9037b91f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-25 12:50:41 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-25 12:50:42 +0900 Report a more detailed situation of test_ractor.rb:137 This test has been very unstable. I'd like to instantly know whether it's always failing or random when I look at a CI failure output. commit 26e3aea94f2897ae5079d9f9e5549c58de515a54 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-25 12:26:40 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-25 12:26:42 +0900 Overwrite all existing files when extracting zlib To prevent CI failure like https://ci.appveyor.com/project/ruby/ruby/builds/36494552/job/a3ow8atl19786tep commit 63ad55cd882e4010fe313d271af006a430b5ffa8 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-25 07:33:12 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-25 07:48:19 +0900 Disable auto compaction on platforms that can't support it Auto Compaction uses mprotect to implement a read barrier. mprotect can only work on regions of memory that are a multiple of the OS page size. Ruby's pages are a multiple of 4kb, but some platforms (like ppc64le) don't have 4kb page sizes. This commit disables the features on those platforms. Fixes [Bug #17306] commit 87d21ee996869cecdcd2afa25553654af847fe39 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-25 06:30:12 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-25 06:30:26 +0900 add HEAP_PAGE_SIZE to internal constants commit 490b57783d80f0c5f7882c66d9fb6aa02713c9a5 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-25 03:45:12 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-25 05:38:05 +0900 Disable read barrier on explicit compaction request We don't need a read barrier when the user calls `GC.compact` because we don't allow allocations during GC, and all references should be "live" Notes: Merged: https://github.com/ruby/ruby/pull/3809 commit b26d6c70e0f08050ca23388bb0e8442f73269c73 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-24 04:03:15 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-25 00:01:30 +0900 Detect the premature end of char property in regexp Default to ONIGERR_INVALID_CHAR_PROPERTY_NAME in fetch_char_property_to_ctype and only set otherwise if an ending } is found. Fixes [Bug #17340] Notes: Merged: https://github.com/ruby/ruby/pull/3807 commit 237cb94cf5676e8cfc81ca9f5e8d29e04e61fc4d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-24 17:02:48 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-24 17:02:52 +0900 Handle calloc failure for cfd8c7e6ca9f923cee3a062b548d0824fc67e9a5. commit cfd8c7e6ca9f923cee3a062b548d0824fc67e9a5 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-24 16:47:58 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-24 16:48:06 +0900 Prefer calloc/free over ZALLOC/xfree To avoid SEGV like http://ci.rvm.jp/logfiles/brlog.trunk-mjit.20201124-061530 commit 0deb06bfa41ff63a8ed732a690605d487b216378 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-23 06:03:49 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 Add CSV 3.1.9 to NEWS Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 832b7f3c547377621e920704c3e4dd839d21f0af Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-23 05:54:04 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Add support for \r\n with skip_lines: /...$/ again GitHub: fix GH-194 Reported by Josef Šimánek. Thanks!!! https://github.com/ruby/csv/commit/fd86afe081 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit f9935205acc6ee1c737c2c132e547747c21d3ead Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-18 05:29:33 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/e1b430d965 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit f9d6d762dc5f86511e349e7f0a59ebb89a7b0764 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-13 02:18:53 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Removed needless editorconfig file (https://github.com/ruby/csv/pull/192) https://github.com/ruby/csv/commit/5623dee00e Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 20a9131270c3bbb2216fedc6d5e4467b75cf560b Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-23 10:51:44 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] RDoc recipes for RFC-compliant generation (https://github.com/ruby/csv/pull/187) https://github.com/ruby/csv/commit/5adeaff91f Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit d48e688f64b8a1913ff9bf44202395bb453de291 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-21 16:36:16 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] RDoc recipes for diagnostics (https://github.com/ruby/csv/pull/186) https://github.com/ruby/csv/commit/d9e67918e2 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 9266410c7afbc1b43ff9b2cab31ebd5f0ad14866 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-19 10:34:34 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] RDoc Recipes for write converters and RFC 4180 compliance (https://github.com/ruby/csv/pull/185) https://github.com/ruby/csv/commit/bee48b04c4 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit c5fcafd2fd82ddbae38739a874bf84a19b4ef402 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-14 10:06:41 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Split recipes into three pages: parsing, generating, filtering (https://github.com/ruby/csv/pull/184) Co-authored-by: Sutou Kouhei <kou@clear-code.com> https://github.com/ruby/csv/commit/f0bab6a592 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 3cfb63fcd864e6114138a9ba4e972bd616034bc2 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-10 07:36:03 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] More on Recipes headers (https://github.com/ruby/csv/pull/183) https://github.com/ruby/csv/commit/d7ae3df801 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 15e457d6a39c146f9bfa9813fd1c8ab7f2a37f16 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-09 06:27:53 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Refine RDoc for headers recipes (https://github.com/ruby/csv/pull/182) https://github.com/ruby/csv/commit/bd8085e126 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 6e28ec06c15acd5427629873b9d129c37ecadd51 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-06 08:53:10 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] RDoc recipes: add introductory texts to code recipes (https://github.com/ruby/csv/pull/181) https://github.com/ruby/csv/commit/c52d53761e Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 4641a9a92b449e2e9d4cbc91a93de27f98396a96 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-02 07:00:24 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Emphasize with-headers over without-headers in recipes (https://github.com/ruby/csv/pull/180) https://github.com/ruby/csv/commit/c7bbedd28a Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 76e5e5aaec9eb0ec83eb32831a4df4203c24a0a9 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-24 06:43:41 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] More RDoc for field converters (https://github.com/ruby/csv/pull/179) https://github.com/ruby/csv/commit/2a4ef5d86a Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 5a0c8068c8b370c2ce2ba411c146a80194eb3516 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-22 07:11:33 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Clarify and correct RDoc for converters (https://github.com/ruby/csv/pull/178) https://github.com/ruby/csv/commit/f3e9586b34 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 4be336b1b70168285455bb65f36268555dd5cc20 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-21 06:38:40 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Recipes for field converters (https://github.com/ruby/csv/pull/177) https://github.com/ruby/csv/commit/aea896f030 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 98d52d873ef17414a83b3bc27f8d7e10163ccba2 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-19 07:00:06 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Organize page Recipes better (https://github.com/ruby/csv/pull/176) https://github.com/ruby/csv/commit/338b7f0d57 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 8ea293b79c63d76443dd1fb352818c133302584d Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-18 06:52:44 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Experimenting with recipes in CSV RDoc (https://github.com/ruby/csv/pull/175) https://github.com/ruby/csv/commit/01ffd0d2de Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 614afb1647d9c9eb170262c8b033f000c5beb6f0 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-12 06:36:01 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Fix CSV.filter to preserve headers (https://github.com/ruby/csv/pull/174) Co-authored-by: Sutou Kouhei <kou@clear-code.com> https://github.com/ruby/csv/commit/203c5e0574 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 207f2acc1355dea1fc1f483e4d8ff3e571a0ad89 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-07 09:38:33 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Enhanced RDoc for CSV::Row (https://github.com/ruby/csv/pull/173) https://github.com/ruby/csv/commit/99956c671d Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit e8954fa13b3d2cf11f425897f9d12397fc4a9ecb Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-06 07:03:37 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Enhanced RDoc for CSV::Row (https://github.com/ruby/csv/pull/171) https://github.com/ruby/csv/commit/cced8d8de9 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 31ccc233b1789f97dbf741c9e84b674af4a452d5 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-26 11:23:07 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Enhanced RDoc for Row#[]= (https://github.com/ruby/csv/pull/170) https://github.com/ruby/csv/commit/744e83043f Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit d99bca9012dfa9ed0a18d4e36e1adfe27f499d93 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-24 06:25:25 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Enhanced RDoc for Table::Row (https://github.com/ruby/csv/pull/169) https://github.com/ruby/csv/commit/70ed12c1aa Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 0543db40d8a340c253fb5100ee0627b7d5f62448 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-08-23 06:28:12 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Don't change initialize_copy's return value https://github.com/ruby/csv/commit/cf3b60db1c Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit d2913f912fbcfd2265ce18b942a9600c86f43273 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-21 06:21:36 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Add link to Wikipedia article Table (https://github.com/ruby/csv/pull/167) https://github.com/ruby/csv/commit/fe975c41d2 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 7deff8880f21250d7d89ded2cdc2f820cfac4aca Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-18 05:55:27 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Enhanced RDoc for CSV::Table (https://github.com/ruby/csv/pull/165) https://github.com/ruby/csv/commit/bce4b696a7 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 72997f48672648d65ffad44607b9471814156253 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-12 09:48:00 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Enhanced RDoc for values_at, <<, and push (https://github.com/ruby/csv/pull/164) https://github.com/ruby/csv/commit/bb3eb242f2 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 3283ef1a7e7b1e2f7063c3078be0a868a37aa710 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-05 06:34:02 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Enhanced RDoc for Table#[] (https://github.com/ruby/csv/pull/162) * Enhanced RDoc for Table#[] * Enhanced RDoc for Table#[] https://github.com/ruby/csv/commit/5575ffc82e Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 067b2175e8c55200ba22d395e1fe8255e8dcb383 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-08-04 10:33:35 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/e7628e6930 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 62d123dfa0abac99a776b5c8f703afd582cccc5a Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-08-04 10:30:20 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-24 09:33:55 +0900 [ruby/csv] Disable stringio >= 0.1.3 dependency If we have it, we can use the csv gem with a Rack application on Passenger. https://github.com/ruby/csv/commit/e0c7074a82 Notes: Merged: https://github.com/ruby/ruby/pull/3804 commit 48d1e8682c343bca9d40e81200876eae3af01def Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-24 08:27:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-24 08:27:08 +0900 zlib: patches for mswin64 * cast to suppress C4267 warnings; no possible loss of data as following the comparison. * shift base address to suppress LNK4281; although /DYNAMICBASE is preferable, not sure from which version of link.exe supports it. commit 78c40e658848e762b20f069042b5ec4eb853d330 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-24 08:22:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-24 08:22:54 +0900 zlib: extlibs to download zlib-1.2.11 commit abb672e14f643063de65f6b3dcaa1b23fcaf40e4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-23 18:31:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-23 18:31:51 +0900 Suppress a format-overflow warning commit 2939c57ca7aa80df126332e04de8a33a56978b42 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-23 17:51:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-23 17:56:23 +0900 Check if _FORTIFY_SOURCE really works i686-pc-cygwin gcc 6.4.0 seems broken around ssp.h, when compiling with both of optimization and _FORTIFY_SOURCE. commit 53e352fd718cd2cae6d77298e6e92736dddcfeeb Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-23 17:06:37 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-23 17:06:51 +0900 Increase the # of downloader.rb's retry attempts Apparently 9 was not enough either. https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20201123T063303Z.fail.html.gz commit 1fea0367d2a09130af71a8304601b4006e552dee Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-23 15:09:41 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-23 15:09:42 +0900 Clarify the intention of `false &&` commit 2700df3c9d0c163bdc5513bd0a86a783efb3c4cf Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-23 14:02:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-23 14:02:01 +0900 ruby/internal/config.h needs to be included first to define USE_MJIT. commit 0a2b9876968dcfd7015dff09d5e44dcbf5668244 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-23 13:54:32 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-23 13:55:33 +0900 Make --disable-jit-support compile vm_core.h needs to be included to know rb_execution_context_t, etc. I also added a trivial refactoring in mjit.c and missing dependency for process.c. commit 01f38693aa50bce2ce27337bdf5991d08cb41eb4 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-23 13:28:08 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-23 13:28:34 +0900 Remove obsoleted internal/mjit.h inclusion :bow: commit 8646f902633dd7bfc3e7de453af223ef4ad51729 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-23 13:23:49 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-23 13:23:50 +0900 Remove obsoleted internal/mjit.h Sorry, I forgot to delete this at 55866565c24765a1722e2c415a6776f3f77e89d0. commit 55866565c24765a1722e2c415a6776f3f77e89d0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-23 13:09:42 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-23 13:22:21 +0900 Combine mjit.h and internal/mjit.h It's very hard to remember which mjit.h has what. commit afd765f2ee1d7f0a34ad747d6103926ca100b120 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-23 09:16:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-23 09:45:17 +0900 Initialize UTF-8 encoding first as it is used always now commit 82e836dc7d2aa8cf13d7bc6d671f64b26ea12091 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 22:51:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 22:51:28 +0900 Use hex-encoded binaries instead of UTF-8 Which UTF-8 char corresponds to the binary representation is nonsense for other encodings, and just confusing. commit d403591b34e204a5937241025c62c877e579fbaf Author: Lars Kanis <lars@greiz-reinsdorf.de> AuthorDate: 2020-11-22 22:23:40 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-22 22:23:40 +0900 Add string encoding IBM720 alias CP720 (#3803) The mapping table is generated from the ICU project: https://github.com/unicode-org/icu/blob/master/icu4c/source/data/mappings/ibm-720_P100-1997.ucm Fixes [Feature #16233] : https://bugs.ruby-lang.org/issues/16233 Notes: Merged-By: nurse <naruse@airemix.jp> commit 2d112c346a7a1369af1236928538a3b3a833f781 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-11-11 00:05:33 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-11-22 21:00:11 +0900 [ruby/irb] Stop using bang version for #inspect of result https://github.com/ruby/irb/commit/fc1426d34e commit afb8aba4af923350cfe0a0ae4b4895d5a837e799 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-06 02:08:04 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-11-22 21:00:11 +0900 [ruby/irb] Add a fallback for check_code_block that does not depend on implementation-private APIs * Fixes https://github.com/ruby/irb/issues/133 https://github.com/ruby/irb/commit/5eb3ef3293 commit 5218f17737594867ffe5c2cd9c90b19c7378af05 Author: Nobuhiro IMAI <nov@yo.rim.or.jp> AuthorDate: 2020-09-22 09:06:43 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-11-22 21:00:11 +0900 [ruby/irb] support more body argument for oneliner method definition https://github.com/ruby/irb/commit/2ff1295533 commit 7c879cbb3f24c742e0d3226c39d413abe7519205 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 19:10:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 19:10:58 +0900 Suppress an unused-variable warning commit 75d48a533d01eeb1bb5e6761484a4dece9408fc1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 19:09:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 19:09:58 +0900 rubyspec-capiext: Use plain DLDFLAGS without flags for libruby commit 7ade7a8603c2bb3cbf3bbfb9c43fd7acde721802 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-22 16:44:48 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-22 16:44:49 +0900 Clarify the intention of the include guard This was a leftover of 27d5af59a359909e0d434459c30cfc0940f60a5b. commit 9eb34c2c9e4ce4005e04dcc85dd7705fb92ca45a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-22 15:37:07 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-22 15:38:23 +0900 Make c_file / so_file construction consistent convert_unit_to_func's c_func / so_func construction is unnecessarily complicated while it's not really safer than what compact_all_jit_code does. So I changed convert_unit_to_func to be consistent with compact_all_jit_code. commit e0156bd39656e26971e4236747e9cd4f45f8b35f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-22 12:24:59 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-22 12:36:55 +0900 Make sure all threads are scanned on unload_units This has been a TODO since 79df14c04b. While adcf0316d1 covered the root_fiber of the initial thread, it didn't cover root_fibers of other threads. Now it's hooked properly in rb_threadptr_root_fiber_setup. With regards to "XXX: Is this mjit_cont `mjit_cont_free`d?", when rb_threadptr_root_fiber_release is called, although I'm not sure when th->root_fiber is truthy, fiber_free seems to call cont_free and mjit_cont_free. So mjit_conts of root_fibers seem to be freed properly. commit eb3906c6b8ea3d88c5c53cb420e18dcda4d7081e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 11:30:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 11:32:22 +0900 dist: added DISTOPTS and PKGSDIR commit e9c3de47649c2c25eef2c610d79629fdc235bcc4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 11:30:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 11:30:02 +0900 make-snapshot: don't store symlinks by 7z for reproduceable pacakges commit 0f51105ece36739f2d4329089e0cff7a925ea2ff Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 11:01:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 11:01:17 +0900 make-snapshot: measure archiving times commit 821aa35c8bdccebaa373e68f929b681001e6a772 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 10:59:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 10:59:32 +0900 make-snapshot: suppress messages copying cached files unless verbose commit 11cd9339a8fbbfd1f4d12c824eee8e3f8dd53bf3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-22 10:49:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-22 10:49:02 +0900 make-snapshot: clean autoconf caches for reproduceable packages commit 43a9a974e276dc49b03ec81ccace0adb534a3d20 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-21 23:21:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-21 23:21:52 +0900 [Bug #17021] Make host_* values consistent with target_* Notes: Merged: https://github.com/ruby/ruby/pull/3800 commit ece917bab38248e1fd1974e597d66df8e33d862e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-21 23:15:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-21 23:17:48 +0900 Added rubyspec-capiext target This target builds extensions for rubyspec optional C-API tests. commit a6db9e8d7bfbaa6b2880e06b68c60821217b2395 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-21 17:29:51 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-21 17:29:52 +0900 Remove the unused o_file definition It's calculated inside compile_c_to_so again. commit 8750d001c2d02894d0014c1f61009e2bccb8d428 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-21 16:48:39 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-21 16:48:43 +0900 Fix wrong #ifdef usages with #if Apparently #ifdef is always true commit 27d5af59a359909e0d434459c30cfc0940f60a5b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-21 16:31:23 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-21 16:39:30 +0900 Unify some confusing macro usages _MSC_VER used to be the macro to switch JIT compaction. However, since d4381d2ceb, the correct macro to switch it was changed from _MSC_VER to _WIN32. As I didn't properly replace all relevant _MSC_VER usages to _WIN32, these macros have been used inconsistently. nobu replaced _WIN32 with USE_HEADER_TRANSFORMATION in 5eb446d12f3. Therefore we had USE_HEADER_TRANSFORMATION and _MSC_VER. This commit makes sure such inconsistent _MSC_VER usages will be unified to the new header, also renaming it to USE_JIT_COMPACTION to be more precise about the requirements. The header transformation itself is not quite relevant to places changed in this commit. commit ed8e552d4d2c825a3f780ac8bd898eaaca7c21e7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-21 15:41:55 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-21 15:47:54 +0900 Shrink the blocking region for compile_compact_jit_code Isn't setting `in_compact = true` enough to avoid a race condition between JIT compaction and unload_units? Now I think it is. This change will make it easier to spend more time on compile_compact_jit_code. For now it seems to take only 0.0723ms though. commit 3f8c60cf09da72d1d538e39aee890f511b498fea Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-21 15:22:28 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-11-21 15:22:29 +0900 Remove obsoleted str_new_empty since 58325daae3beefda13ed100782cd19a89cc68771. ../string.c:1339:1: warning: ‘str_new_empty’ defined but not used [-Wunused-function] 1339 | str_new_empty(VALUE str) | ^~~~~~~~~~~~~ commit 0960f56a1d773c5417e9de729e159d346aec17ca Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-11-21 15:18:37 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-21 15:18:37 +0900 Eliminate IVC sync between JIT and Ruby threads (#3799) Thanks to Ractor (https://github.com/ruby/ruby/pull/2888 and https://github.com/ruby/ruby/pull/3662), inline caches support parallel access now. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 58325daae3beefda13ed100782cd19a89cc68771 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-25 03:52:30 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-21 09:30:23 +0900 Make String methods return String instances when called on a subclass instance This modifies the following String methods to return String instances instead of subclass instances: * String#* * String#capitalize * String#center * String#chomp * String#chop * String#delete * String#delete_prefix * String#delete_suffix * String#downcase * String#dump * String#each/#each_line * String#gsub * String#ljust * String#lstrip * String#partition * String#reverse * String#rjust * String#rpartition * String#rstrip * String#scrub * String#slice! * String#slice/#[] * String#split * String#squeeze * String#strip * String#sub * String#succ/#next * String#swapcase * String#tr * String#tr_s * String#upcase This also fixes a bug in String#swapcase where it would return the receiver instead of a copy of the receiver if the receiver was the empty string. Some string methods were left to return subclass instances: * String#+@ * String#-@ Both of these methods will return the receiver (subclass instance) in some cases, so it is best to keep the returned class consistent. Fixes [#10845] Notes: Merged: https://github.com/ruby/ruby/pull/3701 commit 08686e71d5c48325ee1bd41c8d7ebcd6c37fa496 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-08-09 01:55:33 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-21 08:26:43 +0900 Do not allow Module#include to insert modules before the origin in the lookup chain Module#include should only be able to insert modules after the origin, otherwise it ends up working like Module#prepend. This fixes the case where one of the modules in the included module chain is included in a module that is already prepended to the receiver. Fixes [Bug #7844] Notes: Merged: https://github.com/ruby/ruby/pull/3796 commit 1f7b557890c41e59b461d42a5fb9e1f25da9b33d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-20 18:30:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-20 18:30:05 +0900 Update expected IRB result commit 69d871eeeb20e63d5e1110812c89013d1dfae203 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-20 12:25:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-20 17:18:27 +0900 [Feature #17276] Moved raise_errors support to Ripper::Lexer#parse commit fac2498e0299f13dffe4f09a7dd7657fb49bf643 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-17 21:17:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-20 16:04:45 +0900 [Bug #11213] let defined?(super) call respond_to_missing? Notes: Merged: https://github.com/ruby/ruby/pull/3777 commit 4b899f91647b7da1174492f891de3d6ee8128458 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-11-20 13:11:05 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-11-20 14:18:14 +0900 Try to fix download error https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10 ``` tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError) OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/gh/gcc-mirror/gcc@master/config.guess ``` Notes: Merged: https://github.com/ruby/ruby/pull/3794 commit 8cbd5f218ba126591a2248dafda66883b260d58d Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-11-17 22:53:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-20 11:47:47 +0900 rename Notes: Merged: https://github.com/ruby/ruby/pull/3769 commit c11c25baefa996fd16ac6b03e2c4cbe8a98b7237 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-11-17 18:41:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-20 11:47:47 +0900 fix code Notes: Merged: https://github.com/ruby/ruby/pull/3769 commit d79cdcb113ed63705f857ac2a7c323db398c4256 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-11-16 13:22:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-20 11:47:47 +0900 add flo_prev_or_next func Notes: Merged: https://github.com/ruby/ruby/pull/3769 commit 1800f3fa5c29515113ecdcc5695e8a96f462b74c Author: Nobuhiro IMAI <nov@yo.rim.or.jp> AuthorDate: 2020-11-19 23:19:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-20 11:44:57 +0900 Ripper.{lex,tokenize} return full tokens even if syntax error yet another implements [Feature #17276] commit 0026f644d739efed0d69911b434a1012ad55c393 Author: Kevin Murphy <murphy.kevin.mail@gmail.com> AuthorDate: 2020-11-20 06:38:43 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-20 09:24:46 +0900 Document Different Coverage Modes This commits adds in documentation to illustrate the different modes you can start coverage with. Examples are provided to show how to start each of these modes, along with an explanation of the mode and a description of the output. Notes: Merged: https://github.com/ruby/ruby/pull/3792 commit 44ad72fa2113d0e111a1cf76327bcc13de8393e1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-19 15:41:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-19 15:41:53 +0900 Added assertions commit 9c1e2a99fcf69c52fa1d8edcd5fe3961353233ab Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-19 15:36:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-19 15:36:21 +0900 Update the default gems section in NEWS.md commit 4a5c42db88d30532bd4fbcdff89615ebf961d2a2 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-19 04:39:59 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-19 07:12:50 +0900 Make RubyVM::InstructionSequence.compile_file use same encoding as load This switches the internal function from rb_parser_compile_file_path to rb_parser_load_file, which is the same internal method that Kernel#load uses. Fixes [Bug #17308] Notes: Merged: https://github.com/ruby/ruby/pull/3788 commit ce3c9a34379015473ad6559e75c59e93159894e5 Author: Cristian Greco <cristian@regolo.cc> AuthorDate: 2020-11-19 03:04:09 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-19 07:11:36 +0900 Fix USE_TRANSIENT_HEAP macro usage in hash.c Additionally fix some typos in transient heap. Notes: Merged: https://github.com/ruby/ruby/pull/3787 commit dc3a65bd99a5d086906bdf299fced99be4d862ac Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-18 15:43:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-18 16:28:46 +0900 [ruby/net-smtp] Bump version to 0.2.1 https://github.com/ruby/net-smtp/commit/6e5c09dcc4 commit 6e487719b4a40aff13128a58012b4e8f12d491b0 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-18 14:47:37 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-18 16:27:41 +0900 Update TypeProf to 0.6.1 Notes: Merged: https://github.com/ruby/ruby/pull/3784 commit cd0877a93e91fecb3066984b3fa2a762e6977caf Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-18 14:15:50 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-18 14:15:50 +0900 Support raise_errors keyword for Ripper.{lex,tokenize,sexp,sexp_raw} Implements [Feature #17276] Notes: Merged: https://github.com/ruby/ruby/pull/3774 Merged-By: jeremyevans <code@jeremyevans.net> commit a776032ef183d6bc1236b2306ada5611b4d6849f Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-11-18 10:52:56 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-11-18 10:52:56 +0900 Move the declaration into the function instead of 'do not call it directly.' comment. commit 519062b3501a128d917cc599184f2b72f38e9c0c Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-18 05:26:35 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 Add Fiddle 1.0.2 to NEWS Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit 0915a02068c885eaf15d1b2ebc7512d0191c7c45 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-18 05:26:15 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 Update Fiddle's dependencies Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit fcd680fbf0e664d47f3b1984694b880110962364 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-18 05:18:55 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Remove needless return https://github.com/ruby/fiddle/commit/50e02f9445 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit aa22b6658ae80a6e9a5404c2e38a80f6a8ab446f Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-17 11:57:12 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Bump version https://github.com/ruby/fiddle/commit/74b65cb858 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit 5c7ef89db4eb97b65ca1601babf76b9396ce75bc Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-17 11:12:09 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] test: suppress shadowing outer local variable warning https://github.com/ruby/fiddle/commit/cf168680a2 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit ceccc16589f97c4e2e95c7ae655551c1e54f5f8b Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-17 08:51:36 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Remove needless workaround It's fixed in upstream. https://github.com/MSP-Greg/ruby-loco/issues/4 https://github.com/ruby/fiddle/commit/2ae0ff4934 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit 3b385c33b840218a51736946624de5b0226d52c8 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-17 06:54:18 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Add workaround for ruby head for mingw https://github.com/ruby/fiddle/commit/bb227c206d Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit 821cfa74cb6c5b778928e880c08d61265e539c60 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-17 06:44:04 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Use msys2_mingw_dependencies https://github.com/ruby/fiddle/commit/fee175a8ff Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit e27701291a48ee939e0d4713f122d30d07c95773 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-11-17 06:04:00 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Use ruby_xcalloc() instead of ruby_xmalloc() and memset() https://github.com/ruby/fiddle/commit/6d24fb5438 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit 1867088d90f6d9116c4c82e875a8e0ed7196bc02 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-09-28 07:06:27 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Remove needless rescue GitHub: fix GH-15 Reported by Eneroth3. Thanks!!! https://github.com/ruby/fiddle/commit/f3d70b81ec Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit aff5eaced4ca458bebc59b62502c2addc3d7364a Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-08-15 13:19:23 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Add workaround for RubyInstaller for Windows See comment for details. https://github.com/ruby/fiddle/commit/0c76f03dc4 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit 307388ea19f5c9d1c8c417d1979c40d970b420a2 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-08-03 06:26:40 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Add a "pinning" reference (https://github.com/ruby/fiddle/pull/44) * Add a "pinning" reference A `Fiddle::Pinned` objects will prevent the objects they point to from moving. This is useful in the case where you need to pass a reference to a C extension that keeps the address in a global and needs the address to be stable. For example: ```ruby class Foo A = "hi" # this is an embedded string some_c_function A # A might move! end ``` If `A` moves, then the underlying string buffer may also move. `Fiddle::Pinned` will prevent the object from moving: ```ruby class Foo A = "hi" # this is an embedded string A_pinner = Fiddle::Pinned.new(A) # :nodoc: some_c_function A # A can't move because of `Fiddle::Pinned` end ``` This is a similar strategy to what Graal uses: https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/PinnedObject.html#getObject-- * rename global to match exception name * Introduce generic Fiddle::Error and rearrange error classes Fiddle::Error is the generic exception base class for Fiddle exceptions. This commit introduces the class and rearranges Fiddle exceptions to inherit from it. https://github.com/ruby/fiddle/commit/ac52d00223 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit e2dfc0c26b1f3d3517002ca2645d1b67847fe518 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-07-09 21:39:51 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Add support for specifying types by name as String or Symbol For example, :voidp equals to Fiddle::TYPE_VOID_P. https://github.com/ruby/fiddle/commit/3b4de54899 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit ae7b53546ca18b56c23f612b6935e98268a07602 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-07-09 20:19:20 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-11-18 09:05:13 +0900 [ruby/fiddle] Add TYPE_CONST_STRING and SIZEOF_CONST_STRING for "const char *" Add rb_fiddle_ prefix to conversion functions.h to keep backward compatibility but value_to_generic() isn't safe for TYPE_CONST_STRING and not String src. Use rb_fiddle_value_to_generic() instead. https://github.com/ruby/fiddle/commit/0ffcaa39e5 Notes: Merged: https://github.com/ruby/ruby/pull/3780 commit 64926d500782cadf578724c3d1e7f59e7aaf200f Author: MSP-Greg <Greg.mpls@gmail.com> AuthorDate: 2020-11-17 23:24:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-18 08:13:10 +0900 test/net/smtp - use TCPSocket when UNIXSocket unavailable Notes: Merged: https://github.com/ruby/ruby/pull/3778 commit 5e3259ea7490a2542d78c433eb8c9d44c7819e61 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-17 16:40:47 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-18 03:52:41 +0900 fix public interface To make some kind of Ractor related extensions, some functions should be exposed. * include/ruby/thread_native.h * rb_native_mutex_* * rb_native_cond_* * include/ruby/ractor.h * RB_OBJ_SHAREABLE_P(obj) * rb_ractor_shareable_p(obj) * rb_ractor_std*() * rb_cRactor and rm ractor_pub.h and rename srcdir/ractor.h to srcdir/ractor_core.h (to avoid conflict with include/ruby/ractor.h) Notes: Merged: https://github.com/ruby/ruby/pull/3775 commit 0683912db888b0421ce4c40ad450ccf75ad7e3f4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-17 17:06:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-17 18:05:15 +0900 Skip tests related TLS with Windows platform. Notes: Merged: https://github.com/ruby/ruby/pull/3776 commit cada6d85d0c1402463fa6066011169898933dd4e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-17 14:17:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-17 14:17:45 +0900 Import net-smtp-0.2.0 from https://github.com/ruby/net-smtp commit fcc88da5eb162043adcba552646677d2ab5adf55 Author: Sergei Trofimovich <slyfox@gentoo.org> AuthorDate: 2020-11-16 17:42:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-17 09:41:59 +0900 configure.ac: fix for upcoming autoconf-2.70 The failure initially noticed on `autoconf-2.69d` (soon to become 2.70): ``` $ ./configure ./configure: line 8720: syntax error near unexpected token `fi' ./configure: line 8720: `fi' ``` Before the change generated `./configure ` snippet looked like: ``` if ! $CC -E -xc - <<SRC >/dev/null then : #if defined __APPLE_CC__ && defined __clang_major__ && __clang_major__ < 3 #error premature clang #endif SRC as_fn_error $? "clang version 3.0 or later is required" "$LINENO" 5 fi ``` Note the newline that breaks here-document syntax. After the change the snippet does not use here-document. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Notes: Merged: https://github.com/ruby/ruby/pull/3773 commit ef19fb111a8c8bf1a71d46e6fcf34b227e086845 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-09-25 21:46:59 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-17 09:39:25 +0900 Expose the rb_interned_str_* family of functions Fixes [Feature #13381] Notes: Merged: https://github.com/ruby/ruby/pull/3586 commit 68ffc8db088a7b29613a3746be5cc996be9f66fe Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-11-13 05:15:30 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-11-17 07:41:40 +0900 Set allocator on class creation Allocating an instance of a class uses the allocator for the class. When the class has no allocator set, Ruby looks for it in the super class (see rb_get_alloc_func()). It's uncommon for classes created from Ruby code to ever have an allocator set, so it's common during the allocation process to search all the way to BasicObject from the class with which the allocation is being performed. This makes creating instances of classes that have long ancestry chains more expensive than creating instances of classes have that shorter ancestry chains. Setting the allocator at class creation time removes the need to perform a search for the alloctor during allocation. This is a breaking change for C-extensions that assume that classes created from Ruby code have no allocator set. Libraries that setup a class hierarchy in Ruby code and then set the allocator on some parent class, for example, can experience breakage. This seems like an unusual use case and hopefully it is rare or non-existent in practice. Rails has many classes that have upwards of 60 elements in the ancestry chain and benchmark shows a significant improvement for allocating with a class that includes 64 modules. ``` pre: ruby 3.0.0dev (2020-11-12T14:39:27Z master 6325866421) post: ruby 3.0.0dev (2020-11-12T20:15:30Z cut-allocator-lookup) Comparison: allocate_8_deep post: 10336985.6 i/s pre: 8691873.1 i/s - 1.19x slower allocate_32_deep post: 10423181.2 i/s pre: 6264879.1 i/s - 1.66x slower allocate_64_deep post: 10541851.2 i/s pre: 4936321.5 i/s - 2.14x slower allocate_128_deep post: 10451505.0 i/s pre: 3031313.5 i/s - 3.45x slower ``` Notes: Merged: https://github.com/ruby/ruby/pull/3764 commit ebb96fa8808317ad53a4977bff26cf755d68077e Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-11-12 06:38:03 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-11-17 07:41:17 +0900 Fix singleton class cloning Before this commit, `clone` gave different results depending on whether the original object had an attached singleton class or not. Consider the following setup: ``` class Foo; end Foo.singleton_class.define_method(:foo) {} obj = Foo.new obj.singleton_class if $call_singleton clone = obj.clone ``` When `$call_singleton = false`, neither `obj.singleton_class.singleton_class` nor `clone.singleton_class.singleton_class` own any methods. However, when `$call_singleton = true`, `clone.singleton_class.singleton_class` would own a copy of `foo` from `Foo.singleton_class`, even though `obj.singleton_class.singleton_class` does not. The latter case is unexpected and results in a visibly different clone, depending on if the original object had an attached class or not. Co-authored-by: Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com> Notes: Merged: https://github.com/ruby/ruby/pull/3761 commit 084e7e31b257f6ac859769553b4c1c6ca2930152 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-16 16:40:04 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-17 07:33:38 +0900 remain enabled and line specified trace points If two or more tracepoints enabled with the same target and with different target lines, the only last line is activated. This patch fixes this issue by remaining existing trace instructions. [Bug #17302] Notes: Merged: https://github.com/ruby/ruby/pull/3770 commit 1ee8d4b0ac5f9512fc507ae4fb861c60faaadaf6 Author: Tomás Coêlho <36938811+tomascco@users.noreply.github.com> AuthorDate: 2020-11-17 02:30:48 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-11-17 02:38:10 +0900 Fix typo on Proc docs Notes: Merged: https://github.com/ruby/ruby/pull/3772 commit 8985add9eb9d2f1f7bc8213e0f02baeed4e408e6 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-16 17:44:52 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-16 17:44:52 +0900 Update TypeProf to 0.5.2 commit bcd29fed695ba106d1074c0671a4ff47d0fdd5db Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-11-15 00:00:21 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-16 17:44:08 +0900 Update TypeProf to 0.5.1 Notes: Merged: https://github.com/ruby/ruby/pull/3765 commit 57ab779a9c2cc4acf7f3733a2100d1204b1e0c43 Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-11-14 22:36:49 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-16 17:44:08 +0900 Update RBS to 0.17.0 Notes: Merged: https://github.com/ruby/ruby/pull/3765 commit f5bb9115a7f69c32089b9b970933c3507fb9f82b Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-15 15:14:35 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-16 08:25:32 +0900 Use more specific warning for ambiguous slash Fixes [Bug #17124] Notes: Merged: https://github.com/ruby/ruby/pull/3767 commit fd46ff9d421dd1ad20bf3275f3289477e836ce8c Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-11-16 07:44:48 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-11-16 07:44:48 +0900 NEWS: merge Range and Regexp being frozen [doc] commit 0433f5ae4d14ca433b6f6d5e855d6ef8cd4c8021 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-15 09:56:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-15 09:59:29 +0900 Functions defined in headers should be static inline commit 311a66b7f5de767b4e41da06c9b043bdc92f1b6c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-14 19:22:38 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-14 19:22:38 +0900 Update TypeProf to 0.5.0 commit 782621054178c5518b76cd5a1ee3588daf69854f Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-11-13 03:19:41 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-11-14 01:46:08 +0900 Use rb_attr_get() for hidden ivar rb_ivar_get() can issue an uninitialized ivar warning. We never want to issue warnings about hidden ivars as they are not actionable for users. Notes: Merged: https://github.com/ruby/ruby/pull/3763 commit ce9beb9d20187c861462282460b998684759e5e7 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-19 00:18:39 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-14 00:06:13 +0900 Improve error message when subclassing non-Class Fixes [Bug #14726] Notes: Merged: https://github.com/ruby/ruby/pull/3330 commit 6d05967468ea58ba481259718f07b3cb5a386945 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-13 21:17:24 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-13 21:17:24 +0900 Update to ruby/spec@b0b7f53 commit acbe7aa19705905e7ad1952395e98e8bfe583a97 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-13 21:17:22 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-13 21:17:22 +0900 Update to ruby/mspec@f8b0618 commit 69c5474e108a849a2bf71ff38f81efa433f2065f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-13 13:19:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-13 13:19:38 +0900 Fixup 957efa95cc12c608705a5663256226f022ea6c7f commit e70a1d9b7f71b0ed4a5808e24447dfef445c56ad Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-13 12:02:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-13 12:06:42 +0900 Revert https://github.com/ruby/webrick/pull/44 Because the test for this change was still broken. commit 37e5b367c1925fe04855713c8ec1ad963285e938 Author: hisanori <hisary@gmail.com> AuthorDate: 2020-09-26 21:04:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-13 11:36:50 +0900 [ruby/webrick] add mime type of extension .mjs https://github.com/ruby/webrick/commit/45d68f9eba commit 957efa95cc12c608705a5663256226f022ea6c7f Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-16 00:38:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-13 11:35:10 +0900 [ruby/webrick] Allow empty POST and PUT requests without content length RFC 7230 section 3.3.3 allows for this. Fixes https://github.com/ruby/webrick/pull/30 https://github.com/ruby/webrick/commit/069e9b1908 commit 6325866421d552c43ecc0f631fc9e848f9a2862f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-12 23:36:47 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-12 23:39:27 +0900 spec/ruby/core/file/utime_spec.rb: XFS seems to have Year 2038 problem https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201112T123004Z.fail.html.gz ``` 1) File.utime allows Time instances in the far future to set mtime and atime (but some filesystems limit it up to 2446-05-10) FAILED Expected [559444, 2446].include? 2038 to be truthy but was false /home/chkbuild/chkbuild/tmp/build/20201112T123004Z/ruby/spec/ruby/core/file/utime_spec.rb:80:in `block (4 levels) in <top (required)>' /home/chkbuild/chkbuild/tmp/build/20201112T123004Z/ruby/spec/ruby/core/file/utime_spec.rb:3:in `<top (required)>' ``` ``` $ touch foo $ ./miniruby -e 'time = Time.at(1<<44); File.utime(time, time, "foo")' $ ls -l foo -rw-r--r--. 1 mame wheel 0 Jan 19 2038 foo ``` commit 028d52bb940d03c120bf274748f52794d001af47 Author: Akira Matsuda <ronnie@dio.jp> AuthorDate: 2020-11-04 21:30:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-12 21:35:17 +0900 [ruby/date] Numeric already includes Comparable https://github.com/ruby/date/commit/f6140df0ad commit 33574d57f19a19bab1d7ce70d3020150056624bf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-29 23:52:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-12 21:35:06 +0900 [ruby/date] Updated timezones from timeanddate.com https://github.com/ruby/date/commit/f08175e34d commit 81dece54d621c8dd10bb990de487d46a306cedb2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-29 23:52:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-12 21:34:54 +0900 [ruby/date] Honor timezones from timeanddate.com https://github.com/ruby/date/commit/d20380fc55 commit d65f1140b94e4817fba4a37efd512c0653a0baf1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-29 23:38:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-12 21:34:43 +0900 [ruby/date] Fixed the script file name to update zonetab.list https://github.com/ruby/date/commit/3c002b1daa commit 0fdcb947e8c3aa3596ce2274cda111e409272430 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-09-25 21:24:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-12 21:34:31 +0900 [ruby/date] [DOC] declate DateTime class is deprecated https://github.com/ruby/date/commit/58ca6e6a3e commit e8f8e63f0aa980d90ee3135376035e3cf006a419 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-12 21:05:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-12 21:05:59 +0900 Backport cosmetic changes from upstream repo that is ruby/rdoc commit ffc8cf12e203275a34a710f392e99cb0d2001a2f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-12 21:05:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-12 21:05:33 +0900 Fixed typo commit a237617a5b75b8d541ddbec02363bd99b8adeb49 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-12 16:58:10 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-12 16:59:59 +0900 array.rb: Remove unnecessary phrase from rdoc A fix to 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4 commit a02ba60466500639af80e560fbf2311c6db70d8c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-12 16:56:15 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-12 16:59:59 +0900 array.rb: show examples whether `Array#shuffle!` has side effect or not Partially revert 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4 commit fa3670e6e48a8553ad1f37bbfbd112911da497d1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-11 16:15:04 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-11 18:11:09 +0900 remove Ractor#close close_incoming by antoher ractor means there is no other messages will be sent to the ractor, so Ractor.receive will block forever, and it should raise and stop. close_outgoing by antoher ractor means, ... I don't have good idea to use it. It can be a private method. Ractor#close calls both, but it does not make sense to call different purpose methods, so I remove it. Notes: Merged: https://github.com/ruby/ruby/pull/3759 commit deed21bb08170431891b65fda26f4a3557c9ffd4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-11 01:55:28 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-11 18:10:43 +0900 ignore yield_atexit if outgoing port is closed If outgoing_port is closed, Ractor.yield never successes. [Bug #17310] Notes: Merged: https://github.com/ruby/ruby/pull/3755 commit db31ace934e8b900e90853bd875f23195837b398 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-10 18:21:11 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-11 15:49:02 +0900 Threads in a ractor will be killed with the ractor If a terminating ractor has child threads, then kill all child threads. Notes: Merged: https://github.com/ruby/ruby/pull/3754 commit 1e8abe5d03ae386af82e2c95ef05170cd9791889 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-11 14:37:31 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-11 15:49:02 +0900 introduce USE_VM_CLOCK for windows. The timer function used on windows system set timer interrupt flag of current main ractor's executing ec and thread can detect the end of time slice. However, to set all ec->interrupt_flag for all running ractors, it is requires to synchronize with other ractors. However, timer thread can not acquire the ractor-wide lock because of some limitation. To solve this issue, this patch introduces USE_VM_CLOCK compile option to introduce rb_vm_t::clock. This clock will be incremented by the timer thread and each thread can check the incrementing by comparison with previous checked clock. At last, on windows platform this patch introduces some overhead, but I think there is no critical performance issue because of this modification. Notes: Merged: https://github.com/ruby/ruby/pull/3754 commit dd07354f2797473261f06159801e50dc6445ef76 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-10 16:59:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-11 09:27:36 +0900 Use Fiddle::Importer directly Notes: Merged: https://github.com/ruby/ruby/pull/3712 commit 5081bd96753d637d213315ccd8e5efdbf2222a03 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-10 15:39:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-11 09:27:36 +0900 Removed win32/resolv.rb for 32bit env Notes: Merged: https://github.com/ruby/ruby/pull/3712 commit ff67aac193eed4e5ea0a6801d0903ddc35f21be0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-10 13:56:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-11 09:27:36 +0900 Removed win32api Notes: Merged: https://github.com/ruby/ruby/pull/3712 commit 4465099a2249796e1588e8903302b4d7f2b84d80 Author: Fabio Sangiovanni <sjh+github@sanjioh.org> AuthorDate: 2020-11-11 02:15:57 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-11-11 03:24:03 +0900 Fix some typos in NEWS.md. Notes: Merged: https://github.com/ruby/ruby/pull/3756 commit 0b19f33480a026d0ddd17933cbd947466dd58c82 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-10 21:26:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-10 21:35:04 +0900 [ruby/racc] Bump version to 1.5.1 https://github.com/ruby/racc/commit/2cb3055a73 commit 4a03df4507971e35732935cc2eb4a3bd9bf4a1a5 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-10 21:12:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-10 21:21:07 +0900 [ruby/racc] skip the failing test with JRuby https://github.com/ruby/racc/commit/cf37713895 commit 5a19b492dad5a444826d18cf6d1a1261464a02c4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-10 21:00:49 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-10 21:20:31 +0900 [ruby/racc] Use the Ruby license. Fix https://github.com/ruby/racc/pull/134 https://github.com/ruby/racc/commit/7c881cd548 commit 9728cb730f29783f949ba2824f4e411c6abade18 Author: U.Nakamura <usa@ruby-lang.org> AuthorDate: 2020-11-10 14:45:15 +0900 Commit: U.Nakamura <usa@ruby-lang.org> CommitDate: 2020-11-10 14:45:15 +0900 Use fiddle (win32/importer) instead of Win32API - ext/win32/lib/win32/sspi.rb: Use fiddle (win32/importer) instead of Win32API commit 17e7a819f71f156316a69f5e42dc7e0c077f3735 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-10 12:14:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-10 13:14:42 +0900 Complex and Rational is embedded classes now Notes: Merged: https://github.com/ruby/ruby/pull/3753 commit b958e2add835d62c0a62edaf9a23ecbbd70a3635 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-23 14:38:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-10 11:14:15 +0900 Removed canonicalization for mathn Notes: Merged: https://github.com/ruby/ruby/pull/3691 commit 8b3653b484a1130987c6b774c71e69a4a64a4f27 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-11-06 01:50:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-10 11:04:00 +0900 Fix links Notes: Merged: https://github.com/ruby/ruby/pull/3738 commit b557c5768c7642d232a6a0268d6876651d40204b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-10 10:44:45 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-10 10:44:45 +0900 refactoring. iv_index_tbl_newsize() usually returns iv_index_tbl->num_entries because ivup->iv_extended is usually false. commit 2fed5f0ad806869139d0e0b1ffc30c517e6baf20 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-09 19:49:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-10 07:49:19 +0900 lib/racc/statetransitiontable.rb: Make the racc output stable Racc calls `Array#sort!` to build a state transition table. As `Array#sort!` is not a stable sort, the output may differ depending upon the environment. This changeset makes the sort stable manually, and updates all expectation files. Notes: Merged: https://github.com/ruby/ruby/pull/3749 commit d7581370fd7cef8743c317a1a119215cf064bb73 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-10 05:02:20 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-10 07:05:41 +0900 Add a benchmark for polymorphic ivar setting This benchmark demonstrates the performance of setting an instance variable when the type of object is constantly changing. This benchmark should give us an idea of the performance of ivar setting in a polymorphic environment Notes: Merged: https://github.com/ruby/ruby/pull/3750 commit 4219cb7adb0240fa92cd044b2feebb66b7702ca1 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-10 04:59:18 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-10 07:05:41 +0900 Add debug counter for ivar inline cache misses that could hit This commit adds a debug counter for the case where the inline cache *missed* but the ivar index table has an entry for that ivar. This is a case where a polymorphic cache could help Notes: Merged: https://github.com/ruby/ruby/pull/3750 commit f259906eabac6038bb7c79e426c17ae850c8e017 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-10 04:20:29 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-10 07:05:41 +0900 Avoid slow path ivar setting If the ivar index table exists, we can avoid the slowest path for setting ivars. Notes: Merged: https://github.com/ruby/ruby/pull/3750 commit 6778ba48fddcab1bca56b9bccc7ea5f9583baba8 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-11-07 09:01:49 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-11-10 06:08:36 +0900 Fix excessive GC rooting rb_vm_add_root_module() is enough to make sure the object become a GC root. Notes: Merged: https://github.com/ruby/ruby/pull/3741 commit 6817f4c6b1ab58d74bab989de984bd1d84be233c Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-11-10 00:27:31 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-11-10 06:08:36 +0900 rb_vm_add_root_module(): Remove unused parameter Notes: Merged: https://github.com/ruby/ruby/pull/3741 commit f649946fb948165905fa10ed8d4707a7bcfbb78f Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-07 07:43:36 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-10 02:44:16 +0900 remove unused debug counter Notes: Merged: https://github.com/ruby/ruby/pull/3740 commit 2324584d465fc36bc5ae9d8a10235f35d308552c Author: Aaron Patterson <aaron.patterson@shopify.com> AuthorDate: 2020-11-07 05:51:13 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-10 02:44:16 +0900 Update vm_insnhelper.c Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/3740 commit 5582c5a2327d824e872f7f5bd22330094f189d66 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-07 04:33:43 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-10 02:44:16 +0900 Remove iv table size check iv tables cannot shrink. If the inline cache was ever set, then there must be an entry for the instance variable in the iv table. Just set the iv list on the object to be equal to the iv index table size, then set the iv. Notes: Merged: https://github.com/ruby/ruby/pull/3740 commit eb229994e5b53e201e776ea103970751d3b1725b Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-07 03:11:20 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-10 02:44:16 +0900 eagerly initialize ivar table when index is small enough When the inline cache is written, the iv table will contain an entry for the instance variable. If we get an inline cache hit, then we know the iv table must contain a value for the index written to the inline cache. If the index in the inline cache is larger than the list on the object, but *smaller* than the iv index table on the class, then we can just eagerly allocate the iv list to be the same size as the iv index table. This avoids duplicate work of checking frozen as well as looking up the index for the particular instance variable name. Notes: Merged: https://github.com/ruby/ruby/pull/3740 commit d14397bcc48b73070953c9fbd410ba435e5f4b8c Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-11-09 16:16:30 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-11-09 16:16:30 +0900 `fe80` should be case insensitive too commit ba1472f43a80b3d9b6853ad4c70c7b1692a4a20f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-09 14:18:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-09 14:18:38 +0900 Removed needless require for 'enumerator' commit b8eb08e0963cff5f3963780b68514c365613609f Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-09 00:49:03 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-09 00:49:33 +0900 Fix TestFiberMutex#test_condition_variable assertion * Now that it works correctly. commit fcf8b9ef72aba39e10c5faa134a01ec37ec0bce6 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-08 23:32:44 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-08 23:32:44 +0900 test/resolv/test_dns.rb: suppress "assigned but unused variable" commit 54ac1d7717a96a27966130b17b75c59597649473 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-08 16:41:01 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-08 16:42:02 +0900 Support s390 IPv6 link local addresses commit bed4848661d4a0397b36f481c0c0940277cc31f8 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-11-08 15:55:27 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-11-08 16:40:52 +0900 Urgent notification pipe has same lifetime as scheduler. Notes: Merged: https://github.com/ruby/ruby/pull/3743 commit 57b83dad4cd3c7d4b2a29829a1cb194c9b5ee9d1 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-11-08 12:19:39 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-11-08 16:40:52 +0900 Defer `kernel_sleep` to `block` to avoid exiting the event loop when duration is nil. Notes: Merged: https://github.com/ruby/ruby/pull/3743 commit c39984ec5cc6dc94eb0c0e4169e7160f71e89240 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-11-08 12:17:04 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-11-08 16:40:52 +0900 Tidy up book keeping for `thread->keeping_mutexes`. When a scheduler is present, it's entirely possible for `th->keeping_mutexes` to be updated while enumerating the waitq. Therefore it must be fetched only during the removal operation. Notes: Merged: https://github.com/ruby/ruby/pull/3743 commit f73135233b1437eb2cc6a5c8c732adca1dbd41f2 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-11-08 12:14:43 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-11-08 16:40:52 +0900 Don't try to resume blocked fiber on dead thread. Notes: Merged: https://github.com/ruby/ruby/pull/3743 commit afe3cb782bbdb5ef38c865b1c857e6cd9083e978 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-11-08 12:12:55 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-11-08 16:40:52 +0900 `Fiber.new(blocking: false)` is now the default. Notes: Merged: https://github.com/ruby/ruby/pull/3743 commit 2f12af42f7f26d570219b87a89294532a86a8ae2 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-08-25 04:39:08 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-08 06:47:45 +0900 Add support for IPv6 link local addresses to resolv Now that it should work correctly, test that every address returned by Socket.ip_address_list is resolvable. Socket works with IPv6 link local addresses, and ipaddr now does as well, so I think resolv should support them. Fixes [Bug #17112] Notes: Merged: https://github.com/ruby/ruby/pull/3452 commit 9682db065158da5fa4ec8a3bc267da45b429b92c Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-12 06:28:20 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-08 06:12:27 +0900 Remove sender/message_id pair after response received in resolv Once a response for a given DNS request has been received (which requires a matching message id), the [sender, message_id] pair should be removed from the list of valid senders. This makes it so duplicate responses from the same sender are ignored. Fixes [Bug #12838] Notes: Merged: https://github.com/ruby/ruby/pull/3536 commit 5823f6c25b4382cbc156bb990f9c3ce94ff257ed Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-07 22:12:22 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-07 22:12:22 +0900 Fix indentation commit 640fd94effab28fa3d90ecb838d9702e1dea9b9c Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-07 22:05:20 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-07 22:05:20 +0900 Fix and remove spec testing undefined behavior commit 5b3572b5aec742a2a6355f0212a84759983a6b4e Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-11-07 17:37:36 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-11-07 19:39:50 +0900 Update dependencies Notes: Merged: https://github.com/ruby/ruby/pull/3742 commit a08ee8330d3d739467bfa34deeb797d83e59ed3c Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-10-16 10:25:58 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-11-07 19:39:50 +0900 Rename to `Fiber#set_scheduler`. Notes: Merged: https://github.com/ruby/ruby/pull/3742 commit f234f2740dc060ab565899f726101ebf79f5c71e Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-11-05 01:24:38 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-07 02:55:26 +0900 Add docs for some C extension GC APIs Notes: Merged: https://github.com/ruby/ruby/pull/3733 commit 037803e092e3a8deb07ebd44840ef5ce12843985 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-06 17:42:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-06 17:42:57 +0900 Added dependency for net-protocol commit 7718e9588b4d7d83c8f9a89dce10b06b9f97bddb Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-06 03:21:08 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-06 16:14:36 +0900 a part of T_DATA object can Ractor#send T_DATA objects can refer unshareable objects and they should be copied recursively, however there is no way to replace with copied unshareable objects. However, if a T_DATA object refers only shareable objects, there is no need to replace. So this kind of T_DATA object (such as Time, Dir, File::Status and so on) can be sent by Ractor.send. Notes: Merged: https://github.com/ruby/ruby/pull/3739 commit 4948982b53ef18d367738ede6a32df46353cb9a7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-06 13:28:58 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-06 13:28:58 +0900 Update TypeProf to 0.4.2 commit 6d17c9fa5d6c578dd53e431c3fb4f288cce6248e Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-06 05:28:50 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-06 05:28:50 +0900 gc_rest can change the total pages, so we need to do that first commit d8da5c198348eac3d3d7a3e13dfb8a9351ed07ae Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-06 05:27:09 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-06 05:27:09 +0900 add asserts to find crash commit ab5f2fa4fb5b89a71080cd51e192a3882696fe04 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-06 04:13:04 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-06 04:13:04 +0900 Refactor verification method Combine everything in to one C function commit 68a3a2d90f96b46e5c20659ea3eef3f554fbf542 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-06 01:51:40 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-06 01:51:40 +0900 take VM lock when mutating the heap commit 8014ed9bd2279100de000a59f774bdd04945a20b Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-11-06 00:11:48 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-06 00:11:48 +0900 Update RBS & TypeProf (#3732) * Bundle rbs 0.16.0 * Bundle typeprof 0.4.1 Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 3407b7d8a620562d0584cd2968965317f331f8cc Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-11-05 20:54:34 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-11-05 20:54:34 +0900 Revert "Prefer #send over #__send__ when it is clear there is no possible conflict" This reverts commit 4dba0c1a8e3cc08664872e637099c4e7d58d24d3. Matz's comment is "send is not deprecated. __send__ is safer". But "Prefer #send over #__send__" is not reasonable. commit b29fe5eb2ded0363c631b2739676e631ed024d66 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-11-05 20:51:17 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-11-05 20:51:48 +0900 Add description __send__ is safer commit b2ca183cc94c3de89c68d81d086c7884d142fb17 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-05 20:21:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-05 20:21:31 +0900 Promote un.rb to the default gems. It's preparation for 3.0.0-preview2. commit 4dba0c1a8e3cc08664872e637099c4e7d58d24d3 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-11-05 19:23:27 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-11-05 19:23:27 +0900 Prefer #send over #__send__ when it is clear there is no possible conflict * Reverts part of 3198e7abd70bd2af977f2bb6c967e9df8f91adb0. * If the rule is #send should be deprecated, that should be ruled by matz, there is no such rule currently and gems seem to prefer #send overwhelmingly. commit 2aa9a50dcc88b876f8298adda737400973e8029f Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-11-05 06:11:56 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-11-05 07:52:03 +0900 [ruby/ostruct] Update version Notes: Merged: https://github.com/ruby/ruby/pull/3736 commit 015b0238204616d4c0612459ef91411fa79a9eb5 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-11-05 06:09:51 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-11-05 07:52:03 +0900 [ruby/ostruct] Restore `ostruct` doc Notes: Merged: https://github.com/ruby/ruby/pull/3736 commit 6f24be856502aba8fa984e704c1e81aa12d96fc9 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-11-05 06:01:37 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-11-05 07:52:03 +0900 Revert "Make `marshal_load` public" This reverts commit ee7cc6ac35cfb056b3946b1dcd6d4d5a140ccacf. I'm not sure I agree with the spec, but I just tweaked it. Notes: Merged: https://github.com/ruby/ruby/pull/3736 commit 70680feeea9e9e2c13ab5e456c2d0ffe0142bb12 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-05 05:04:23 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-05 07:40:50 +0900 Simplify setting instance variables Since T_OBJECT objects come to life as embedded objects, that means that ROBJECT_NUMIV will always return a _minimum_ of ROBJECT_EMBED_LEN_MAX. If ivup.index is *greater* than ROBJECT_NUMIV, then we know that the object *must not* be an embedded object. Thus we can skip the ROBJECT_EMBED_LEN_MAX check as well as initializing internals of embedded objects. Notes: Merged: https://github.com/ruby/ruby/pull/3734 commit a8581ce673e14ba5ff48d0a3cb71368daa82558b Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-05 04:33:59 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-05 07:40:50 +0900 ensure T_OBJECT objects have internals initialized Notes: Merged: https://github.com/ruby/ruby/pull/3734 commit 704fb0b815151504f731c9ddb52cad0b530b545f Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-11-04 18:45:48 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-11-04 18:45:48 +0900 Suppress a warning ``` transient_heap.c: In function ‘transient_heap_allocatable_header’: transient_heap.c:347:37: warning: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘long unsigned int’ [-Wsign-compare] 347 | TH_ASSERT(block->info.index <= TRANSIENT_HEAP_USABLE_SIZE); | ^~ ``` commit d42c68e912f04441cfa27188223e90ac44611bb6 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-04 17:07:01 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-04 17:07:01 +0900 Bundle TypeProf 0.4.0 commit f211f9cda4b4817caf0f203a95b07cdab193d0b5 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-11-04 13:30:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-11-04 13:30:27 +0900 use https commit ae53fda013f669cde835c7ddb157c7c9d177a0f2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-11-04 10:56:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-11-04 12:11:13 +0900 .travis.yml: delete x86_64 Is already covered by Github Actions. Notes: Merged: https://github.com/ruby/ruby/pull/3731 commit 4c6700964d92656f5fa4e6ae0b18f822b4870548 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-11-04 10:51:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-11-04 12:11:13 +0900 .travis.yml: delete sanitizer tests They were not working. Notes: Merged: https://github.com/ruby/ruby/pull/3731 commit 8eca97c04945e7b252a411fefe80ce41bfc0a202 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-11-02 15:26:32 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-11-04 12:11:13 +0900 .github/workflows/baseruby.yml: add Translate a part of .travis.yml into a Github Actions workflow. Notes: Merged: https://github.com/ruby/ruby/pull/3731 commit bf1047c7570a7544c39ebc819715e2810dd2c1c3 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-04 07:06:11 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-11-04 07:09:20 +0900 Update NEWS for Array methods change commit 2a294d499bf03211d02695f613f784a05943ea35 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-11-04 07:01:38 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-11-04 07:01:38 +0900 Make Array methods return Array instances instead of subclass instances This changes the following methods to return Array instances instead of subclass instances: * Array#drop * Array#drop_while * Array#flatten * Array#slice! * Array#slice/#[] * Array#take * Array#take_while * Array#uniq * Array#* Fixes [Bug #6087] Notes: Merged: https://github.com/ruby/ruby/pull/3690 Merged-By: jeremyevans <code@jeremyevans.net> commit 700637570ff63c0fa3b2373b6e5d7053b5fc35a2 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-04 00:51:44 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-04 00:51:44 +0900 Rightward assignment is replaced by one-line pattern matching commit c3e2dd072aa46be3d13faff9a5fed0ba64b2b680 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-11-03 23:32:40 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-11-03 23:32:40 +0900 test/ruby/test_gc_compact.rb: suppress "assigned but unused variable" commit 4f7d27a2103350e6897d33e5714c672652d74ab6 Author: Luciano Sousa <ls@lucianosousa.net> AuthorDate: 2020-11-03 09:26:31 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-11-03 09:48:21 +0900 Fix typo in the auto compact announcement [ci-skip] I'm sorry, but I think there is a typo here. This fix will help folks who are trying to translate this announcement to other languages. I hope this is not a joke and I didn't get it 🙏 Notes: Merged: https://github.com/ruby/ruby/pull/3730 commit 67b2c21c327c96d80b8a0fe02a96d417e85293e8 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-11-03 07:40:29 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-11-03 07:42:48 +0900 Add `GC.auto_compact= true/false` and `GC.auto_compact` * `GC.auto_compact=`, `GC.auto_compact` can be used to control when compaction runs. Setting `auto_compact=` to true will cause compaction to occur during major collections. At the moment, compaction adds significant overhead to major collections, so please test first! [Feature #17176] commit 79b242260bc0530503dde85eda8e79b1c2aa9a6e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-02 22:48:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-02 22:49:42 +0900 ripper: Invalid pragma value warning commit 539b89075a61f27c8b5b5cd749f66bda47bc78b0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-11-02 18:24:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-11-02 18:24:45 +0900 Compare boolean values for parser pragma locale-insensitively commit 5fefb532493bc0e80db78322d5fe0eb49b940e31 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-01 10:20:26 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-02 03:31:58 +0900 Copy for Ractor.send() without marshal. Now copying objects do not need marshal protocol. Notes: Merged: https://github.com/ruby/ruby/pull/3728 commit db7a3b63bae810a03b19b5577ded1403bb789185 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-01 09:56:40 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-02 01:37:28 +0900 suppport Ractor.send(move: true) for more deta This patch allows to move more data types. Notes: Merged: https://github.com/ruby/ruby/pull/3727 commit 963359a7622fb064331504a29a8bf65283d25551 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-01 18:58:52 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-01 19:00:22 +0900 Use the suppress_warning helper instead of doing it manually commit 7282f3113ddb117f5d4ea13a60c223a3911ea224 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-01 18:19:05 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-01 18:19:58 +0900 Suppress "One-line pattern matching is experimental" warning commit e0e2492cd30eb76f084f189060de9a79d619f16e Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-01 17:24:36 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-01 17:37:03 +0900 Fix Rubyspec (ruby-2.7) failures https://github.com/ruby/ruby/runs/1337845174 commit e03e1982bdc2d815298b211d44534908d79aec4e Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-01 16:19:07 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-01 16:19:07 +0900 Change NODE layout for pattern matching I prefer pconst to be the first element of NODE. Before: | ARYPTN | FNDPTN | HSHPTN ---+--------+--------+----------- u1 | imemo | imemo | pkwargs u2 | pconst | pconst | pconst u3 | apinfo | fpinfo | pkwrestarg After: | ARYPTN | FNDPTN | HSHPTN ---+--------+--------+----------- u1 | pconst | pconst | pconst u2 | imemo | imemo | pkwargs u3 | apinfo | fpinfo | pkwrestarg commit 305c79af2f3358f3c330b00c6a883634894bc35c Author: Rei Odaira <rodaira@us.ibm.com> AuthorDate: 2020-11-01 14:12:01 +0900 Commit: Rei Odaira <rodaira@us.ibm.com> CommitDate: 2020-11-01 14:12:55 +0900 ext/socket/rubysocket.h: avoid the conflict of T_DATA definition in AIX commit 0e33028d69a25c512df1a44f930652c9a5c5b153 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-11-01 13:55:54 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-11-01 13:55:54 +0900 use one-line pattern matching for warning tests commit b60153241121297c94de976419d421683da4d51b Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-11-01 13:28:24 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-11-01 13:33:58 +0900 Pattern matching is no longer experimental commit 4f8d9b0db84c42c8d37f75de885de1c0a5cb542c Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-10-31 11:53:20 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-10-31 11:56:41 +0900 Revert "Use adjusted sp on `iseq_set_sequence()`" and "Delay `remove_unreachable_chunk()` after `iseq_set_sequence()`" This reverts commit 3685ed7303fc08bf68cd3cc8d11e22a8ce63a067 and 5dc107b03f5cf32656a5308574b90458486c633c. Because of some CI failures https://github.com/ruby/ruby/pull/3404#issuecomment-719868313. commit dd2f99d94a50de3c8da3a62c4cdd8b2d0a2c11f3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-31 10:51:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-31 10:51:57 +0900 Removed unused variable commit 3685ed7303fc08bf68cd3cc8d11e22a8ce63a067 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-07 07:59:50 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-10-31 09:18:37 +0900 Use adjusted sp on `iseq_set_sequence()` Notes: Merged: https://github.com/ruby/ruby/pull/3404 commit 5dc107b03f5cf32656a5308574b90458486c633c Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-07 07:51:19 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-10-31 09:18:37 +0900 Delay `remove_unreachable_chunk()` after `iseq_set_sequence()` Notes: Merged: https://github.com/ruby/ruby/pull/3404 commit 670e288d653853de385798bb31044f9f478d9543 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-10-25 03:33:46 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-10-31 08:47:14 +0900 Add warning for str_new_static functions Many functions in string.c assume that capa + termlen to be readable memory. Add comment in header to communicate this to extension authors. See also: comment in str_fill_term() Notes: Merged: https://github.com/ruby/ruby/pull/3698 commit 520b86caf1b6e954c5fbe61a3a83bc5b4716c988 Author: Alan Wu <alanwu@ruby-lang.org> AuthorDate: 2020-10-31 08:34:41 +0900 Commit: Alan Wu <alanwu@ruby-lang.org> CommitDate: 2020-10-31 08:34:41 +0900 Move variable closer to usage commit bd6cd851552df411053c1e3154ee781e7d1adadf Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-10-24 13:01:17 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-31 04:22:18 +0900 Tweak return of `Ractor#close`, add doc Notes: Merged: https://github.com/ruby/ruby/pull/3696 commit fd089276999393a6f6bb2a0b614ac76ca6151ab2 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-31 00:40:04 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-31 01:48:00 +0900 Ractor's "will" doesn't need copying. `r = Ractor.new{ expr }` generates the block return value from `expr` and we can get this value by `r.take`. Ractor.yield and Ractor#take passing values by copying on default. However, the block return value (we named it "will" in the code) is not referred from the Ractor because the Ractor is already dead. So we can pass the reference of "will" to another ractor without copying. We can apply same story for the propagated exception. Notes: Merged: https://github.com/ruby/ruby/pull/3724 commit 66bf743b9309b479b6d5389e315ca54ea73aafae Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-30 21:45:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-30 21:45:23 +0900 Promote debug.rb to default gems. It have no upstream repo yet. This change is experimental for 3.0.0-preview2. commit 89c8ca32d0a8542c9360f45734c799d81c4738ad Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-30 16:48:42 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-30 16:52:09 +0900 add a test of define_method with shareable Proc. a method defined by define_method with normal Proc can not cross ractors because the normal Proc is not shareable. However, shareable Proc can be crossed between ractors, so the method with shareable Proc should be called correctly. commit 08ddc335ea34829df756c164ceb13c56f0377d37 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-30 16:47:08 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-30 16:52:09 +0900 sync vm->waiting_fds correctly. vm->waiting_fds is global resource so we need to lock it correctly. (forgot to sync one place) commit a1828a1ff455807f16eea265f7077d6475fee46a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-30 14:34:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-30 15:18:50 +0900 Promote win32ole to default gems. But win32ole gem is still experimental for 3.0.0-preview2. I'm working to extract this library on https://github.com/ruby/win32ole. commit 5d97bdc2dcb835c877010daa033cc2b1dfeb86d6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-30 00:32:53 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-30 03:12:09 +0900 Ractor.make_shareable(a_proc) Ractor.make_shareable() supports Proc object if (1) a Proc only read outer local variables (no assignments) (2) read outer local variables are shareable. Read local variables are stored in a snapshot, so after making shareable Proc, any assignments are not affeect like that: ```ruby a = 1 pr = Ractor.make_shareable(Proc.new{p a}) pr.call #=> 1 a = 2 pr.call #=> 1 # `a = 2` doesn't affect ``` [Feature #17284] Notes: Merged: https://github.com/ruby/ruby/pull/3722 commit c0aeb98aa903334f06758d39c772cb22440d8a4e Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-29 07:17:49 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-10-30 00:08:42 +0900 Make ENV.replace handle multiple environ entries with the same key While it is expected that all environment keys are unique, that is not enforced. It is possible by manipulating environ directly you can call a process with an environment with duplicate keys. If ENV.replace was passed a hash with a key where environ had a duplicate for that key, ENV.replace would end up deleting the key from environ. The fix in this case is to not assume that the environment key list has unique keys, and continue processing the entire key list in keylist_delete. Fixes [Bug #17254] Notes: Merged: https://github.com/ruby/ruby/pull/3716 commit 07c03bc30984a496558d9e830bc4fb2f8cfb1854 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-23 13:27:21 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-29 23:42:55 +0900 check isolated Proc more strictly Isolated Proc prohibit to access outer local variables, but it was violated by binding and so on, so they should be error. Notes: Merged: https://github.com/ruby/ruby/pull/3721 commit bf951c763d00a4aee8f8c896d1a97c387fa8f30e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-29 17:37:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-29 18:14:27 +0900 An ellipsis (...) can only be placed at the beginning commit 9f3adaf5293d6347250df218bad9dcd3cd8da9ba Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-29 08:58:17 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-29 10:35:22 +0900 Use public allocators for creating new T_OBJECT objects This way the header flags and object internals are set correctly Notes: Merged: https://github.com/ruby/ruby/pull/3719 commit d8b0f1f7a84bf1ad85d649b125986ce181e79a58 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-29 07:11:06 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-29 08:11:30 +0900 Objects are born embedded, so we don't need to check ivpr It's not necessary to check ivpt because objects are allocated as "embedded" by default commit 58fd54f91472ba8aa96793ce2b131053a47527a0 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-29 06:31:20 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-10-29 07:29:05 +0900 Fix error in update-deps due to tab/space difference Notes: Merged: https://github.com/ruby/ruby/pull/3715 commit dfb3605bbee9c3cfbc1c354594c367472f29cb35 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-29 07:27:00 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-29 07:27:00 +0900 Add Thread.ignore_deadlock accessor Setting this to true disables the deadlock detector. It should only be used in cases where the deadlock could be broken via some external means, such as via a signal. Now that $SAFE is no longer used, replace the safe_level_ VM flag with ignore_deadlock for storing the setting. Fixes [Bug #13768] Notes: Merged: https://github.com/ruby/ruby/pull/3710 Merged-By: jeremyevans <code@jeremyevans.net> commit a99f52d5113a601b6d18bd671dfee24266689ffe Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-29 02:16:57 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-29 02:16:57 +0900 Remove another unnecessary test Same as 5be42c1ef4f7ed0a8004cad750a9ce61869bd768 commit 5be42c1ef4f7ed0a8004cad750a9ce61869bd768 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-29 01:57:44 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-29 01:57:44 +0900 Remove unnecessary conditional As of 0b81a484f3453082d28a48968a063fd907daa5b5, `ROBJECT_IVPTR` will always return a value, so we don't need to test whether or not we got one. T_OBJECTs always come to life as embedded objects, so they will return an ivptr, and when they become "unembedded" they will have an ivptr at that point too commit 2c19c1484abda749540c5865de4dce5a47fc8f0f Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-29 01:42:34 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-29 01:45:22 +0900 If an object isn't embedded it will have an ivptr We don't need to check the existence if an ivptr because non-embedded objects will always have one commit 0bbbb5a6578fc3c6ebfb2150a0fffe96880ae515 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-28 06:10:39 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-29 00:41:39 +0900 `dest` is always embedded so we can remove this check Notes: Merged: https://github.com/ruby/ruby/pull/3713 commit fb3c711df34ef9ded92e2716da842fbe7003e92a Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-10-28 10:22:28 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-28 10:22:28 +0900 compile.c: separate compile_builtin_function_call (#3711) Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit c1bebbb2eee5e8d808d55a9cb27f492e58331540 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-28 00:27:56 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-28 00:27:56 +0900 test/ruby/test_rational.rb: Prevent "assigned but unused variable" commit 8e06075442ade74a0c23afad235742c41b3ceac8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-27 23:26:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-27 23:26:38 +0900 Revert "Fixed typo" This reverts commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3. This "typo" is intentional to test the transposition detection by did_you_mean. commit 379a5ca539af0e954b1cdf63b9365ad208b9c7f3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-27 22:59:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-27 22:59:43 +0900 Fixed typo commit 3198e7abd70bd2af977f2bb6c967e9df8f91adb0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-27 13:42:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-27 16:12:45 +0900 Separate `send` into `public_send` and `__send__` commit acdb8933384da8fce1e8d8a96946eacfaa8897e2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-27 14:42:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-27 14:42:24 +0900 Removed unused environment variable commit c56fdaecc4293c6f5ff81a55737612f5c72437bd Author: Alan Wu <alanwu@ruby-lang.org> AuthorDate: 2020-10-27 05:44:15 +0900 Commit: Alan Wu <alanwu@ruby-lang.org> CommitDate: 2020-10-27 05:44:15 +0900 Revert assert for debugging on CI This reverts commit ac69849e49982ea83036c04c5d5f7245e3956a49. The bug seems to have been fixed. commit 7ad56fd87b35abf4933e0146761df91e9ec9890a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 15:16:21 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-27 01:45:57 +0900 freeze dynamic regexp literals Regexp literals are frozen, and also dynamically comppiled Regexp literals (/#{expr}/) are frozen. Notes: Merged: https://github.com/ruby/ruby/pull/3676 commit 1c6ebe14fbdb2bc23878133cbf7a99ea856e3d89 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 11:05:04 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-27 01:37:24 +0900 freeze Process::Status It seems immutable information. Notes: Merged: https://github.com/ruby/ruby/pull/3671 commit bdd1d17ac2c14ed937944860e1ec6b361a2fda6d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-04 11:11:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-26 21:15:16 +0900 Allow non-argument endless-def with a space instead of parentheses Notes: Merged: https://github.com/ruby/ruby/pull/3704 commit 69837229d74813c807e9d079aaee33aec2c7a4d0 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-10-26 18:43:30 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-26 18:43:30 +0900 rational.c: convert a numerator to rational before calling fdiv in Kernel.Rational() (#3702) This makes `Rational(BigDecimal(1), 60) == Rational(1, 60)`. [Bug #16518] Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 52c630da004d9273e8e5fc91c6304e9eed902566 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-26 18:00:24 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-26 18:00:24 +0900 Assoc pattern matching (#3703) [Feature #17260] One-line pattern matching using tASSOC R-assignment is rejected instead. Notes: Merged-By: nobu <nobu@ruby-lang.org> commit cffdacb15a363321e1c1879aa7d94924acafd1cf Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-11 20:36:25 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-26 16:47:33 +0900 Ignore <internal: entries from core library methods for Kernel#warn(message, uplevel: n) * Fixes [Bug #17259] Notes: Merged: https://github.com/ruby/ruby/pull/3647 commit fbb2d30ee69c68ffad6287c12ca5a43753cd1b9a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-11 20:51:34 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-26 16:47:33 +0900 Add specs that #caller and #caller_locations include core library methods defined in Ruby Notes: Merged: https://github.com/ruby/ruby/pull/3647 commit 3673c3eafc9defd34f42fab3a468a1520e1cfea0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-26 16:20:48 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-26 16:20:48 +0900 Update to ruby/spec@b164536 commit ba24aee2924dcbe1724e2d78f8b19fdede0cd95c Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-26 16:06:33 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-26 16:06:33 +0900 Remove spec which is too difficult to get working with various compilers * The spec means to use an actual system library function, not a wrapper. commit 507af7541574d3c7f0e5d990b9de0011cb49a35d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-26 09:09:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-26 09:09:45 +0900 [DOC] Expanded glob patterns for Dir.glob No longer need to get rid of C block comments in builtin ruby script comments. commit 3cb03a00a8d8eabe77c717645874badb4c7748b5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-26 09:05:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-26 09:05:08 +0900 Include c_escape.rb in COMPILE_PRELUDE template/prelude.c.tmpl requires tool/ruby_vm/helpers/c_escape.rb. commit 396e92104474921ee58ff75ff63d3db0d503dacc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-26 09:01:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-26 09:01:27 +0900 Escape '/*' within block comment too commit b6d0b3dfaf5de60d9afacd18fcc9292973d1023a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-25 22:09:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-26 08:16:51 +0900 Use gcc-specific pragma only on gcc (and the family) commit ff2276ef8cd6285d657cd15801bc5768e93f73d6 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-10-26 07:56:10 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-10-26 07:56:10 +0900 Fix bootstrap-test error in previous commit commit 25a332f5cf295e4b72814c39d87b4b3e2967dd68 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-25 22:06:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-25 22:07:09 +0900 Fix compilation on MSVC * cast scalar value instead of function * use `rb_pid_t` for the portability commit 99e067eac6fd2babcdd56142493ef0396744af85 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-25 19:42:20 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-25 19:42:20 +0900 Try to fix compilation on MSVC commit 148961adcd0704d964fce920330a6301b9704c25 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-24 22:52:37 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-24 22:53:53 +0900 Update to ruby/spec@4f59d86 commit 342fbae83c2e80d1b49656bc7c689cc7fe8980ce Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-24 22:52:35 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-24 22:53:53 +0900 Update to ruby/mspec@b56e7a2 commit 71f699543b22e74b4aca5d70c462a22cbf420938 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-24 22:51:18 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-24 22:51:18 +0900 Tweaks for the ruby/spec workflow commit f754b422855131111092c0c147d744775cc4793f Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-10-23 15:26:51 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-23 15:26:51 +0900 numeric.c, range.c: prohibit zero step * numeric.c: prohibit zero step in Numeric#step * range.c: prohibit zero step in Range#step * Fix ruby-spec [Feature #15573] Notes: Merged: https://github.com/ruby/ruby/pull/3689 Merged-By: mrkn <mrkn@ruby-lang.org> commit 40bad72f31248c48048249b1d7536e87b4994664 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-10-23 13:59:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-23 13:59:13 +0900 Assert in_gc >= 0 instead of guarding it (#3687) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 7cf34cfaa3db4b6eb63dba61108956468140564f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-21 14:06:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-23 10:38:34 +0900 .github/workflows/spec_guards.yml add Translate a part of .travis.yml into GitHub Actions workflow. Notes: Merged: https://github.com/ruby/ruby/pull/3685 commit 196eada8c696e8344e976b64615a13219aafcb02 Author: Alan Wu <alanwu@ruby-lang.org> AuthorDate: 2020-10-23 07:20:35 +0900 Commit: Alan Wu <alanwu@ruby-lang.org> CommitDate: 2020-10-23 07:20:35 +0900 mutete -> mutate commit ef3c25888e5e02c91c81db97612a96aa5b881e08 Author: Andrew Kerr <andrew.kerr@shopify.com> AuthorDate: 2020-10-23 02:05:41 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-23 02:56:35 +0900 Fix small typo in comment in lib/irb.rb Notes: Merged: https://github.com/ruby/ruby/pull/3688 commit 9a6720a15d1e0c7c2423e99efecc3447484abb8f Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-23 01:49:26 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-23 01:52:05 +0900 Revert "Add assertions when inline caches are copied to MJIT" This reverts commit 6cb6d5abc36ede9d5158c2cd90734134838e6bfb. This reverts commit 1484b786aee8d411a9e2278ac6d6e44aedbf6662. I think we don't need these assertions anymore. I believe the problem is solved by abf678a4397c6c00a1bb686043e377d372e695a4 commit abf678a4397c6c00a1bb686043e377d372e695a4 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-22 05:16:15 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-22 23:59:06 +0900 Use a lock level for a less granular lock. We are seeing an error where code that is generated with MJIT contains references to objects that have been moved. I believe this is due to a race condition in the compaction function. `gc_compact` has two steps: 1. Run a full GC to pin objects 2. Compact / update references Step one is executed with `garbage_collect`. `garbage_collect` calls `gc_enter` / `gc_exit`, these functions acquire a JIT lock and release a JIT lock. So a lock is held for the duration of step 1. Step two is executed by `gc_compact_after_gc`. It also holds a JIT lock. I believe the problem is that the JIT is free to execute between step 1 and step 2. It copies call cache values, but doesn't pin them when it copies them. So the compactor thinks it's OK to move the call cache even though it is not safe. We need to hold a lock for the duration of `garbage_collect` *and* `gc_compact_after_gc`. This patch introduces a lock level which increments and decrements. The compaction function can increment and decrement the lock level and prevent MJIT from executing during both steps. Notes: Merged: https://github.com/ruby/ruby/pull/3683 commit d23d5c3130a0944e7e591370cbf8599009318a7c Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-10-22 17:59:52 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-22 17:59:52 +0900 rational.c: try converting by to_int in Rational() (#3684) [Bug #12485] Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 603fb940c0d334f399d77b56d7e62ee85edb91e0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-22 00:43:32 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-22 00:43:44 +0900 refactoring obj_traverse_i commit 0c0d0752f1fefd9b085f191b62946a811763ef1b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-22 00:36:53 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-22 00:43:44 +0900 allow to access ivars of frozen shareable objects Accessing a shareable object is prohibited because it can cause race condition, but if the shareable object is frozen, there is no problem to access ivars. commit 3a97d361576d1cc198047d502c5165aa37b7f86e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-21 23:57:44 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 23:57:44 +0900 refactoring frozen_shareable_p commit 89f6644de71b7dfbdbdba216a8667b9c3348203b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-21 23:00:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 23:52:11 +0900 refactoring rb_obj_traverse() * create rec check hash lazily * do not pass *data pointer for enter/leave function because it is not used. Notes: Merged: https://github.com/ruby/ruby/pull/3682 commit af2471365fedaf89759eb00f87164fbaa0afaa39 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-21 22:56:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 23:52:11 +0900 refactoring rb_ractor_confirm_belonging() rb_ractor_belonging() returns 0 only if it has sharable flag. rb_ractor_confirm_belonging() checks rb_ractor_shareable_p() if the belonging ractor id is different from current ractor id. Notes: Merged: https://github.com/ruby/ruby/pull/3682 commit 631eaa85109e4d6fa31eaeed393858e1e63300a4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-21 22:54:39 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 23:52:11 +0900 check main-ractor or not first On non-multi-ractor-mode, the cost of rb_ractor_main_p() is low so check it first. Notes: Merged: https://github.com/ruby/ruby/pull/3682 commit 762be87759385cd495246b13c8c8eff5c3db0a3c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-21 23:36:49 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-21 23:37:42 +0900 test/json/json_parser_test.rb: suppress warnings http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20201021T123003Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20201021T123003Z/ruby/test/json/json_parser_test.rb:227: warning: ambiguous first argument; put parentheses or a space even after `-' operator /home/chkbuild/chkbuild/tmp/build/20201021T123003Z/ruby/test/json/json_parser_test.rb:228: warning: ambiguous first argument; put parentheses or a space even after `-' operator ``` commit 441403173595ddf80d11c99ebe70d4c7ccd49188 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-21 17:58:12 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 17:59:03 +0900 extend timeout of rbs test on rbs tests commit b59077eecf912a16efefc0256f6e94a000ce3888 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-21 13:53:46 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 16:15:22 +0900 Ractor-safe rb_objspace_reachable_objects_from rb_objspace_reachable_objects_from(obj) is used to traverse all reachable objects from obj. This function modify objspace but it is not ractor-safe (thread-safe). This patch fix the problem. Strategy: (1) call GC mark process during_gc (2) call Ractor-local custom mark func when !during_gc Notes: Merged: https://github.com/ruby/ruby/pull/3680 commit 4640c4ea8a693a9a8468251135afff837904a3a5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-21 13:03:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-21 13:04:20 +0900 Removed more unnecessary ID caches ``` find . -name \*.o -exec nm {} + |& grep -e 'InitVM_.*\.rbimpl_id' -e 'Init_.*\.rbimpl_id' | sed 's/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' | uniq ``` should be empty. commit 5a77e90fe843a2bfbde3df1867f142efb0ffe9fe Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-21 12:46:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-21 12:46:53 +0900 Use rb_intern_const instead of rb_intern in Init functions ``` find . -name \*.o -exec nm {} + |& sed '/Init_.*\.rbimpl_id/!d;s/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' | uniq ``` should be empty. commit 8c2e5bbf58e562ea410b53c2f77e4186d5ca9da3 Author: Stefan Stüben <MSNexploder@gmail.com> AuthorDate: 2020-09-26 02:56:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-21 12:45:18 +0900 Don't redefine #rb_intern over and over again Notes: Merged: https://github.com/ruby/ruby/pull/3589 commit d497436d07bc02989d6af284011193d18f7b8368 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-21 11:45:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-21 12:31:45 +0900 Update dependencies for macOS commit 640b3405831d334d1297a32a686c7a74ab9229a9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-21 11:03:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-21 12:31:38 +0900 Check dependencies on macOS too commit 73834b5fc9d83180820de120db4350fa208cf743 Author: Jacob Matthews <jacobmatthews@hey.com> AuthorDate: 2020-10-06 16:31:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 11:44:10 +0900 Calculate transient heap block usable size at compile time Notes: Merged: https://github.com/ruby/ruby/pull/3632 commit da25affdacc45dd54a1d4c12a5f8394145811276 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-19 15:32:39 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-21 09:24:47 +0900 .github: reduce copy&paste Found that we can set default working directory for github actions. Notes: Merged: https://github.com/ruby/ruby/pull/3675 commit 1c5f44cd728e8c42fd99a74151752e2980e65d0f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-19 15:23:11 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-21 09:24:47 +0900 .travis.yml: reduce redundant tests These tests are (more or less) covered by github actions now. Notes: Merged: https://github.com/ruby/ruby/pull/3675 commit 2f50936cb913b7458cbaa03dc4652f1127a7631a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-21 00:54:03 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-21 07:59:24 +0900 Ractor.make_shareable(obj) Introduce new method Ractor.make_shareable(obj) which tries to make obj shareable object. Protocol is here. (1) If obj is shareable, it is shareable. (2) If obj is not a shareable object and if obj can be shareable object if it is frozen, then freeze obj. If obj has reachable objects (rs), do rs.each{|o| Ractor.make_shareable(o)} recursively (recursion is not Ruby-level, but C-level). (3) Otherwise, raise Ractor::Error. Now T_DATA is not a shareable object even if the object is frozen. If the method finished without error, given obj is marked as a sharable object. To allow makng a shareable frozen T_DATA object, then set `RUBY_TYPED_FROZEN_SHAREABLE` as type->flags. On default, this flag is not set. It means user defined T_DATA objects are not allowed to become shareable objects when it is frozen. You can make any object shareable by setting FL_SHAREABLE flag, so if you know that the T_DATA object is shareable (== thread-safe), set this flag, at creation time for example. `Ractor` object is one example, which is not a frozen, but a shareable object. Notes: Merged: https://github.com/ruby/ruby/pull/3678 commit a6a8576e877b02b83cabd0e712ecd377e7bc156b Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-10-21 02:40:18 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-21 02:40:18 +0900 Feature #16812: Allow slicing arrays with ArithmeticSequence (#3241) * Support ArithmeticSequence in Array#slice * Extract rb_range_component_beg_len * Use rb_range_values to check Range object * Fix ary_make_partial_step * Fix for negative step cases * range.c: Describe the role of err argument in rb_range_component_beg_len * Raise a RangeError when an arithmetic sequence refers the outside of an array [Feature #16812] Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 081cc4eb283cb01ddffb364397e5175dbfacab66 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-20 19:32:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-20 23:52:19 +0900 Dump FrozenCore specially commit 512752ba19c960daf1d866f96fb33f3c0b2d7a75 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 23:48:20 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 23:48:20 +0900 fix condition commit a3ae90b8c552e4f98d81284815c50691be7e1a36 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-20 13:16:19 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-20 22:48:35 +0900 NEWS.md: mention TypeProf Notes: Merged: https://github.com/ruby/ruby/pull/3674 commit 451836f5824fdf3c457ab8a5fd91d94cea91862e Author: Chris Seaton <chris.seaton@shopify.com> AuthorDate: 2020-10-07 11:13:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-20 21:46:54 +0900 Fix an issue with generate_pretty and empty objects in the Ruby and Java implementations commit 520e0916af0fe53a5ca57269a2bae50cc60e4241 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-09-09 22:24:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-20 21:40:25 +0900 Implement a freeze: parser option If set to true all parsed objects will be immediately frozen, and strings will be deduplicated if the Ruby implementation allows it. commit f6680c9ad1b334f094144d788887cd33f7043f41 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-20 21:33:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-20 21:33:02 +0900 Added rbs and typeprof to doc/* commit 67c25a34a7c70e3cec868472517b699b1e881857 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 17:57:20 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 17:57:20 +0900 skip `echo foo` on Solaris On Solaris, it seems to access ENV in ``, so skip it now. ``` stderr output is not empty Exception `NameError' at bootstraptest.tmp.rb:7 - can not access non-sharable objects in constant Object::ENV by non-main Ractor. #<Thread:0x0044cdf0 run> terminated with exception (report_on_exception is true): bootstraptest.tmp.rb:7:in ``': can not access non-sharable objects in constant Object::ENV by non-main Ractor. (NameError) Exception `Ractor::RemoteError' at <internal:ractor>:130 - thrown by remote Ractor. <internal:ractor>:130:in `take': thrown by remote Ractor. (Ractor::RemoteError) from bootstraptest.tmp.rb:55:in `<main>' bootstraptest.tmp.rb:7:in ``': can not access non-sharable objects in constant Object::ENV by non-main Ractor. (NameError) from bootstraptest.tmp.rb:7:in `ractor_local_globals' from bootstraptest.tmp.rb:54:in `block in <main>' ``` commit 18cecda46e427362fa3447679e5d8a917b5d6cb6 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-10-20 16:00:35 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-10-20 16:01:57 +0900 range.c: Fix an exception message in rb_range_beg_len [Bug #17271] commit ade411465dc054af5ff025531649b69134d74b56 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 11:24:37 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 15:39:37 +0900 ObjectSpace.each_object with Ractors Unshareable objects should not be touched from multiple ractors so ObjectSpace.each_object should be restricted. On multi-ractor mode, ObjectSpace.each_object only iterates shareable objects. [Feature #17270] Notes: Merged: https://github.com/ruby/ruby/pull/3672 commit 2bdbdc1580f52dc8d70a71b824238e0f20342dca Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 11:21:49 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 15:39:37 +0900 add Ractor.shareable?(obj) This method returns obj is shareable or not. Notes: Merged: https://github.com/ruby/ruby/pull/3672 commit 99310e3eb56fbc85bb45119285812eb959448d0c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 10:46:43 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 15:38:54 +0900 Some global variables can be accessed from ractors Some global variables should be used from non-main Ractors. [Bug #17268] ```ruby # ractor-local (derived from created ractor): debug '$DEBUG' => $DEBUG, '$-d' => $-d, # ractor-local (derived from created ractor): verbose '$VERBOSE' => $VERBOSE, '$-w' => $-w, '$-W' => $-W, '$-v' => $-v, # process-local (readonly): other commandline parameters '$-p' => $-p, '$-l' => $-l, '$-a' => $-a, # process-local (readonly): getpid '$$' => $$, # thread local: process result '$?' => $?, # scope local: match '$~' => $~.inspect, '$&' => $&, '$`' => $`, '$\'' => $', '$+' => $+, '$1' => $1, # scope local: last line '$_' => $_, # scope local: last backtrace '$@' => $@, '$!' => $!, # ractor local: stdin, out, err '$stdin' => $stdin.inspect, '$stdout' => $stdout.inspect, '$stderr' => $stderr.inspect, ``` Notes: Merged: https://github.com/ruby/ruby/pull/3670 commit 9ced5fae6df9e70506ddad822e15745884e365fd Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 15:36:51 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 15:36:57 +0900 add a NEWS for Fiber#transfer commit c05e41035c01ab38bdb279601a08e17921bcdc8e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-09 10:16:59 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-20 13:03:11 +0900 Bundle typeprof gem as bundled gems Notes: Merged: https://github.com/ruby/ruby/pull/3668 commit 4a7dccf44f02fa471e848ec729393c257b97da4d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-10-20 12:56:08 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-10-20 12:56:09 +0900 Add a Ripper.lex test of :on_embexpr_end This is a weird use case of Ripper.lex which I'm not sure is supposed to be maintained, so I'm adding this test so that we can easily notice such changes. If we change the behavior, this will break the behavior of hamlit.gem v1 and code like https://github.com/haml/haml/pull/1043. commit a76a30724dfdfd26938960d2f756b4d97f8d855e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-20 01:34:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 01:34:17 +0900 Revert "reduce lock for encoding" This reverts commit de17e2dea137bc5ba9f00e3acec32792d0dbb2eb. This patch can introduce race condition because of conflicting read/write access for enc_table::default_list. Maybe we need to freeze default_list at the end of Init_encdb() in enc/encdb.c. commit 319afed20fba8f9b44611d16e4930260f7b56b86 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-19 16:47:32 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-20 01:05:06 +0900 Use language TLS specifier if it is possible. To access TLS, it is faster to use language TLS specifier instead of using pthread_get/setspecific functions. Original proposal is: Use native thread locals. #3665 Notes: Merged: https://github.com/ruby/ruby/pull/3667 commit 3f97940252a37db6e601b4bb1aa1e87204f769df Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-19 18:56:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-19 18:56:19 +0900 Followed up with 708413807ae958afb79257b18475424e0a8a4a56 * Added sync task for digest * Update doc/* for default gems * Update the latest version of gemspec commit 708413807ae958afb79257b18475424e0a8a4a56 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-15 22:01:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-19 18:38:09 +0900 Revisit to promote digest to default gems. This reverts commit f39021be7e0eac20ef7f06592769955ea482470f. commit de17e2dea137bc5ba9f00e3acec32792d0dbb2eb Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-17 10:13:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-19 14:06:40 +0900 reduce lock for encoding To reduce the number of locking for encoding manipulation, enc_table::list is split into ::default_list and ::additional_list. ::default_list is pre-allocated and no need locking to access to the ::default_list. If additional encoding space is needed, use ::additional_list and this list need to use locking. However, most of case, ::default_list is enough. Notes: Merged: https://github.com/ruby/ruby/pull/3664 commit 09dd9d8e5da29f8dfa1c78553950f9469d7291e6 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-17 15:32:40 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-17 15:32:40 +0900 Revert "test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply" This reverts commit de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54. Remove the debugging code that is no longer needed commit 6a9e09824b5abc61f3fdba9067303fc5e585b782 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-17 15:32:19 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-17 15:32:19 +0900 Revert "test/rinda/test_rinda.rb: Add more debugging code" This reverts commit ac803ab55db50ef891e3680680620d01f28a759b. Remove debugging code that is no longer needed commit 5c003b4bcd70b03012f6d2e322bd175efd226528 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-17 15:17:55 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-17 15:17:55 +0900 test/rinda/test_rinda.rb: Prevent a callback Proc from being GC'ed According to the log of ac803ab55db50ef891e3680680620d01f28a759b, I found that a thread terminates silently due to "recycled object" of id2ref: ``` "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:366:in `_id2ref'" "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:366:in `to_obj'" "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1528:in `to_obj'" "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1847:in `to_obj'" "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1136:in `method_missing'" "/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/test/rinda/test_rinda.rb:652:in `block in do_reply'" ``` https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201017T033002Z.log.html.gz I believe that this unintentional thread termination has caused intermittent timeout failure of `TestRingServer#test_do_reply`. The root cause of the "recycled object" issue is a bug of `TestRingServer#test_do_reply`. It creates a callback Proc object but does not hold the reference to the object: ``` callback = DRb::DRbObject.new callback ``` The original "callback" object is GC'ed unintentionally. I could consistently reproduce this issue on my machine by adding `GC.stress = true` at the first of `_test_do_reply` method body. This change uses another local variable name, "callback_orig", to keep the original Proc object. commit f6661f50854e0cdccb03ee516a21ce62adf6c802 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-16 15:20:40 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-17 08:18:04 +0900 sync RClass::ext::iv_index_tbl iv_index_tbl manages instance variable indexes (ID -> index). This data structure should be synchronized with other ractors so introduce some VM locks. This patch also introduced atomic ivar cache used by set/getinlinecache instructions. To make updating ivar cache (IVC), we changed iv_index_tbl data structure to manage (ID -> entry) and an entry points serial and index. IVC points to this entry so that cache update becomes atomically. Notes: Merged: https://github.com/ruby/ruby/pull/3662 commit 91ec5f9e39cf54dd7a157addb778293853571f13 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 16:59:31 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-17 08:18:04 +0900 remove rb_obj_iv_index_tbl (1) nobody uses it (gem-codesearch) (2) the data strucuture will be changed. Notes: Merged: https://github.com/ruby/ruby/pull/3662 commit ff9dc109665e515da8b544a55085bb793063adf1 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-18 01:43:32 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-17 03:28:52 +0900 keep proc on the stack so it does not move commit ac803ab55db50ef891e3680680620d01f28a759b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-17 00:07:35 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-17 00:07:35 +0900 test/rinda/test_rinda.rb: Add more debugging code in addition to de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54 commit 0d17cdd0ac3ae0f3f3608e5430b68467a6a13cc7 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-10-16 03:51:30 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-10-16 23:24:12 +0900 Abort on system stack overflow during GC Buggy native extensions could have mark functions that cause stack overflow. When a stack overflow happens during GC, Ruby used to recover by raising an exception, which runs the interpreter. It's not safe to run the interpreter during GC since the GC is in an inconsistent state. This could cause object allocation during GC, for example. Instead of running the interpreter and potentially causing a crash down the line, fail fast and abort. Notes: Merged: https://github.com/ruby/ruby/pull/3661 commit de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-16 16:51:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-16 16:51:33 +0900 test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201016T063003Z.fail.html.gz ``` 1) Error: Rinda::TestRingServer#test_do_reply: Timeout::Error: timeout /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `sleep' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `wait_for' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:659:in `_test_do_reply' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `block in test_do_reply' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:807:in `with_timeout' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `test_do_reply' ``` commit 1cbb1f1720127b0b34b38c77e27b51b182008699 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-16 11:10:58 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-16 11:10:58 +0900 test/ruby/test_syntax.rb: avoid "warning: assigned but unused variable" commit 65ae7f347a9b44c62ed68870c0a59fd333e6784d Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 11:29:51 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-10-16 08:37:04 +0900 Adjust sp for `if true or ...`/`if false and ...` Notes: Merged: https://github.com/ruby/ruby/pull/3445 commit ce7a053475cbebfb2f3e5ed6614e0ba631541917 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 08:37:52 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-10-16 08:37:04 +0900 Adjust sp for `x = false; y = (return until x unless x)` [Bug #16695] Notes: Merged: https://github.com/ruby/ruby/pull/3445 commit b68c22b3c6a80ebf96d446348bc8007b8a10f694 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-15 16:05:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-15 17:19:02 +0900 Partly reverted test failing with https://github.com/rubygems/rubygems/pull/3921 Notes: Merged: https://github.com/ruby/ruby/pull/3659 commit d386a58f6f1865aaa35eda5af55cff3ff3cca4ca Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-15 13:20:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-15 17:19:02 +0900 Merge bundler-2.2.0.rc.2 Notes: Merged: https://github.com/ruby/ruby/pull/3659 commit 7ffd14a18c341565afaf80d259f9fe5df8a13d29 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-13 16:45:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-15 16:48:25 +0900 Check encoding name to replicate https://hackerone.com/reports/954433 commit ab6c4f8be3dd0fb116ba2722a2fcdc53ad4ea0b7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-15 13:25:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-15 14:12:02 +0900 Merge rubygems-3.2.0.rc.2 Notes: Merged: https://github.com/ruby/ruby/pull/3660 commit 8a06af5f88e07bf3723f06611d69466944079439 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-15 08:41:07 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-15 08:43:53 +0900 Mostly recover a Ruby stack trace from a core file Update the lldb script so it can mostly recover a Ruby stack trace from a core file. It's still missing line numbers and dealing with CFUNCs, but you use it like this: ``` (lldb) rbbt ec rb_control_frame_t TYPE 0x7f6fd6555fa0 EVAL ./bootstraptest/runner.rb error!! 0x7f6fd6555f68 METHOD ./bootstraptest/runner.rb main 0x7f6fd6555f30 METHOD ./bootstraptest/runner.rb in_temporary_working_directory 0x7f6fd6555ef8 METHOD /home/aaron/git/ruby/lib/tmpdir.rb mktmpdir 0x7f6fd6555ec0 BLOCK ./bootstraptest/runner.rb block in in_temporary_working_directory 0x7f6fd6555e88 CFUNC 0x7f6fd6555e50 BLOCK ./bootstraptest/runner.rb block (2 levels) in in_temporary_working_directory 0x7f6fd6555e18 BLOCK ./bootstraptest/runner.rb block in main 0x7f6fd6555de0 METHOD ./bootstraptest/runner.rb exec_test 0x7f6fd6555da8 CFUNC 0x7f6fd6555d70 BLOCK ./bootstraptest/runner.rb block in exec_test 0x7f6fd6555d38 CFUNC 0x7f6fd6555d00 TOP /home/aaron/git/ruby/bootstraptest/test_insns.rb error!! 0x7f6fd6555cc8 CFUNC 0x7f6fd6555c90 BLOCK /home/aaron/git/ruby/bootstraptest/test_insns.rb block in <top (required)> 0x7f6fd6555c58 METHOD ./bootstraptest/runner.rb assert_equal 0x7f6fd6555c20 METHOD ./bootstraptest/runner.rb assert_check 0x7f6fd6555be8 METHOD ./bootstraptest/runner.rb show_progress 0x7f6fd6555bb0 METHOD ./bootstraptest/runner.rb with_stderr 0x7f6fd6555b78 BLOCK ./bootstraptest/runner.rb block in show_progress 0x7f6fd6555b40 BLOCK ./bootstraptest/runner.rb block in assert_check 0x7f6fd6555b08 METHOD ./bootstraptest/runner.rb get_result_string 0x7f6fd6555ad0 METHOD ./bootstraptest/runner.rb make_srcfile 0x7f6fd6555a98 CFUNC 0x7f6fd6555a60 BLOCK ./bootstraptest/runner.rb block in make_srcfile ``` Getting the main execution context is difficult (it is stored in a thread local) so for now you must supply an ec and this will make a backtrace commit 2e8b5968e13139510bd169cc33fdaa8a4b0676fc Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 16:34:24 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 23:15:21 +0900 remove uneffective test RubyVM.stat[:global_method_state] is no longer available so this test doesn't check any more. Notes: Merged: https://github.com/ruby/ruby/pull/3657 commit 278450de803c59137fff69c4db03cd40c5b5d08a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 16:09:33 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 23:15:21 +0900 ruby_vm_global_method_state is no longer needed. Now ruby_vm_global_method_state is not used so let's remove it. Notes: Merged: https://github.com/ruby/ruby/pull/3657 commit fad97f1f96caf11005a5858a29d32c66203913e8 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 10:43:13 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 16:36:55 +0900 sync generic_ivtbl generic_ivtbl is a process global table to maintain instance variables for non T_OBJECT/T_CLASS/... objects. So we need to protect them for multi-Ractor execution. Hint: we can make them Ractor local for unshareable objects, but now it is premature optimization. Notes: Merged: https://github.com/ruby/ruby/pull/3655 commit ae693fff748c68ca2500bbc2c0a8802d50f269dc Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 14:21:57 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 16:36:55 +0900 fix releasing timing. (1) recorded_lock_rec > current_lock_rec should not be occurred on rb_ec_vm_lock_rec_release(). (2) should be release VM lock at EXEC_TAG(), not POP_TAG(). (3) some refactoring. Notes: Merged: https://github.com/ruby/ruby/pull/3655 commit 9aab916990f355cfee6606e400c7a165c5dd10f0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-13 22:28:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-14 14:42:53 +0900 Promote pathname to default gems commit 1e316edf6063b8f12b0ec67e3d2404fc919a96f4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-13 21:06:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-14 14:42:53 +0900 Promote drb to the default gems commit 102c2ba65f1fa2a6cdbaaa7d2b466aabfc50e5d7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 02:10:54 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 14:02:06 +0900 freeze Encoding objects Encoding objects can be accessed in multi-ractors and there is no state to mutate. So we can mark it as frozen and shareable. [Bug #17188] Notes: Merged: https://github.com/ruby/ruby/pull/3654 commit 11c2f0f36ccc50899a8dd69a260e85451f68b5ba Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-13 13:16:08 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 14:02:06 +0900 sync enc_table and rb_encoding_list enc_table which manages Encoding information. rb_encoding_list also manages Encoding objects. Both are accessed/modified by ractors simultaneously so that they should be synchronized. For enc_table, this patch introduced GLOBAL_ENC_TABLE_ENTER/LEAVE/EVAL to access this table with VM lock. To make shortcut, three new global variables global_enc_ascii, global_enc_utf_8, global_enc_us_ascii are also introduced. For rb_encoding_list, we split it to rb_default_encoding_list (256 entries) and rb_additional_encoding_list. rb_default_encoding_list is fixed sized Array so we don't need to synchronized (and most of apps only needs it). To manage 257 or more encoding objects, they are stored into rb_additional_encoding_list. To access rb_additional_encoding_list., VM lock is needed. Notes: Merged: https://github.com/ruby/ruby/pull/3654 commit c3ba3fa8d01aa3970dc1f4e3dc0090ae171e9e35 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 02:03:21 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 14:02:06 +0900 support exception when lock_rec > 0 If a ractor getting a VM lock (monitor) raises an exception, unlock can be skipped. To release VM lock correctly on exception (or other jumps with JUMP_TAG), EC_POP_TAG() releases VM lock. Notes: Merged: https://github.com/ruby/ruby/pull/3654 commit fc8b68a52ad45a1fd5affa6d08ceea2ef729a25c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-14 02:36:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-14 02:36:58 +0900 remove useless semicolons commit a75ab110dfacf8f8e175657ee433de1320e2a7da Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-12 16:22:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-13 14:16:29 +0900 Use %VCVARS% commit 76e09815ae1b8f64d67c1a75a7b9b69267f30081 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-13 13:40:44 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-13 13:40:44 +0900 test/ruby/test_fiber.rb: Suppress "assigned but unused variable" warnings commit 0b1b0f134e8da3c37f9631e7247314804465367f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-12 23:36:12 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-12 23:36:52 +0900 spec/ruby/library/socket/socket/listen_spec.rb: Allow both EACCES and EOPNOSUPP on Android commit bf3b2a43741e4f72be21bc6acf24d37e7fcff61c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-08 01:15:32 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-12 22:58:41 +0900 relax Fiber#transfer's restriction Using Fiber#transfer with Fiber#resume for a same Fiber is limited (once Fiber#transfer is called for a fiber, the fiber can not be resumed more). This restriction was introduced to protect the resume/yield chain, but we realized that it is too much to protect the chain. Instead of the current restriction, we introduce some other protections. (1) can not transfer to the resuming fiber. (2) can not transfer to the yielding fiber. (3) can not resume transferred fiber. (4) can not yield from not-resumed fiber. [Bug #17221] Also at the end of a transferred fiber, it had continued on root fiber. However, if the root fiber resumed a fiber (and that fiber can resumed another fiber), this behavior also breaks the resume/yield chain. So at the end of a transferred fiber, switch to the edge of resume chain from root fiber. For example, root fiber resumed f1 and f1 resumed f2, transferred to f3 and f3 terminated, then continue from the fiber f2 (it was continued from root fiber without this patch). Notes: Merged: https://github.com/ruby/ruby/pull/3636 commit 2fd71112fb5b1aafa5b243c7ac5713cfae7fc23c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-12 21:26:05 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-12 21:26:05 +0900 Make the test suite pass on real Android/Termux environment Attempting to create a hard link raises EACCES commit e8d03c9a2a58054221393e39f511fa76fe9b9770 Author: tompng <tomoyapenguin@gmail.com> AuthorDate: 2020-10-07 17:51:19 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-12 14:20:58 +0900 change rb_ractor_queue to ring buffer Notes: Merged: https://github.com/ruby/ruby/pull/3642 commit eb21e8add346854aa93299bf767f119439f74f7a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-12 13:45:32 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-12 13:45:32 +0900 bignum.c (bary_sparse_p): do not comsume Random::DEFAULT It uses random to determine if the bignum is sparse or not. It is arguable if three-digit samples are enough or not to determine it, but anyway, consuming Random source implicitly is not good. I introduced the random sampling mechanism, and I don't know any significant reason to do so. So, let's remove it. This change makes the sampling points fixed: 40th, 50th, and 60th percentiles. commit 8a39e6d6539bd37100cbbfb88916b853f444f771 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-12 13:42:48 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-12 13:42:48 +0900 bignum.c (rb_int_powm): Integer#pow(0, 1) should return 0 ... instead of 1 because it requires "modulo 1". [Bug #17257] commit 1336698294250ec78b4d33e0a52f8afb55e987d3 Author: Victor Goff <keeperotphones@gmail.com> AuthorDate: 2020-10-12 12:40:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-12 13:08:13 +0900 Respectively, instead of respentively Notes: Merged: https://github.com/ruby/ruby/pull/3651 commit 4ed0c33d13ff0d2544aaf36e8e4f071b900d10cd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-12 00:26:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-12 00:40:55 +0900 Prohibit setter method names in all kinds of endless methods Also unwrap NODE_RIPPER to check the method name. Notes: Merged: https://github.com/ruby/ruby/pull/3649 commit 71428ac2645400c02b0ee56b0ff7021542b9616f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-10 22:11:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-11 02:00:28 +0900 [ruby/io-console] Refined getch warnings https://github.com/ruby/io-console/commit/f84e6abcce commit 37259e878f05db4106b67a9fc9cdc426d174282c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-10 21:58:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-11 02:00:26 +0900 [ruby/io-console] Relaxed min: option warning When `min: 0` is given to `IO#getch` with `time:` option, it is expected to return nil if timed out, and needed for source code the compatibility with unixen platforms. https://github.com/ruby/io-console/commit/a2afbe72bd commit a79966743c346bfc588022db29229b79bee51d45 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-11 01:51:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-11 02:00:24 +0900 [ruby/io-console] Fix timeout type error (https://github.com/ruby/io-console/pull/18) Fixed TypeError when IO#getch timed out `rb_io_wait` returns a bit-flags Integer representing available events, or Qfalse if timed out. Also the result of `NUM2INT` is not a `VALUE`. ``` $ ./bin/ruby -v -rio/console -e "p IO.console.getch(intr: true, time: 0.1)" ruby 3.0.0dev (2020-10-09T20:27:30Z master 5ea2ea74cc) [x64-mingw32] -e:1:in `getch': no implicit conversion of false into Integer (TypeError) from -e:1:in `<main>' ``` https://github.com/ruby/io-console/commit/3bdfaf62df commit b59640e155a5c1d166aaae4b7ccab936597930fc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-10 15:15:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-11 01:27:15 +0900 [ruby/io-console] Fixed "Rework console to use `rb_io_wait`." * Fixed backward compatibility. * Added missing `rb_scheduler_timeout` declaration. https://github.com/ruby/io-console/commit/813806079f commit bfc1c7205d9592b5b5be3b351fbf7b9ca8c537b6 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-03 21:05:15 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-10 19:48:09 +0900 Add Ractor#receive and Ractor.receive and use it in all places * Keep Ractor#recv/Ractor.recv as an alias for now. Notes: Merged: https://github.com/ruby/ruby/pull/3626 commit 9eccf0711fedb7be90b2e4995845eaafacb0c6dd Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-10-10 19:14:40 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-10 19:14:40 +0900 Update RBS to 0.13.1 (#3645) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 5e120a238904dd1d9e104b5b4cb97cae052c25c8 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-10-10 17:52:21 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-10 17:52:21 +0900 Improve doc in rb_class_real doc (#3637) Notes: Merged-By: marcandre <github@marc-andre.ca> commit df25007046078eef2abc8f98213cb24b8c366a48 Author: Ikko Ashimine <eltociear@gmail.com> AuthorDate: 2020-10-10 15:20:42 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-10 15:32:21 +0900 Fixed typo in comment alway -> always Notes: Merged: https://github.com/ruby/ruby/pull/3646 commit a770b9c87e5f0c5bdffaad09bf73fb45760896e8 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-10 04:46:09 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-10 04:46:09 +0900 remove debug code commit 02e17d473a5edef69b8c03a8e2b91fdd0c27ed75 Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-10-09 18:41:20 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-09 18:41:20 +0900 Let bundled_gems specify commits to test (#3641) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 8d1b18886459d3f92cbaf6547f22f893a9a2ced1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-09 00:19:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-09 13:44:48 +0900 Refactored lex_context management Save and restore `lex_context` as-is wholely, and save in `k_class` and `k_module` to workaround look-ahead reading. commit 9ee99fbd8a3ea38d6286e4ecdfab146ee4a00eb5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-09 12:03:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-09 12:03:52 +0900 rb_const_set sets the class path now commit 6944b927bdaaa9c27407eaa5ce411b9bad75af5b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-09 01:21:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-09 11:49:13 +0900 rb_class_real never returns Qnil commit bca8952fc7e31e3d325e70368db2c83f4f701709 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-09 08:29:17 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-09 08:43:11 +0900 Fix lldb disassembler so it works with core files This fixes the lldb disassembler script so that it doesn't need a live process when disassembling rb_iseq_t. I also added the PC to the output so you can tell what the VM is executing when it crashed. For example: ``` (lldb) rbdisasm ec->cfp->iseq PC IDX insn_name(operands) 0x56039f0a1720 0000 nop 0x56039f0a1728 0001 getlocal_WC_1( 5 ) 0x56039f0a1738 0003 branchunless( 7 ) 0x56039f0a1748 0005 getlocal_WC_0( 3 ) 0x56039f0a1758 0007 putstring( (VALUE)0x56039f0c7eb8 ) 0x56039f0a1768 0009 opt_send_without_block( (struct rb_call_data *)0x56039f09f140 ) 0x56039f0a1778 0011 pop 0x56039f0a1780 0012 getglobal( ID: 0x7fd7 ) 0x56039f0a1790 0014 branchunless( 7 ) 0x56039f0a17a0 0016 getlocal_WC_0( 3 ) 0x56039f0a17b0 0018 putstring( (VALUE)0x56039f0c7e90 ) 0x56039f0a17c0 0020 opt_send_without_block( (struct rb_call_data *)0x56039f09f150 ) 0x56039f0a17d0 0022 pop 0x56039f0a17d8 0023 getlocal_WC_0( 3 ) 0x56039f0a17e8 0025 putobject( (VALUE)0x56039f0c7e68 ) 0x56039f0a17f8 0027 getlocal_WC_1( 6 ) 0x56039f0a1808 0029 dup 0x56039f0a1810 0030 checktype( 5 ) 0x56039f0a1820 0032 branchif( 4 ) 0x56039f0a1830 0034 dup 0x56039f0a1838 0035 opt_send_without_block( (struct rb_call_data *)0x56039f09f160 ) 0x56039f0a1848 0037 tostring 0x56039f0a1850 0038 putobject( (VALUE)0x56039f0c7e40 ) 0x56039f0a1860 0040 concatstrings( 3 ) 0x56039f0a1870 0042 opt_send_without_block( (struct rb_call_data *)0x56039f09f170 ) 0x56039f0a1880 0044 nop 0x56039f0a1888 0045 leave (lldb) p ec->cfp->pc (const VALUE *) $146 = 0x000056039f0a1848 ``` Here we can see the VM is currently executing `opt_send_without_block` (because the PC is one ahead of the current instruction) commit 33776598f70dc0adfd7b0d62a0a0df2e2c36b172 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-09 05:35:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-09 05:35:13 +0900 Enhanced RDoc for String#insert (#3643) * Enhanced RDoc for String#insert Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 533bca57e0697e81ddc868104a106534720b4746 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-06 22:14:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-08 16:40:46 +0900 Expose assert, assert_respond_to and assert_not_respond_to for default gems. commit 0f9edf2f48cf30735dde4fb0e9f357b33f567c7c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-06 21:05:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-08 16:40:46 +0900 Promote prettyprint to default gems commit 2711e3bab960da785c749fafaac22c7b4758505d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-10-06 20:45:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-08 16:40:46 +0900 Promote pp to default gems commit d5282540953a04401303d540e6f8b388e75500ff Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-08 07:20:43 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-08 09:01:14 +0900 Add missing WB for iseq The write barrier wasn't being called for this object, so add the missing WB. Automatic compaction moved the reference because it didn't know about the relationship (that's how I found the missing WB). commit 62abdbadf2937372924ef68aadff5191fc0f0880 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-07 11:06:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-07 11:27:30 +0900 Revert "Don't export rb_callable_receiver" This reverts commit c839168b1141db53bedef771d1bc78908b6ac782. `rb_callable_receiver` does not need to be exposed under include. commit cdc4084b0a947b87a794394b9cc8cbdb10537146 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-07 05:17:21 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-07 08:22:01 +0900 Prevent objects from moving while iterating the heap This iterator uses an st_table, but if objects move the references in the st table won't be updated. This patch just changes the st table to an identity hash. Notes: Merged: https://github.com/ruby/ruby/pull/3634 commit c839168b1141db53bedef771d1bc78908b6ac782 Author: Chris Seaton <chris.seaton@shopify.com> AuthorDate: 2020-10-06 07:51:44 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-07 07:41:47 +0900 Don't export rb_callable_receiver Notes: Merged: https://github.com/ruby/ruby/pull/3629 commit fef52122b0c0dfabf947c3f016334b84a9eeb903 Author: Chris Seaton <chris.seaton@shopify.com> AuthorDate: 2020-10-06 07:51:34 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-07 07:41:47 +0900 Use proc_binding rather than rb_funcall FIX Notes: Merged: https://github.com/ruby/ruby/pull/3629 commit ee7cc6ac35cfb056b3946b1dcd6d4d5a140ccacf Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-07 07:13:49 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-07 07:13:49 +0900 Make `marshal_load` public Ruby specs expected this method to be public commit 1486785a5759c5cb0b7a7bf0bc5368cc9a280191 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-10-07 06:10:46 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-07 06:11:08 +0900 [lib/ostruct] Fix Marshal loading commit ed01cc8fdc845b1db258eb3e35b3ba834463672e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-06 23:46:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-06 23:46:24 +0900 No longer need libtool As debug_counter.c has had a global symbol since cdc614cd0a21, ranlib should no longer complain that it has no symbols. commit 21b199bb2423e330570064ae0ad08f2d941ece74 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-06 23:18:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-06 23:18:42 +0900 Appended a newline to suppress newline-eof warning commit 2d20e68fb716b3867beefd6b59b87a99fbfc256b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-06 12:18:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-06 14:20:10 +0900 include/ruby/memory_view.h: annotate functions Notes: Merged: https://github.com/ruby/ruby/pull/3631 commit 62ddbfe2b9fcadf201d8378fbd4bd53bcd3f7df1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-06 12:13:21 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-06 14:20:10 +0900 rb_memory_view_is_contiguous: convert into an inline function Notes: Merged: https://github.com/ruby/ruby/pull/3631 commit ae94c5bf5d53b061659f9f08e1ee1b46d1447181 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-06 12:05:20 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-06 14:20:10 +0900 STRUCT_ALIGNOF: use RUBY_ALIGNOF This was a workaround for RUBY_ALIGNOF's glitch, which has already been fixed. See also https://github.com/ruby/ruby/pull/3570 Notes: Merged: https://github.com/ruby/ruby/pull/3631 commit 7d594399f666f35eff1c7be4ec944605dc9aa49c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-06 12:00:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-06 14:20:10 +0900 memory_view.h: use bool Because `bool` is already used in the header there is no reason to hesitate. Notes: Merged: https://github.com/ruby/ruby/pull/3631 commit 81068b10901783be6f592c55d6edcdea20e3e667 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-06 11:22:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-06 14:20:10 +0900 RB_RANDOM_DATA_INIT_PARENT: convert into an inline function Bit readable to me. Notes: Merged: https://github.com/ruby/ruby/pull/3631 commit 78e27ced9764e1c9c82ff71467f4851e8c6bb46b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-06 11:07:02 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-06 14:20:10 +0900 rb_rand_if: convert into an inline function This adds more room for assertions. Notes: Merged: https://github.com/ruby/ruby/pull/3631 commit 56a45456ac6bc39d8a0a4ca25816255338181e11 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-10-06 10:44:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-10-06 14:20:10 +0900 include/ruby/random.h: eliminate extern "C" cf: https://github.com/ruby/ruby/pull/2991/commits/99add258571bf103c6d942bf0e4d510763b73918 Notes: Merged: https://github.com/ruby/ruby/pull/3631 commit 45fd4436ee146f95487b1575c5a2df5cf77f4717 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-10-06 10:28:15 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-10-06 11:41:17 +0900 Use $GITHUB_ENV instead of set-env https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/ Notes: Merged: https://github.com/ruby/ruby/pull/3630 commit f9df340a6ac8d7f5ba0994cf2bd5d14e4c7a563f Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-10-06 10:23:54 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-10-06 11:41:17 +0900 Remove unused commit_info Notes: Merged: https://github.com/ruby/ruby/pull/3630 commit 68d24bc04549f04f0bbc40121c115fbbb7caf716 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-06 09:56:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-06 10:11:51 +0900 Moved rb_callable_receiver internal commit 29c54b5e03f2d96f1387f77f34f77b62caddbef4 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-08-28 17:16:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-10-06 10:10:42 +0900 Add missing fileutils require On my system, the error was being hidden by the presence of a YARD rubygems plugin that was providing the require and making things work. commit 7d8b43d2eda787e9f6d7e3b5f1278b29bbeed85d Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-25 18:40:50 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-06 02:17:25 +0900 [ruby/tempfile] Improve the documentation for Tempfile.create and recommend Tempfile.open instead https://github.com/ruby/tempfile/commit/8bac025065 commit 3a3000f57761b5435f6b3ca66d685214a2863d71 Author: Svyatoslav Kryukov <s.g.kryukov@yandex.ru> AuthorDate: 2020-10-03 18:48:02 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-05 23:35:11 +0900 Fix traditional Ring example in Actor-model Notes: Merged: https://github.com/ruby/ruby/pull/3625 commit 20ad1017017ea736667d86fa0250dc1a39daefa1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-05 18:57:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-10-05 19:50:31 +0900 Remove system method for E2E testing because depends on ruby command Notes: Merged: https://github.com/ruby/ruby/pull/3628 commit 82f496a84b94d435b8b6fd80595151a08801b16c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-05 16:36:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-05 17:32:36 +0900 Put an empty line before the original URL Even if the raw commit log does not end with a newline. Suggested to use `grep` by znz. Co-Authored-By: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> commit 9718ff62c12c07ecf7f0e234343dca76ee1aa51d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-10-05 04:17:15 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-10-05 04:17:26 +0900 Show stdout and stderr when history tests fail commit ef4ba517e47cba48c545ff3ce9f06bb56dd63df1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-04 22:55:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-04 22:55:27 +0900 Adjusted default gems paths * sync_default_gems.rb (sync_lib): sync from the same directory as sync_default_gems. commit 0406898a3f1d157db0ccf039fe9844c221c65f95 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-03 23:22:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-03 23:22:17 +0900 add NULL check. DATA_PTR(ractor) can be NULL just after creation. commit d0778cb264cc899d2d4d9d98cfee06ef01883c3a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-03 20:19:24 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-03 20:19:24 +0900 Update example to handle keywords passed to Warning.warn commit fced98f46484e1c1b50369731c08c20182168ea3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-03 12:19:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-03 12:19:56 +0900 Added the room for builtin inline prefix commit 5a665f6ce796730b9b81a27e418fdba49b5f83b7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-03 00:11:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-03 10:47:24 +0900 Check builtin inline function index overflow commit 6aa466ba9cf3a0a597716bf7584735ca980622d0 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-03 02:54:31 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-03 04:01:57 +0900 mark regex internal to string scanner Notes: Merged: https://github.com/ruby/ruby/pull/3623 commit 873c8a14f0a12eaf47a064024184a4adfaa04dd9 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-10-03 03:05:21 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-10-03 03:05:21 +0900 Fix assert_ruby_status usage in 174ae0f5775cc7af7d197963a8f87b7d1972c268 commit 112254d18500b2d4cef19bc36290263c0de38e79 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-10-02 19:02:54 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-10-03 01:32:42 +0900 Improve docs of the Warning module Notes: Merged: https://github.com/ruby/ruby/pull/3621 commit 174ae0f5775cc7af7d197963a8f87b7d1972c268 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-03 00:42:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-03 00:45:06 +0900 Remove known use-after-poison bug 9eda6547812cbda23a73ba3b2620520b0de2bdd6 was fixed by b9488accf9e2cbf5f7c47b42b3eb23469f0aa58d. commit d0a7189f26dcb185c76771823dcfd20d8d4a7e3e Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-10-02 18:19:04 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-10-03 00:00:01 +0900 Fix ObjectSpace.dump(obj, output: :stdout) RDoc says `ObjectSpace.dump(obj, output: :stdout) # => nil`, but it returns STDOUT since fbba6bd4e3dff7a61965208fecae908f10c4edbe. I think it is unintentional change. Notes: Merged: https://github.com/ruby/ruby/pull/3620 commit dd77796f1c8105355787c67007c801f063ac9d86 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-02 21:30:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-02 21:30:07 +0900 Hoisted out ensure_cmp which checks the comparison succeeded commit 74aaa8e7ab20d4c22c7b412972f08e893823be2a Author: Gwitr <54531405+Gwitr@users.noreply.github.com> AuthorDate: 2020-09-23 23:16:39 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-02 15:04:24 +0900 Update marshal.rdoc Notes: Merged: https://github.com/ruby/ruby/pull/3568 commit 89ca842dcce7f05942e2d7be3edc404c9556cafd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-02 10:57:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-02 11:02:45 +0900 Ensure that the comparison succeeded [Bug #17205] commit 4b41ee154f117e18b54c7fb31574f2e314f10f15 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-10-02 10:13:26 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-10-02 10:14:43 +0900 Update the thread's self / wrapper address Threads can move, and if they do, their self pointer may go bad. We need to update it. commit 8d76b729a180c47d8edf4392d84a02ec00aeb37b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-26 00:53:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-02 09:22:17 +0900 Put same frozen Range literal if possible Range literal is now frozen so we can reuse same Range object if the begin and the last are Numeric (frozen), such as `(1..2)`. Notes: Merged: https://github.com/ruby/ruby/pull/3587 commit c881678cd75432f47903a5d1d8b86a7a723cb023 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-02 08:43:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-02 08:43:33 +0900 Removed meaningless system dependent tests As [Bug #16662] lchmod available in linux since glibc 2.31.9000, a system call may exist or not exist depending on the version. It is not a spec nor responsibility of Ruby. commit c827cacde155c7b0a2d5e632c983cb38049f68e2 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-10-02 08:04:25 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-02 08:04:25 +0900 memory_view.c: Use ssize_t for ndim in memory_view (#3615) * memory_view.c: Use ssize_t for ndim in memory_view * include/ruby/memory_view.h: Fix the type of item_size argument Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 8dd9a2369331f594de8b8541faf90c461813eb77 Author: eileencodes <eileencodes@gmail.com> AuthorDate: 2020-09-25 03:00:51 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-02 02:11:02 +0900 Make minor improvements to super The changes here include: * Using `FL_TEST_RAW` instead of `FL_TEST` in the first check in `vm_search_super_method`. While the profile showed us spending a fair amount of time here, the subsequent benchmarks didn't show much improvement when adding this. Regardless, we know this does less work than `FL_TEST` and we know that `FL_TEST_RAW` is safe due to the previous check so it's a small but accurate optimization. * Set `mid` only once. Both `vm_ci_new_runtime` and `vm_ci_mid` were getting the `original_id` for the method entry. We can do this once and pass the variable to the 2 callers that need it. This also doesn't have a huge performance improvement but cleans up the code a bit. Benchmark: ``` | |compare-ruby|built-ruby| |:----------------|-----------:|---------:| |vm_iclass_super | 3.540M| 3.940M| | | -| 1.11x| ``` Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/3614 commit 9fb60672d55162a92ab7e97b000a7e277458aab1 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-24 12:06:38 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-10-02 00:42:52 +0900 Fix a use-after-free bug reported by ASAN If a fiber and thread are collected at the same time, the thread might get collected first and the pointer on the fiber will go bad. I don't think we need to check whether or not this is the main fiber in order to release its stack Notes: Merged: https://github.com/ruby/ruby/pull/3571 commit 2db081b5ffb07a2e6bdac58122fa3466830b12a9 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-10-01 16:22:55 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-10-01 17:38:36 +0900 Don't use `th->scheduler` directly because it's not always valid to do so. Notes: Merged: https://github.com/ruby/ruby/pull/3613 commit 1d3024da26b2d1c48a04864024a5ed51a8ba3139 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-01 13:48:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-01 13:48:15 +0900 Refined assertions for better failure messages commit 257007af9aa4b04a28e995ed965b3d8e8d5879ec Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-01 13:45:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-01 13:46:13 +0900 Added a fallback return commit 0d37ed5fdcaa582aecb7a2aacdbb6eac806d7173 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-10-01 13:45:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-10-01 13:45:20 +0900 rb_thread_scheduler is no longer used commit ab99a2ac4412cbaf5ef945b9d90ad0788f6555db Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-10-01 13:25:36 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-10-01 13:27:32 +0900 spec/ruby/core/process/spawn_spec.rb: skip a test on Android On Android, STDERR seems to be open even its invoker closes it. http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20201001T014315Z.fail.html.gz ``` 1) Process.spawn closes STDERR in the child if :err => :close FAILED Expected (59840): "out\nrescued\n" but got: "out\n" ``` commit a88fe61a3e3079fd4bd0172374dfa8bd229a90d5 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-10-01 10:20:26 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-10-01 12:56:05 +0900 Rework `rb_ec_scheduler_finalize` to ensure exceptions are printed. Notes: Merged: https://github.com/ruby/ruby/pull/3610 commit dd2e95fb26b89ce060631af0fd372b5780a443dd Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-10-01 09:44:23 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-10-01 12:56:05 +0900 Remove `Thread.scheduler` from public interface. It's implementation is equivalent to: Thread.current.scheduler unless Thread.current.blocking? Notes: Merged: https://github.com/ruby/ruby/pull/3610 commit 7f2902059031ffe0dad35c9832e4be33d57c5588 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-10-01 09:43:16 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-10-01 12:02:03 +0900 Raise an exception if the scheduler was already closed. Notes: Merged: https://github.com/ruby/ruby/pull/3612 commit 13660105e225df0a4fc1f91b8c9618261e5761f3 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-10-01 09:42:58 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-10-01 12:02:03 +0900 Don't call `Scheduler#close` if it doesn't exist. Notes: Merged: https://github.com/ruby/ruby/pull/3612 commit bc23216e5a4204b8e626704c7277e9edc1708189 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-10-01 08:55:08 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-10-01 08:55:08 +0900 stop Ractor test in test-all Ractor changes the interpreter's running mode so now it should not use in test-all process which running with many other tests. Test with a separating process is one idea, but I'm not sure the ruby/ostruct can use this trick. commit bb2ba72c3ba36d5f3d5b9497539667831bd358d5 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 14:41:46 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 [ruby/ostruct] Tweak doc Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit 152ba86b6b6b01bc2594ca8fcf4873ba13e36eef Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 14:53:36 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 [ruby/ostruct] Remove unused condition Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit b36a45c05cafc227ade3b59349482953321d6a89 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 14:27:23 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 [ruby/ostruct] Improved YAML serialization. Patch adapted from Pietro Monteiro [Fixes bug#8382] Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit 0e93118c44fc4128bcacfe1dc6702c84a84b862b Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 13:29:18 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 [ruby/ostruct] Update NEWS Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit 0977040133c53be92713e9054b491a0b3649e148 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 10:17:06 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 [ruby/ostruct] Add test that frozen OpenStructs are Ractor-shareable Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit 083fa6e5d22ea7eb9026a4e33e31a1d8abbce7f8 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 09:58:48 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 [ruby/ostruct] Protect subclass' methods and our bang methods. Internally, use only bang methods Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit df4d08c44ac3e96336d29a360aafdc4b2a3e96fc Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 09:55:38 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 [ruby/ostruct] Avoid calling initialize Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit fb16c3dce2e629f9c443f9615df18cf2bbb3a077 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-26 13:34:34 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-10-01 07:11:24 +0900 Remove trailing whitespace [doc] Notes: Merged: https://github.com/ruby/ruby/pull/3593 commit 4bc6190a342b07cf8b1f520c0be737bb6b55e05d Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-10-01 04:58:12 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-10-01 04:58:12 +0900 Enhanced RDoc for String#[] (#3607) * Enhanced RDoc for String#[] Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 7b2bea42a245f2e80b5d2700963fd6b143f6d6b8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-02 23:12:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-30 22:15:28 +0900 Unfreeze string-literal-only interpolated string-literal [Feature #17104] commit 65e8a293892800d2201899de51d19ed7ce362bbf Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-30 20:43:19 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-30 20:43:19 +0900 Update to ruby/spec@bfd843a commit bbecf1eb6b5651a073eb20c9b137cfe08d2739aa Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-30 20:43:17 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-30 20:43:17 +0900 Update to ruby/mspec@e154fa1 commit 8dab56ea862379f03d9405c75a732cd6de81a656 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-30 19:39:20 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-30 19:39:20 +0900 Update to ruby/spec@681e8cf commit 31636bbddc4ac56fccdf09a815cf1915e4bec444 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-30 19:39:18 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-30 19:39:18 +0900 Update to ruby/mspec@4120a62 commit 201d50164016bc519041af302f47d92f314abac5 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-30 19:21:48 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-30 19:21:48 +0900 Update to ruby/spec@9277d27 commit ce986b41caa1f23b6d07914b8eca62fdff24e034 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-30 15:55:07 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-09-30 15:55:07 +0900 Remove unneeded `begin` and `end` commit 30bb040ea4718270e269fefdd0440940f2bdfc5d Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-30 15:41:14 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-09-30 15:41:14 +0900 Fix `Leaked tempfile`s http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20200930T033004Z.diff.html.gz ``` [n/n] JSONCommonInterfaceTest#test_load = <elapsed> s [n/n] JSONCommonInterfaceTest#test_load_file = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file: #<Tempfile:<build-dir>/tmp/20200930-7601-ptnv6i (closed)> [n/n] JSONCommonInterfaceTest#test_load_file! = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file!: #<Tempfile:<build-dir>/tmp/20200930-7601-1la6m9 (closed)> [n/n] JSONCommonInterfaceTest#test_load_file_with_option = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option: #<Tempfile:<build-dir>/tmp/20200930-7601-blf9hz (closed)> [n/n] JSONCommonInterfaceTest#test_load_file_with_option! = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option!: #<Tempfile:<build-dir>/tmp/20200930-7601-b5gsdb (closed)> ``` commit 1484b786aee8d411a9e2278ac6d6e44aedbf6662 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-30 13:37:07 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-09-30 13:37:07 +0900 Suppress warnings ``` compiling ../mjit.c In file included from ../mjit.c:28: ../mjit_worker.c:1270:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(BUILTIN_TYPE(cc) != T_MOVED); ^~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here RB_BUILTIN_TYPE(VALUE obj) ^ In file included from ../mjit.c:28: ../mjit_worker.c:1271:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(BUILTIN_TYPE(vm_cc_cme(cc)) != T_MOVED); ^~~~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here RB_BUILTIN_TYPE(VALUE obj) ^ In file included from ../mjit.c:28: ../mjit_worker.c:1272:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(!rb_objspace_garbage_object_p(cc)); ^~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../gc.h:128:40: note: passing argument to parameter 'obj' here int rb_objspace_garbage_object_p(VALUE obj); ^ In file included from ../mjit.c:28: ../mjit_worker.c:1273:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(!rb_objspace_garbage_object_p(vm_cc_cme(cc))); ^~~~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../gc.h:128:40: note: passing argument to parameter 'obj' here int rb_objspace_garbage_object_p(VALUE obj); ^ 4 warnings generated. ``` commit 388281c5c92d4c04bfb08aeac7513770de9ea128 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-30 11:24:36 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-30 12:34:38 +0900 Fix order of operations during `rb_ec_finalize`. Notes: Merged: https://github.com/ruby/ruby/pull/3605 commit 48b94b791997881929c739c64f95ac30f3fd0bb9 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-30 09:15:39 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-30 09:15:39 +0900 Enhanced RDoc for String#upto (#3603) * Enhanced RDoc for String#upto Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 0fb1a67bda8df28ed954f4c4eb7782e11a35beb9 Author: Maciej Mensfeld <maciej@mensfeld.pl> AuthorDate: 2020-09-28 22:20:35 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-30 03:50:46 +0900 Reference process PID using the Process#pid This change will allow formatter to run from Ractors other than main. Notes: Merged: https://github.com/ruby/ruby/pull/3600 commit f7bd9f075030e5fa876320c1624a80685a636e82 Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-09-29 06:35:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-30 00:31:59 +0900 Fix unsigned int overflow in error message for chr The error message has an integer overflow because it treats an unsigned int as a signed int. Before: ``` > 3_000_000_000.chr -1294967296 out of char range (RangeError) ``` After: ``` > 3_000_000_000.chr 3000000000 out of char range (RangeError) ``` Redmine ticket: https://bugs.ruby-lang.org/issues/17186 Notes: Merged: https://github.com/ruby/ruby/pull/3602 commit cece71b46708d69c74583d48478ea4d0401bb746 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-29 22:49:44 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-09-29 22:49:44 +0900 Add call-seq of [Feature #16274] commit d23d2f3f6fbb5d787b0dd80675c489a692be23e2 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-29 13:15:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-29 16:40:33 +0900 [ruby/webrick] Make it more strict to interpret some headers Some regexps were too tolerant. https://github.com/ruby/webrick/commit/8946bb38b4 commit 2e947bc181794d1bcf26d700b2c2c15b53c45b36 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-29 14:39:21 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-29 14:39:52 +0900 doc/syntax/literals.rdoc: explain `#@foo` and `#$foo` commit a9ff39087092b21059fca046ace9ca87770692a4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-29 13:41:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-29 13:41:59 +0900 Fixed installation failure [Bug #17191] Try update and extract bundled gems only when baseruby is available. It should be done only when installing from developemental build and not from the tarball, but it is not obvious to differentiate them. commit b971f141b20d484c48358e5f2d4d9b6957ccd17a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-29 13:14:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-29 13:14:54 +0900 Fix up dependencies on internal/sanitizers.h commit 40a499db65c3ef07cab2c1d7113328ef9dd40b09 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-29 11:58:04 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-29 11:58:04 +0900 test/racc/test_racc_command.rb: prevent a warning http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200929T003003Z.log.html.gz ``` warning: ambiguous first argument; put parentheses or a space even after `/' operator ``` commit 0a3099ae4042ded1efbc76a82c95921f8e808716 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-29 08:44:58 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-29 08:45:19 +0900 bit table information when printing an object commit 85e9cc2c8721badb5c6a7f80518342194d5988b4 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-29 01:53:30 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-29 02:18:15 +0900 Unpoison THEAP header before reading Another ASAN fix. THEAP header is poisoned, so we need to un-poison before reading commit 0555bd8435d352a24bab1e03a7879b9abcc34b88 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-29 01:58:39 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-29 01:58:39 +0900 Enhanced RDoc for String#succ! (#3596) * Enhanced RDoc for String#succ! Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit d598654c742eddc4284814021a8d4b1d6e48b604 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-29 01:43:19 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-29 01:45:04 +0900 Fix ASAN and don't check SPECIAL_CONST_P Heap allocated objects are never special constants. Since we're walking the heap, we know none of these objects can be special. Also, adding the object to the freelist will poison the object, so we can't check that the type is T_NONE after poison. commit 664eeda66e1f64d09e0d321e681f2c21916f9c13 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-29 00:37:09 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-29 01:45:04 +0900 Fix ASAN errors when updating call cache Invalidating call cache walks the heap, so we need to take care to un-poison objects when examining them commit 0767d387ecb9e9dd7ebd34cad46d86cfce13b9f5 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-29 00:28:10 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-29 01:45:04 +0900 Pass ASAN options to child environments I want to work with ASAN, but some child environments are not inheriting the ASAN options I'm using. This commit passes them to child environments if specified commit 346301e2329c46362a6089311d0a64b8734b35ec Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-04 00:00:10 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-29 00:38:06 +0900 Add rb_category_warn{,ing} for warning messages with categories This adds the following C-API functions that can be used to emit warnings with categories included: ```c void rb_category_warn(const char *, const char*, ...) void rb_category_warning(const char*, const char*, ...) ``` Internally in error.c, there is an rb_warn_category function that will call Warning.warn with the string and the category keyword if it doesn't have an arity of 1, and will call Warning.warn with just the string if it has an arity of 1. This refactors the rb_warn_deprecated{,_to_remove} functions to use rb_warn_category. This makes Kernel#warn accept a category keyword and pass it to Warning.warn, so that Ruby methods can more easily emit warnings with categories. rb_warn_category makes sure that the passed category is a already defined category symbol before calling Warning.warn. The only currently defined warning category is :deprecated, since that is what is already used. More categories can be added in later commits. Notes: Merged: https://github.com/ruby/ruby/pull/3508 commit 92c3ad9c276d048bf6fba1145ffccf8678fe8af1 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-03 07:49:40 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-29 00:38:06 +0900 Make Warning.warn accept only category keyword In general accepting arbitrary keywords is a bad idea unless you are delegating keywords or acting on arbitrary keywords. In this case, the category keyword is ignored, and it's less error prone to not ignore all keywords. Notes: Merged: https://github.com/ruby/ruby/pull/3508 commit 5d7953f86b7ae164017e2292dfb3c108e0e02527 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-26 05:29:20 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-29 00:34:04 +0900 Switch conflicting chdir warning to RuntimeError The documentation already stated this was an error in one case (when it was previously a warning). Describe the other case, where chdir without block is called inside block passed to chdir. Fixes [Bug #15661] Notes: Merged: https://github.com/ruby/ruby/pull/3591 commit 0b0e2d88cebc0b546b75234321fa31a1f3a0be3f Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-26 08:25:36 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-29 00:20:23 +0900 Refactor common heap iteration code We have code common to all heap iteration paths in this file. Refactor such that we keep ASAN checks and flags checks in one place Notes: Merged: https://github.com/ruby/ruby/pull/3592 commit b9488accf9e2cbf5f7c47b42b3eb23469f0aa58d Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-26 07:01:23 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-29 00:20:23 +0900 Fix ASAN support when invalidating CCs Again, this code is walking the heap. Empty slots can be poisoned, so we need to unpoison before checking the type Notes: Merged: https://github.com/ruby/ruby/pull/3592 commit b328b830264408b467a5c904a474e7112c5d678c Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-26 06:55:12 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-29 00:20:23 +0900 make ext/coverage ASAN friendly Notes: Merged: https://github.com/ruby/ruby/pull/3592 commit 18b3f0f54c66632b1039a27634a8a449a7812e34 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-26 06:50:54 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-29 00:20:23 +0900 Make ext/objspace ASAN friendly ext/objspace iterates over the heap, but some slots in the heap are poisoned, so we need to take care of that when running with ASAN Notes: Merged: https://github.com/ruby/ruby/pull/3592 commit 4de32b3556f9bc7ac11d8bcf80bdd9d4794de416 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-28 18:53:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 18:53:25 +0900 Removed unused option on racc commit 87726143ef4ce2f4e562255a5af1f88b8ef78900 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-28 18:52:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 18:53:25 +0900 Fixed the wrong variable for --executable flag commit f2c6a3513fa6bbff8e009fbd442e233db848b7c4 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-28 18:29:15 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-28 18:29:15 +0900 Clarify spec description for Hash#{each,each_pair} commit 245ed57ddc93901e90388cf479968392299d1067 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-08-19 10:26:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 18:08:51 +0900 [ruby/racc] Turn debugging off https://github.com/ruby/racc/commit/872f75cfa7 commit 97d1a381e112e843ff014a05a083e42165b7bb01 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-08-14 10:50:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 18:07:24 +0900 [Fixes #137] Improve reporting commit 3da3c2747feb0c4a122182792150a49012bed1a6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-28 17:43:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 17:55:08 +0900 fixup d6a94a0c4b416d4e4a5b25ab8d5482bad00f9765 commit d6a94a0c4b416d4e4a5b25ab8d5482bad00f9765 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-27 10:38:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 17:39:59 +0900 Removed useless RCS revisions commit 8863bfb1f46ae3bdef52d7f9d72534df0ae8617a Author: Steven Peckins <speckins@illinois.edu> AuthorDate: 2020-09-03 12:30:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Move comment below shebang in bin/console template In an executable script, the shebang line should be the first line (the file needs to start with the bytes 0x23 0x21). Putting a comment above it will break the script. (Regression test included per @deivid-rodriguez) https://github.com/rubygems/rubygems/commit/962e669feb Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 18c642da869876da1100d046e8ac6556c3638e91 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-23 02:36:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Fix ls-files matching regexp As splitting by NUL means to allow the file names to contain newlines, path names should match at beginning-of-string instead of beginning-of-line. https://github.com/rubygems/rubygems/commit/8a81183236 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit ac3f80a58e1d27b92e4f6d2f5a3cff8ba530e1e3 Author: xndcn <xndchn@gmail.com> AuthorDate: 2020-08-04 14:25:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Add writable check for cache dir Sometimes "install_dir/cache" directory is not writable although "install_dir" is writable. https://github.com/rubygems/rubygems/commit/665221cb69 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit c55b5f106295aa3c7611a15a9bf7f0d589447ea7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-11 12:00:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Avoid duplicated generation of APISpecification objects As far as I could see, `Gem::Resolver::APISpecification` objects are supposed to be immutable. If my guessing is correct, then we can cache and reuse its instances for performance. At least, `rake` passes on my machine. Before this change: ``` $ time ruby -I lib bin/gem install --no-doc aws-sdk Successfully installed aws-sdk-3.0.1 1 gem installed real 0m37.104s user 0m36.952s sys 0m0.333s ``` After this change: ``` $ time ruby -I lib bin/gem install --no-doc aws-sdk Successfully installed aws-sdk-3.0.1 1 gem installed real 0m23.905s user 0m23.740s sys 0m0.365s ``` https://github.com/rubygems/rubygems/commit/7e8fbba85c Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 91865230cdebee3de7bfde1c91d4e3f63ad15787 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-07-23 22:21:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Eval defaults with frozen_string_literal: true https://github.com/rubygems/rubygems/commit/d498ae3d62 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 9bbca93aa8ba7cb6e19c9a807706ae6b5d988403 Author: Ellen Marie Dash <me@duckie.co> AuthorDate: 2020-07-31 07:15:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Remove last remaining line of output from `gem update --system --silent` https://github.com/rubygems/rubygems/commit/038203aaf8 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit e8274a7683645082e96ced6a00d2df9ba10942ed Author: Ellen Marie Dash <me@duckie.co> AuthorDate: 2020-07-31 06:24:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Add test for "gem update --system --silent" https://github.com/rubygems/rubygems/commit/c3fb0db930 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 7fc8f83edbfe0bb220750e179b70e1bff57f1e5f Author: Ellen Marie Dash <me@duckie.co> AuthorDate: 2020-07-05 08:19:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Have "gem update --system" pass through the --silent flag. https://github.com/rubygems/rubygems/commit/5a1e56e892 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit ab5e9516b796e132da910664a7fba4e69336e323 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-07 09:02:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Added Ruby version for oldest supported version of rubygems https://github.com/rubygems/rubygems/commit/dd87d70f51 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit c6bdf750499491d12c947de546c164a854dd0703 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 23:28:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 Disallow downgrades to too old versions Consider the version original included with each ruby as the minimum supported version. Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 828cefd629e036c96fbd50013965f61df39417ce Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-08-31 23:52:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Add --dryrun to the deprecated options when showing the help message https://github.com/rubygems/rubygems/commit/38230a77c1 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 777840a16add54af7d84a049b4d5c06a8ba9ff99 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-08-31 22:19:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] We don't need shortucts for a deprecated flag https://github.com/rubygems/rubygems/commit/087a1f9720 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit be980dd9fa99dc42b064ce596240f7623b97f1fb Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-08-31 15:21:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Deprecate --dryrun https://github.com/rubygems/rubygems/commit/1715610648 Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit b83787b1ceb4441362fd3d966ce099e360a48646 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-08-31 14:59:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 [rubygems/rubygems] Make --dry-run flag consistent across rubygems commands https://github.com/rubygems/rubygems/commit/addc644cad Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 0629e695e3130f875641542ad2593b19b56703ef Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-10 20:18:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-28 14:54:22 +0900 Added `--platform` option to `build` command Notes: Merged: https://github.com/ruby/ruby/pull/3599 commit 67ae1d441dbc2d944a08b95178f99d2cf67169e1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-28 13:05:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-28 13:42:04 +0900 Do not use clang on cygwin Its `__has_declspec_attribute()` is not reliable. For instance, while `__has_declspec_attribute(noalias)` is true but 'noalias' attribute is warned as unknown. commit 36d1bb720c72eba2a3574a4ea721ed8a6207d39f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-28 12:51:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-28 12:51:53 +0900 sprintf.c: Removed conflicting definition commit ee7c260b6023f5152560744125b6ea532a778b01 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-28 12:50:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-28 12:51:20 +0900 thread_win32.c: native_mutex_trylock is not used right now commit 41eba95920794b85a51b0abfe164d29840c420b1 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-28 04:31:13 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-28 04:32:26 +0900 Revert the first diff of "Use Tempfile.create instead of Tempfile.open in test_io.rb" * This partially reverts commit dead7478748a828c45e16134fca812bc7771344e. * Windows will not allow a file to be unlinked if any file handles exist, see https://github.com/ruby/ruby/pull/3597 commit 950614b08845b93fe1f20350437917b0e44bc030 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-27 02:38:08 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-27 02:38:39 +0900 ext/socket/ipsocket.c: prevent "warning: unused variable 'resolv_timeout'" commit cdb5258bec94051097a234e9571414d00053aa1e Author: bogdanvlviv <bogdanvlviv@gmail.com> AuthorDate: 2020-09-26 20:25:46 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-27 01:02:00 +0900 Fix `ENV.except`'s docs Notes: Merged: https://github.com/ruby/ruby/pull/3595 commit dead7478748a828c45e16134fca812bc7771344e Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-26 19:36:31 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-26 19:36:31 +0900 Use Tempfile.create instead of Tempfile.open in test_io.rb commit 4e31cbc07048fc57dbd16643a682df21db9a4342 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-09-26 18:55:00 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-09-26 18:55:00 +0900 update-deps https://github.com/ruby/ruby/runs/1169621878 commit ce92d15596aab337b5e8b806603eb07ad6528ff2 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-09-26 18:24:28 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-09-26 18:24:28 +0900 fix typo [Bug #17194] commit 137fa5b27e6db535fcf42e4390b42ca8adc9dacd Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-26 01:18:12 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-26 07:52:04 +0900 Fibers should update themselves on compaction We should let fibers update their own references on compaction. I don't think we need the thread to update the associated fiber because there will be a fiber object on the heap that knows how to update itself. Notes: Merged: https://github.com/ruby/ruby/pull/3588 commit 8b42474a2604f35f6d2a635562ef16efc1af456c Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-26 05:13:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-26 05:13:10 +0900 Enhanced RDoc for String#succ (#3590) * Enhanced RDoc for String#succ Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 24820d508bc89775e10e4e3e6e07e192540cb4a2 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-09-02 12:13:54 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-26 01:27:49 +0900 Return nil when argument to ObjectSpace.internal_class_of is T_IMEMO The added test case crashes the interpreter because it makes ObjectSpace.internal_class_of return the second VALUE slot of an AST imemo object. The second VALUE slot of `struct rb_ast_struct` is not a VALUE and not a pointer to a Ruby object. Notes: Merged: https://github.com/ruby/ruby/pull/3503 commit 3a00f2a0f4325cbeea96fe3b6fbc774e8a172920 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-09-26 00:30:36 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-09-26 00:34:27 +0900 ext/readline/depend: update-deps --fix commit 722a1e479f9f0d517024eb3f4959cc33f4be4383 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-26 00:19:09 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-26 00:30:36 +0900 RBIMPL_ALIGNAS: reorder #ifdef blocks Since r63443, `-std=gnu99 -D_XOPEN_SOUCE=x00` is added to Solaris' `CPPFLAGS`. `CPPFLAGS` is shared among `CC` / `CXX`. This results in both `__STDC_VERSION__` and `__cplusplus` to be defined at the same time for a C++ compilation, only on Solaris. It seems the `CPPFLAGS` addition is intentional. We should not touch that part. Instead we need to reroute this by always check for `__cplusplus` first. commit b271bd73e081e22d1165b18a3fa03a96a9f4e697 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-26 00:20:06 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-26 00:20:06 +0900 test/net/smtp/test_smtp.rb: Stop io leaks `make test-all` was very noisy by warnings like ``` Leaked file descriptor: Net::TestSMTP#test_start_with_position_argument: 6 : #<TCPSocket:fd 6, AF_INET, 127.0.0.1, 43770> ``` commit 8119e5b0e6a1341a9130c14604ade5acca6d21f3 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-09-25 23:45:00 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-09-25 23:56:38 +0900 memory_view.c: prevent "warning: instance variable __memory_view__ not initialized" commit abdd3c5616e82af487249ef5e9d3e42bc983de1c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-25 23:45:42 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-25 23:45:42 +0900 test/ruby/test_enumerator.rb: check the deprecation warning by explicitly setting `Warning[:deprecated] = true`. I removed "capture_io" at 79063d8cbfb7ce4740774289252a2a20dc9a5dc1, but it printed the warning when `RUBYOPT=-w`. This change makes the warnings enabled explicitly, capture and check the warning. commit 0db5324e0d3e891768962de8da7507be0288f18f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-25 23:39:35 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-25 23:39:35 +0900 test/ruby/test_memory_view.rb: prevent "assigned but unused variable - members" commit 79063d8cbfb7ce4740774289252a2a20dc9a5dc1 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-25 23:38:01 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-25 23:38:01 +0900 test/ruby/test_enumerator.rb: remove capture_io that is no longer needed The deprecation warning was disabled, and the code to check the warning was removed at 996af2ce086249e904b2ce95ab2fcd1de7d757be, thus capture_io is no longer needed. commit e4b2c4fca5dc294799d33e506ddaf98f1a178082 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-25 23:37:12 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-25 23:37:12 +0900 t/json/json_common_interface_test.rb: fix wrong indentation to prevent: ``` test/json/json_common_interface_test.rb:182: warning: mismatched indentations at 'end' with 'def' at 169 ``` commit 0096d2b895395df5ab8696d3b6d444dc1b7730b6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 18:05:55 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 22:16:55 +0900 freeze all Range objects. Matz want to try to freeze all Range objects. [Feature #15504] Notes: Merged: https://github.com/ruby/ruby/pull/3583 commit f4328d7f5d035b5a292d00ad21e79818b9220d8b Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-25 21:12:53 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-25 21:34:34 +0900 [ruby/readline-ext] Remove unnecessary header files from depend https://github.com/ruby/readline-ext/commit/f9783c0739 commit c04c34df4719db65366f70cdc2b7d9caa0602e21 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-09-25 21:32:00 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-09-25 21:32:00 +0900 memory_view.h: brush up the description in the comment commit 56012d2f7ef163d6c1f87324c749018cc9079c31 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-09-25 21:16:10 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-09-25 21:16:10 +0900 NEWS.md: Add memory view entry The memory view interface added at 890bc2cdde is experimental new C-API set. This feature permits extension libraries to share a memory area that contains such a numerical array and a bitmap image. This is designed by referring to Python's buffer protocol. [[Feature #13767]] [[Feature #14722]] commit caaa36b4e6d0d59f0aa21049c063b140aa5aae4f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 18:31:04 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 20:37:38 +0900 prohibi method call by defined_method in other racotrs We can not call a non-isolated Proc in multiple ractors. Notes: Merged: https://github.com/ruby/ruby/pull/3584 commit 890bc2cdde4097390f3b71dfeaa36dd92ee0afe2 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-09-25 20:32:02 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-25 20:32:02 +0900 Buffer protocol proposal (#3261) * Add buffer protocol * Modify for some review comments * Per-object buffer availability * Rename to MemoryView from Buffer and make compilable * Support integral repeat count in memory view format * Support 'x' for padding bytes * Add rb_memory_view_parse_item_format * Check type in rb_memory_view_register * Update dependencies in common.mk * Add test of MemoryView * Add test of rb_memory_view_init_as_byte_array * Add native size format test * Add MemoryView test utilities * Add test of rb_memory_view_fill_contiguous_strides * Skip spaces in format string * Support endianness specifiers * Update documentation * Support alignment * Use RUBY_ALIGNOF * Fix format parser to follow the pack format * Support the _ modifier * Parse count specifiers in get_format_size function. * Use STRUCT_ALIGNOF * Fix test * Fix test * Fix total size for the case with tail padding * Fix rb_memory_view_get_item_pointer * Fix rb_memory_view_parse_item_format again Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 6eeacbbc3603bcd63a53e43a2002ca0872945e9f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-25 20:28:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 20:28:31 +0900 Extract assert assertion to assert_include and assert_not_include. commit 8705dba194ec953d0daecd317786873bfe488d4a Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-25 18:48:57 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-09-25 19:21:36 +0900 Update dependencies Notes: Merged: https://github.com/ruby/ruby/pull/3582 commit cd44febc93a31825cd0af53ee7b960c3c2a5fe5c Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-25 16:09:20 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-09-25 19:21:36 +0900 Add check_dependencies workflow Notes: Merged: https://github.com/ruby/ruby/pull/3582 commit 81dc37b1b41db9957d783b28cb1a4eaa03a5bd5d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-25 15:40:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 assert_true is not provided by test-unit Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit e30d1b0923d79dc55c8b47247cae9e5aa3007459 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-06-30 14:10:49 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 Fix pure parser with unclosed arrays / objects [Fix #314] Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 927a377a7c23733d94b7d9e103580c83e4040077 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-09-09 23:48:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] Fix JSON.load_file doc https://github.com/flori/json/commit/cb61a00ba8 Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 038252fe66d4a81f21027e8204b782363a8516c8 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-08-21 01:37:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] Partial compliance with doc/method_documentation.rdoc https://github.com/flori/json/commit/6dfa885134 Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 71f64e15b9e23f08b8c31500efb971a61b8b2b18 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-14 14:03:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] Enhanced RDoc for JSON.dump (https://github.com/flori/json/pull/443) * Enhanced RDoc for JSON.dump https://github.com/flori/json/commit/03f1699ec4 Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 3d5e83399889dba537b7178e4811a94a6850ccb3 Author: Julien Feltesse <jfeltesse@mdsol.com> AuthorDate: 2020-08-14 12:45:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 bundle the LICENSE file in the gem Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit de0e0ffad4e0cf0360efbff2e0e8988f9aa0727a Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-30 04:46:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] Nodoc for recurse_proc https://github.com/flori/json/commit/f8c0fe2408 Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit e9096f796c565da46dfab3c72acb78dbf3b2df5b Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-29 03:57:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] RDoc for JSON.load with proc https://github.com/flori/json/commit/a55c91934e Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 0089854fc5534a3d6e23d0bd0cfce3f864217e16 Author: Karol Bucek <self@kares.org> AuthorDate: 2020-07-07 03:09:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [test] properly 'skip' test on JRuby an early return still caused ensure to execute, setting JSON constant to `nil` for later tests! Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit f8d43e53708206605130f60b52d1dadbc9502297 Author: Karol Bucek <self@kares.org> AuthorDate: 2020-07-06 20:32:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 unify json-java gemspec with the baseline Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 8c057bb845d57d20e285030bfd73bcb5ca1143f9 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-04 23:21:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] RDoc example for JSON.load https://github.com/flori/json/commit/e4eead665c Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 36b2177ea80663437daac92c50db378cf1bff799 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-04 04:11:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] Enhance RDoc for JSON.parse https://github.com/flori/json/commit/33e64ef255 Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit 71b1bbad02bee09b8da722f75777df199ca33995 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-01 04:50:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] Move options from #generate and #parse to common area https://github.com/flori/json/commit/20d7be605a Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit c3614877d205e716bc94ad521918ad57c12ed445 Author: Keith Bennett <keithrbennett@gmail.com> AuthorDate: 2020-07-01 03:07:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 [flori/json] Add `load_file` and `load_file!` methods, with tests. Fixes issue #386. https://github.com/flori/json/commit/0be363c99b Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit e1659af3724e2320e9f2f2bd7cf602686e8aa523 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-01-30 20:48:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 17:28:42 +0900 Add an option to escape forward slash character Squashed commit of the following: commit 26d181059989279a79c433cedcd893b4f52e42ee Author: Francois Chagnon <francois.chagnon@jadedpixel.com> Date: Tue Sep 15 21:17:34 2015 +0000 add config options for escape_slash commit fa282334051b16df91ca097dd7304b46f3bc7719 Author: Francois Chagnon <francois.chagnon@jadedpixel.com> Date: Mon Feb 9 21:09:33 2015 +0000 add forward slash to escape character Notes: Merged: https://github.com/ruby/ruby/pull/3581 commit c5ea060ef8cd6c0de9987d1a3546b79e99ebb35c Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-09-25 17:08:39 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-25 17:08:39 +0900 Update NEWS about RBS (#3579) Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 25cfb0c04007137e2dc6d82c2dadea067498f39a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 14:16:30 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 16:00:13 +0900 Range is based on Struct. Range can be shareable because it is implemented by Struct. Notes: Merged: https://github.com/ruby/ruby/pull/3580 commit 96739c422206d55acab4aee917d9d965c27b6fff Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 14:06:32 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 16:00:13 +0900 Frozen Struct can be shareable. A frozen Struct object which refers to shareable objects should be shareable. Notes: Merged: https://github.com/ruby/ruby/pull/3580 commit 97416ae54cebe8bd4c77da5301b82509ec43aaf2 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-09-25 15:47:47 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-09-25 15:47:47 +0900 Describe resolv_timeout in NEWS commit f2d1808e7364aa909101c5208086ef026d5367a2 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-09-25 15:39:26 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-09-25 15:39:26 +0900 Add comments for resolv_timeout commit 511fe23fa2bdf1f17faa91e0558be47b5bb62b2a Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-08-28 13:07:31 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-09-25 15:19:14 +0900 Add resolv_timeout to TCPSocket [Feature #17134] commit b72f9200acf88e60c850a2d400554ff38f81194d Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-09-10 22:12:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 13:11:33 +0900 [ruby/psych] Forward keyword arguments in load_file and load_stream https://github.com/ruby/psych/commit/4e1dd37f09 commit 8ea1021f1979c04b3cee2a886fb52a914472dd16 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-18 07:13:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 13:11:33 +0900 [ruby/psych] Bump version to 3.2.0 https://github.com/ruby/psych/commit/181a727c90 commit 263c43487f419b24e9ac1ef18b20085b15481d70 Author: SzymonKowalczyk <szymon.kowalczyk@pl.ibm.com> AuthorDate: 2020-07-16 21:36:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 13:11:33 +0900 [ruby/psych] Revert psych version https://github.com/ruby/psych/commit/55a294fcd0 commit f794c928a007ba2edddac0de14eb0f4af9491c6c Author: SzymonKowalczyk <szymon.kowalczyk@pl.ibm.com> AuthorDate: 2020-07-16 21:26:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 13:11:32 +0900 [ruby/psych] Update SNAKEYAML CVE-2017-18640 to version 1.26 https://github.com/ruby/psych/commit/b2802135e7 commit 33641e00cd0a1a2e4c497f70365f06bf5c5f3f6a Author: Charles Oliver Nutter <headius@headius.com> AuthorDate: 2020-07-17 00:21:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 13:11:32 +0900 Remove private_iv_get The only remaining use of this function was to get the internal message object from an exception's hidden `mesg` instance variable to allow it to be dumped wiithout converting to a string. As discussed in #103, this exposes internal implementation details of CRuby, and ultimately does not provide any real utility to the user since they can't directly inspect this hidden variable. The test change here is to reflect CRuby behavior that denies equality if the internal message objects do not match, as is the case after the exception has been loaded and now has a simple String value. The impact to users is that exceptions with special hidden message objects will convert those objects to String during marshaling through YAML. I believe this only affects NameError and its descendants, since users can't set this field directly on their own exception types. Fixes #103. commit 6081ba4a871f857eabdcb1e51b68f11bb10c49af Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 13:07:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 13:07:07 +0900 refactoring a test code. make a test more clear. commit d247dedade684d8ba04da4af891791e5ab5878ef Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 11:39:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 12:53:58 +0900 Ractor.yield should raise if out-port is closed Ractor.yield should raise Ractor::ClosedError if current Ractor's outgoing-port is closed. Notes: Merged: https://github.com/ruby/ruby/pull/3578 commit 52865263467b48c0f5af6d9548972dd1f9e5bee1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 03:19:27 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 12:52:53 +0900 frozen T_OBJECT can be shareable. If an T_OBJECT object is frozen and all ivars are shareable, the object should be shareable. Notes: Merged: https://github.com/ruby/ruby/pull/3575 commit fde136152eacca454bfb978347abfa67bd73ac4d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-25 09:08:54 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 12:52:53 +0900 should not check taint flag on rubyspec. Now taint flag is obsolete and it is used fro shareaable flag. So we should not check this flag. Notes: Merged: https://github.com/ruby/ruby/pull/3575 commit c6c241e49c35a2bf0079499459f60f470f97395a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-25 10:21:45 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-25 11:38:33 +0900 enrich comment Added description and URL about nested flexible array member. Notes: Merged: https://github.com/ruby/ruby/pull/3570 commit 4cc501bcfd23691c5244877f9d088a6be6bc8e13 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-24 12:16:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-25 11:38:33 +0900 ext/-test-/RUBY_ALIGNOF: skip C++ when no compiler C++ compilers are optional. Skip C++ tests when they are absent. Notes: Merged: https://github.com/ruby/ruby/pull/3570 commit e75aed7abb7f869223ea05a2f96b2021b57bd98a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-24 10:58:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-25 11:38:33 +0900 RBIMPL_ALIGNOF: do not use constexpr Was definitely a bad idea to use constexpr. It is not ubiquitous. Notes: Merged: https://github.com/ruby/ruby/pull/3570 commit 0b77a86d1ec3a8bb3d62ea38a93d7aed44dd2c0c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-23 14:29:05 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-25 11:38:33 +0900 ext/-test-/RUBY_ALIGNOF: add minimalistic test Check if RUBY_ALIGNOF(double) is the alignment to store a double inside of a struct. Notes: Merged: https://github.com/ruby/ruby/pull/3570 commit 873fb1aa4cab7a14f2b38a05f5888c111ea3bc69 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-23 13:30:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-25 11:38:33 +0900 ALLOCA_N: do not use RUBY_ALIGNOF Now that RUBY_ALIGNOF behaves like C11's _Alignof. This is not necessarily the best stack arrangement. We can just give up using __builtin_alloca_with_align(), and let alloca choose what is optimal. Notes: Merged: https://github.com/ruby/ruby/pull/3570 commit e9fb2bc873a55181ac7d581e7252db3754a3209d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-23 10:57:35 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-25 11:38:33 +0900 RBIMPL_ALIGNOF: do not use __alignof__ It is reported that on a system of i386 System V ABI, GCC returns 8 for __alignof__(double). OTOH the ABI defines alignments of double to be 4, and ISO/IEC 9899:2011 reads that _Alignof(double) shall return 4 on such machine. What we want in ruby is 4 instead of 8 there. We cannot use __alignof__. Additionally, both old GCC / old clang return 8 for _Alignof(double) on such platforms. They are their bugs, and already fixed in recent versions. But we have to support older compilers for a while. Shall check sanity of _Alignof. Notes: Merged: https://github.com/ruby/ruby/pull/3570 commit fe875be01a501a47a4bf75df9c6b42bb33d9842b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-23 09:41:08 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-25 11:38:33 +0900 rb_cv_have_alignas: not used any longer Availability of `alignas` is checked in include/ruby/internal/stdalign.h now. That does not need this configure check. Also as commented in the header, we see `_Alignas` being inadequate for our purpose. Notes: Merged: https://github.com/ruby/ruby/pull/3570 commit 996af2ce086249e904b2ce95ab2fcd1de7d757be Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-31 14:58:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-25 09:50:33 +0900 Disable deprecation warning by the default [Feature #16345] And `-w` option turns it on. Notes: Merged: https://github.com/ruby/ruby/pull/3481 commit 83ff0f74bf69650754cac020bcd4ff9adbba877e Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-25 08:38:11 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-25 08:38:11 +0900 Enhanced RDoc for String#match? (#3576) * Enhanced RDoc for String#match? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 53acf6686ab4dbf8be9bd72e0a6be4c99029aed9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-25 07:54:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 07:54:01 +0900 Revert "[ruby/webrick] Add test for shutdown_pipe" This reverts commit c06eab13290757fc326bb2a6e3ac25cd53e00894. commit c5960d51d13a002b02d18ad328eb7d5b8937805d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-25 07:33:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-25 07:33:25 +0900 Revert "[ruby/webrick] Fix shutdown_pipe test issue" This reverts commit b8fdd38b2e01abcfd4cc8d007a3b3afb285f5ddb. commit 38385d28dff349dee0913572f976114292e98ac6 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-25 03:23:26 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-25 03:23:26 +0900 Enhanced RDoc for String (#3574) Methods: =~ match Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 6fe2a9fcda84fbc33a4cc913786db75a3d7f4102 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-25 00:55:43 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-25 00:55:43 +0900 Enhanced RDoc for String (#3569) Makes some methods doc compliant with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc. Also, other minor revisions to make more consistent. Methods: == === eql? <=> casecmp casecmp? index rindex Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 7ad3aff48dc8309542704b2212b3c3d1df8155d0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-24 17:41:10 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-25 00:25:38 +0900 Ractor#close_outgoping cancel Ractor.yield Ractor#close_outgoing should cancel waiting Ractor.yield. However, yield a value by the Ractor's block should not cancel (to recognize terminating Ractor, introduce rb_ractor_t::yield_atexit flag). Notes: Merged: https://github.com/ruby/ruby/pull/3572 commit 757e185cee44c627f9e573c926fd73843f81006b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-24 22:18:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 22:20:02 +0900 Revert "[ruby/webrick] Allow empty POST and PUT requests without content length" This reverts commit ed12019ce6abe87aac87ec77ac081d37b25180a2. https://github.com/ruby/ruby/runs/1160423667?check_suite_focus=true#step:14:752 commit 588ac990ff170e2fb62e7ba0ed52a8088189cdbd Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-24 21:41:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:41:11 +0900 [ruby/webrick] Manually pick commit from upstream repo Fix test when run with US-ASCII encoding https://github.com/ruby/webrick/commit/f402aafb36bbd43be54621405da550643a1a1a4c commit f64bea6d66335daf799c2223b7f4bc0d099424cb Author: John W Higgins <wishdev@gmail.com> AuthorDate: 2020-05-31 06:57:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:37:06 +0900 [ruby/webrick] Allow shutdown_pipe to be passed in via @config https://github.com/ruby/webrick/commit/30152b4bf9 commit c12c7fea70e80474d290a76ebbcc6badec705c6e Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-16 05:51:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:34:41 +0900 [ruby/webrick] Only run test_big_bodies test on Ruby 2.5+ It was added after Ruby 2.5, and it looks like it never ran correctly on Ruby <2.5. https://github.com/ruby/webrick/commit/65fb03cb6a commit ed12019ce6abe87aac87ec77ac081d37b25180a2 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-16 00:38:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:34:07 +0900 [ruby/webrick] Allow empty POST and PUT requests without content length RFC 7230 section 3.3.3 allows for this. Fixes https://github.com/ruby/webrick/pull/30 https://github.com/ruby/webrick/commit/069e9b1908 commit 0fe6461148af5f27c2a89a6bb25b6709b9eaca49 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-26 23:46:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:33:16 +0900 [ruby/webrick] Allow EPROTOTYPE error when writing junk to a socket MacOS seems to raise this error in some cases. https://github.com/ruby/webrick/commit/0f0c9f1e61 commit b8fdd38b2e01abcfd4cc8d007a3b3afb285f5ddb Author: John W Higgins <wishdev@gmail.com> AuthorDate: 2020-07-22 02:50:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:32:14 +0900 [ruby/webrick] Fix shutdown_pipe test issue https://github.com/ruby/webrick/commit/9676704c60 commit 4715a24dd277515077af441c1d31aeb2431917f5 Author: John W Higgins <wishdev@gmail.com> AuthorDate: 2020-07-26 16:25:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:31:55 +0900 [ruby/webrick] Ensure server port numbers are numeric and ensure they are stored as integers https://github.com/ruby/webrick/commit/86ed621e11 commit c06eab13290757fc326bb2a6e3ac25cd53e00894 Author: John W Higgins <wishdev@gmail.com> AuthorDate: 2020-07-21 14:55:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:31:35 +0900 [ruby/webrick] Add test for shutdown_pipe https://github.com/ruby/webrick/commit/1daacc1849 commit d969cf6059199dd86c0eeb63f87cf095f7ec4234 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-16 01:04:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:30:34 +0900 [ruby/webrick] Do not use ensure in a block without begin This syntax is not supported until Ruby 2.5, and Webrick still targets Ruby 2.3+. https://github.com/ruby/webrick/commit/fbe85b885f commit 96da24f279e10945be8e87fd63c54b63c331d119 Author: John W Higgins <wishdev@gmail.com> AuthorDate: 2020-07-16 00:20:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:22:20 +0900 [ruby/webrick] Make readpartial limit chunk to appropriate size https://github.com/ruby/webrick/commit/e693f501bd commit 46ba416a1fa0973b56146077a654d68779c2497b Author: Charles Oliver Nutter <headius@headius.com> AuthorDate: 2020-06-01 14:48:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 21:21:38 +0900 [ruby/webrick] Skip env-locale-sensitive CGI test on the "java" platform JRuby's environment variables are provided by the Java Development Kit's (JDK's) classes, which present them as a map from string to string. In order to do this, those environment variable names and values must be decoded into characters, which breaks any variables that are intended to be "raw" bytes not necessarily decodable with the default system encoding. This issue is detailed in jruby/jruby#6248. The only solution on the JRuby side will be to bypass the JDK environment variable API and go directly to the native getenv/setenv system calls. This is not likely to happen in the near future, due to the complexity of such a change and the rarity of undecodable environment values. The exclude here was added due to the Windows platform also having a similar sensitivity to character encodings when working with environment variables. It seems appropriate to expand this skip to the "java" platform, as the root issue is largely the same. https://github.com/ruby/webrick/commit/dc453e5c3c commit 0c611d7f4fce67c64bee4815f263c55ef15561c4 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-24 19:39:51 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-24 19:39:51 +0900 test/net/http/test_https.rb: The test logic was buggy The expected certs must be `[CA_CERT, SERVER_CERT]` before 1.1.1g and `[SERVER_CERT]` after 1.1.1h. commit 1917afa34bca55ba1ea578234132b7e4479ea3c9 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-24 19:34:16 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-24 19:34:16 +0900 test/net/http/test_https.rb: the order of verify_callback seems to vary ... depending upon the environment. commit 4405423c871698c36e4e4f24d89f17033b18b19c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-24 19:30:22 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-24 19:30:22 +0900 test/ostruct/test_ostruct.rb: Prevent "method redefined; discarding old foo" commit 416bb11a5e9c4062295392765191cdedcecc522a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-24 19:29:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-24 19:29:54 +0900 test/fiber/scheduler.rb: Prevent "instance variable @urgent not initialized" commit 07786edd66f59a529d6febb2e0fe901782991755 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-24 19:20:17 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-24 19:20:17 +0900 test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h On some environments that uses OpenSSL 1.1.1h, the two tests now fail. http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200924T062352Z.fail.html.gz https://github.com/ruby/ruby/runs/1159288773?check_suite_focus=true ``` 1) Failure: TestNetHTTPS#test_get [/data/data/com.termux/files/home/cb/tmp/build/20200924T062352Z/ruby/test/net/http/test_https.rb:47]: <"0\x82\x03\xED0\x82\x02\xD5\xA0\x03..."> expected but was <"0\x82\x03\xE30\x82\x02\xCB\xA0\x03...">. ``` Not sure why, but verify_callback now seems to receive only SERVER_CERT but not CA_CERT. It would be good to investigate the issue furthermore, but tentatively, I want to stop the failures. commit 29ed16ff4ad5a0d3057d2f24c44ff488584df251 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-24 17:07:27 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-24 17:09:12 +0900 add GC_GUARD We observed mark miss on this point so we add RB_GC_GUARD() to avoid wrong free. commit 4a588e70b88028b3121babc43a26de0d13bdbb03 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-24 17:06:33 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-24 17:09:12 +0900 sync rb_gc_register_mark_object() rb_vm_t::mark_object_ary is global resource so we need to synchronize to access it. commit e06f4a3b1fbf703bc6ccb113bfe6bdc75ec9be38 Author: Michael Lindley <lindleymichael@gmail.com> AuthorDate: 2020-09-01 06:09:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-24 09:56:12 +0900 Remove test for putiseq insn putiseq was removed from instruction set in 2b5bb8a0 Notes: Merged: https://github.com/ruby/ruby/pull/3491 commit fae135c5b39db173bf97dfa3c3a34eb8fb230276 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-24 07:52:54 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-24 07:55:58 +0900 Document difference between Thread::Backtrace::Location#{,absolute_}path They are usually the same, except for locations in the main script. commit 637d1cc0c051132e8562b77d8faeb6c099011dfa Author: eileencodes <eileencodes@gmail.com> AuthorDate: 2020-08-12 02:22:43 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-24 03:52:36 +0900 Improve the performance of super This PR improves the performance of `super` calls. While working on some Rails optimizations jhawthorn discovered that `super` calls were slower than expected. The changes here do the following: 1) Adds a check for whether the call frame is not equal to the method entry iseq. This avoids the `rb_obj_is_kind_of` check on the next line which is quite slow. If the current call frame is equal to the method entry we know we can't have an instance eval, etc. 2) Changes `FL_TEST` to `FL_TEST_RAW`. This is safe because we've already done the check for `T_ICLASS` above. 3) Adds a benchmark for `T_ICLASS` super calls. 4) Note: makes a chage for `method_entry_cref` to use `const`. On master the benchmarks showed that `super` is 1.76x slower. Our changes improved the performance so that it is now only 1.36x slower. Benchmark IPS: ``` Warming up -------------------------------------- super 244.918k i/100ms method call 383.007k i/100ms Calculating ------------------------------------- super 2.280M (± 6.7%) i/s - 11.511M in 5.071758s method call 3.834M (± 4.9%) i/s - 19.150M in 5.008444s Comparison: method call: 3833648.3 i/s super: 2279837.9 i/s - 1.68x (± 0.00) slower ``` With changes: ``` Warming up -------------------------------------- super 308.777k i/100ms method call 375.051k i/100ms Calculating ------------------------------------- super 2.951M (± 5.4%) i/s - 14.821M in 5.039592s method call 3.551M (± 4.9%) i/s - 18.002M in 5.081695s Comparison: method call: 3551372.7 i/s super: 2950557.9 i/s - 1.20x (± 0.00) slower ``` Ruby VM benchmarks also showed an improvement: Existing `vm_super` benchmark`. ``` $ make benchmark ITEM=vm_super | |compare-ruby|built-ruby| |:---------|-----------:|---------:| |vm_super | 21.555M| 37.819M| | | -| 1.75x| ``` New `vm_iclass_super` benchmark: ``` $ make benchmark ITEM=vm_iclass_super | |compare-ruby|built-ruby| |:----------------|-----------:|---------:| |vm_iclass_super | 1.669M| 3.683M| | | -| 2.21x| ``` This is the benchmark script used for the benchmark-ips benchmarks: ```ruby require "benchmark/ips" class Foo def zuper; end def top; end last_method = "top" ("A".."M").each do |module_name| eval <<-EOM module #{module_name} def zuper; super; end def #{module_name.downcase} #{last_method} end end prepend #{module_name} EOM last_method = module_name.downcase end end foo = Foo.new Benchmark.ips do |x| x.report "super" do foo.zuper end x.report "method call" do foo.m end x.compare! end ``` Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Co-authored-by: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/3545 commit b717f73402dc6f2d6ba6a1d72d9c8543a4f2cd27 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-23 21:59:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-23 22:01:44 +0900 Revert "Manually merged from https://github.com/rubygems/rubygems/pull/2636" 31a6eaabc165d8a222e176f2c809d90622d88ec2 is obsoleted with https://github.com/rubygems/rubygems/pull/3820 commit a46841612c846f00f31ff63d886620d66cdea5b3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-23 21:06:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-23 21:06:29 +0900 bump Bundler's version to 2.2.0.rc.1 commit 31a6eaabc165d8a222e176f2c809d90622d88ec2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-23 21:02:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-23 21:02:56 +0900 Manually merged from https://github.com/rubygems/rubygems/pull/2636 Enable Style/EmptyLinesAroundClassBody rubocop cop. commit f56fc720ee8cd4b79824a1c3843058b662a302bd Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-23 20:28:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-23 20:28:38 +0900 bundle-package.* was removed at upstream repo commit 5cc728816d897dd0721f6b83e1085c0997fccd27 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-23 17:38:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-23 17:38:52 +0900 Update the version number of rubygems and bundler at NEWS.md commit ba889100d850e973e519cebc48d5b4f1e8ab0034 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-23 10:59:49 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-23 10:59:49 +0900 Bundle rbs gem as bundled gems (#3496) * Added rbs as bundled gems * Added the missing dependencies for rbs gem Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit e380f78851b27511f165bcd841626f2cb9fa87be Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-12 08:55:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-23 09:09:36 +0900 Removed rb_find_file_ext_safe and rb_find_file_safe Notes: Merged: https://github.com/ruby/ruby/pull/3537 commit ed27c2514c2f4140546dce2e8f5f64cb91712c47 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-23 06:04:01 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-23 07:44:34 +0900 Update UnixSocket#recv_io tests to handle receiving a UnixSocket Receiving UnixSocket works fine if you don't provide a mode, and I think it is reasonable to expect that you should not provide a mode if klass.for_fd would not accept a mode. Fixes [Bug #11778] Notes: Merged: https://github.com/ruby/ruby/pull/3566 commit b904b72960880833bc1592c7d6918f687d9f8631 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-23 06:32:17 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-23 06:32:17 +0900 Enhanced RDoc for String (#3565) Makes some methods doc compliant with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc. Also, other minor revisions to make more consistent. Methods: try_convert +string -string concat << prepend hash Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 3d474e19fdd51b2731c2a77386877cceb8d4e241 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-17 09:02:23 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-23 05:40:57 +0900 Rudimentary support for disassembling rb_iseq_t I need to disassemble instruction sequences while debugging, so I wrote this. Usage is like this: ``` (lldb) p iseq (rb_iseq_t *) $147 = 0x0000000101068400 (lldb) rbdisasm iseq 0000 putspecialobject( 3 ) 0002 putnil 0003 defineclass( ID: 0x560b, (rb_iseq_t *)0x1010681d0, 2 ) 0007 pop 0008 putspecialobject( 3 ) 0010 putnil 0011 defineclass( ID: 0x56eb, (rb_iseq_t *)0x101063b58, 2 ) 0015 leave ``` Also thanks a ton to @kivikakk helping me figure out how to navigate LLDB's Python 😆 Notes: Merged: https://github.com/ruby/ruby/pull/3554 commit 179384a66862d5ef7413b6f4850b97d0becf4ec9 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-23 01:40:45 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-23 04:04:48 +0900 Revert "Prevent SystemStackError when calling super in module with activated refinement" This reverts commit eeef16e190cdabc2ba474622720f8e3df7bac43b. This also reverts the spec change. Preventing the SystemStackError would be nice, but there is valid code that the fix breaks, and it is probably more common than cases that cause the SystemStackError. Fixes [Bug #17182] Notes: Merged: https://github.com/ruby/ruby/pull/3564 commit f3dddd77a925f576acb6abab9b37e8839f028412 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-23 01:19:42 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-23 01:20:04 +0900 Add a comment about why we're checking the finalizer table commit 8b41e9b6e77b74ba7b90774dc1ff1959b95ca61a Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-23 00:57:48 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-23 00:57:48 +0900 Revert "Pin values in the finalizer table" If an object has a finalizer flag set on it, prevent it from moving. This partially reverts commit 1a9dd31910699c7cd69f2a84c94af20eacd5875c. commit df14c758fc705c49c2aaf4c9276a8f7229438fbf Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-22 07:02:20 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-22 11:35:08 +0900 Make hash returned by Hash#transform_values not have a default This sets an explicit default of nil. There is probably a better approach of removing the default. Fixes [Bug #17181] Notes: Merged: https://github.com/ruby/ruby/pull/3563 commit c6c5d4b3fac00e21122c554a6cd1ccf7be84376d Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-22 01:27:54 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-22 01:27:54 +0900 Comply with guide for method doc: string.c (#3528) Methods: ::new #length #bytesize #empty? #+ #* #% Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 82998918efa3a637c80e135198b573cfcb31acd9 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-21 23:22:04 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-21 23:22:04 +0900 Make Thread#join always convert its argument, as before 70f08f1eed commit 2b73e6ba712d35e6ec767bf722edf542cc2e47c6 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-21 23:04:20 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-21 23:04:20 +0900 Simplify the implementation of Scheduler#block * This shows block() with a timeout is similar to #kernel_sleep and also does not need to change `@blocking`. commit 0fa1c82bfc3c679c49df2e586183db1efbd8f62c Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-21 22:58:08 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-21 22:58:08 +0900 Make it clear the first field of join_arg is the waiting thread * And not some list of sort. commit c19bcf38ebe4f483bdb2d76f2115eb70f056f8c6 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-21 22:54:39 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-21 22:54:39 +0900 Fix Thread leak in Thread#join specs commit 10d795cfca7ec688e0dead63568277ea37e4977b Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-21 13:26:39 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-21 14:04:49 +0900 Add NEWS about `Fiber#backtrace` and `Fiber#backtrace_locations`. Notes: Merged: https://github.com/ruby/ruby/pull/3562 commit f7aa51b2b8fe576f33d15cbcbb28723116fb0885 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-21 10:36:34 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-21 12:28:03 +0900 Update NEWS & documentation relating to scheduler. Notes: Merged: https://github.com/ruby/ruby/pull/3561 commit 70f08f1eed1df4579fef047d28fc3c807183fcfa Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-21 06:54:08 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-21 08:48:44 +0900 Make `Thread#join` non-blocking. Notes: Merged: https://github.com/ruby/ruby/pull/3558 commit 501fff14c7657f769d68f90de98fd2ebccb807fb Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-20 08:34:02 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-21 06:51:33 +0900 When setting current thread scheduler to nil, invoke `#close`. Notes: Merged: https://github.com/ruby/ruby/pull/3557 commit b6d599d76ec85422bea16b63f105985cf08e04bd Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-08-27 01:16:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-20 23:13:47 +0900 Update heap_pages_himem after freeing pages Notes: Merged: https://github.com/ruby/ruby/pull/3461 commit be2efb118f73e73d35ba1473fd08a1550ff07fde Author: Quang-Minh Nguyen <nguyenquangminh0711@gmail.com> AuthorDate: 2020-09-20 15:17:18 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-20 23:10:44 +0900 Fulfill missing tests and stabilize tests Notes: Merged: https://github.com/ruby/ruby/pull/3555 commit 398da71175ef9154be505155c0b1c0b2efb20445 Author: Quang-Minh Nguyen <nguyenquangminh0711@gmail.com> AuthorDate: 2020-09-18 15:02:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-20 23:10:44 +0900 Validate name during initialization Notes: Merged: https://github.com/ruby/ruby/pull/3555 commit d5fa66156ab116df558448402b93c9c129b30291 Author: Quang-Minh Nguyen <nguyenquangminh0711@gmail.com> AuthorDate: 2020-09-18 14:15:32 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-20 23:10:44 +0900 Add status to Ractor#inspect Notes: Merged: https://github.com/ruby/ruby/pull/3555 commit 6987c8997e6cd8f45bbd7ece6582c0024be0cc0f Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-20 20:29:24 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-20 20:35:39 +0900 Remove from waiter in Mutex#lock with ensure when calling rb_scheduler_block() * Previously this could lead to an invalid waiter entry and then trying to wake up that waiter would result in various issues in rb_mutex_unlock_th(). commit 73a626c0789161911aa5753859c4a81ed2dfd999 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-19 17:26:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-19 17:47:40 +0900 [ruby/io-wait] update required_ruby_version As d387029f39d976565c955377117103499d47ff09 made io/wait unbuildable with older versions, drop older versions tentatively. Also the change seems to instroduce behavioral incompatibilities, may address them or bump up the version later. commit 6cb6d5abc36ede9d5158c2cd90734134838e6bfb Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-19 09:04:59 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-19 09:07:08 +0900 Add assertions when inline caches are copied to MJIT This is a temporary commit to try to find a GC issue. It seems like mjit is pointing at a moved address in the call cache. I want to assert that they aren't TMOVED or garbage objects at the time they get copied commit e193dd1e3db681504dd83f878d5999342a53116d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-19 05:06:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-19 05:13:08 +0900 [ruby/irb] Version 1.2.7 https://github.com/ruby/irb/commit/0eaa06838b commit 555ea8334451c5ccd881e68b8b7ddc15745e66e3 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-19 04:25:59 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-19 05:13:08 +0900 [ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT https://github.com/ruby/irb/commit/4c89b0775b commit 1a9dd31910699c7cd69f2a84c94af20eacd5875c Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-19 02:50:27 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-19 04:31:54 +0900 Pin values in the finalizer table When finalizers run (in `rb_objspace_call_finalizer`) the table is copied to a linked list that is not managed by the GC. If compaction runs, the references in the linked list can go bad. Finalizer table shouldn't be used frequently, so lets pin references in the table so that the linked list in `rb_objspace_call_finalizer` is safe. Notes: Merged: https://github.com/ruby/ruby/pull/3556 commit 6dd257ed1e54f36deb3e33db12ce9131fdea3b90 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-18 18:47:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-18 18:47:52 +0900 Added sync task for bigdecimal commit 3d86f7a37c595375c125efabb812c02c35d9af7d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-18 18:44:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-18 18:44:46 +0900 The executable file of erb is under the libexec on ruby/erb repo commit af1926e85915a11d606e8c3cf897fe28d6d2f1c5 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-18 18:11:47 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-18 18:11:47 +0900 Fix copy/paste error from 5bb5e706f1d310a467075630145d2cc277045765 commit 5bb5e706f1d310a467075630145d2cc277045765 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-18 17:39:27 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-18 17:39:27 +0900 Only interrupt when there is no scheduler in sync_wakeup() * When there is a scheduler, the Fiber that would be blocked has already been rescheduled and there is no point to interrupt something else. That blocked Fiber will be rescheduled as the next call to the scheduler (e.g., IO, sleep, other blocking sync). * See discussion on https://github.com/ruby/ruby/commit/d01954632d commit 305c4306032c4713f99e668d460bc1bbd53f39bf Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-01 23:40:10 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-18 14:57:58 +0900 [ruby/rdoc] Add man/ri.1 for distribution files https://github.com/ruby/rdoc/commit/7cb5c3611f commit 0d56aec1ddc48f0a769c4dfc8fde62a7c00ac052 Author: Dorian Marié <dorian.marie.france@gmail.com> AuthorDate: 2020-07-08 08:07:56 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-18 14:57:58 +0900 [ruby/rdoc] Fix spelling error in parser comment https://github.com/ruby/rdoc/commit/f237c9e223 commit e23f0f29daa45f69ef78b174340c747ac09bfb60 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-09-28 14:45:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-18 14:57:58 +0900 [ruby/rdoc] update all files if any file is newer Cross references need parse all files which define the subject names. This commit makes `--force-update` option enforce to parse all files if any file is newer than the previous parse, not only updated files. https://github.com/ruby/rdoc/commit/13e9a44896 commit b5db9b8a314249adee021ba6a426c6a2ebbc6804 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-04 15:46:39 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-18 14:57:57 +0900 [ruby/rdoc] Support full filename to make a link for a text file https://github.com/ruby/rdoc/commit/41db49c485 commit 3b159374a2daa101b419ebf6f4a7fe01bbe9dc55 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-16 09:15:10 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-18 14:17:49 +0900 sync ruby_global_symbols ruby_global_symbols can be accessed with multiple ractors so that the accesses should be synchronized. Notes: Merged: https://github.com/ruby/ruby/pull/3548 commit 06e9b94d40a3c9f086fbdfe932b6614e18d10846 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-16 09:11:16 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-18 14:17:49 +0900 show object info to debug purpose. Notes: Merged: https://github.com/ruby/ruby/pull/3548 commit b416a7640278fbcb82d0ac37c0b71cf6e0dc4a36 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-16 09:06:08 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-18 14:17:49 +0900 add debug log on enabling multi-ractor mode Notes: Merged: https://github.com/ruby/ruby/pull/3548 commit b189dc6926fffe1cdb04422c5116ad3ca1425cb7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-16 09:05:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-18 14:17:49 +0900 rb_obj_info() shows more info for T_SYMBOL Notes: Merged: https://github.com/ruby/ruby/pull/3548 commit dd5db6f5fed359efc85cff25d326b5fc3de66614 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-16 09:04:13 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-18 14:17:49 +0900 sync fstring_table for deletion Ractors can access this table simultaneously so we need to sync accesses. Notes: Merged: https://github.com/ruby/ruby/pull/3548 commit d9b943b8e57af5d2f2734998dc67c56cbf3b77b7 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-18 00:29:43 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-18 00:29:43 +0900 Cleanup commented code * Mutex operations no longer disable the Fiber scheduler. commit d01954632d7cd6574d51c8cc95b832ad5f9de62d Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-18 00:26:52 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-18 00:26:52 +0900 Add missing goto found; * To still remove the lock from the Thread's list of acquired locks. * Also to not wake up other waiters and preserve blocking behavior. commit 264889ec3d3d38fc1fd23c4fb48402f1367a8deb Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-17 22:15:43 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-17 22:15:43 +0900 Fix Mutex#unlock with a scheduler and thread contention * It would hit "[BUG] unexpected THREAD_STOPPED" before. commit deffb630210e35da146c3cee5972fb405b0f00b5 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-17 21:52:04 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-17 21:59:38 +0900 Document the various scheduler hooks commit 9472d160619861201bad91560c06248fef8362dc Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-17 21:45:44 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-17 21:59:38 +0900 Call scheduler.block instead of scheduler.kernel_sleep for blocking Queue/SizedQueue operations * scheduler.unblock was already already called before but with no corresponding scheduler.block * add test that Queue#pop makes the scheduler wait until it gets an element. commit 738a089b3ac55e5bfb26f9121ee73ffcb8c4a36b Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-17 21:30:40 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-17 21:30:40 +0900 Rename scheduler.{mutex_lock,mutex_unlock} to {block,unblock} * Move #kernel_sleep next to #block as it is similar commit c3acfcc78da84002b7dd5000bad21663f0773e2a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-17 19:55:17 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-17 21:14:49 +0900 Use a similar pattern for waiting and ready commit 3f6c0a6d74209b03d0ec54b98b5e1ece40d649f0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-17 18:42:26 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-17 18:42:26 +0900 Update to ruby/spec@e829fb0 commit ce888bfa231bec52dfd3c1e9562f6ce799d8a389 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-17 18:17:07 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-17 18:17:07 +0900 Add NEWS entry for [Feature #16792] commit 8e173d8b2709f47cc0709f699640dafe850c9a8f Author: Chris Seaton <chris.seaton@shopify.com> AuthorDate: 2020-09-17 03:59:36 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-17 05:52:24 +0900 Warn on a finalizer that captures the object to be finalized Also improve specs and documentation for finalizers and more clearly recommend a safe code pattern to use them. Notes: Merged: https://github.com/ruby/ruby/pull/3444 commit f75009c1222621836b2340bbb5f4d4274972ccb4 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-16 12:21:16 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-16 21:31:04 +0900 Prefer to use `prep_io` for temporary IO instances. Notes: Merged: https://github.com/ruby/ruby/pull/3550 commit 68b5f14d536c1a81c63412a9f3701380c9bc116c Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-09-16 19:27:16 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-16 19:27:16 +0900 Fix assertion failed in Complex.polar without NDEBUG (#3551) Fixes [Bug #17172]. Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 10290da54d04345587f63cb96ad833043e7f7f1c Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-16 18:36:39 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-16 18:37:06 +0900 Add a note at the top of the test scheduler commit 9e813c1fc49ac5d1eba6ce38b8a1b44a80bafb91 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-16 18:17:23 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-16 18:17:23 +0900 RUBY_ISEQ_DUMP_DEBUG=to_binary never kept the debug information for String literals * That is, for plain string literals, not interpolated. * The test below is very similar and uses the same check. commit 9d8eeccf0659fa648527a6c2ecf06e5a6c0f8c64 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-16 17:39:27 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-16 17:39:27 +0900 Revert "skip on RUBY_ISEQ_DUMP_DEBUG=to_binary" This reverts commit 889bbbaf527372c5cc229b56dca9a2322e325f26. commit 889bbbaf527372c5cc229b56dca9a2322e325f26 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-16 15:44:26 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-16 15:44:26 +0900 skip on RUBY_ISEQ_DUMP_DEBUG=to_binary 9b535f3ff7 does not support ISeq#to_binary. To make CI green, skip this test temporarily. Please fix this issue and revert this patch. commit 344304c89f956bdf269b5424ae091f6928b678bb Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-16 07:45:01 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-16 07:45:01 +0900 Use build_message on test_securerandom.rb (#3543) * Revert "Revert "[ruby/securerandom] Use build_message instead of message for test-unit"" * [ruby/securerandom] Fixed the wrong usage of build_message Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit 1af0319fc88688bc5dd5e49eecdb8b534ead9991 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-16 04:54:31 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-16 04:56:00 +0900 2.8 -> 3.0 in specs commit 9b535f3ff7c2f48e34dd44564df7adc723b81276 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-01 04:24:36 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-09-16 04:32:35 +0900 Interpolated strings are no longer frozen with frozen-string-literal: true * Remove freezestring instruction since this was the only usage for it. * [Feature #17104] Notes: Merged: https://github.com/ruby/ruby/pull/3488 commit fbba6bd4e3dff7a61965208fecae908f10c4edbe Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-09-10 20:17:53 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-16 01:18:13 +0900 Parse ObjectSpace.dump_all / dump arguments in Ruby to avoid allocation noise [Feature #17045] ObjectSpace.dump_all should allocate as little as possible in the GC heap Up until this commit ObjectSpace.dump_all allocates two Hash because of `rb_scan_args`. It also can allocate a `File` because of `rb_io_get_write_io`. These allocations are problematic because `dump_all` dumps the Ruby heap, so it should try modify as little as possible what it is observing. Notes: Merged: https://github.com/ruby/ruby/pull/3530 commit 86087a1527ffa52c7b2a3ce6b49ce57ea1b83588 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-15 09:45:13 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-16 01:09:25 +0900 pointers on the stack need to be pinned Notes: Merged: https://github.com/ruby/ruby/pull/3544 commit ee10efdcf028c0455c192acdd8298c42f0be3d87 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-15 21:44:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-15 21:44:59 +0900 Revert "[ruby/securerandom] Use build_message instead of message for test-unit" This reverts commit 7f9f5f5723cd723dee578b0681066c8393ee45d0. commit abbd3241522495e8d8634c0c01a42453f76ce6b8 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-18 22:55:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-15 21:17:20 +0900 [ruby/uri] Remove deprecated URI.escape/URI.unescape https://github.com/ruby/uri/commit/61c6a47ebf commit 7f9f5f5723cd723dee578b0681066c8393ee45d0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-28 21:11:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-15 21:07:27 +0900 [ruby/securerandom] Use build_message instead of message for test-unit https://github.com/ruby/securerandom/commit/826b877e83 commit 3dd9e12b515dea2c8a14b33c762807bb54625aef Author: Ashwin Maroli <ashmaroli@users.noreply.github.com> AuthorDate: 2020-09-11 02:58:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-15 20:32:13 +0900 [ruby/fileutils] Reduce iteration through list for `:mkdir_p` By calling the instruction to `list.map` within `list.each` itself. https://github.com/ruby/fileutils/commit/e690eec937 commit 026ba68c1056fb6729868456fba3382f8b9a0fcf Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-15 15:50:42 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-15 19:53:08 +0900 Fix handling of FMODE_PREP. Notes: Merged: https://github.com/ruby/ruby/pull/3542 commit a9b2a96c5cfa5ab36c89ffae82e28eb733e36542 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-15 11:19:54 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-15 19:53:08 +0900 Fix incorrect initialization of `rb_io_t::self`. Notes: Merged: https://github.com/ruby/ruby/pull/3542 commit b2b855f486dd0b1b11baaea4943116a9d2d7e867 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-15 14:03:41 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-09-15 14:03:41 +0900 Fix `warning: instance variable bt_locations not initialized` commit 29b1ac613bf9345e2c276cba2f2fd9af714da15c Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-14 22:50:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-15 09:40:24 +0900 Add IRB and Reline update for NEWS of 3.0.0-preview1 Notes: Merged: https://github.com/ruby/ruby/pull/3540 commit 60f5d384820a4b07f739d32c2233b1dbc74a726a Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-15 04:15:28 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 05:10:37 +0900 [ruby/ostruct] Fix dup/clone Notes: Merged: https://github.com/ruby/ruby/pull/3541 commit 125605abd949b23a8a95e1cc95f7d435efc17290 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-15 03:06:49 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 05:10:37 +0900 [ruby/ostruct] method_missing is private Notes: Merged: https://github.com/ruby/ruby/pull/3541 commit 606c009ce24bd8e9e07ecb8f920a77c005062ff5 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-15 02:48:29 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 05:10:37 +0900 [ruby/ostruct] Avoid self calling our public methods. Found because `json` has a bad example in its test suite. This implementation still offers better encapsulation. Notes: Merged: https://github.com/ruby/ruby/pull/3541 commit 67e5f7a9e508d6f33c1dd927753161e8b1d40a09 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-15 03:03:56 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 05:10:37 +0900 [ruby/ostruct] Reinstate recent changes This reverts commit 28e60b0045b5732bca11012d81a5223001faa6b2. Notes: Merged: https://github.com/ruby/ruby/pull/3541 commit 39312cf4d6c2ab3f07d688ad1a467c8f84b58db0 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2019-04-04 04:22:18 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 03:18:23 +0900 Optimize Pathname#relative? / absolute? Notes: Merged: https://github.com/ruby/ruby/pull/2107 commit 28e60b0045b5732bca11012d81a5223001faa6b2 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-15 02:29:31 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 02:29:54 +0900 [ruby/ostruct] Revert recent changes This reverts commit e026e186f4..12a2e32d43. commit 867f0c6793da63a8f80eb3d868fe10e859abe3d8 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2018-10-06 05:41:57 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 01:59:11 +0900 [ruby/rdoc] Prefer require_relative commit 12a2e32d43256e37d36903c5fa5fabe556337d84 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-09 06:13:29 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 01:46:51 +0900 [ruby/ostruct] Add access to public instance methods in case they are overridden commit 12a13eef49dd2d839f502a7d848b7d600e8b645a Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-09 06:13:03 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 01:46:49 +0900 [ruby/ostruct] Tweak doc commit 8eefa8f3736cd5dbf7256f571b368198102f11cc Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-09 05:30:02 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 01:46:47 +0900 [ruby/ostruct] Allow overriding public methods [Fixes https://bugs.ruby-lang.org/issues/15409] commit ebb8de730269a8c18a553e3dea7a7603b13d2328 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-09 05:13:15 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 01:46:45 +0900 [ruby/ostruct] Refactor handling of frozen OpenStruct. Simplify `new_ostruct_member!` commit 5e7ec0531987bfff65f65db9d491c272abb4add1 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-09 04:51:27 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 01:46:43 +0900 [ruby/ostruct] Add really basic test that was missing commit e026e186f4a01aa3f6cd02ae6ef33f44f129361c Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-09 04:08:50 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-15 01:46:27 +0900 [ruby/ostruct] Revert "ostruct.rb: deferred accessors" This reverts commits: dc38e99813 22c082fcfd b499e0f9ff 58e5876646 Add test for overridden private methods [Fixes https://bugs.ruby-lang.org/issues/12136] commit e81d7189a09155344b3135903300dce450232402 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-11 18:31:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-15 00:04:59 +0900 sync fstring pool fstring pool should be sync with other Ractors. Notes: Merged: https://github.com/ruby/ruby/pull/3534 commit 74ddac1c822697b442646f433d60e2c099db3c3b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-11 18:30:27 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-15 00:04:59 +0900 relax dependency vm_sync.h does not need to include vm_core.h and ractor_pub.h. Notes: Merged: https://github.com/ruby/ruby/pull/3534 commit f7ccb8dd88c52b2294742c3abb87098ee4076799 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-14 10:30:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-15 00:04:59 +0900 restart Ractor.select on intterupt signal can interrupt Ractor.select, but if there is no exception, Ractor.select should restart automatically. Notes: Merged: https://github.com/ruby/ruby/pull/3534 commit edb5c67195129e1d10f329edb55e486e1874b20e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-16 17:45:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 18:22:37 +0900 [ruby/tmpdir] Warn when environment variables skipped (fixes https://github.com/ruby/tmpdir/pull/2) https://github.com/ruby/tmpdir/commit/af7b020a89 commit df1c035d0381e41a78ebc55b0450bab39b542cf2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-13 21:39:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 18:22:19 +0900 [ruby/tmpdir] Test "not writable" case https://github.com/ruby/tmpdir/commit/84684d80f9 commit 04de778ef157c472dfa31239e8a6cfabceae4cb0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-13 21:26:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 18:22:09 +0900 [ruby/tmpdir] Test "not a directory" cases https://github.com/ruby/tmpdir/commit/f335f2c23e commit f7f849e30cbf462e521b0843a9bb2cbea1bd4d11 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-13 19:44:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 18:21:59 +0900 [ruby/tmpdir] Test also TMP and TEMP environment variables https://github.com/ruby/tmpdir/commit/414c00ebe6 commit 50bce2065d5376b38a6eef86ab5c3df809db4787 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-13 19:21:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 18:21:46 +0900 [ruby/tmpdir] Prefer better failure message https://github.com/ruby/tmpdir/commit/ac12877306 commit 9fbbbadc9634ec4cdfe378bba62bfb706f4bb03a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-16 17:38:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 18:19:40 +0900 Added just working Test::Unit::CoreAssertions#diff This is not "diff", but show expected and actual results both, just to get rid of `NoMethodError` when an assertion failed. commit d52dffd817d9285f7600138e2f69f46891fff845 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-11-27 10:31:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 17:52:20 +0900 [ruby/zlib] Add Zlib::GzipReader.zcat for handling multiple gzip streams in gz file Most gzip tools support concatenated gz streams in a gz file. This offers a way to handle such gz files in Ruby. Fixes [Bug #9790] Fixes [Bug #11180] Fixes [Bug #14804] https://github.com/ruby/zlib/commit/e2ce56de7d commit f1d32010e6e263ae94ee480a0d537727e91485ed Author: nicholas a. evans <nick@ekenosen.net> AuthorDate: 2019-02-28 04:25:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 17:26:36 +0900 [ruby/net-smtp] Add SNI support to net/smtp https://github.com/ruby/net-smtp/commit/b706942392 commit 141404e898b7320682d4ac83e47fc53642d031bd Author: TOMITA Masahiro <tommy@tmtm.org> AuthorDate: 2020-07-19 21:25:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 17:23:41 +0900 [ruby/net-smtp] Net::SMTP.start arguments are keyword arguments The helo argument is not important, but the helo argument must be specified to specify the user and secret arguments. If helo, user, secret, and authtype arguments are keyword arguments, it is not necessary to specify the helo argument. https://github.com/ruby/net-smtp/commit/269774deac commit 888e04ae05eb864756a43624888468617e39dd76 Author: TOMITA Masahiro <tommy@tmtm.org> AuthorDate: 2020-07-15 00:50:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 17:22:35 +0900 [ruby/net-smtp] TLS should not check the host name by default. In tlsconnect(), the host name is checked when @ssl_context.verify_mode is not OpenSSL::SSL::VERIFY_NONE, but the verify_mode of @ssl_context generated by default is nil. https://github.com/ruby/net-smtp/commit/bde75a15b5 commit cdb85142f9a0f2735ddb7544b5460809347a147a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-14 17:06:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 17:15:44 +0900 [ruby/erb] Use libexec same as ruby core repository https://github.com/ruby/erb/commit/660255cf24 commit ccb944fcfe43aa9274b6d386d131a006e5a00b07 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-14 16:22:13 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-14 16:22:13 +0900 add NEWS entries about Ractor and new method cache. commit 78ef7eeb36f66ef8c47eccd37ca1526ee14a5758 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-14 14:07:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 14:07:37 +0900 Manually picked https://github.com/ruby/open3/commit/724bdb8e1de939e71a6aa8a65ccf6980f53f4353 commit eace12c25bd32e7634735aeec0c6919bf67481b4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-14 14:06:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 14:06:02 +0900 Fixup 8f71bb0e4f76ab12e469d33bc560bd76cc3aaf90 commit 7fca27419846f76f978f3bbef2d2db3e1bf688e7 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-14 09:17:11 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Rework console to use `rb_io_wait`. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 8eea66a0ca8965ae8319b4c404f61c4d46866f64 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-14 08:10:02 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Add support for Queue & SizedQueue. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 0f613cc5f1bbe319ab916be905de263523ef5402 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-11 17:47:25 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Add support for ConditionVariable. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 1a0cfe28390ce5d46f7b854eaad2b9b979c160de Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-06 11:48:52 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Improve handling of urgent notification pipe. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 3dc0fc11f0e21087c96781cce2360f5f6a26c7c6 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-05 12:32:13 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Update dependencies Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 178c1b0922dc727897d81d7cfe9c97d5ffa97fd9 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-09-05 13:26:24 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Make Mutex per-Fiber instead of per-Thread * Enables Mutex to be used as synchronization between multiple Fibers of the same Thread. * With a Fiber scheduler we can yield to another Fiber on contended Mutex#lock instead of blocking the entire thread. * This also makes the behavior of Mutex consistent across CRuby, JRuby and TruffleRuby. * [Feature #16792] Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 9e0a48c7a31ecd39be0596d0517b9d521ae75282 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-05 11:30:21 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Prefer `rb_thread_current_scheduler`. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 701dcbb3ca9bf04b61cc07156608c61aaf9173f0 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-20 21:53:08 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Add support for hooking `IO#read`. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 132453fa521cf87693035769031f3501ddc02f4a Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-20 21:52:36 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Rename `Fiber{}` to `Fiber.schedule{}`. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit d387029f39d976565c955377117103499d47ff09 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-20 10:51:45 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Standardised scheduler interface. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 905e9c8093b2bb06def609975929465be0f41a0c Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-20 10:49:09 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Simplify bitmasks for IO events. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 6747cb575414cf781c79c263f68d7b70778efa24 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-20 10:48:29 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Add RB_ prefix to `GetOpenFile` and `MakeOpenFile`. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit 703e529751deb086a46a9c029ce38d4fff14e84c Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-20 10:47:55 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-14 13:44:09 +0900 Add `rb_thread_current_scheduler()`. Notes: Merged: https://github.com/ruby/ruby/pull/3434 commit a9ccebbda0fed90952575f940440ac3697ba141b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-14 12:02:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-14 12:02:43 +0900 Added promoted libraries to default gems section on NEWS commit b682e0fc2145d22625aa6c40c21e759032f0cb5b Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-14 01:33:42 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-14 02:14:02 +0900 [ruby/irb] Version 1.2.6 https://github.com/ruby/irb/commit/5a7dd8c3bf commit 5bb9e12573d2d3cb5c097ad1fd8b516d20603e33 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-14 01:00:20 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-14 02:13:32 +0900 [ruby/irb] Need calculate_width and split_by_width of Reline::Unicode of reline 0.1.5 or later https://github.com/ruby/irb/commit/c05bc9e595 commit 8f9b1902f48b413bd161666630c878ad58418c04 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-03 22:51:15 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-14 02:13:18 +0900 [ruby/irb] Omit output if first line of multiline is too long https://github.com/ruby/irb/commit/0feeae38c5 commit e468d9f49ca34f713c030c623f655a40370e186d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-29 20:48:25 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-14 02:13:11 +0900 [ruby/irb] Add OMIT_ON_ASSIGNMENT Omit the results evaluated at assignment if they are too long. The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand, so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by default. The result is displayed on assignment, but it will always be short and within one line of the screen. https://github.com/ruby/irb/commit/c5ea79d5ce commit 5d841f563144a4864f0f60af2935e3eb82ee110a Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-14 00:50:57 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-14 02:12:58 +0900 [ruby/irb] Version 1.2.5 https://github.com/ruby/irb/commit/07beb3964d commit 3a3e933033b86811a9eaaaa2dbddc4a5cb88e601 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-14 00:49:51 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-14 02:12:12 +0900 [ruby/reline] Version 0.1.5 https://github.com/ruby/reline/commit/c8a419beb5 commit 0ac185be403e361da31901be4d58710000367330 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-09-12 16:27:14 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-09-12 16:27:14 +0900 Fix compile-time check for copy_file_range(2) * close fds properly * define USE_COPY_FILE_RANGE if HAVE_COPY_FILE_RANGE is defined * avoid errors on cross-compiling environments commit 012785ef352d6eee983e087adad71692b3aeb354 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-09-12 13:36:53 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-09-12 16:07:35 +0900 Check copy_file_range(2) is actually supported. see also: https://gitlab.com/gitlab-org/gitlab/-/issues/218999#note_363225872 commit ae508633b7798dd600fd5c6d5095af5361b28c70 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-12 10:07:18 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 10:07:18 +0900 Suppress "assigned but unused variable" warning commit 777d5367496bd1e8dad500685c0786a2572fc9e8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-12 04:51:08 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:52 +0900 [ruby/reline] Support for word movement escape sequences in iTerm2 https://github.com/ruby/reline/commit/187235f88c commit f36dc2b6de54ec6b82766d2134a782d12628a2b9 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-12 01:51:26 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:52 +0900 [ruby/reline] Treat prompt correctly when Reline.prompt_proc isn't set https://github.com/ruby/reline/commit/9c9ba0eff3 commit ce389ade45f412351d7c91db60eaa5e19fcd8c5f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-11 05:48:59 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:52 +0900 [ruby/reline] Move cursor to currect vertical pos after rendering a logical line https://github.com/ruby/reline/commit/9b932df544 commit 9baf1bd0a444d052aff8963630d11176e34271ef Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-09 17:44:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:52 +0900 [ruby/reline] Stop using chomp option of lines method https://github.com/ruby/reline/commit/3e2f55c3e0 commit 0ec19cc8435fb3f04c503af374942a2ea74b0e46 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-09 19:46:30 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:52 +0900 [ruby/reline] Stop erasing chars after the cursor at eol When the cursor is at the end of the line and erases characters after the cursor, some terminals delete the character at the cursor position. https://github.com/ruby/reline/commit/e96ec97b02 commit 2e34b35a0ff7c326d1260a7f4dd3e4a9febe3d12 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-09-05 21:13:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:52 +0900 [ruby/reline] Skip the nil obtained from getc The nil means there is nothing in the buffer in some systems. Incidentally, Errno::EIO is raised if the I/O is closed. https://github.com/ruby/reline/commit/c698634e74 commit a840ef85690281a92b62e2d0dd84f7de69cfd4ae Author: Yoshinao Muramatu <ysno@ac.auone-net.jp> AuthorDate: 2020-08-30 14:42:41 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:51 +0900 [ruby/reline] not clear scrollback buffer https://github.com/ruby/reline/commit/ba800f1461 commit 0862744010907ecda8c8122557e97de9238d51a1 Author: Yoshinao Muramatu <ysno@ac.auone-net.jp> AuthorDate: 2020-08-10 11:01:05 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:51 +0900 [ruby/reline] clear_screen use Windows API https://github.com/ruby/reline/commit/2c5ee54cb3 commit 770e66030a43967a7aae1050da364ed842f1f544 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-28 12:12:10 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-09-12 08:35:51 +0900 [ruby/reline] Use str.encoding by default for split_by_width https://github.com/ruby/reline/commit/2d32604c9e commit 6042b7433d02b2bb871e9cf0042a21b031814e9f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-12 08:29:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-12 08:29:06 +0900 Promote time.rb to default gems commit 01e0d74965ccaa6382bae883adac5f556590023a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-11 22:01:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-11 22:01:08 +0900 Promote resolv-replace to default gems commit e0675b1c7645416015cb882bc4ab11a0e46a4a0b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-11 21:50:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-11 21:50:07 +0900 Promote resolv to default gems commit d1851ba5b9336d01b5207e7d9a483e698c049dd0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-11 21:15:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-11 21:15:25 +0900 Promote securerandom to default gems commit 2f24818319154bcd6fbc422f2f5d46cdd1f9a5c2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-11 20:38:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-11 20:38:18 +0900 Promote open-uri to default gems commit f0ddbd502c1d6912cec9a91997966ba659e347c1 Author: Soutaro Matsumoto <matsumoto@soutaro.com> AuthorDate: 2020-09-11 14:34:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-11 14:34:10 +0900 Let String#slice! return nil (#3533) Returns `nil` instead of an empty string when non-integer number is given (to make it 2.7 compatible). Notes: Merged-By: soutaro <matsumoto@soutaro.com> commit 0d78390bfb9d87ac7ee192115216882e09c50a06 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-11 13:26:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-11 13:26:20 +0900 rbinstall.rb: OpenStruct has not been needed for years Since 6f3e8df133c7785ff6bb6f18d1faec81fefb3999 in 2014. commit 406559a268c0968be5497e6bc0513aa6fe7b0373 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-11 11:01:30 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-09-11 11:02:24 +0900 Add missing break pointed out by Coverity Scan commit d55c914f0fe951b6f742b1b7247011dd681350a1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-10 21:07:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-11 10:52:52 +0900 Removed DRb.default_safe_level and DRb#safe_level Notes: Merged: https://github.com/ruby/ruby/pull/3531 commit e691e671ca91d125edb636669f628d51c04aa1b2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-10 21:04:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-11 10:52:52 +0900 Removed Thread#safe_level Notes: Merged: https://github.com/ruby/ruby/pull/3531 commit ef22af4db0e38db406cfc46987cbe03582de2da0 Author: Matt Valentine-House <matt@eightbitraptor.com> AuthorDate: 2020-07-01 06:19:18 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-11 00:48:51 +0900 If the GC runs before the Mutex's are initialised then we get a crash in pthread_mutex_lock. It is possible for GC to run during initialisation due to objects being allocated Notes: Merged: https://github.com/ruby/ruby/pull/3510 commit 867204c4a558f318be9d39da47298d5ccc85ff17 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-10 20:42:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-10 20:42:53 +0900 Promote syslog to default gems commit cf76a4a5c28ee41221d961935e08404a0ceac6df Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-10 18:56:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-10 18:56:17 +0900 Promote base64 to default gems commit cf681038d621bbd8bb7808b7b153535397df0e68 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-10 15:42:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-10 18:56:17 +0900 Promote shellwords to default gems commit cee8e95761faeb482f303d1ea67c2dd91408f01f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-10 13:54:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-10 18:56:16 +0900 Promote abbrev to default gems commit ea78960ee5cb78c6aaaaa7091b85066a011c51e9 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-10 16:51:24 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-10 18:44:02 +0900 sync callable_method_entry() callable_method_entry() read/write method table structures so that this function should be synchronized between Ractors. Notes: Merged: https://github.com/ruby/ruby/pull/3529 commit 475c8701d74ebebefb2f53052cde1a5effb4cb81 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-05 09:32:31 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-10 04:45:43 +0900 Make SecureRandom support Ractor SecureRandom lazily defines `get_random`. Accessing the mutex to define the `get_random` method is not supported inside a Ractor. This commit defines `gen_random` when `securerandom` is required and makes it suppore Ractor (as well as thread safe). Here is a test program: ```ruby require "securerandom" r = Ractor.new do loop do Ractor.yield SecureRandom.hex end end p r.take ``` Before this commit: ``` $ make runruby ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems ./test.rb <internal:ractor>:38: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues. /Users/aaron/git/ruby/lib/securerandom.rb:94:in `gen_random': can not access instance variables of classes/modules from non-main Ractors (RuntimeError) <internal:ractor>:124:in `take': thrown by remote Ractor. (Ractor::RemoteError) from ./test.rb:9:in `<main>' /Users/aaron/git/ruby/lib/securerandom.rb:94:in `gen_random': can not access instance variables of classes/modules from non-main Ractors (RuntimeError) from /Users/aaron/git/ruby/lib/securerandom.rb:155:in `random_bytes' from /Users/aaron/git/ruby/lib/securerandom.rb:176:in `hex' from ./test.rb:5:in `block (2 levels) in <main>' from ./test.rb:4:in `loop' from ./test.rb:4:in `block in <main>' make: *** [runruby] Error ``` After this commit: ``` $ make runruby ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems ./test.rb <internal:ractor>:38: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues. "3fc8885157e3911bab4b5d7619bb0308" ``` Notes: Merged: https://github.com/ruby/ruby/pull/3518 commit 5001cc47169614ea07d87651c95c2ee185e374e0 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-08-18 16:41:38 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-10 03:11:36 +0900 Optimize ObjectSpace.dump_all The two main optimization are: - buffer writes for improved performance - avoid formatting functions when possible ``` | |compare-ruby|built-ruby| |:------------------|-----------:|---------:| |dump_all_string | 1.038| 195.925| | | -| 188.77x| |dump_all_file | 33.453| 139.645| | | -| 4.17x| |dump_all_dev_null | 44.030| 278.552| | | -| 6.33x| ``` Notes: Merged: https://github.com/ruby/ruby/pull/3420 commit b49a8704143ce47de0472b6033fc5797aed21f52 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-07-28 19:58:49 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-10 00:05:14 +0900 Add a :since option to dump_all This is useful to see what a block of code allocated, e.g. ``` GC.start GC.disable ObjectSpace.trace_object_allocations do # run some code end gc_gen = GC.count allocations = ObjectSpace.dump_all(output: :file, since: gc_gen) GC.enable GC.start retentions = ObjectSpace.dump_all(output: :file, since: gc_gen) ``` Notes: Merged: https://github.com/ruby/ruby/pull/3368 commit 01828a955a2d776263bda84ee12d9ea922bbfa01 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-09 21:53:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-09 21:53:09 +0900 Promote tsort to default gems commit b194973dcd5eda6c9e256029ea39dc532ae18962 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-09 20:52:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-09 21:10:48 +0900 Revert the related commits about `Tempfile.open` change. Start with https://github.com/ruby/ruby/commit/fa21985a7a2f8f52a8bd82bd12a724e9dca74934 to https://github.com/ruby/ruby/commit/d7492a0be885ea9f2b9f71e3e95582f9a859c439 commit 6997109fcaef0567f176e53dfc092aecc49f9ece Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-09 04:02:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-09 20:15:41 +0900 [ruby/tempfile] Revert Tempfile.open unlinking the file Document difference in behavior between Tempfile.open and Tempfile.create. https://github.com/ruby/tempfile/commit/426d6f887f commit 65ab2385e36cf6e2753bc0f262a059d5e323e003 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-09-09 01:22:27 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-09-09 01:22:34 +0900 Use size_t for MJIT's max_ivar_index iseq_inline_iv_cache_entry's index is also size_t. %"PRIuSIZE" seems to print warnings against st_index_t in some environments. commit b7d86e330c76b4f9615511307e1c40f4f2937c83 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-08 20:39:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-08 20:39:23 +0900 Workaroud for macOS Big Sur(11.0) commit cdef17096c03099f17ecf0af51f43faa0944f96d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-08 20:38:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-08 20:38:01 +0900 libSystem.dylib is also symlink. Use libSystem.B.dylib commit 0168094da28c146062db22e69cbd9316418310f9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-08 19:35:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-08 19:35:15 +0900 Use libSystem.dylib instead of libm.dylib and libc.dylib Because macOS 11.0(Big Sur) was removed libc and libm from `/usr/lib`. commit 5be75aad3792c90f1d4de424fc07bc4f652e554e Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-09-08 10:30:07 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-09-08 10:30:07 +0900 Add FALLTHROUGH Pointed out by Coverity Scan ``` ** CID 1466646: Control flow issues (MISSING_BREAK) /ext/-test-/random/loop.c: 63 in loop_get_bytes() ``` commit 2b07b24bdf15e4feeb9dae94a17999070cd77121 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-07 18:56:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-07 20:08:01 +0900 Added `rb_random_base_init` To enclose the initialization of Random::Base part. Notes: Merged: https://github.com/ruby/ruby/pull/3024 commit 4924011262e35e3983e245cbfcff15aee7b295f3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-07 18:51:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-07 20:08:01 +0900 Added WITH_REAL macros Added `WITH_REAL` versions to `RB_RANDOM_INTERFACE` macros. Also these macros including "without real" versions no longer contain the terminator (semicolon and comma). Notes: Merged: https://github.com/ruby/ruby/pull/3024 commit d6ec0ef59b4c7c95beaad09f77cb5f86a0901b97 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 00:52:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-07 20:08:01 +0900 Added `get_real` interface Notes: Merged: https://github.com/ruby/ruby/pull/3024 commit c449b9b02f63cf8268a0eb9639a43caf4598996d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 00:45:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-07 20:08:01 +0900 Added rb_int_pair_to_real Notes: Merged: https://github.com/ruby/ruby/pull/3024 commit af5e87ab218c5f4e34c6cdb54ae119a7f0f9033f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2016-05-07 11:51:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-07 20:08:01 +0900 separate rb_random_t * random.c: separate abstract rb_random_t and rb_random_mt_t for Mersenne Twister implementation. * include/ruby/random.h: the interface for extensions of Random class. * DLL imported symbol reference is not constant on Windows. * check if properly initialized. Notes: Merged: https://github.com/ruby/ruby/pull/3024 commit f4d5273989ae8d6569a62b126b2774706b86fbf5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2016-05-12 16:52:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-07 20:08:01 +0900 Random::Base * random.c (InitVM_Random): introduce abstract super class Random::Base. Notes: Merged: https://github.com/ruby/ruby/pull/3024 commit 19917d45a35ff86b3976267b6cb2b494b6130045 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-07 14:33:38 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-07 19:02:45 +0900 .github: try GitHub Container Registry It is natural for a CI running on GitHub to use GitHub's facility. See also https://github.blog/2020-09-01-introducing-github-container-registry/ Notes: Merged: https://github.com/ruby/ruby/pull/3524 commit 0dbf6e46fb88a1c8c48ce5f67ac881a77de76526 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-07 00:59:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-07 00:59:53 +0900 [Feature #17157] removed -T command line option commit b22b3f03f46cb3c4e3e6fb55d23ae7fccaa19359 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-09-06 16:01:48 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-06 19:11:49 +0900 Increase timeout for GitHub Actions. Notes: Merged: https://github.com/ruby/ruby/pull/3523 commit 369cfabd5936ccb522f8e95e0f9cc65b59ea4039 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-09-05 21:18:45 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-09-06 13:57:41 +0900 Make it possible to dump and load an exception object A backtrace object in an exception had never supported marshalling correctly: `Marshal.load(Marshal.dump(exc)).backtrace_locations` dumped core. An Exception object has two hidden instance varibles for backtrace data: one is "bt", which has an Array of Strings, and the other is "bt_locations", which has an Array of Thread::Backtrace::Locations. However, Exception's dump outputs data so that the two variables are the same Array of Strings. Thus, "bt_locations" had a wrong-type object. For the compatibility, it is difficult to change the dump format. This changeset fixes the issue by ignoring data for "bt_locations" at the loading phase if "bt_locations" refers to the same object as "bt". Future work: Exception's dump should output "bt_locations" appropriately. https://bugs.ruby-lang.org/issues/17150 Notes: Merged: https://github.com/ruby/ruby/pull/3521 commit c12b2703bc05f8c7eaaace49253f63a5e0f28273 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-26 06:06:09 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-09-06 12:37:54 +0900 Add `RB_` prefix for size_t to number conversion. Notes: Merged: https://github.com/ruby/ruby/pull/3519 commit 40c06e6fe1fe75758e490173b900beb3da62c4a8 Author: Ashwin Elangovan <ashelangovan97@gmail.com> AuthorDate: 2020-09-06 04:58:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-06 04:58:31 +0900 Fixed some typos in ractor.md (#3522) Notes: Merged-By: marcandre <github@marc-andre.ca> commit 170c7528e6569d51be661efe556d3b5e68b19bb5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-05 23:15:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-05 23:16:26 +0900 common.mk: UNALIGNED_MEMBER_ACCESS needs internal/warnings.h on some platforms commit dd83d0c599a41c8133f6d79c7f1670db31176958 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-05 23:15:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-05 23:16:23 +0900 update-deps: ruby-runner is not a target commit 5c49bb5486587794ab64dca65f535bf0f4c7c249 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-05 17:28:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-05 17:34:12 +0900 Removed useless casts commit 72757fb596fe6b1613cbcb4f70bb143c21079541 Author: andrewmelis <andrewmelis@gmail.com> AuthorDate: 2020-09-05 16:18:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-05 17:21:43 +0900 Fix typo in ractor.md Notes: Merged: https://github.com/ruby/ruby/pull/3520 commit de30450d91a8dda9dd415512ba5a1709704cae12 Author: Tom Schady <tschady@greenkeytech.com> AuthorDate: 2020-09-05 01:36:48 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-05 01:41:35 +0900 Fix typos in Ractor README. Notes: Merged: https://github.com/ruby/ruby/pull/3516 commit eb67c603ca7e435181684857e650b4633fda5bb6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-04 22:18:59 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-04 22:18:59 +0900 Added Symbol#name https://bugs.ruby-lang.org/issues/16150#change-87446 Notes: Merged: https://github.com/ruby/ruby/pull/3514 Merged-By: nobu <nobu@ruby-lang.org> commit d7406ccc2c99009cc2af56d5b01c411f8bb673f6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-04 16:28:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-04 16:28:40 +0900 Updated dependency commit d164eef9577175e51bc17c1da75a9092d86030a9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-04 15:17:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-04 15:17:42 +0900 Fixed heap-use-after-free on ractor commit fbaab562d99c220bd481c17522c02c865ba7c44c Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-03 04:34:33 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-04 14:23:14 +0900 lib/ostruct.rb: Revert "To use RuntimeError instead of FrozenError for old ruby versions." This reverts commit 4cd1fc8b3559353069860eee90b1b5bade013917. commit 3b0bcaf2872e5ab6d2475e9cd6dd5c374d93ae0b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-04 05:51:55 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-04 14:18:48 +0900 check multi_ractor mode at main_p rb_ractor_main_p() need to access to the ractor pointer in TLS. However it is slow operation so that we need to skip this check if it is not multi-ractor mode (!ruby_multi_ractor). This performance regression is pointed at https://bugs.ruby-lang.org/issues/17100#note-27 Notes: Merged: https://github.com/ruby/ruby/pull/3513 commit 169b1d1aca0c26d38f8bbd25ecaf5fdb8015f5cf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-04 11:46:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-04 11:46:50 +0900 Initialize loop variables of list_for_each for MS VC commit d4585e7470163c794025c2d56930c0e5a5fbae3c Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-09-04 04:51:14 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-09-04 06:41:58 +0900 Avoid potential for rb_raise() while crashing rb_obj_raw_info is called while printing out crash messages and sometimes called during garbage collection. Calling rb_raise() in these situations is undesirable because it can start executing ensure blocks. Notes: Merged: https://github.com/ruby/ruby/pull/3512 commit 3f922f3b77f343394475c4603d4b885126ce6437 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-04 04:07:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-04 04:07:34 +0900 don't use toplevel return Toplevel return is supported after Ruby 2.4, so don't use it for older BASERUBY. commit b52513e2a1ede39eef094e9e2cfa8710ce26e1f1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-03 18:04:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-03 21:11:06 +0900 skip Ractor tests on Compiler tests This implementation has memory corruption errors so and it causes BUG on rare occasions. This commit skips suspect tests on Github actions Compiler tests. Notes: Merged: https://github.com/ruby/ruby/pull/3365 commit 79df14c04b452411b9d17e26a398e491bca1a811 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-10 02:22:11 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-03 21:11:06 +0900 Introduce Ractor mechanism for parallel execution This commit introduces Ractor mechanism to run Ruby program in parallel. See doc/ractor.md for more details about Ractor. See ticket [Feature #17100] to see the implementation details and discussions. [Feature #17100] This commit does not complete the implementation. You can find many bugs on using Ractor. Also the specification will be changed so that this feature is experimental. You will see a warning when you make the first Ractor with `Ractor.new`. I hope this feature can help programmers from thread-safety issues. Notes: Merged: https://github.com/ruby/ruby/pull/3365 commit eeb5325d3bfd71301896360c17e8f51abcb9a7e5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-02 16:08:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-03 18:51:48 +0900 Hoisted out warn_deprecated commit 7b9ef66747c91823bf22346ddda7b48329f29fb8 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-09-03 02:58:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-03 16:49:45 +0900 Don't call to_s in const_set Follow up for 5e16857315bf55307c5fc887ca6f03bfa0630a93. Calling a method in the middle of const_set adds a way that it would fail. It also makes it inconsistent with declaring a constant using `::`, which doesn't call `to_s`. Notes: Merged: https://github.com/ruby/ruby/pull/3509 commit 50b18e81295ad2d45975e4d8ea1e0c7e85140b97 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-09-03 15:06:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-03 15:14:09 +0900 configure: detect that there is no g++ AC_PROG_CXX checks for several C++ compilers INCLUDING g++. When none of them were found it sets the CXX variable to be g++. This doesn't make any sense. Absence of g++ has already been made sure. Because we don't want insanity (that's the whole reason we test the environment using autoconf), we need to swipe such insane variable out. commit 3fb255625bba37cd948751163f620a4b2926c394 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-03 08:42:56 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-03 08:45:54 +0900 add lldb functions for getting the heap page / heap page body commit 933035d303a154f9b8afea84b99ef99fba21c032 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-09-03 08:42:14 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-09-03 08:45:13 +0900 support T_MATCH in lldb commit 0b81a484f3453082d28a48968a063fd907daa5b5 Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2020-08-26 15:42:15 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-09-03 06:54:29 +0900 Initialize new T_OBJECT as ROBJECT_EMBED Previously, when an object is first initialized, ROBJECT_EMBED isn't set. This means that for brand new objects, ROBJECT_NUMIV(obj) is 0 and ROBJECT_IV_INDEX_TBL(obj) is NULL. Previously, this combination meant that the inline cache would never be initialized when setting an ivar on an object for the first time since iv_index_tbl was NULL, and if it were it would never be used because ROBJECT_NUMIV was 0. Both cases always fell through to the generic rb_ivar_set which would then set the ROBJECT_EMBED flag and initialize the ivar array. This commit changes rb_class_allocate_instance to set the ROBJECT_EMBED flag on the object initially and to initialize all members of the embedded array to Qundef. This allows the inline cache to be set correctly on first use and to be used on future uses. This moves rb_class_allocate_instance to gc.c, so that it has access to newobj_of. This seems appropriate given that there are other allocating methods in this file (ex. rb_data_object_wrap, rb_imemo_new). Notes: Merged: https://github.com/ruby/ruby/pull/3486 commit eada6350332155972f19bad52bd8621f607520a2 Author: eileencodes <eileencodes@gmail.com> AuthorDate: 2020-09-02 21:56:13 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-03 04:44:33 +0900 Add category to `rb_warn_deprecated` PR https://github.com/ruby/ruby/pull/3418 added a category to `rb_warn_deprecated_to_remove` but not to `rb_warn_deprecated`. This adds the same code to `rb_warn_deprecated` so that those warnings also get a category. This change also adds tests for `rb_warn_deprecated` and updates the tests for `rb_warn_deprecated_to_remove` to have clearer names. I've fixed the call to `rb_method_entry` as we need to be using the instance method, not singleton. Feature: https://bugs.ruby-lang.org/issues/17122 Notes: Merged: https://github.com/ruby/ruby/pull/3505 commit 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-03 04:02:34 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-03 04:02:34 +0900 Comply with guide for method doc: array.c (#3506) Methods: any? all? one? none? sum shuffle! shuffle sample Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 93b78abd774109d1333d59eaf439b2e69ed0fe00 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-02 12:45:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-02 13:30:16 +0900 new_dstr: hoisted out from literal_concat and evstr2dstr commit 5e16857315bf55307c5fc887ca6f03bfa0630a93 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-02 10:22:20 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-02 13:05:14 +0900 Fix constant names set using const_set on a singleton class Fixes [Bug #14895] Notes: Merged: https://github.com/ruby/ruby/pull/3502 commit 11922b5e030808b16fd2c604637e046b2d01b0f0 Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-08-27 22:24:21 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-09-02 11:03:13 +0900 Fix error message for wb unprotected objects count This error is about wb unprotected objects, not old objects. Notes: Merged: https://github.com/ruby/ruby/pull/3463 commit 4c3f0597de99103374012522beecadeaa9e25eed Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-09-01 11:48:34 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-09-02 11:02:29 +0900 Remove the pc argument of vm_trace() This makes the binary 272 bytes smaller on -O3 GCC 10.2.0. Notes: Merged: https://github.com/ruby/ruby/pull/3494 commit 94b54b038c1f4d6d2b54e10dd0305b1bc283449b Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-09-02 09:26:45 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-09-02 10:02:12 +0900 Reapply "Special case Range#max for integer beginning and Float::Infinity end" (tests) Reverted in e080a4cdee Notes: Merged: https://github.com/ruby/ruby/pull/3501 commit 6e8ec9ab6da228ade70fe7d0dd16540d8f859f00 Author: eileencodes <eileencodes@gmail.com> AuthorDate: 2020-08-07 02:25:11 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-02 08:16:06 +0900 Support passing a category to `Warning.warn` This change adds a `category` kwarg to make it easier to monkey patch `Warning.warn`. Warnings already have a category, but that warning isn't exposed. This implements a way to get the category so that warnings with a specific category, like deprecated, can be treated differently than other warnings in an application. The change here does an arity check on the method to support backwards compatibility for applications that may already have a warning monkey patch. For our usecase we want to `raise` for deprecation warnings in order to get the behavior for the next Ruby version. For example, now that we fixed all our warnings and deployed Ruby 2.7 to production, we want to be able to have deprecation warnings behave like they would in 3.0: raise an error. For other warnings, like uninialized constants, that behavior won't be removed from Ruby in the next version, so we don't need to raise errors. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/3418 commit de10a1f3583adeeffd7f8bcf8f276e0a626ffa0c Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-02 01:58:45 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-02 02:52:47 +0900 Update documentation for Range#max Notes: Merged: https://github.com/ruby/ruby/pull/3500 commit 4db4faef0f96bfd3504f5eac454a0308c618ccd6 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-02 01:19:03 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-02 02:52:47 +0900 Revert "Fix Range#{max,minmax} for range with integer beginning and non-integer end" This reverts commit 8900a25581822759daca528d46a75e0b743fc22e. Notes: Merged: https://github.com/ruby/ruby/pull/3500 commit e080a4cdeeb55dddb6247ffd2563d2dc8b84c919 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-02 01:18:44 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-02 02:52:47 +0900 Revert "Special case Range#max for integer beginning and Float::Infinity end" This reverts commit 05bf811c2839628aaef3d565daedb28be80d47ef. Notes: Merged: https://github.com/ruby/ruby/pull/3500 commit 94430d009a7018c9d6447fe6814a51b664ad46a9 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-02 02:49:48 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-02 02:49:48 +0900 Comply with guide for method doc: array.c (#3499) Methods considered: count flatten! flatten cycle permutation combination repeated_permutation repeated_combination product take take_while drop drop_while Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 41cf17bef053691dcf36db9c088c64eb7b30a73c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-01 19:45:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-02 01:41:20 +0900 Fixed argument types commit f6822e4ed020600e6556dbaf6e6e3ad837b65592 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-01 19:43:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-02 01:41:18 +0900 Format with proper conversion specifiers instead of casts commit be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-09-01 06:19:23 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-09-01 23:16:31 +0900 Fix pthread_setname_np arguments on NetBSD The previous attempt to fix this in b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument order instead of just fixing the quote escaping. From Takahiro Kambe. Fixes [Bug #15178] Notes: Merged: https://github.com/ruby/ruby/pull/3492 commit 6b432009485fed880949223b9f56c904f52881ed Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-09-01 20:46:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-01 21:18:15 +0900 Fix syncing bundler man pages `rm_rf` does not support globbing, so not all files get deleted. Notes: Merged: https://github.com/ruby/ruby/pull/3497 commit 8d1de3154c4bfbdfe451fcd815b0589e38d351c2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-01 19:03:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-01 19:03:41 +0900 Use RSTRING_LENINT for overflow check commit 21ad4075a71f302474a78dc744149ac8ce2ff0ec Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-09-01 19:01:32 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-01 19:01:32 +0900 Don't read past the end of the Ruby string Ruby strings don't always have a null terminator, so we can't use it as a regular C string. By reading only the first len bytes of the Ruby string, we won't read past the end of the Ruby string. Notes: Merged: https://github.com/ruby/ruby/pull/3487 Merged-By: nobu <nobu@ruby-lang.org> commit a137874e67b0b3f815be3ba322ed8925860bc673 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-09-01 06:14:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-09-01 06:14:35 +0900 add RUBY_DEBUG=ci envval for GH actions RUBY_DEBUG=ci envval shows more information on rb_bug(). commit fbf79f1c11a5357b5a3a790a8f5942fdefc22947 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-09-01 14:33:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-09-01 14:42:19 +0900 Use the previous winflexbison3 winflexbison3 v2.5.23.20200829 seems to install nothing. commit cceba23515ee6390127973088b739b8e4dd34721 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-01 10:01:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-01 11:21:41 +0900 minitest is working fine with Ruby 3 Notes: Merged: https://github.com/ruby/ruby/pull/3493 commit e00eba1ce2ec5089119c43a0ce774a4f0474f616 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-01 09:55:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-01 11:21:41 +0900 xmlrpc has been removed from the bundled gems Notes: Merged: https://github.com/ruby/ruby/pull/3493 commit a3d90f1b9b4d9ec773f9eeeb998e5bf010d399fd Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-01 09:54:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-01 11:21:41 +0900 bump version to minitest-5.14.2 Notes: Merged: https://github.com/ruby/ruby/pull/3493 commit 377159370b3fa85ae74a86eb1003aee796e1abc7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-09-01 09:53:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-09-01 11:21:41 +0900 Revert the workaround of minitest and hoe 86737c509cd49cfe4509a65d300d390da0f07be6 3e1aea461320094e634ab32ca0b13dd43b69d8b0 Notes: Merged: https://github.com/ruby/ruby/pull/3493 commit b01d852c2add603ab51689d495fa443d32cf5909 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-31 14:49:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-09-01 11:05:10 +0900 congigure.ac: favour gcc on Linux Requested by Naruse. Notes: Merged: https://github.com/ruby/ruby/pull/3478 commit 50736f127abf9f13152b900f0c71e6ecd7e71427 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-01 06:25:11 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-01 06:25:11 +0900 Comply with guide for method doc: array.c (#3489) Methods considered: & intersection | union max min minmax uniq! uniq compact! compact Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit e744d4070caa49a1ffdce8852d620112bc6b6c7f Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-01 04:53:54 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-01 04:53:54 +0900 Comply with guide for method doc: array.c (#3484) Methods: + concat * assoc rassoc == eql? hash include? <=> - difference Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 1f4c507afb78fd2fc92a8575c0d6364dc7752191 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-09-01 03:16:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-09-01 03:16:10 +0900 Comply with guide for method doc: array.c (#3477) Methods considered: delete_at slice! reject! reject delete_if zip transpose replace clear fill Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 2e80c8347e27f8ecedab56bab105d69efa35cbea Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-01-19 11:34:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-31 22:14:14 +0900 Deprecate iterator? method [Feature #15547] [Fix GH-2071] commit c23c880f56b3884c08a13c7e8c11ec4c89708a59 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2019-10-14 08:11:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-31 21:57:35 +0900 [ruby/strscan] Bump version https://github.com/ruby/strscan/commit/df90d541fa commit c76508b88c083c29aaafaec7d67072b45f7e40aa Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-31 21:47:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-31 21:57:35 +0900 [ruby/strscan] Replaced examples using $KCODE with encodings `$KCODE` has been deprecated and not effective since years ago. https://github.com/ruby/strscan/commit/7c4dbd4cb3 commit 01f28405b1c103023e835e5f6d03def041bb8884 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-31 20:46:42 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-31 20:49:08 +0900 Update version to 3.0.0 in NEWS.md commit 53ba9fb74ec57c18c3589e2e51f84a36467e3d9e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-08-31 16:49:16 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-08-31 20:30:27 +0900 Prohibit setter method names in endless method definition https://bugs.ruby-lang.org/issues/16746#note-26 Notes: Merged: https://github.com/ruby/ruby/pull/3479 commit 86737c509cd49cfe4509a65d300d390da0f07be6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-31 17:48:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-31 18:51:59 +0900 Removed minitest and hoe because they didn't support Ruby 3 yet Notes: Merged: https://github.com/ruby/ruby/pull/3480 commit b674fc9ca2498d55c7e4f91592279eb985b8bea1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-28 10:58:37 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-31 18:08:57 +0900 Thread.exclusive: delete Has been deprecated since 2069c9e031fc968d6d3d0fe30a9316851e4d91d8. [Feature #17125][ruby-core:99636] commit eb9342d3483babdf47179b84ccc947fc93a40233 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-31 17:37:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-31 17:45:27 +0900 The deprecation of enumerators with block has been withdrawn https://bugs.ruby-lang.org/issues/6670#change-75907 commit 0eec4ae85179fb6c8abd17d27b946d86f177f027 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-31 17:23:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-31 17:45:27 +0900 Get rid of using Socket.gethostbyname commit 3e1aea461320094e634ab32ca0b13dd43b69d8b0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-31 17:18:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-31 17:18:14 +0900 Temporary removed minitest from bundled gems. It requires Ruby 2.x. https://github.com/seattlerb/minitest/blob/master/Rakefile#L14 commit 21c62fb670b1646c5051a46d29081523cd782f11 Author: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp> AuthorDate: 2020-08-31 16:38:13 +0900 Commit: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp> CommitDate: 2020-08-31 16:38:13 +0900 Version number bumped to 3.0.0 from 2.8.0 (tentative). We have decided to go forward to 3.0 this year. commit 585a659b1e8b3361192156cce218d8df0ef82f97 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-31 00:34:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-31 00:34:13 +0900 Comply with guide for method doc: array.c (#3475) Methods considered: bsearch bsearch_index sort_by! collect collect! values_at select select! keep_if delete Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 9eda6547812cbda23a73ba3b2620520b0de2bdd6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-30 16:07:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-30 16:07:12 +0900 KNOWNBUGS.rb: use-after-poison since b9007b6c548f91e88fd3f2ffa23de740431fa969 commit 726f2e59f9b0c7a69f540e09bab54ab17b013d56 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-30 05:16:02 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-30 05:16:02 +0900 Comply with guide for method doc: array.c (#3474) Methods considered: length empty? join inspect to_a to_h to_ary reverse! reverse rotate! rotate sort! sort Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit f0ad5594bf6107389cb8b3dfdfff1425e3317b16 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-30 02:15:06 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-30 02:15:06 +0900 Comply with guide for method doc: array.c (#3473) Methods considered: at first last fetch index rindex [] insert each each_index reverse_each Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit d7492a0be885ea9f2b9f71e3e95582f9a859c439 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 19:49:20 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 19:49:20 +0900 Revert changes to rdoc & rubygems regarding Tempfile.open(&block) * They likely want to support older Ruby/tempfile versions * Reverts part of e8c3872555fc85640505974e6b1c39d315572689 commit 3beecafc2cae86290a191c1e841be13f5b08795d Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 19:23:31 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 19:30:24 +0900 Fix usages of Tempfile.open(&block) that expected the file to still be there after the block commit e8c3872555fc85640505974e6b1c39d315572689 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 19:17:07 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 19:23:23 +0900 Simplify Tempfile.open calls with a block as they now unlink the file automatically commit ff323b2a5c56cdec93900af4d67f3811f946d9b8 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 19:11:07 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 19:11:07 +0900 Adapt specs for the new Tempfile.open with block behavior commit fa21985a7a2f8f52a8bd82bd12a724e9dca74934 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 18:53:05 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 19:05:48 +0900 Sync with ruby/tempfile@aa9ea12d94a905161cbd79af1ad9ab427f250f4e commit a11b9ca01cef170d232c6b99bef86a52a9710df9 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 19:00:23 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 19:00:38 +0900 Some fixes in NEWS.md commit 1199f1a4aac3946cb427f2bed73948b02ee14a74 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 18:58:05 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 18:58:56 +0900 Fix warnings related to new Socket.gethostby* deprecations commit 232d6c4077ab254b13ef006dd1e7e7c1d46a6cd3 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 18:51:05 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 18:51:05 +0900 Use a constant instead of a global variable in sync_default_gems.rb commit 6d946665bd79a93fb98b2d25400d1b6174472302 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-08-29 17:18:59 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-08-29 17:18:59 +0900 Show deprecation warning on Socket.gethostbyname and Socket.gethostbyaddr commit 56dd578d7e715fd255c668577162ede65c7e909f Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-08-29 16:10:58 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-08-29 16:10:58 +0900 IO.copy_stream: handle EOPNOTSUP instead of ENOTSUP commit 93df3010482ad52e5ada2e416c996005da956e1e Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-08-29 15:38:07 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-08-29 15:38:07 +0900 IO.copy_stream: handle ENOTSUP on copy_file_range(2) fallback to other methods on ENOTSUP. some RedHat kernels may return ENOTSUP on an NFS mount. [Feature #16965] commit 45c40f5631c6cdb14a9fe9c1b40e5fbb08793557 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-29 04:56:02 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-29 04:56:02 +0900 Comply with guide for method doc: array.c (#3469) Methods: - freeze - try_convert - new - \<< - push - pop - shift - unshift - [] Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 4a5dd970a750e90a9fe98d66babfa53665429221 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-29 03:39:16 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-29 03:39:16 +0900 Add alias treatment to method_documentation.rdoc (#3468) * Add alias treatment to method_documentation.rdoc Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit b49307c701911a713cbdb48367833d3661a4880a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 03:26:02 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 03:26:02 +0900 Update to ruby/spec@335eb9b commit 3dd63108b0e7551aba76eba85a459b58ec971ccb Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-08-29 03:26:00 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-08-29 03:26:00 +0900 Update to ruby/mspec@53a6e3e commit 1c138327e0537bb55f7d0810f6fe7e1c7f63b6c5 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-28 22:03:06 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-28 22:03:06 +0900 Try to fix compile error on windows https://github.com/ruby/ruby/runs/1041040167?check_suite_focus=true#step:11:177 ``` compiling ../src/re.c re.c ../src/re.c(317): error C2057: expected constant expression ../src/re.c(317): error C2466: cannot allocate an array of constant size 0 ../src/re.c(467): error C2057: expected constant expression ../src/re.c(467): error C2466: cannot allocate an array of constant size 0 ../src/re.c(467): error C2133: 'opts': unknown size ../src/re.c(559): error C2057: expected constant expression ../src/re.c(559): error C2466: cannot allocate an array of constant size 0 ../src/re.c(559): error C2133: 'optbuf': unknown size ../src/re.c(673): error C2057: expected constant expression ../src/re.c(673): error C2466: cannot allocate an array of constant size 0 ../src/re.c(673): error C2133: 'opts': unknown size NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64\cl.EXE"' : return code '0x2' Stop. ``` commit 7e1fddba4a609cb7bf4a696eccd892e68753bb21 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-28 19:35:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-28 19:47:29 +0900 States Time.at expects rational-like argument to respond to #to_int https://bugs.ruby-lang.org/issues/17131 commit 75c4e9b72eca22b087c8c2d6d8a950922545aa00 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-28 19:29:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-28 19:29:16 +0900 Named the magic number for regexp option buffer size In `rb_enc_reg_error_desc`, no longer kcode option is added. commit 1f09c4362806e3ce8a7b15e0effc3abb7f53411d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-28 02:09:34 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-28 11:05:18 +0900 [ruby/reline] Move width calculator methods to Reline::Unicode https://github.com/ruby/reline/commit/f348ecd9f5 commit cdd7d41046f6c91dfa8a1f0612dc686b79f6e849 Author: tompng <tomoyapenguin@gmail.com> AuthorDate: 2020-07-28 17:25:06 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-28 11:05:18 +0900 [ruby/reline] fix cursor_pos regexp match https://github.com/ruby/reline/commit/1dd80ef188 commit 8882927036a6630c6132f0a2067bdec64d9ca94d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-26 19:21:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-28 11:05:18 +0900 [ruby/irb] Discard newlines at end of file https://github.com/ruby/irb/commit/0b2773d91d commit 3b24b7914c16930bfadc89d6aff6326a51c54295 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-08-28 07:17:36 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-28 07:17:36 +0900 Improve performance of partial backtraces Previously, backtrace_each fully populated the rb_backtrace_t with all backtrace frames, even if caller only requested a partial backtrace (e.g. Kernel#caller_locations(1, 1)). This changes backtrace_each to only add the requested frames to the rb_backtrace_t. To do this, backtrace_each needs to be passed the starting frame and number of frames values passed to Kernel#caller or #caller_locations. backtrace_each works from the top of the stack to the bottom, where the bottom is the current frame. Due to how the location for cfuncs is tracked using the location of the previous iseq, we need to store an extra frame for the previous iseq if we are limiting the backtrace and final backtrace frame (the first one stored) would be a cfunc and not an iseq. To limit the amount of work in this case, while scanning until the start of the requested backtrace, for each iseq, store the cfp. If the first backtrace frame we care about is a cfunc, use the stored cfp to find the related iseq. Use a function pointer to handle the storage of the cfp in the iteration arg, and also store the location of the extra frame in the iteration arg. backtrace_each needs to return int instead of void in order to signal when a starting frame larger than backtrace size is given, as caller and caller_locations needs to return nil and not the empty array in these cases. To handle cases where a range is provided with a negative end, and the backtrace size is needed to calculate the result to pass to rb_range_beg_len, add a backtrace_size static function to calculate the size, which copies the logic from backtrace_each. As backtrace_each only adds the backtrace lines requested, backtrace_to_*_ary can be simplified to always operate on the entire backtrace. Previously, caller_locations(1,1) was about 6.2 times slower for an 800 deep callstack compared to an empty callstack. With this new approach, it is only 1.3 times slower. It will always be somewhat slower as it still needs to scan the cfps from the top of the stack until it finds the first requested backtrace frame. This initializes the backtrace memory to zero. I do not think this is necessary, as from my analysis, nothing during the setting of the backtrace entries can cause a garbage collection, but it seems the safest approach, and it's unlikely the performance decrease is significant. This removes the rb_backtrace_t backtrace_base member. backtrace and backtrace_base were initialized to the same value, and neither is modified, so it doesn't make sense to have two pointers. This also removes LOCATION_TYPE_IFUNC from vm_backtrace.c, as the value is never set. Fixes [Bug #17031] Notes: Merged: https://github.com/ruby/ruby/pull/3441 Merged-By: jeremyevans <code@jeremyevans.net> commit 8095114f1715070fcdc2b29303dcf55a7fcc32a3 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-28 04:54:36 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-28 04:54:36 +0900 Comply with guide for method doc: hash.c (#3466) Instance methods considered (most unchanged): - any - dig - \<= - \< - \>= - \> - to_proc Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 029c7e60454932d63889e1085b51d645b6ab5942 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-28 03:28:34 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-28 03:28:34 +0900 Comply with guide for method doc: hash.c (#3465) Instance methods considered (maybe not all changed): invert merge! merge assoc rassoc flatten compact compact! compare_by_identity compare_by_identity? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit f332fe236c7dbfeed68e8e18b3acf22c270cffaf Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-28 01:52:29 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-28 01:52:29 +0900 Comply with guide for method doc: hash.c (#3464) Instance methods considered (maybe not all changed): to_a inspect to_hash to_h keys values include? has_value? == eql? hash Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 9658a5a849d58c206074557e4f716ec0dffdfe59 Author: Masaki Matsushita <glass.saga@gmail.com> AuthorDate: 2020-08-27 23:49:05 +0900 Commit: Masaki Matsushita <glass.saga@gmail.com> CommitDate: 2020-08-28 01:01:51 +0900 Show deprecation warning on TCPSocket.gethostbyname commit 5483bf8fa4bc62239341e7ff08f6e104258ca7a7 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-08-28 01:00:14 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-08-28 01:00:19 +0900 add T_ZOMBIE support to lldb scripts commit c60aaed1856b2b6f90de0992c34771830019e021 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-08-28 00:37:03 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-28 00:37:03 +0900 Fix Method#super_method for aliased methods Previously, Method#super_method looked at the called_id to determine the method id to use, but that isn't correct for aliased methods, because the super target depends on the original method id, not the called_id. Additionally, aliases can reference methods defined in other classes and modules, and super lookup needs to start in the super of the defined class in such cases. This adds tests for Method#super_method for both types of aliases, one that uses VM_METHOD_TYPE_ALIAS and another that does not. Both check that the results for calling super methods return the expected values. To find the defined class for alias methods, add an rb_ prefix to find_defined_class_by_owner in vm_insnhelper.c and make it non-static, so that it can be called from method_super_method in proc.c. This bug was original discovered while researching [Bug #11189]. Fixes [Bug #17130] Notes: Merged: https://github.com/ruby/ruby/pull/3458 Merged-By: jeremyevans <code@jeremyevans.net> commit 280d028125a975c7a28ca9011f318ed504e9565f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-27 23:52:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-27 23:55:17 +0900 [ruby/stringio] Bump version to 0.1.4 https://github.com/ruby/stringio/commit/64f2360d38 commit f4b9e94317853d3389c34fda35eba72face72a7b Author: Leam Hall <leamhall@gmail.com> AuthorDate: 2020-08-22 01:10:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-27 23:46:02 +0900 [ruby/io-console] Bug 17128: In test_set_winsize_console, wrapped re-size in a begin-rescue-else. https://github.com/ruby/io-console/commit/a22333c33a commit b3c1c767ea64ce435c115cece5074274b7aefadc Author: Yoann Lecuyer <yoann.lecuyer@gmail.com> AuthorDate: 2020-08-27 05:46:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-27 23:41:22 +0900 [stringio] fix stringio codepoint enumerator off by one error Notes: Merged: https://github.com/ruby/ruby/pull/3460 commit b8bfb1d5f5b15aa0bfa54ac3f97af1034f16359b Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-27 22:31:32 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-27 22:31:32 +0900 Comply with guide for method doc: hash.c (#3459) Instance methods considered (some maybe not changed): clear []= replace length empty? each_value each_key each_pair transform_keys transform_keys! transform_values transform_values! Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 490010084ed09d9825e8d9198a02b930eaa1cd85 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 15:40:46 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 16:42:06 +0900 sed -i '/rmodule.h/d' Notes: Merged: https://github.com/ruby/ruby/pull/3347 commit 5ca44076f47dce3a70b5f4755f5195f0f9093fc4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 15:37:28 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 16:42:06 +0900 include/ruby/backward/2/rmodule.h: deprecate Only one function in only one file uses contents of this public header. That is not a wise idea. Let's just free the header's soul. Notes: Merged: https://github.com/ruby/ruby/pull/3347 commit 2038cc6cab6ceeffef3ec3a765c70ae684f829ed Author: Kir Shatrov <shatrov@me.com> AuthorDate: 2020-08-27 16:39:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-27 16:39:13 +0900 Make Socket.getaddrinfo interruptible (#2827) Before, Socket.getaddrinfo was using a blocking getaddrinfo(3) call. That didn't allow to wrap it into Timeout.timeout or interrupt the thread in any way. Combined with the default 10 sec resolv timeout on many Unix systems, this can have a very noticeable effect on production Ruby apps being not resilient to DNS outages and timing out name resolution, and being unable to fail fast even with Timeout.timeout. Since we already have support for getaddrinfo_a(3), the async version of getaddrinfo, we should be able to make Socket.getaddrinfo leverage that when getaddrinfo_a version is available in the system (hence #ifdef HAVE_GETADDRINFO_A). Related tickets: https://bugs.ruby-lang.org/issues/16476 https://bugs.ruby-lang.org/issues/16381 https://bugs.ruby-lang.org/issues/14997 Notes: Merged-By: mmasaki <glass.saga@gmail.com> commit 1035a3b202ee86bf2b0a1d00eefcfff0d7ab9f6b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 11:30:05 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 15:04:00 +0900 RUBY_SHOW_COPYRIGHT_TO_DIE: flip the default Commit 7aab062ef3772c7e8e50fc872a1647918c76dbba says: > ruby_show_version() will no longer exits the process, if > RUBY_SHOW_COPYRIGHT_TO_DIE is set to 0. This will be the default in > the future. 3.0 is a good timing for that "future". Notes: Merged: https://github.com/ruby/ruby/pull/3342 commit 756403d775c7d7d60da179dd9b788d63e72c77ab Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 14:47:40 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 15:03:36 +0900 sed -i '/r_cast.h/d' Notes: Merged: https://github.com/ruby/ruby/pull/3346 commit cd1d6d90299d727ad4a87c42f3ba09c87df2bce3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 14:44:25 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 15:03:36 +0900 include/ruby/backward/2/r_cast.h: deprecate Remove all usages of RCAST() so that the header file can be excluded from ruby/ruby.h's dependency. Notes: Merged: https://github.com/ruby/ruby/pull/3346 commit 442525527e2fa052e6d8752adffeaa0855b75ff7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 13:02:33 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 15:02:52 +0900 improve deprecation warning We should not recommend RBIMPL_*. Notes: Merged: https://github.com/ruby/ruby/pull/3341 commit 21b3bc10d3626272683e085b2b3ea62d2c05b1d7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 10:55:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 15:02:52 +0900 DEPRECATED_TYPE: is deprecated Nobody uses this macro any longer. Notes: Merged: https://github.com/ruby/ruby/pull/3341 commit 3437e6247da991db94a804b2c15b2a05dc2d79bd Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 10:40:41 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 15:02:52 +0900 RClassDeprecated: delete It has been deprecated for 5 years since 1f2255604087e9a7d7efcb2df61b5ca0e2daa200. Notes: Merged: https://github.com/ruby/ruby/pull/3341 commit 3353baac3d55e1b42515ce7084e7b7f07abc0192 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-27 14:34:42 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-27 14:37:03 +0900 Use own mutex instead of Thread.exclusive ref [Feature #17125] commit 5ae2c1b093cbd2b9f72cb5caba19283a8222b298 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 13:15:36 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 14:27:21 +0900 git rm include/ruby/backward/rubyio.h Notes: Merged: https://github.com/ruby/ruby/pull/3344 commit 6ec6dd3ed741b1138300dce12dd9ca6aca092a2c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 13:08:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 14:11:59 +0900 git rm include/ruby/backward/rubysig.h Notes: Merged: https://github.com/ruby/ruby/pull/3343 commit 5ca7b6abdeb7a8359c5e831c4235215b535b8e27 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 13:55:20 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 14:09:18 +0900 git rm include/ruby/backward/{st,util}.h Notes: Merged: https://github.com/ruby/ruby/pull/3345 commit 6b6a4471d615bc53015bec2556f8cd07f5408f38 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 10:23:42 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 14:08:04 +0900 rb_deprecated_classext_struct: delete Used from nowhere any longer. Notes: Merged: https://github.com/ruby/ruby/pull/3340 commit 4bc3846389eea28da2ef8c95a199f28b43060779 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 10:10:25 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 14:08:04 +0900 git rm include/ruby/backward/classext.h Notes: Merged: https://github.com/ruby/ruby/pull/3340 commit 0da2a3f1fc22da47cdce3cbcd8031d609ba8f207 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-21 15:35:26 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 14:07:49 +0900 sed -i '\,2/extern.h,d' Notes: Merged: https://github.com/ruby/ruby/pull/3338 commit b2e1688e7d44d45e772ac9d5e79f4ad6e70141d5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-21 15:22:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-27 14:07:49 +0900 git rm include/ruby/backward/2/extern.h Notes: Merged: https://github.com/ruby/ruby/pull/3338 commit 445e5548c9da906a2d7a490e660328b2893d07d1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-26 21:36:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-26 21:36:22 +0900 Fixed error messages at non-ascii %string terminator commit cc36b5d4aced7c8df0c1933ef3482736de068cfc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-26 21:16:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-26 21:16:51 +0900 Removed a never-true condition commit 72cb9bc55f5f96ad6d04129cd997e53c5b0c3a83 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-08-26 14:28:05 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-26 14:28:05 +0900 [webrick][DOC] Describe the stance of WEBrick about its security and utilization (#3457) WEBrick is not recommended for the production use. We need to explicitly describe this fact in the document to avoid troubles due to misunderstanding. Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit a84a2e872f0b0f578eeeb192e79fe8bc10df6a8f Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-26 06:09:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-26 06:09:31 +0900 Comply with guide for method doc: hash.c (#3454) Methods reviewed (a few not modified): key delete shift delete_if reject! reject slice except values_at fetch_values select select! keep_if Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 92b2d5816ae04375cef7e3909bf69954e1833160 Author: Lars Kanis <lars@greiz-reinsdorf.de> AuthorDate: 2020-08-07 05:37:01 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-26 02:50:51 +0900 Add documentation to "dcompact" callback and "parent" member Notes: Merged: https://github.com/ruby/ruby/pull/3396 commit 326d89b7cee05b33e6f73fb293a4ae9d5af6f7f2 Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-08-24 23:53:11 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-26 02:14:10 +0900 Correctly account for heap_pages_final_slots so it does not underflow `rb_objspace_call_finalizer` creates zombies, but does not do the correct accounting (it should increment `heap_pages_final_slots` whenever it creates a zombie). When we do correct accounting, `heap_pages_final_slots` should never underflow (the check for underflow was introduced in 39725a4db6b121c7779b2b34f7da9d9339415a1c). The implementation moves the accounting from the functions that call `make_zombie` into `make_zombie` itself, which reduces code duplication. Notes: Merged: https://github.com/ruby/ruby/pull/3450 commit 36cc53daaec6b80f83d04edd6e11d8598ba2194a Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-26 00:47:23 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-26 00:47:23 +0900 Comply with guide for method doc: hash.c (#3451) Methods: ::new ::[] ::try_convert #rehash #[] #fetch #default #default= #default_proc #default_proc= Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 2e3a7f70ae71650be6ea38a483f66ce17ca5eb1d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-25 21:17:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-25 21:17:19 +0900 Promote nkf to default gems commit 8d68f54c94ff46f3677f133fb1b6c48861efc62e Author: Lars Kanis <kanis@comcard.de> AuthorDate: 2020-08-24 21:18:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-25 18:11:43 +0900 Fix erb executable Run ERb processing unconditionally since __FILE__ and $0 doesn't match in a gem context. Notes: Merged: https://github.com/ruby/ruby/pull/3449 commit e6ac1fb6121d6cb694d107f205713d92b7b4a427 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-25 08:44:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-25 08:44:14 +0900 Specify the executable of erb commit 1eb1add68abe9a4e860fe4dc64b3b105d854a935 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-24 19:24:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-24 19:24:07 +0900 Added entry for changes of default gems commit 09acafaccf35b37cd7557d783f667ae6281ce7c1 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-08-24 15:38:03 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-08-24 15:38:03 +0900 NEWS.md: add an example, add references, and move some items commit 1d3e87a28cbd49c8b6abcc011a8c43cc33c275e1 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-24 02:10:01 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-24 02:10:01 +0900 Remove checks for self returned in array.c and hash.c examples (#3446) Further compliance with https://github.com/ruby/ruby/blob/master/doc/method_documentation.rdoc#details-and-examples- Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 30ccc7d04bb7352b05c21078fa9471196dab52ad Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-23 22:46:04 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-23 22:46:04 +0900 Fix typos commit 2c4c088aa377b46ba4209524b0188591a9736324 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-22 14:41:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-23 21:45:46 +0900 .github/workflows/compilers.yml: more compilers Added some cross compilers that we can run on GitHub Workflow runner environments. Because they are cross compilers we cannot run the generated binary. The added matrix are compile-only. Notes: Merged: https://github.com/ruby/ruby/pull/3447 commit 2ddc67ffb6bd62550343db909bf5672d6d523682 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-22 14:12:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-22 14:12:12 +0900 configure.ac: suppress more Sun C warnings. They are rather annoying than being useful to us. commit 331d02038ba282c563f1705a5b0715f35a085b31 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-22 11:10:37 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-22 11:12:24 +0900 .travis.yml: prefer gcc It seems `clang --save-temps` does not interface well with tool/update-deps. Prefer gcc for that purpose. commit d916a4c89741dc6a5266291275be4b497f6a9929 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-22 08:50:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-22 09:49:08 +0900 configure.ac: more checks on STRIP STRIP now depends on compilers, not on OS. Previous check against $target_os does no longer work. commit 1ab60345297aa5130cebc98063158059951bc407 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-22 09:33:45 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-22 09:39:24 +0900 Fix type of getlogin_r's 2nd argument https://rubyci.org/logs/rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20200821T223002Z.fail.html.gz ``` process.c:5593:37: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] while ((gle = getlogin_r(login, loginsize)) != 0) { ~~~~~~~~~~ ^~~~~~~~~ ``` type of getlogin_r's 2nd argument is - int on FreeBSD - https://www.freebsd.org/cgi/man.cgi?query=getlogin_r&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html - size_t on Linux, NetBSD - https://man7.org/linux/man-pages/man3/getlogin_r.3.html - https://www.freebsd.org/cgi/man.cgi?query=getlogin_r&apropos=0&sektion=0&manpath=NetBSD+9.0&arch=default&format=html commit a0273d67d044dc9fe25313e0854a33374b990e8a Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-08-22 04:52:02 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-08-22 06:52:30 +0900 Avoid a use after free in VM assertion If the thread for the current EC has been killed, don't check the VM ptr for the EC (which gets it via the thread), as that will have already been freed. Fixes [Bug #16907] Notes: Merged: https://github.com/ruby/ruby/pull/3443 commit ea4ccc09923c56783df8789b0813f7fee7a560c6 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-22 05:50:56 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-22 05:50:56 +0900 Remove trivial examples from array.c (#3442) "Trivial" typically means "returns a new empty Array." Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 0fea0427aebcf1a76332d8855864bd7d9e2a3597 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-22 01:42:02 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-22 01:42:02 +0900 Remove nil-return examples from hash.c (#3438) * Remove nil-return examples from hash.c Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 914b2208ab3eddec478cdc3e079e6c30d0f0892c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-21 23:53:05 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-22 00:45:39 +0900 configure.ac: rule out old Sun C++ CI failures observed for old Sun C++. We don't want to hustle, as newer versions are okay. Just check the sanity and rule out insane compilers. Notes: Merged: https://github.com/ruby/ruby/pull/3440 commit 954afd1bc55b9b98e4e5099e3c49c3710514fdb8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-21 23:31:28 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-22 00:45:39 +0900 protect CFLAGS from being smashed by AC_PROG_CC AC_PROG_CC_C99 calls AC_PROC_CC, which calls _AC_PROG_CC_G, which sets default CFLAGS, whose contents are not customisable. We don't welcome this behaviour. The exact same thing happens for CXXFLAGS in AC_PROG_CXX. Notes: Merged: https://github.com/ruby/ruby/pull/3440 commit cc2caa6edf8d61ee85e9f173a047644a1d4a3de7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-21 22:25:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-22 00:33:37 +0900 do not test --version `llvm-strip-7` is a sane valid strip command that LLVM 7 ships, albeit it does not understand `--version`. It is a bad idea to check that option. Instead just see if the command actually strips something. A copy of `/bin/sh` should suffice. That file must be ubiquitous. Notes: Merged: https://github.com/ruby/ruby/pull/3439 commit 44d25c65287558e899188eb9e0fbd7d76e6f74ce Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-21 20:40:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-21 20:40:26 +0900 Fixup 3292f4d965845d543733559fd1736b8c42fadab3 commit 3292f4d965845d543733559fd1736b8c42fadab3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-21 20:28:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-21 20:28:51 +0900 Fixed the executable path for erb command commit 8c97883b738ad9749848d9a10fce87df0f9b1bf3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-21 20:18:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-21 20:18:44 +0900 Promote erb to default gems commit bc374e5cea0fe0eb77da0ee78930c22d7afbd34a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-21 18:10:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-21 18:10:03 +0900 Promote rinda to default gems commit 3eb76e747e33d1a4439d2e83c53b538b6c536ec3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-21 16:01:46 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-21 16:01:46 +0900 configure.ac: try GCC-provided ld In case of cross-compilation, GCC might provide its own linker. Its behaviour seems slightly different from that of gcc(1). This is not a big deal for normal situations, but the difference can cause libtool to go mad. We ship bundled libffi for windows users, and libffi uses libtool. If we use cross-compiler version of gcc instead of its ld conterpart, we fail to compile fiddle. That should not be what we want. commit 73b6bc579063fb03bd566cbac5ac76d18e481dc6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-21 11:47:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-21 11:47:18 +0900 AC_PROG_CXXCPP: remove Caused CI failures on environments without sane C++ compilers. commit 7341b1a53d868c3250b4c4699619ac369cd5d9ee Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-20 10:19:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-21 11:04:54 +0900 configure.ac: move program_transform_name Historically `$program_transform_name` has been put in front of `AC_CANONICAL_TARGET`. Previous commit changes it, which affects the name of generated ruby binary when cross-compiling. I _guess_ the historical behaviour is a bug (name of ruby binary shall honour --target configure option I think), but anyways here I preserve that questionable way. Notes: Merged: https://github.com/ruby/ruby/pull/3433 commit 2c96e04868477eaa1420945d57bf5b3adb521e84 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-19 11:36:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-21 11:04:54 +0900 configure.ac: use compiler-provided toolchains These days as link-time optimisations spread across compilers, they tend to ship their own version of ld, ar, etc. Why not detect such things if any. Users can select compilers by ./configure --with-gcc= whatever, or select individual tool by e.g. ./configure NM=whatever. The added AC_ARG_VAR macros enrich ./configure --help output. Notes: Merged: https://github.com/ruby/ruby/pull/3433 commit 8b022da5186a783ade35532e20b1c7b2bd2c591f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-19 16:49:50 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-21 11:04:54 +0900 HAVE_STMT_AND_DECL_IN_EXPR: not for Sun C++ Because we check HAVE_STMT_AND_DECL_IN_EXPR in configure, it is peoven to work in C. But C++ situation can be different. Oracle Developer Studio is another example of such things. Notes: Merged: https://github.com/ruby/ruby/pull/3433 commit 80b316212a337df1ad605e4fae6da47330523d12 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-19 16:33:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-21 11:04:54 +0900 ext/-test-/cxxanyargs: suppress SunPro warning I found a way to suppress particular kind of warnings via pragmas. Notes: Merged: https://github.com/ruby/ruby/pull/3433 commit 01826b3fda53a98d8fe57e698be52143e1fef2d6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-19 16:18:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-21 11:04:54 +0900 RBIMPL_HAS_CPP_ATTRIBUTE: handle SunPro Oracle Developer Studio's C++ preprocessor started to understand __has_cpp_attribute since version 12.5, and is broken. After looking around for a while I found Boost and ICU also had this issue before. Let me add workaround for it. Notes: Merged: https://github.com/ruby/ruby/pull/3433 commit b6c7b94b1c9af2e6b8e482fe50fb0224d98cf5ad Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-21 10:40:26 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-21 10:40:26 +0900 Remove nil-return examples from array.c (#3437) Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 51525557fd75ca97e6347e2913f2d7fa25e8f789 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-21 02:09:49 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-21 02:09:49 +0900 Partial compliance with doc/method_documentation.rdoc in string.c (#3436) Removes references to *-convertible thingies. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 1d1e36fab60a5409da6f6a26c707ce828b9b75d5 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-20 21:34:24 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-20 21:34:24 +0900 Partial compliance with doc/method_documentation.rdoc in hash.c (#3432) Removes references to *-convertible thingies. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit dfda2f739bad7997ef000b713d7dfba618430dc0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-20 21:00:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-20 21:00:53 +0900 Promote find to default gems commit 6509652c13f1fe79891a249fbacdb95c2214d1b1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-20 13:24:51 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-20 13:24:55 +0900 Skip irb/test_history on Windows too commit 8a40e9b5a20314a509c8caaadce19a0b52680419 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-20 12:39:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-20 12:39:11 +0900 Promote set to default gems commit eae7aef02029ee546c0829510618a70a3721c479 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-07-30 05:04:55 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-08-20 08:32:15 +0900 [DOC] Improve Hash's doc for missing keys Notes: Merged: https://github.com/ruby/ruby/pull/3373 commit a586ccf21fe606a3805ceaec88a19c8694036bde Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-07-30 03:45:16 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-08-20 08:32:15 +0900 [DOC] Improve and simplify key egality documentation for Hash Notes: Merged: https://github.com/ruby/ruby/pull/3373 commit 63d213eb133da695a9a0a796106af4f9db89b063 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-20 06:26:40 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-20 06:26:40 +0900 Partial compliance with doc/method_documentation.rdoc (#3431) Removes references to *-convertible thingies. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit a74df67244199d1fd1f7a20b49dd5a096d2a13a2 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-04-03 22:28:06 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-20 00:13:09 +0900 Fix ObjectSpace.trace_object_allocations_stop to not raise if the tracepoint were not initialized Notes: Merged: https://github.com/ruby/ruby/pull/3001 commit aaf0e33c0a45e13d27e1009c7298fcb0a57c0d4f Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-08-19 18:29:54 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-20 00:08:56 +0900 register_fstring: avoid duping the passed string when possible If the passed string is frozen, bare and not shared, then there is no need to duplicate it. Ref: 4ab69ebbd7cef8539f687e1f948845d076461dc6 Ref: https://bugs.ruby-lang.org/issues/11386 Notes: Merged: https://github.com/ruby/ruby/pull/3430 commit 7f0ea20581082f627c2569fde3c69dc14a663b37 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-19 19:19:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-19 19:36:16 +0900 Added did_you_mean entry because did_you_mean uses MIT license commit 5b04e2362c03bb82c76c65353c1856d6b0c3d745 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-19 19:22:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-19 19:35:04 +0900 [ruby/racc] Fixed the licenses field of gemspec https://github.com/ruby/racc/commit/a1aeecff03 commit f81811fc2f5cedfc8dae0a917e15442244c55322 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-19 19:13:13 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-19 19:15:21 +0900 Skip Editline for history tests of IRB Because Editline erases all histories in Readline::HISTORY when Readline.readline is called. commit 8cc5f74ffc4097173ae69b0098524a5faecaee7e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-17 11:54:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-19 15:10:53 +0900 RHASH_EMPTY_P: convert into an inline function Notes: Merged: https://github.com/ruby/ruby/pull/3426 commit 99093e1600ccef17ab99356b689573fcfd336ecc Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-17 11:12:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-19 15:10:53 +0900 RHASH_TBL: is now ext-only It seems almost no internal codes use RHASH_TBL any longer. Why not just eliminate it entirely, so that the macro can be purely ext-only. Notes: Merged: https://github.com/ruby/ruby/pull/3426 commit d2eeb836344406eff3342b86436cc7eb0f8cc908 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-17 14:30:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-19 14:30:57 +0900 tool/update-deps -fix Notes: Merged: https://github.com/ruby/ruby/pull/3427 commit 6649677eb93a101a5411a942ca1b84b541262537 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-17 13:51:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-19 14:30:57 +0900 ROBJECT_IV_INDEX_TBL: convert into an inline function Former ROBJECT_IV_INDEX_TBL macro included RCLASS_IV_INDEX_TBL, which is not disclosed to extension libraies. The macro was kind of broken. Why not just deprecate it, and convert the internal use into an inline function. Notes: Merged: https://github.com/ruby/ruby/pull/3427 commit e2c2283a80843f6011a3d7665725ff0c5aed27c5 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-19 13:03:32 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-19 13:03:32 +0900 Skip irb/test_history on Solaris commit 7226f76255ff0fc209c973c6560f2331a676232b Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-08-19 11:56:42 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-08-19 11:57:45 +0900 Reset object allocation trace information Compaction makes collisions in the weak map more likely. For now, clear the tracing information before the test run so we get accurate results commit e939a5c29f3ca57e852d69cbecac2936035e96c7 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-19 11:09:18 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-19 11:18:50 +0900 Use "in" and "out" options of "system" instead of "replace_stdio" commit 7a58ee9b962ad0072e5213d3512c809048e4eba1 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-08-19 09:34:03 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-19 11:10:51 +0900 Update references when tracing allocations The allocation tracing code keeps essentially a weak reference to objects that have been allocated (storing the allocation information along with the weak ref). Compacting the heap would break references in this weak map, so the wrong values could be returned. This commit just updates the values in the weak ref in order to fix the allocation tracing book keeping Notes: Merged: https://github.com/ruby/ruby/pull/3429 commit ca6868a4305fa1ba8186c28a5b9acbe5e287f260 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-19 09:42:34 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-19 09:42:34 +0900 Do "write" to temp stdin before "reopen" commit bed6b7206a64eeca5b521e02799da4055d9f5e55 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-08-18 23:32:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-08-18 23:32:46 +0900 test/irb/test_history.rb: prevent warnings ``` /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:16: warning: assigned but unused variable - result_output /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:34: warning: assigned but unused variable - result_output /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:57: warning: assigned but unused variable - result_output /home/chkbuild/chkbuild/tmp/build/20200818T123003Z/ruby/test/irb/test_history.rb:80: warning: assigned but unused variable - result_output ``` commit 6767a9ef2b0e4b19e58f7c148f6d176af73e55fc Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-18 21:43:19 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 21:43:19 +0900 Launch external process on Windows correctly commit d3b2c1a17585ad30fb297ab489da0505e8b9b97a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-18 20:22:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-18 20:26:40 +0900 Fixed the invalid SPDX identifier on gemspec commit 8fb02b7a97317090e3946e6f2d4a7d034f9699f1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-18 20:15:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-18 20:26:39 +0900 Update the license for the default gems to dual licenses commit 0bb8bd7623b59bcc9cccc623510775921b00e4b1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-18 20:15:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-18 20:26:39 +0900 Added the missing licenses field to some default gems commit a114869905f787ce7e085f60e62bf038df9b84de Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-18 20:06:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-18 20:26:39 +0900 Fixed the attribute name for multiple licenses. commit 01b6c520f5ee48aad7a0f3dfd690616d179e9e1f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-18 12:38:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 20:06:52 +0900 [ruby/irb] Change the way the IRB is invoked as an external process https://github.com/ruby/irb/commit/f4bcdf4375 commit 172d44e8094103f23ac030cdd5fa960d0632f03f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-12 12:48:58 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:10:09 +0900 [ruby/reline] Add require 'rbconfig' to use RbConfig https://github.com/ruby/reline/commit/4a0d32a3d0 commit f2435c15089f5789a1ad6bd5bd57d4ae5a9913c2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-12 11:09:25 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:09:58 +0900 [ruby/reline] Get rid of loading pathname unnecessarily https://github.com/ruby/reline/commit/9bd54b7f1c commit d1b06229fab604515a29bd03eea0ac0c960a1ccf Author: Maciej Mensfeld <maciej@mensfeld.pl> AuthorDate: 2020-08-10 19:54:46 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:09:43 +0900 [ruby/reline] Use the standard SPDX ID for license in gemspec It is better to use SPDX ID for license field: https://guides.rubygems.org/specification-reference/#license= ref: https://spdx.org/licenses/Ruby.html https://github.com/ruby/reline/commit/8468a727e5 commit ad24eaabfda6e6892f81c962ee3d75dcc58a8f95 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-29 22:34:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:08:50 +0900 [ruby/reline] Remove duplicated line of code Co-authored-by: Quentin Sabah <quentin.sabah@gmail.com> https://github.com/ruby/reline/commit/5526e9f7ee commit 80a7358cfcafa9748c232be851e5f70bede32acb Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-20 20:52:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:08:40 +0900 [ruby/reline] Keep original characters in inputrc https://github.com/ruby/reline/commit/96583c6336 commit 44b24ab4c1bd1833aab37cba83801b2023b8e0a9 Author: Mark Delk <jethrodaniel@gmail.com> AuthorDate: 2020-07-13 06:47:43 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:08:32 +0900 [ruby/reline] Support mode icon Co-authored-by: aycabta <aycabta@gmail.com> https://github.com/ruby/reline/commit/067b618123 commit 0bc748db3685d867f54a4e1b589b732608a1ca69 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-12 23:29:45 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:08:21 +0900 [ruby/reline] Call #start_terminal after generating temporary inputrc because inputrc will be read when starting up https://github.com/ruby/reline/commit/0a30464385 commit 568615d3952f332d971b00ba30eeedc3606a51c0 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-12 23:21:36 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:08:11 +0900 [ruby/reline] Use single quotes for non-expanded string literals https://github.com/ruby/reline/commit/3bf7c7d722 commit f0e6ecec65229050e5c9a6010e09546e9773090d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-05 14:02:34 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:07:57 +0900 [ruby/reline] Use temporary dir with yamatanooroti test https://github.com/ruby/reline/commit/8d7df88e98 commit 215fe54777c7183198d9789b25ea0e0af016261b Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-04 00:42:06 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:04:31 +0900 [ruby/reline] Check Errno::EIO Catch Errno::EIO what will be occurred if the console terminates I/O before Reline finishes rendering. https://github.com/ruby/reline/commit/e51eaa6d43 commit f0d3d4fedbfe64c704f8f1e42b1301384b7f52aa Author: Tomás Pollak <tomaspollak@gmail.com> AuthorDate: 2020-05-19 10:13:49 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 19:03:27 +0900 [ruby/reline] Add home/end mapping for urxvt and relatives https://github.com/ruby/reline/commit/c30b293f1c commit a30dea5852b5ece74e435d912596983d2654580a Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-17 10:41:31 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:02 +0900 [ruby/irb] Support shortening lambda notetion for nesting level of prompt https://github.com/ruby/irb/commit/f1a775af47 commit 43c648c8325db536715a8e827951ac48114eb6bd Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-16 22:25:31 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:02 +0900 [ruby/irb] Support shortening lambda notation https://github.com/ruby/irb/commit/8e3f81d428 commit b3f84b4a5b7c78339c28baa11f75ed4c121bd5ca Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-13 19:19:00 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Expand path to run separated test correctly https://github.com/ruby/irb/commit/be2937abd5 commit 7fa86de15b2a8aa85919f4aa76e86acbb9a43564 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-12 13:15:29 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Workaround a bug of ruby-mode.el https://github.com/ruby/irb/commit/6dfd59400d commit 82d4da7816d114e31395441aca3c86111f1251bd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-12 12:50:57 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Yet another unnecessary readline https://github.com/ruby/irb/commit/933841af11 commit 0fcbd072475c96cfca4bc79f0897b39de5cc9e14 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-12 11:14:12 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Directly check if the method is available instead of version https://github.com/ruby/irb/commit/3ea9fd9ed0 commit 6aa786b8a3a2bd817839edde8ace54efc0681d42 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-12 11:21:36 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Get rid of loading readline unnecessarily https://github.com/ruby/irb/commit/420e7d2270 commit d32229e33872d3c64d21dd016ec85a6b3e605890 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-12 11:20:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Prefer require_relative to load the files in this library https://github.com/ruby/irb/commit/0ac3bc7296 commit a388e2554c9461e15adfd8bc2efa7da5716080f8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-11 23:54:23 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Add require 'irb' to test separately https://github.com/ruby/irb/commit/9e4423b6e1 commit 126e1fc2961150a7026b9911a1ed82dbf9557af7 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-08 20:48:23 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Make history infinite if set SAVE_HISTORY to negative https://github.com/ruby/irb/commit/824473e880 commit ef498a016b496c20e45dfeaa3064f8033f420336 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-07 23:42:51 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Suppress crash when bignum is set to SAVE_HISTORY https://github.com/ruby/irb/commit/5044eb2730 commit 1359da6ec09d60ac9aef28f2e0df4d7f712f08d3 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-08-06 23:34:46 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Add tests about IRB history https://github.com/ruby/irb/commit/82efd370eb commit 6f0ef83de7f8b9cda1bd9247a2c57b27278e3565 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-24 23:48:32 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Symbol.all_symbols was adopted by Ruby 1.8.0 or later https://github.com/ruby/irb/commit/71ba754e8e commit 5474007d6119a5ac021bc9fc1bbf932aab5f0dbb Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-06-25 23:56:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-08-18 14:38:01 +0900 [ruby/irb] Support oneline method definition https://github.com/ruby/irb/commit/826ae909c9 commit 701217572f865375b137d2830d4da0c3e78de046 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-08-18 14:36:39 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-08-18 14:36:39 +0900 test/fiber/test_backtrace.rb: prevent a warning ``` /home/chkbuild/chkbuild/tmp/build/20200818T033004Z/ruby/test/fiber/test_backtrace.rb:9: warning: ambiguous first argument; put parentheses or a space even after `/' operator /home/chkbuild/chkbuild/tmp/build/20200818T033004Z/ruby/test/fiber/test_backtrace.rb:15: warning: ambiguous first argument; put parentheses or a space even after `/' operator ``` commit bc00e6aa909631c995473bc2f3d62fbe60b16ffe Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-08-18 02:22:32 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-08-18 02:23:12 +0900 Disable debugging test. ``` 1) Failure: TestObjSpace#test_trace_object_allocations [/tmp/ruby/v3/src/trunk-gc_compact/test/objspace/test_objspace.rb:175]: <nil> expected but was <"/tmp/ruby/v3/src/trunk-gc_compact/test/objspace/test_objspace.rb">. ``` @tenderlove will re-enable it soon. commit 264e4cd04fbcdcb739a1ff9a84e19afe66005cb2 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-08-11 07:19:17 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-08-18 06:17:47 +0900 Remove write barrier exemption for T_ICLASS Before this commit, iclasses were "shady", or not protected by write barriers. Because of that, the GC needs to spend more time marking these objects than otherwise. Applications that make heavy use of modules should see reduction in GC time as they have a significant number of live iclasses on the heap. - Put logic for iclass method table ownership into a function - Remove calls to WB_UNPROTECT and insert write barriers for iclasses This commit relies on the following invariant: for any non oirigin iclass `I`, `RCLASS_M_TBL(I) == RCLASS_M_TBL(RBasic(I)->klass)`. This invariant did not hold prior to 98286e9 for classes and modules that have prepended modules. [Feature #16984] Notes: Merged: https://github.com/ruby/ruby/pull/3410 commit 971857c3326b163c45f02922bb5c5143d54e520d Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2020-07-10 06:59:59 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-18 01:47:53 +0900 Fix method name escaping in ObjectSpace.dump It's possible to define methods with any name, even if the parser doesn't support it and it can only be used with ex. send. This fixes an issue where invalid JSON was output from ObjectSpace.dump when a method name needed escaping. Notes: Merged: https://github.com/ruby/ruby/pull/3383 commit b52a501ca786a54fdaadf1a60fef517c55dd6ca3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-17 22:57:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-17 22:57:40 +0900 Ensure the shortcut cached in the class As well as the other places using RCLASS_IV_INDEX_TBL. `IO#reopen` seems the only case that the class of an object can be changed. commit 27f7b047e07ceb9ee963e5d74ab0399b5e94ac4c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-17 22:36:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-17 22:36:48 +0900 Also escape DEL code commit 7b4b5e08409f1df2a99c00d40f4859b584cd1dd6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-17 22:29:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-17 22:30:26 +0900 Fixed the radix for control chars commit 0a218a97ad31f06eb7f59ccdd428fd46c4b93982 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-15 12:36:18 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-08-17 21:56:35 +0900 Expose ec -> backtrace (internal) and use it to implement fiber backtrace. See <https://bugs.ruby-lang.org/issues/16815> for more details. Notes: Merged: https://github.com/ruby/ruby/pull/3422 commit c45f5ff2b0b801a94ffe761d83a46760c3d6d33d Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-08-17 17:44:58 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-08-17 17:57:04 +0900 Clarify coroutine implementation license. <https://bugs.ruby-lang.org/issues/16805> Notes: Merged: https://github.com/ruby/ruby/pull/3137 commit 352e923242a23ba661a8cf91e4c43c156f7d7519 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-17 14:09:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-17 14:25:09 +0900 Revisit "Refactor to reduce "swap" instruction of pattern matching" Just moved "case base" after allocating cache space. commit 5849309c5a3754c3a9b0d1e42a34e82b94a5104b Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-17 09:26:30 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-17 09:28:15 +0900 Revert "Refactor to reduce "swap" instruction of pattern matching" This reverts commit 3a4be429b50062122d1616256de38649464d3146. To fix following warning: ``` compiling ../compile.c ../compile.c:6336:20: warning: variable 'line' is uninitialized when used here [-Wuninitialized] ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */ ^~~~ ../compile.c:220:57: note: expanded from macro 'ADD_INSN' ADD_ELEM((seq), (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0)) ^~~~ ../compile.c:6327:13: note: initialize the variable 'line' to silence this warning int line; ^ = 0 1 warning generated. ``` commit a73b5cc556bd131fe924ed6bb02b3c5bdf1593e8 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-31 04:48:19 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-08-16 23:41:40 +0900 Remove the deprecated override of Kernel#open in open-uri This was deprecated in 2.7 to resolve [Misc #15893]. Notes: Merged: https://github.com/ruby/ruby/pull/3377 commit 3a4be429b50062122d1616256de38649464d3146 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-16 18:53:39 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-08-16 18:53:39 +0900 Refactor to reduce "swap" instruction of pattern matching commit 5c40c88a3e3361b77662b3f699fbffeb32663ce3 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-09 17:58:01 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for `case ... in a: 0 ... end` Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit 691f10dd89e8a3feedab5bea823038469b3d6d66 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-09 17:49:11 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for `case ... in *, a, * end` Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit 6c407b3668d7acf8e744878fc3577a014a600bb7 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 23:14:30 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for `case ... in *v end`/`case ... in v1, v2 end` Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit c866d6563f2295d12225addc2e4f8edb677c4e2d Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 22:34:08 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for `case ... in v1 ... in v2 end` Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit d5940784263e60140fa15e8ca5ed4d33197cd255 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 22:27:07 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for `case ... in v1, v2 ... end` Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit 2bbb7c3d1f2dc001354f6d58bf27c7796ea5f17e Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 21:48:35 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for `case ... in pat => var ... end` Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit 6bc0c6c18b02c5a00774303733bf1e3628f5e6eb Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 21:00:51 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for `case ... in pat1 | pat2 ... end` Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit 0759862458c25bb8a7832090545c625c364e5d94 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 16:08:47 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-16 18:39:08 +0900 Adjust sp for pattern matching implicit/explicit "else" Notes: Merged: https://github.com/ruby/ruby/pull/3403 commit a7bd0ec5706caf2767b29ab09a3d40d62bab3fc4 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-08 08:34:22 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-08-16 08:43:29 +0900 Warn sp overwriting on compile time Notes: Merged: https://github.com/ruby/ruby/pull/3401 commit ac399c2c7a51b044e23c6dc8f7f9d55ee271d9a5 Author: wanabe <s.wanabe@gmail.com> AuthorDate: 2020-08-07 07:56:33 +0900 Commit: wanabe <s.wanabe@gmail.com> CommitDate: 2020-08-16 08:43:29 +0900 Show hidden object and TS_BUILTIN for halfbaked insn data Notes: Merged: https://github.com/ruby/ruby/pull/3401 commit d75433ae19f1f979ee29149128b24990dd50c28a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-15 14:17:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-15 14:17:02 +0900 [DOC] fixed a missing markup commit 4d7818a29988bbd13c93c18a1c820737755f5293 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-14 14:56:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-15 12:09:26 +0900 tool/update-deps --fix Notes: Merged: https://github.com/ruby/ruby/pull/3419 commit ff30358d13d24d8202f2717c43700be70bdd49d3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-14 14:45:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-15 12:09:26 +0900 RARRAY_AREF: convert into an inline function RARRAY_AREF has been a macro for reasons. We might not be able to change that for public APIs, but why not relax the situation internally to make it an inline function. Notes: Merged: https://github.com/ruby/ruby/pull/3419 commit c84ccf1a0780d2542381c904b8dd524f316bb237 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-15 08:55:04 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-15 08:55:04 +0900 Fix links to Dig Methods document (#3421) * Fix links to Dig Methods document * Fix links to Dig Methods document Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit fee1b98fde20eef7d5b7f717c5988fb2303f54a3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-14 16:33:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-14 16:33:47 +0900 [DOC] fixed the method name commit e658040266fc57422cfe12f5f6655084e695f6e2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-14 16:12:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-14 16:12:58 +0900 RSTRING_LEN was not used commit 4318aba9c94ebff53e4168886e1a35a24013924f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-08-14 08:51:14 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-08-14 08:51:14 +0900 re.c: prevent "warning: variable 'n' set but not used" by adding MAYBE_UNUSED. commit 22fd617aa5a8dd9c8426a546e0cb8a64b45c230b Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-14 03:16:27 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-14 03:16:27 +0900 Adding doc/dig_methods.rdoc and links to it (#3416) Adds a full discussion of #dig, along with links from Array, Hash, Struct, and OpenStruct. CSV::Table and CSV::Row are over in ruby/csv. I'll get to them soon. The art to the thing is to figure out how much (or how little) to say at each #dig. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 511b55bcefc81c036294dc9a544d14bd342acd3b Author: AGSaidi <AGSaidi@users.noreply.github.com> AuthorDate: 2020-08-14 02:15:54 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-14 02:15:54 +0900 Enable arm64 optimizations that exist for power/x86 (#3393) * Enable unaligned accesses on arm64 64-bit Arm platforms support unaligned accesses. Running the string benchmarks this change improves performance by an average of 1.04x, min .96x, max 1.21x, median 1.01x * arm64 enable gc optimizations Similar to x86 and powerpc optimizations. | |compare-ruby|built-ruby| |:------|-----------:|---------:| |hash1 | 0.225| 0.237| | | -| 1.05x| |hash2 | 0.110| 0.110| | | 1.00x| -| * vm_exec.c: improve performance for arm64 | |compare-ruby|built-ruby| |:------------------------------|-----------:|---------:| |vm_array | 26.501M| 27.959M| | | -| 1.06x| |vm_attr_ivar | 21.606M| 31.429M| | | -| 1.45x| |vm_attr_ivar_set | 21.178M| 26.113M| | | -| 1.23x| |vm_backtrace | 6.621| 6.668| | | -| 1.01x| |vm_bigarray | 26.205M| 29.958M| | | -| 1.14x| |vm_bighash | 504.155k| 479.306k| | | 1.05x| -| |vm_block | 16.692M| 21.315M| | | -| 1.28x| |block_handler_type_iseq | 5.083| 7.004| | | -| 1.38x| Notes: Merged-By: nurse <naruse@airemix.jp> commit 787cb0fd868bb6de40dcc78fcc39c28a96c7d561 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-13 20:56:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-13 20:56:23 +0900 Replace repeated RSTRING_PTR and RSTRING_LEN with RSTRING_GETMEM As now RSTRING_PTR and RSTRING_LEN are functions, they very bother stepping in/out during debugging. commit 014a4fda54cb6897ed54ea9c44376db3459fc46e Author: Kasumi Hanazuki <kasumi@rollingapple.net> AuthorDate: 2020-08-13 11:26:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-13 20:54:12 +0900 rb_str_{index,rindex}_m: Handle /\K/ in pattern When the pattern Regexp given to String#index and String#rindex contain a /\K/ (lookbehind) operator, these methods return the position where the beginning of the lookbehind pattern matches, while they are expected to return the position where the \K matches. ``` # without patch "abcdbce".index(/b\Kc/) # => 1 "abcdbce".rindex(/b\Kc/) # => 4 ``` This patch fixes this problem by using BEG(0) instead of the return value of rb_reg_search. ``` # with patch "abcdbce".index(/b\Kc/) # => 2 "abcdbce".rindex(/b\Kc/) # => 5 ``` Fixes [Bug #17118] Notes: Merged: https://github.com/ruby/ruby/pull/3414 commit 5d71eed1a7f0a70db013de59cd7e95bdca0d5c0e Author: Kasumi Hanazuki <kasumi@rollingapple.net> AuthorDate: 2020-08-13 12:37:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-13 20:50:50 +0900 rb_str_{partition,rpartition}_m: Handle /\K/ in pattern When the pattern given to String#partition and String#rpartition contain a /\K/ (lookbehind) operator, the methods return strings sliced at incorrect positions. ``` # without patch "abcdbce".partition(/b\Kc/) # => ["a", "c", "cdbce"] "abcdbce".rpartition(/b\Kc/) # => ["abcd", "c", "ce"] ``` This patch fixes the problem by using BEG(0) instead of the return value of rb_reg_search. ``` # with patch "abcdbce".partition(/b\Kc/) # => ["ab", "c", "dbce"] "abcdbce".rpartition(/b\Kc/) # => ["abcdb", "c", "e"] ``` As a side-effect this patch makes String#partition 2x faster when the pattern is a costly Regexp by performing Regexp search only once, which was unexpectedly done twice in the original implementation. Fixes [Bug #17119] Notes: Merged: https://github.com/ruby/ruby/pull/3413 commit 69b5241c360aa180550538dba1c7bf0a6cc8cc22 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-12 09:52:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-13 10:14:20 +0900 ruby_debug_log: suppress warning Old gcc (< 5 maybe?) warns that this variable is not initialized: debug.c: In function 'ruby_debug_log': debug.c:441:13: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized] if (r && len < MAX_DEBUG_LOG_MESSAGE_LEN) { ^ I don't know if that is true, but adding "= 0" here must harm no one. Notes: Merged: https://github.com/ruby/ruby/pull/3411 commit 1f9e25cd027ea05311ca25aa9fc09cf935cb5040 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-12 09:46:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-13 10:14:20 +0900 MAYBE_UNUSED should just suffice This reverts commit c355fa72d4e356378a8b03a67432b52bafcc308b. Notes: Merged: https://github.com/ruby/ruby/pull/3411 commit 4fc6cfbeae3c86e8f3675c70b417356ecd3d4a56 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-08-13 03:43:11 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-08-13 03:43:11 +0900 Revert "Improve performance of partial backtraces" This reverts commit f2d7461e85053cb084e10999b0b8019b0c29e66e. Some CI machines are reporting issues with backtrace_mark, so I'm going to revert this for now. commit f2d7461e85053cb084e10999b0b8019b0c29e66e Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-24 06:10:04 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-08-13 03:03:22 +0900 Improve performance of partial backtraces Previously, backtrace_each fully populated the rb_backtrace_t with all backtrace frames, even if caller only requested a partial backtrace (e.g. Kernel#caller_locations(1, 1)). This changes backtrace_each to only add the requested frames to the rb_backtrace_t. To do this, backtrace_each needs to be passed the starting frame and number of frames values passed to Kernel#caller or #caller_locations. backtrace_each works from the top of the stack to the bottom, where the bottom is the current frame. Due to how the location for cfuncs is tracked using the location of the previous iseq, we need to store an extra frame for the previous iseq if we are limiting the backtrace and final backtrace frame (the first one stored) would be a cfunc and not an iseq. To limit the amount of work in this case, while scanning until the start of the requested backtrace, for each iseq, store the cfp. If the first backtrace frame we care about is a cfunc, use the stored cfp to find the related iseq. Use a function pointer to handle the storage of the cfp in the iteration arg, and also store the location of the extra frame in the iteration arg. backtrace_each needs to return int instead of void in order to signal when a starting frame larger than backtrace size is given, as caller and caller_locations needs to return nil and not the empty array in these cases. To handle cases where a range is provided with a negative end, and the backtrace size is needed to calculate the result to pass to rb_range_beg_len, add a backtrace_size static function to calculate the size, which copies the logic from backtrace_each. As backtrace_each only adds the backtrace lines requested, backtrace_to_*_ary can be simplified to always operate on the entire backtrace. Previously, caller_locations(1,1) was about 6.2 times slower for an 800 deep callstack compared to an empty callstack. With this new approach, it is only 1.3 times slower. It will always be somewhat slower as it still needs to scan the cfps from the top of the stack until it finds the first requested backtrace frame. Fixes [Bug #17031] Notes: Merged: https://github.com/ruby/ruby/pull/3357 commit 166cacc505e5a0d807712e9cb5b6919a7d190a6e Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-08-12 17:54:09 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-12 17:54:09 +0900 Fix corruption in ARGF.inplace Extension string stored in `ARGF.inplace` is created using an api designed for C string constants to create a Ruby string that points at another Ruby string. When the original string is swept, the extension string gets corrupted. Reproduction script (on MacOS): ```ruby #!/usr/bin/ruby -pi.bak BEGIN { GC.start(full_mark: true) arr = [] 1000000.times do |x| arr << "fooo#{x}" end } puts "hello" ``` Co-Authored-By: Matt Valentine-House <31869+eightbitraptor@users.noreply.github.com> Notes: Merged: https://github.com/ruby/ruby/pull/3409 Merged-By: nobu <nobu@ruby-lang.org> commit e79cdcf61b0665d8a9bb309a607227de43e95673 Author: Kasumi Hanazuki <kasumi@rollingapple.net> AuthorDate: 2020-08-11 18:32:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-12 10:01:39 +0900 string.c(rb_str_split_m): Handle /\K/ correctly Use BEG(0) instead of the result of rb_reg_search to handle the cases when the separator Regexp contains /\K/ (lookbehind) operator. Fixes [Bug #17113] Notes: Merged: https://github.com/ruby/ruby/pull/3407 commit 7930a352a57c42205eaf064c4ae70c16c5f6ed99 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-08-11 16:13:53 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-08-12 01:01:51 +0900 Test out fix for OpenSSL test flakiness `OpenSSL::TestX509Store#test_verify` has been failing intermittently on CI about once a day: - http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3121244 - http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3117661 - http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111684 According to the test: > OpenSSL uses time(2) while Time.now uses clock_gettime(CLOCK_REALTIME), > and there may be difference. This difference is could be the cause for the flaky failures. Let's see if giving the certificate more room solves the problem. In any case, I will revert this in a week. I think changes to these should go to https://github.com/ruby/openssl/? Notes: Merged: https://github.com/ruby/ruby/pull/3406 commit 42725e3ab448448a0538e6783fd9e14c4b278891 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-08-11 22:49:04 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-08-11 22:49:04 +0900 Enable s390x invokebuiltin JIT test again commit 7806b2e28b14c6f4de0d646410ec52514743fc1d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-11 16:29:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-11 18:35:08 +0900 Use colorize.rb for non-capable terminals commit 2e7fe3b687b8bad1452b7643c0063b89c91c930a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-11 16:17:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-11 18:35:07 +0900 Add default color for each instance commit 5af983af4f7722845f73b426cb33b7ba91a1c47c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-11 11:45:54 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-11 16:51:07 +0900 template/prelude.c.tmpl: suppress clang-12 warning Clang 12 warns "suspicious concatenation of string literals in an array initialization", which is rather annoying than useful in this context. Notes: Merged: https://github.com/ruby/ruby/pull/3405 commit ef2b785b2dd188196e91dd7084a4ac4da42228f2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-11 10:22:38 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-11 16:51:07 +0900 .github/workflows/compilers.yml: clang-12 LLVM made release/11.x branch. Its master is now version 12. Notes: Merged: https://github.com/ruby/ruby/pull/3405 commit acd8ee8dbc0c0c5da8aa486db7dca169d8239196 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-11 11:40:37 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-11 16:51:07 +0900 tool/prelude.c.tmpl: use RubyVM::CEscape Do not repeat yourself. Notes: Merged: https://github.com/ruby/ruby/pull/3405 commit b0eb5aa34476636771a6bfa1397115011066c410 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-11 11:36:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-08-11 16:51:07 +0900 RubyVM::CEscape#rstring2cstr: do not escape ' A single quote "is representable either by itself or by the escape sequence", according to ISO/IEC 9899 (checked all versions). So this is not a bug fix. But the generated output is a bit readable without backslashes. Notes: Merged: https://github.com/ruby/ruby/pull/3405 commit d43e99b7220ae3a7fbd58fbc8bde74085f6bd14c Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-08-11 04:47:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-11 04:47:31 +0900 Add Method Documentation Guide (#3399) This documents how methods for core classes and classes in the standard library should be documented. Co-authored-by: Eric Hodel <drbrain@segment7.net> Notes: Merged-By: jeremyevans <code@jeremyevans.net> commit c303e21d5222aa10cd1649198893d5bf0da3b63a Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-11 01:33:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-11 01:33:31 +0900 Enhanced RDoc for Array (#3400) Methods: drop drop_while any? all? none? one? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 0ca6b973e89889f1ce0dbbc05da780cb75776bfe Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-10 19:45:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-10 19:46:13 +0900 Removed non-ASCII code to suppress warnings by localized compilers commit 17d869c7d65534a18885162ea4daa78ade3254d6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-10 19:39:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-10 19:46:13 +0900 Check if C-sources are US-ASCII Encoding of C-sources can not be determined, and non-ASCII code are often warned by localized compilers. commit 187c164d714973fcbb87f33139cd863fd8068096 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-10 17:46:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-10 17:49:08 +0900 Suppress unused-variable warning `key` is not used outside this assertion. commit c355fa72d4e356378a8b03a67432b52bafcc308b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-10 16:54:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-10 17:47:34 +0900 Suppress unused-function warnings Calls with a constant argument should be optimized away. commit fac62f094e429b0290bb2940077a1c28dc614645 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-10 16:35:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-10 16:35:42 +0900 Adjust indent commit 4126a979ae0aa436e0006887fde4a1838c363cf0 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-08 02:08:36 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-08 02:08:36 +0900 Enhanced RDoc for Array#take and Array#take_while (#3398) Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 615b7fa5572081695be13a1c862aab46c242a02c Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-07 20:52:37 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-07 20:52:37 +0900 Enhanced RDoc for Array#product (#3395) Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 504e632a15a7886ff693a0162e998aed35d7b2ac Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-08-07 14:01:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-07 14:01:13 +0900 sync NDEBUG, RUBY_DEBUG, and RUBY_NDEBUG (#3327) - When NDEBUG is defined that shall be honoured. - When RUBY_DEBUG is defined that shall be honoured. - When both are defined and they conflict, warnings shall be rendered. - When nothing is specified, nothing shall happen. Notes: Merged-By: shyouhei <shyouhei@ruby-lang.org> commit 8a99f820ce208b6d9ddb9d679108b174977514c3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-07 12:28:39 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-07 12:28:39 +0900 Use zlib provided by vcpkg in mswin CI (#3397) * Revert "mswin build - install src zlib files after checkout" This reverts commit b6175c9e4fe25b978252d8998fe791d65d998fc5. * Revert "mswin build - install src zlib files" This reverts commit bf758ef8b4e2895bf71a611a7ab2a4f236e260ea. Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit fcdda2f8a1b8556bc2ad44e75434f8b6b19f1746 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-07 00:16:06 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-07 00:16:06 +0900 Add more debug info to test_verify http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111684 commit 99e4852766a83a5342f75400531d569363a67cc2 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-08-06 22:04:39 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-08-06 22:04:39 +0900 Add verbose message to random failed assertion for example: http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111251 http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3109195 commit 1819652578e8f9fe3606f7a716ec4e427fc55f0a Author: Nguyễn Quang Minh <nguyenquangminh0711@gmail.com> AuthorDate: 2020-08-06 11:56:24 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-06 11:56:24 +0900 [Feature #16513] TracePoint#inspect returns "... file:line" (#3391) * Fix debug documents to match Thread#to_s change (Feature #16412 ticket) * TracePoint#inspect returns "... file:line" (Feature #16513) * Guard older version of Ruby in Tracepoint inspection tests * Focus on current thread only when running TracePoint inspection test Notes: Merged-By: ko1 <ko1@atdot.net> commit bbbec4b87c1e66909f5bee9acd3e460b8c1ad663 Author: Jun Aruga <jaruga@redhat.com> AuthorDate: 2020-07-31 23:08:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-06 08:36:53 +0900 Apply timeout-scale to test_thr_kill. Notes: Merged: https://github.com/ruby/ruby/pull/3380 commit e0bc436d9cb4263cd1dcd78e8cba0bb84d2fd28b Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-06 04:58:16 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-06 04:58:16 +0900 Enhanced documentation for Array#repeated_combination (#3392) * Enhanced documentation for Array#repeated_combination * Enhanced documentation for Array#repeated_combination Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 249833461444ef79b625fb27bf30d366fdc9b8dd Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-05 23:42:58 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-05 23:42:58 +0900 Enhanced documentation for Array#repeated_permutation (#3390) * Enhanced documentation for Array#repeated_permutation * Enhanced documentation for Array#repeated_permutation Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 8f71bb0e4f76ab12e469d33bc560bd76cc3aaf90 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-05 20:01:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-05 20:01:03 +0900 Fixed the inconsistency gemspec location with net-* gems. commit e8edc34f0abe176b24975a1fed1f2c3782f0a252 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-08-04 07:31:25 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-04 09:01:13 +0900 Remove unused struct member I accidentally added this in 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0, and it's making the size of RVALUE be too big. I'm sorry! orz Notes: Merged: https://github.com/ruby/ruby/pull/3388 commit 3dc313a239787007afdcad8cfaff6f32c3f0dd28 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-08-04 01:22:52 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-08-04 04:28:00 +0900 Don't pin objects if we're just walking the heap Walking the heap can inadvertently pin objects. Only mark the object's pin bit if the mark_func_data pointer is NULL (similar to the mark bits) Notes: Merged: https://github.com/ruby/ruby/pull/3387 commit 1d637b1f5ec77534ceb700e326a9401a0f32ef0c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-16 21:21:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-03 19:46:39 +0900 [ruby/weakref] Use Gemfile instead of Gem::Specification#add_development_dependency. https://github.com/ruby/weakref/commit/10d547ba12 commit 9e93596d7b74914c9382b51e0f25890ebd7e27a9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-27 09:42:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-03 19:42:06 +0900 [ruby/ostruct] Drop to Ruby 2.4 https://github.com/ruby/ostruct/commit/00e8fe3df2 commit 85dc570893c2aaf25501fc780343508c44c6cd1d Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-31 03:37:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-03 18:56:14 +0900 [ruby/net-http] Fix SSL session reuse test with LibreSSL 3.2+ https://github.com/ruby/net-http/commit/5ae9620fbc commit 20eb9e98b65352422fbb1197eb8699bfcb12d5ef Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-30 04:34:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-03 18:55:44 +0900 [ruby/net-http] Switch invalid server name format invalid_servername is not a valid name in an SSL request due to the use of the underscore, and LibreSSL 3.2.0 will raise an exception for this. These tests are not testing the allowed characters in the server name, but how net/http handles cases where the server name provided does not match the IP address you are trying to connect to, so I think it's better to just modify the tests to use a correct format. While here, fix a typo in a test name, and use better code in the ensure block so the same test doesn't issue both a failure and an error. https://github.com/ruby/net-http/commit/0e8dc91120 commit e732d376affbf0fea8910ece53338cce57c25ad4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-27 11:07:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-03 18:30:19 +0900 [ruby/cgi] Drop to Ruby 2.4 https://github.com/ruby/cgi/commit/8a86536e94 commit 3ec860ae8870ee955e34bfa0acc576197012a0c7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-03 17:52:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-03 17:52:01 +0900 net-ftp is under `lib/net` instead of `lib/net/ftp` commit 2346e2f0db50c577af6568e5697d39553d7ddb67 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-08-03 17:40:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-08-03 17:40:05 +0900 Followed up b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 for net-ftp. commit ac69849e49982ea83036c04c5d5f7245e3956a49 Author: Alan Wu <alanwu@ruby-lang.org> AuthorDate: 2020-08-02 12:05:19 +0900 Commit: Alan Wu <alanwu@ruby-lang.org> CommitDate: 2020-08-02 12:05:19 +0900 Enable an assert on all configs for debugging I'm trying to get a better understanding for rare crashes that happen on ci: - http://ci.rvm.jp/results/trunk_clang_10@silicon-docker/3101898 - http://ci.rvm.jp/results/trunk-test@ruby-sky1/2777695 Looking at the stack trace it looks like a type confusion possibly induced by heap corruption. I'm hoping to verify this theory. commit a1246270c55051413ef5830684baff94e1139814 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-08-02 04:51:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-08-02 04:51:26 +0900 remove accidentally introduced debug code commit b4f58ea3008e3e86bdc931407c68c6e0497ef078 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-08-02 04:24:47 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-08-02 04:24:47 +0900 support multiple filters by RUBY_DEBUG_LOG_FILTER Now you can specify multiple filters for RUBY_DEBUG_LOG output by RUBY_DEBUG_LOG_FILTER=a,b,c (in this case, logs that the function name contains a, b or c). commit f7cf600c8ba483d389ea400071aa2aea2e5a57e0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-08-02 03:23:16 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-08-02 03:31:58 +0900 fix mark bit operation. To optimize the sweep phase, there is bit operation to set mark bits for out-of-range bits in the last bit_t. However, if there is no out-of-ragnge bits, it set all last bit_t as mark bits and it braek the assumption (unmarked objects will be swept). GC_DEBUG=1 makes sizeof(RVALUE)=64 on my machine and this condition happens. It took me one Saturday to debug this. commit fcdbdff631a1a6bcc2229d448ed7c76041fe3258 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-08-02 01:03:43 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-08-02 01:04:06 +0900 rb_{ary,fnd}_pattern_info: Remove imemo member to reduce memory usage This is a partial revert commit of 8f096226e1b76f95f4d853d3dea2bc75eeeb5244. NODE layout: Before: | ARYPTN | FNDPTN | HSHPTN ---+--------+--------+----------- u1 | pconst | pconst | pconst u2 | unused | unused | pkwargs u3 | apinfo | fpinfo | pkwrestarg After: | ARYPTN | FNDPTN | HSHPTN ---+--------+--------+----------- u1 | imemo | imemo | pkwargs u2 | pconst | pconst | pconst u3 | apinfo | fpinfo | pkwrestarg commit b6175c9e4fe25b978252d8998fe791d65d998fc5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-01 17:51:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-01 19:02:41 +0900 mswin build - install src zlib files after checkout actions/checkout deletes the contents of the source directory. commit bf758ef8b4e2895bf71a611a7ab2a4f236e260ea Author: MSP-Greg <Greg.mpls@gmail.com> AuthorDate: 2020-07-31 04:23:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-01 19:01:45 +0900 mswin build - install src zlib files Notes: Merged: https://github.com/ruby/ruby/pull/3376 commit e8ce9dfaf45ed92c90548307a901de4bd7799cf7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-01 17:58:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-01 17:58:24 +0900 `rb_encoding` is defined as `const` Duplicate type qualifier is not needed. commit b6e6807993c770c5d2e069d8741f5dadf0b38069 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-01 14:48:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-01 15:04:58 +0900 Initialize memo pointer and use it consistently to silence gcc 7+ commit 32bec658c1947e8a21884757462342465c089ce0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-08-01 14:15:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-08-01 14:44:47 +0900 Remove obsolete rubygems file Fixes a weird error in CodeQL autobuild. commit eebb1de7c1360d236f9c3fd0db99625506f6bcd7 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-08-01 11:29:34 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-08-01 11:29:34 +0900 Enhanced RDoc for Array Notes: Merged: https://github.com/ruby/ruby/pull/3381 Merged-By: jeremyevans <code@jeremyevans.net> commit f80020bc50f106a8e20c4868f76228add97048a4 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-25 18:43:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Read path binarily I believe this should fix a flaky test on Windows. https://github.com/rubygems/rubygems/commit/a516b49a0a Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit cba805536ebf9c16c6f6438b023cd476a8dfaa93 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 16:32:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Enable `Layout/LeadingEmptyLines` in rubygems https://github.com/rubygems/rubygems/commit/9c17f220af Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit b7e88e3c2f8fde3af2ac8aec30bd7c79ecb41cd9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 05:11:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Don't format executables on `gem update --system` This restores 3.0 behavior and goes back to not formatting executables by default on `gem update --system`. This is friendlier for jruby and doesn't really affect OS packagers. https://github.com/rubygems/rubygems/commit/1a504b651d Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 0e2d8c487c42aa311d329d1f44963cf002e0e598 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-31 14:02:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] unset XDG_* environmental variables for testing of rubygems. https://github.com/rubygems/rubygems/commit/539fd9a39a Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit aa4ecfe7f7e69a2c477dd9e0cc8ffbe482bbe4cb Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 15:52:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Revert "Disallow warnings to creep into the test suite" This reverts commit 694e6afee769ffb3168a564ee7d315af2a934993. It was failed on Windows and I'm unsure why. Also, the check seems brittle since it could fail potentially fail because of warnings outside of our control. https://github.com/rubygems/rubygems/commit/908e9344dd Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit e0bfc77824d2fec95965ff4b46524cc8a85bc24a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-08 18:13:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove unnecessary guard clause Since 1ccf0912a161d20e0c4a7b139fd76e8739a411ba, this method no longer uses `Kernel.gem`, so this guard clause is now unnecessary. https://github.com/rubygems/rubygems/commit/8a19e7401c Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit e6be06e4ef260a1a96fddd47fd632d61875b8b85 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-23 01:44:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Fix some intermittent test failures on truffleruby Since they changed their default to not generate documentation on `gem install`, we're getting some intermittent test failures. Can be reproduced with: ``` TRUFFLERUBYOPT="--experimental-options --testing-rubygems" TESTOPTS=--name="/^\(?:TestGemGemRunner#\(?:test_list_succeeds\)\|TestGemCommandsUpdateCommand#\(?:test_handle_options_system\)\)$/ --seed=54277 --verbose" rake ``` Fix it by resetting all permanent CLI options when CLI runner loads configuration. https://github.com/rubygems/rubygems/commit/7d896f4b74 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit a9b044e97b710a30f0598b6f85da29217471f030 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-15 15:38:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Setup no longer generates formatted executables by default Catch up with that change in `gem update --system` tests. https://github.com/rubygems/rubygems/commit/127ba14344 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit fe53e5a9f3ff3b0574ec7033571d58f4976baf8c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-02 22:11:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove fileutils autoload https://github.com/rubygems/rubygems/commit/dca345441f Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit fedaa61b3fbcdc6f9ab2199dbbda97eeebfadc58 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-01 16:38:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove explicit require for autoloaded constant https://github.com/rubygems/rubygems/commit/a54230093e Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 3921ab8291925f2d177535d38d2aaaa020f5d546 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-13 05:18:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Let more exceptions flow If any error happens while verifying a package entry, it doesn't mean that the package is corrupt. It could be a bug in rubygems, for example. This in fact happened in CI and the current error doesn't make it easy to troubleshoot the root cause, since it doesn't provide a backtrace. See https://github.com/rubygems/rubygems/pull/3807/checks?check_run_id=862526615. So I propose to let the exception happens. There was something useful about the previous message, which is the file entry where the error happened, so I'm keeping that information in a warning message. https://github.com/rubygems/rubygems/commit/ece87d858f Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit ebf008b9aea71fdf9be8dcc92faae1c024201bf9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-09 23:38:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Install plugins to user directory Fixes the `Gem::FilePermissionError` without the privilege. Initialize `@plugins_dir` to the user gem directory, when installing with `--user` option. https://github.com/rubygems/rubygems/commit/21a71ac769 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 6c71033ac3933cb23d9ee651ce864e164bc9b56f Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-01 18:45:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove more unnecessary requires Since `rubygems/util` is autoloaded. https://github.com/rubygems/rubygems/commit/52a9f88b99 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 1b2bda72fcb765c0a1ca8991ad840d37ac27198d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-12 19:35:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Extend the script to allow reverting the patch when tried locally https://github.com/rubygems/rubygems/commit/00ebf8c9f7 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 69881a41f22e6d76ce23c97e7026783ea8f2d07c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 18:08:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Add a CI test for basic rubygems functionality without openssl The whole test suite actually passes on my system, but it has weird errors in CI. Since I don't want to spend time on it, instead of running the whole test suite, I'm just adding a bare test to check that `gem list` works. https://github.com/rubygems/rubygems/commit/a40d9a394a Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 9057e9c7b1083eb8a6f52fa603508c06a0e8cc60 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 18:16:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] The file is only ever required when openssl is available https://github.com/rubygems/rubygems/commit/41976ef3ec Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 6eb89f8637bbe1255b506d9ff447529b82169597 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 18:16:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove now unneeded code We patch `net-http-persistent` to not autoload `openssl`. https://github.com/rubygems/rubygems/commit/757dec3cf2 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit ea8f7d4a81fa9e1696930c63b106cc91be14c29d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-30 01:43:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Gem::Specification#to_ruby doesn't need `openssl` The `openssl` require when openssl not present was having the side-effect the our custom require fallbacks would end up loading `Gem::Specification.stubs`. Co-authored-by: Alyssa Ross <hi@alyssa.is> https://github.com/rubygems/rubygems/commit/22c4ded4ad Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 6608bc77b6560caab2b80271b3f48a792ac33463 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-30 04:16:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Fix skip message https://github.com/rubygems/rubygems/commit/a763e539cd Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit e1494145d9725dba217fbc2bd9645db011fab946 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-30 01:42:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Make sure tests at least load without openssl https://github.com/rubygems/rubygems/commit/054d57f74b Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 779f1a9c69d4fa380a1d3ee7cb0c59a111278de4 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 17:48:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Set the expected hash in one step https://github.com/rubygems/rubygems/commit/25912ce6c9 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 34527927e84ca5020f1385c47b70b92bb574f2bb Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 17:47:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove unnecessary check No check is done for the other expectation and they are completely symmetric as far as I can see. https://github.com/rubygems/rubygems/commit/4de89e0718 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 69fa0d6d30adc876858a9bbc5baddbc9f643b9c7 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 17:10:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Move openssl require to a separate file So it can be reused. https://github.com/rubygems/rubygems/commit/b9fc6e40db Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 6b14249c9817b7afdad57de8b444c2ee4f42cd30 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-30 01:40:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] In the rubies we support `Exception#path` is always there https://github.com/rubygems/rubygems/commit/babf943144 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 07dc9691a8221fecf4da32358ab8897529dc7b5c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 19:21:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] https functionality was merged into `net/https` https://github.com/rubygems/rubygems/commit/d81ce9e457 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 0a7f12fcc617905996238f59d4875cbe4d6641d0 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 19:20:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Only require what we are using https://github.com/rubygems/rubygems/commit/d92b94f3cf Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 9ad9c2d9c33d9a135c99dbd15595ff697318c5d8 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 19:19:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Let the original error happen It will give more useful information. https://github.com/rubygems/rubygems/commit/efcecb5af5 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit b84b4e8bfac71842f795985bea814575f0a1eccb Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-11 17:04:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove unnecessary stuff The `rubygems/security` require already does this. https://github.com/rubygems/rubygems/commit/bbb444b6f1 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit d3efba0950b3d73e9cea1b8cecf3d0b44323f77e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-30 01:37:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Run `test/rubygems/test_bundled_ca.rb` locally It's not that slow. https://github.com/rubygems/rubygems/commit/9b928a4503 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit ed3794495d524d64cf0d25d7485c7fde628bd787 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-30 01:37:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove unused TEST_SSL environment variable https://github.com/rubygems/rubygems/commit/1e2c3cf118 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit db2047ebaf4d506420432cf18ca978a1fc63a91f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-25 12:15:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Fix encoding mismatch errors on MinGW GNU make in MSys is localized to use UTF-8 while Ruby's filesystem encoding is set to OEM CodePage (e.g., CP932 in Japanese Edition), the read output from the make has broken encoding and results in "invalid byte sequence" errors. As `DESTDIR` is set to a US-ASCII 7bit clean string, matching as binary encoding should have no problems. https://github.com/rubygems/rubygems/commit/96a5e7523b Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 6c19b0ec6e124be9972e357a0d9080a1c9cbe16e Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-07-29 13:23:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Reword warning https://github.com/rubygems/rubygems/commit/cbd4abf8cf Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 00bdac18cffce3fb74aa596c828a09e7d52affcd Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-07-29 13:15:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Warn on duplicate dependency in a specification https://github.com/rubygems/rubygems/commit/af3e5f7883 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 985309ac38c212de327e419ad4a7bcf9e7b28267 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-14 20:16:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Support PATH's using `File::ALT_SEPARATOR` in `Gem::Installer` Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/710b969b60 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 04d3e0727a15367971678ff913402745cbaede5e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-14 20:40:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Move traling `if` to the same line for readablity https://github.com/rubygems/rubygems/commit/d722b8b578 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit c090c64b4faa429c9f0f7c361e932e6b1a960a3d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-14 20:16:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Prefer the standard separator on Windows It seems like the most common case since it requires no tricks on our CI environment. Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/751c475574 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 65a4b03781764cccf7153847b996ebd1db65335f Author: Colby Swandale <me@colby.fyi> AuthorDate: 2020-07-28 21:21:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] fix missing identation https://github.com/rubygems/rubygems/commit/2cca6714f3 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 561576367beeb1237a3821db1b0ab9ef66e9fb56 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-07-23 22:11:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Deduplicate the requirement operators in memory https://github.com/rubygems/rubygems/commit/9963d33cf2 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 1a935606b5e307375ce9d4215a46da2ca91dc1d6 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-25 00:09:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Fix Kernel#warn override to handle backtrace location with nil path It's very unlikely to hit this case, but it is possible, as Thread::Backtrace::Location#path can return nil if the location is a cfunc with no previous iseq. See location_path in vm_backtrace.c in Ruby. https://github.com/rubygems/rubygems/commit/511935645a Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 331fe6a88f96d9f986da55e003e896c2bc181db0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-07-11 04:51:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Ignore internal frames in RubyGems' Kernel#warn * See https://github.com/oracle/truffleruby/issues/2046 * `<internal:` is a common prefix also used by core Ruby files in CRuby. * test_no_kernel_require_in_*warn_with_uplevel already test this. * Unfortunately just skipping `<internal:` in the Ruby implementation is not enough, because RubyGems' #warn would not skip the `<internal:` require (TruffleRuby defines #require in Ruby), and the Ruby implementation's #warn would not skip RubyGems's #require. The #caller_locations(0) look like this: warnee.rb:1:in `<top (required)>' # where #warn is called <internal:core> core/kernel.rb:234:in `gem_original_require' # not skipped by RubyGems' warn, skipped by the Ruby impl rubygems/core_ext/kernel_require.rb:54:in `require' # not skipped by the Ruby impl's warn, what would be shown without this fix warn.rb:1:in `<main>' # what would be correct warn.rb is require "warnee" warnee.rb is puts caller_locations(0), nil warn "oops", uplevel: 1 https://github.com/rubygems/rubygems/commit/7c838f7419 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 14ab281faa7f740afd41ce4b43b00edb73eff990 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-09 04:14:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Disallow warnings to creep into the test suite https://github.com/rubygems/rubygems/commit/694e6afee7 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 9d6123da157c027b749c22e559d91c232ae1f296 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-09 03:17:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Fix test warning https://github.com/rubygems/rubygems/commit/f4c4cddb68 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 06f84d05678aa516c9bc97719eff44e4355d3c59 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-09 04:13:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Don't `super` on main test setup The `teardown` method doesn't call it either and I don't think it's necessary. https://github.com/rubygems/rubygems/commit/ca2a5d485d Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit d0cc4ecb8f6a30b340d06e9ef1cf90264eba675a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-09 04:13:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove very old compatibility code https://github.com/rubygems/rubygems/commit/6e4bef758b Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 1260d22cae8697fc2f8e3999190a228cf23e7823 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-09 01:42:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Extract some common code into a private method https://github.com/rubygems/rubygems/commit/d1be8cdb3a Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit d5b5a7ab31099a14b5933696991dfc55c37005cc Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-09 01:38:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Remove very old TODO note It was added 10 years ago on a "146 additions, 170 deletions" commit named "Deprecation removals and minor cleanup." that didn't explain much other than that. This TODO doesn't necessarily apply nowadays. I don't see how anyways. TODO notes, if useful at all, should include a clear explanation of what should be done either via the note itself or the commit message. This note doens't meet any of these. So I want to remove it because it distracts me every time I go through it. https://github.com/rubygems/rubygems/commit/58d81e8a32 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 76722c4928d92fa6cc4a927203eab8a036516e23 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-07-06 22:18:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Optimize Gem.already_loaded? Profiling a simple `ruby -e '1'` I see: ``` ================================== Mode: wall(10) Samples: 3414 (55.10% miss rate) GC: 856 (25.07%) ================================== TOTAL (pct) SAMPLES (pct) FRAME 689 (20.2%) 669 (19.6%) Gem.already_loaded? 462 (13.5%) 462 (13.5%) (marking) 393 (11.5%) 393 (11.5%) (sweeping) 815 (23.9%) 365 (10.7%) Gem::Specification.load 1050 (30.8%) 156 (4.6%) Gem.register_default_spec 100 (2.9%) 84 (2.5%) Gem::Specification#files 64 (1.9%) 64 (1.9%) Gem::BasicSpecification#internal_init 136 (4.0%) 59 (1.7%) <top (required)> 2312 (67.7%) 58 (1.7%) <top (required)> 57 (1.7%) 57 (1.7%) RbConfig.expand 81 (2.4%) 55 (1.6%) Gem::Requirement.parse 191 (5.6%) 51 (1.5%) <top (required)> 128 (3.7%) 47 (1.4%) Gem::Requirement#initialize 41 (1.2%) 41 (1.2%) Gem.suffix_regexp 229 (6.7%) 35 (1.0%) <module:Gem> 260 (7.6%) 34 (1.0%) Kernel#require ``` So clearly `Gem.already_loaded?` is a major hotspot. After this optimization, it's down to: ``` ================================== Mode: wall(10) Samples: 2653 (58.21% miss rate) GC: 718 (27.06%) ================================== TOTAL (pct) SAMPLES (pct) FRAME 416 (15.7%) 416 (15.7%) (marking) 715 (27.0%) 312 (11.8%) Gem::Specification.load 299 (11.3%) 299 (11.3%) (sweeping) 279 (10.5%) 279 (10.5%) Gem.already_loaded? 564 (21.3%) 106 (4.0%) Gem.register_default_spec 95 (3.6%) 80 (3.0%) Gem::Specification#files 72 (2.7%) 72 (2.7%) Gem::BasicSpecification#internal_init 129 (4.9%) 58 (2.2%) <top (required)> 53 (2.0%) 53 (2.0%) RbConfig.expand 1697 (64.0%) 52 (2.0%) <top (required)> 68 (2.6%) 49 (1.8%) Gem::Requirement.parse 183 (6.9%) 48 (1.8%) <top (required)> 112 (4.2%) 44 (1.7%) Gem::Requirement#initialize 220 (8.3%) 33 (1.2%) <module:Gem> 250 (9.4%) 32 (1.2%) Kernel#require ``` The idea is that the vast majority of the time `already_loaded?` won't match anything. So by first looking for candidate paths that `end_with?` the file we look for, we save `default_gem_load_paths.size` iterations and string concatenations. https://github.com/rubygems/rubygems/commit/c60ce88d49 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 832fe778796026389f05330242795a004e442360 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-07 20:22:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 Bump version to 3.2.0.rc.1 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 734c5276f0ad1215eeba2f5884b384b1ffbbefc7 Author: Bart de Water <496367+bdewater@users.noreply.github.com> AuthorDate: 2020-06-30 07:31:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Simplify digest name selection and use SHA256 The previous commit introduces the Gem::Security.create_digest method, allowing to: - decouple algorithm choice from implementation (OpenSSL or Ruby built-in) - untangle the SHA512 fallback for TarWriter from the generic hashing digest choice (undoing commit 9471f8ed2bdc12248d2619bbbce6e53cd6c16cb6) https://github.com/rubygems/rubygems/commit/1bc03231e4 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 8161cf85ba4f9091176536bcac9107879e4293a1 Author: Bart de Water <496367+bdewater@users.noreply.github.com> AuthorDate: 2020-06-29 03:39:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 Stop using deprecated OpenSSL::Digest constants Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit e7b6e0ff5823c422cd3e508d2b7104a91a2e36f6 Author: Karol Bucek <kares@users.noreply.github.com> AuthorDate: 2020-06-23 06:15:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] remove explicit require(s) for auto-loaded constant(s) the Gem module's auto-loads will handle loading these as needed, this started as a redundancy found in *rubygems.rb* which had: `autoload :Specification, 'rubygems/specification'` as well as `require 'rubygems/specification'` https://github.com/rubygems/rubygems/commit/43ceae7ac0 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit c3b480b7764e7854b42c212e77a0ffe402dba6cb Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-06-25 14:58:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 [rubygems/rubygems] Test files should not be included in spec.files https://github.com/rubygems/rubygems/commit/0c0760b734 Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit a89665b7b1abb5bb6005fd638dc920848cc50f72 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-13 19:01:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-31 21:07:19 +0900 Enforce no empty lines around class body in rubygems To normalize the code style with `bundler`. Notes: Merged: https://github.com/ruby/ruby/pull/3379 commit 753351999052034c70f740cddb310428d79beb7d Author: Aaron Patterson <aaron.patterson@gmail.com> AuthorDate: 2020-07-29 04:56:36 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-07-31 03:11:13 +0900 NODE_MATCH needs reference updating commit 47f2c5429b1d42ecb8abb082f2e4e265800ab66d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-31 00:54:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-31 00:54:34 +0900 Added NUL-contained cases commit 352895b7511d26b40023549b6eb6e06a243c9bbd Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-07-22 12:47:23 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-07-30 23:07:06 +0900 [ruby/racc] Return `nil` for all syntax errors https://github.com/ruby/racc/commit/51817ce0f6 commit 1b1ea7b3bc9484e6e59d716fce2965a2f39d1e3d Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-07-30 05:59:06 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-07-30 22:53:42 +0900 Fix Array#flatten for recursive array when given positive depth [Bug #17092] commit 2bd1f827f14e06575e128a5e4928cee79592e61b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-30 21:21:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-30 21:21:08 +0900 Promote io-nonblock to the default gems. commit d75b42a70aa4c4ceed3f4d71a51aba3586ebbf2e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-30 21:10:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-30 21:10:28 +0900 Promote io-wait to the default gems commit ec1ab1d46542a5332b887b750f694836fd5e44b9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-30 21:01:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-30 21:01:22 +0900 Add explicitly require for Dir.mktmpdir commit b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-29 00:31:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-30 19:03:18 +0900 Extract version number from the source "requiring version.rb" strategy has some issues. - cannot work when cross-compiling - often introduces wrong namespace - must know the superclasses - costs at each runtime than at build-time etc. Notes: Merged: https://github.com/ruby/ruby/pull/3375 commit cfbae7dae052180e5dde05a27948ae8d779eccab Author: Espartaco Palma <esparta@gmail.com> AuthorDate: 2020-06-07 17:01:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-30 18:34:17 +0900 [skip-ci] Clarification for dup vs clone docs Both clone & dup returns a new object when executed on the documentation looks like they are returning the same object cloned or dup'ed which is true for method as extend, but not for the above mentioned. Notes: Merged: https://github.com/ruby/ruby/pull/3192 commit 265968d675ce6f52a69e5d8ddaa82b41f89a3d2c Author: Jun Aruga <jaruga@redhat.com> AuthorDate: 2020-07-24 03:28:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-30 18:28:41 +0900 Apply timeout-scale to test_nogvl_poll. Notes: Merged: https://github.com/ruby/ruby/pull/3354 commit 35e5b8fb82ffd09ea34af88834588aa078ee9db3 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-30 07:25:24 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-30 07:25:24 +0900 Enhanced RDoc for Array (#3372) Notes: Merged-By: marcandre <github@marc-andre.ca> commit 28cd254b498e34b3fb205cfb116bff3f946d2fdc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-30 02:28:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-30 02:28:46 +0900 Set cloned flag after checked if copiable commit 241244739f2b721ac7aa0961bd90d904c5e3fff6 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-07-29 03:39:27 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-07-30 01:09:53 +0900 Fix arity of Hash#to_proc [Bug #12671] Notes: Merged: https://github.com/ruby/ruby/pull/3370 commit f79dc8741f631f5572f4d2fa3cb7cad39b1356bb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-29 23:02:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-29 23:02:33 +0900 rbinstall.rb: fix generated script name to set mode commit f0affcdbf6fde6d7d99eb608ce02bcfe2d867553 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-29 22:47:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-29 22:47:00 +0900 rbinstall.rb: fix dry-run mode commit 0d632a956cc4a58457d78f884ff62ca8605056e2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-29 21:08:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-29 21:08:48 +0900 transient_heap_status_cstr() is used only for debugging commit c904844578745859e275fbcc79264ef737457f36 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-29 00:31:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-29 20:52:47 +0900 Skip already extracted gems commit ed22bf47cc551bb26f17fbaebadd06d1ff2b8948 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-29 18:45:39 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-07-29 18:45:39 +0900 display stderr output even if core dump files On btest, stderr messages are not displayed if core files are generated. There is no reason to skip it, so this patch display stderr and check core files. commit dd6f5aba0e07c6e65cad026317d1a77dbb72f56e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-29 17:45:02 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-07-29 17:45:02 +0900 add debug output. commit 520a734ad9c7348f4e4858ee24640f42c88fd389 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-25 07:21:08 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-07-29 04:53:37 +0900 Fix Time#ceil when result should be the same as the receiver Fixes [Bug #17025] Notes: Merged: https://github.com/ruby/ruby/pull/3362 commit 946cd6c5348d7dd12ecc41e79c3ca9803d2ca7f0 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-07-28 19:51:07 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-07-28 19:51:54 +0900 Use https instead of http commit f44114b502f4ae793f95d0be14b094cfe7c4c0e7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-28 16:43:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-28 16:43:38 +0900 Do not assume all compilers accept same flags as gcc commit 7fb12be99fecc5029d540924fc25a1457472451c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-27 15:52:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-28 15:14:01 +0900 [ruby/net-ftp] Moved Net::Ftp::Version to Net::FTP On case-insensitive filesystem, generated Net/FTP.html is overwritten by Net/Ftp.html. https://github.com/ruby/net-ftp/commit/14a6ff5134 commit da31900d9d9e4e9dcd6381a23dd863b18fe65e3d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-07-08 17:32:28 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-07-28 13:18:08 +0900 vm_backtrace.c: let rb_profile_frames show cfunc frames ... in addition to normal iseq frames. It is sometimes useful to point the bottleneck more precisely. Notes: Merged: https://github.com/ruby/ruby/pull/3299 commit e4b63202eb25ee86c5173364c13a8ead02419f7d Author: Sergio <25378688+sergioro9@users.noreply.github.com> AuthorDate: 2020-04-30 00:39:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-28 12:14:45 +0900 Remove unnecessary word from comment Notes: Merged: https://github.com/ruby/ruby/pull/3070 commit db0eab1c6f6612b5f49b79918be2ff55b2196352 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2020-07-23 01:30:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-28 12:11:47 +0900 Remove `EnvUtil.rubyexec`, because it is not used anywhere. Notes: Merged: https://github.com/ruby/ruby/pull/3351 commit 126fd5f15cff0d3bf314d90d8c21a3ae25ae8e68 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-07-28 04:41:08 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-07-28 04:41:08 +0900 Update to ruby/spec@07164da commit 7429841ab6494b849106e6d3b119f147adfee3b7 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-07-28 04:41:03 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-07-28 04:41:03 +0900 Update to ruby/mspec@9cffee9 commit 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-07-24 08:00:28 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-07-28 04:40:01 +0900 Use a linked list to eliminate imemo tmp bufs for managing local tables This patch changes local table memory to be managed by a linked list rather than via the garbage collector. It reduces allocations from the GC and also fixes a use-after-free bug in the concurrent-with-sweep compactor I'm working on. Notes: Merged: https://github.com/ruby/ruby/pull/3360 commit eeef16e190cdabc2ba474622720f8e3df7bac43b Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-11 06:38:00 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-07-28 00:18:11 +0900 Prevent SystemStackError when calling super in module with activated refinement Without this, if a refinement defines a method that calls super and includes a module with a module that calls super and has a activated refinement at the point super is called, the module method super call will end up calling back into the refinement method, creating a loop. Fixes [Bug #17007] Notes: Merged: https://github.com/ruby/ruby/pull/3309 commit c4f8095e9732aa82669a45ea55b8c24200c5dae8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-27 15:23:52 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-27 15:24:03 +0900 Use typewriter notation for var[:sym] correctly commit d210a39774a691d0239f2d887f001098fade5ec5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-26 21:24:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-26 21:24:07 +0900 Fixed a typo commit 3ead2770a1fd7452a9b875a8be7b93335f41abda Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-24 21:08:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-24 21:08:50 +0900 Respect visibility in non-array Enumerable#inject [Bug #13592] commit 2735da2039b9e441e41b11b606ba362db350a658 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-07-24 20:17:31 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-24 20:17:31 +0900 Fix Time#to_a behavior with timezone [Bug #17046] Notes: Merged: https://github.com/ruby/ruby/pull/3355 Merged-By: nobu <nobu@ruby-lang.org> commit ba99eae2a596658a71079975fb7d53ae1f2341a5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-23 18:31:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-24 11:00:34 +0900 [ruby/optparse] Fix ls-files matching regexp As splitting by NUL means to allow the file names to contain newlines, path names should match at beginning-of-string instead of beginning-of-line. https://github.com/ruby/optparse/commit/df3933aa2b commit 098e8c2873ed7cfa276aa87967ce28ac711cbb30 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-07-23 23:44:25 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-07-23 23:44:25 +0900 Suppress "assigned but unused variable" warnings commit e43d62957599ea6607ceb851b7bd9d90148de16b Author: Tom Rothe <info@tomrothe.de> AuthorDate: 2020-06-22 00:12:34 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-07-23 22:49:03 +0900 [ruby/observer] add symbol usage example to Observer#add_observer [doc] https://github.com/ruby/observer/commit/62a94e3799 commit 54acb3dd52a5fe75c32c3e36a6984d3ec4314a72 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-22 09:52:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 16:57:26 +0900 Improved Enumerable::Lazy#zip | |compare-ruby|built-ruby| |:-------------------|-----------:|---------:| |first_ary | 290.514k| 296.331k| | | -| 1.02x| |first_nonary | 166.954k| 169.178k| | | -| 1.01x| |first_noarg | 299.547k| 305.358k| | | -| 1.02x| |take3_ary | 129.388k| 188.360k| | | -| 1.46x| |take3_nonary | 90.684k| 112.688k| | | -| 1.24x| |take3_noarg | 131.940k| 189.471k| | | -| 1.44x| |chain-first_ary | 195.913k| 286.194k| | | -| 1.46x| |chain-first_nonary | 127.483k| 168.716k| | | -| 1.32x| |chain-first_noarg | 201.252k| 298.562k| | | -| 1.48x| |chain-take3_ary | 101.189k| 183.188k| | | -| 1.81x| |chain-take3_nonary | 75.381k| 112.301k| | | -| 1.49x| |chain-take3_noarg | 101.483k| 192.148k| | | -| 1.89x| |block | 296.696k| 292.877k| | | 1.01x| -| Notes: Merged: https://github.com/ruby/ruby/pull/3339 commit 6b3cff12f6add831c678ce7a5288097714bc6850 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-22 00:58:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 16:57:26 +0900 Improved Enumerable::Lazy#flat_map | |compare-ruby|built-ruby| |:-------|-----------:|---------:| |num3 | 96.333k| 160.732k| | | -| 1.67x| |num10 | 96.615k| 159.150k| | | -| 1.65x| |ary2 | 103.836k| 172.787k| | | -| 1.66x| |ary10 | 109.249k| 177.252k| | | -| 1.62x| |ary20 | 106.628k| 177.371k| | | -| 1.66x| |ary50 | 107.135k| 162.282k| | | -| 1.51x| |ary100 | 106.513k| 177.626k| | | -| 1.67x| Notes: Merged: https://github.com/ruby/ruby/pull/3339 commit 89a86788e66def6f2778926528f63e353935574b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-21 09:11:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 16:57:25 +0900 New functions to pass more elements than passed Notes: Merged: https://github.com/ruby/ruby/pull/3339 commit 347639ad8ad9fe2c6e88ff9b4faa21a11568bf6a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-23 14:55:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 14:57:05 +0900 Removed fragile tests in https://github.com/ruby/ruby/pull/3349 commit ff397d0016b515c8a998ece4a73168c0c6061f0e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 16:18:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-23 14:30:12 +0900 dln.h: delete unused codes defines.h already has them. Also __cplusplus can never be defined here. Notes: Merged: https://github.com/ruby/ruby/pull/3348 commit c4fc737f755f35ae1ddcf41dd06aad7b23be21da Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-22 16:11:08 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-23 14:30:12 +0900 include/ruby/util.h: delete unused codes - util.h includes defines.h, - ... which includes ruby/backward/2/stdarg.h, - ... which always defines _. This `#ifndef _` must never happen. Notes: Merged: https://github.com/ruby/ruby/pull/3348 commit 1d8b689b9efaaa4555bcbbc6538884e94ae5e19b Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-07-23 09:46:24 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-07-23 14:17:59 +0900 Remove unused field in rb_iseq_constant_body This was introduced in 191ce5344ec42c91571f8f47c85be9138262b1c7 and has been unused since beae6cbf0fd8b6619e5212552de98022d4c4d4d4 Notes: Merged: https://github.com/ruby/ruby/pull/3353 commit caf565f7bf9b279449c893b9e812c466a26e8f4b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-23 11:48:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 11:52:33 +0900 Ensure time object meets a given condition [Bug #17042] commit afacf85e443cc64dd41c248659b65476434b4175 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-07-23 11:35:20 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-23 11:35:20 +0900 Merge pull request #3352 from S-H-GAMELINKS/bug/17042-strftime Fix Time#strftime with timezone [Bug #17042] Notes: Merged-By: nobu <nobu@ruby-lang.org> commit 8ed687a4d7b7a77f30f8e937f58aae74bfb699b6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-23 11:32:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 11:33:33 +0900 Test for weeknumber with timezone [Bug #17042] commit f120e6520063913229a659741d96187eb2f7dd82 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-23 01:08:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 10:57:33 +0900 [ruby/optparse] Define OptionParser::Version https://github.com/ruby/optparse/commit/4c0021b5b2 commit cd429e68d2ab19aa7deabd2433dc43b374271414 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-23 01:05:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 10:57:31 +0900 [ruby/optparse] Update required ruby version Now needs `DidYouMean#formatter` which is provided since did_you_mean 1.2, which requires ruby 2.5. https://github.com/ruby/optparse/commit/d44bb5c715 commit 6a0cb1d649ecfc3e2af922c74ce82b3ff95fb12a Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-07-22 19:47:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-23 10:52:30 +0900 Avoid allocating a string when dumping an anonymous module or class Notes: Merged: https://github.com/ruby/ruby/pull/3349 commit 5d04ac6ea2fefa4d6e4d22ab9c9903b8ff160167 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-23 09:06:49 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-23 09:06:49 +0900 Enhanced RDoc for Array (#3350) * Enhanced RDoc for Array Methods: == eql? hash include? <=> Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 37e6c83609ac9d4c30ca4660ee16701e53cf82a3 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-07-23 06:27:03 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-07-23 08:01:28 +0900 Lazily insert origins on prepend to save memory 98286e9850936e27e8ae5e4f20858cc9c13d2dde made it so that `Module#include` allocates an origin iclass on each use. Since `include` is widely used, the extra allocation can contribute significantly to memory usage. Instead of always allocating in anticipation of prepend, this change takes a different approach. The new setup inserts a origin iclass into the super chains of all the children of the module when prepend happens for the first time. rb_ensure_origin is made static again since now that adding an origin now means walking over all usages, we want to limit the number of places where we do it. Notes: Merged: https://github.com/ruby/ruby/pull/3331 commit d47e124857ecdccfeb0766c04cf1ef2cdfdd08bc Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-30 07:54:30 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-07-23 00:34:51 +0900 Switch reserved for numbered parameter warning to SyntaxError Notes: Merged: https://github.com/ruby/ruby/pull/3163 commit 50aac2ffd59c7b0d871a82c23048846ad2f3f38b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-22 21:26:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-22 21:28:23 +0900 Share the size for sigaltstack between configure.ac and signal.c commit 8b0dc77a621ded75f72486c33f55404ce73f00d7 Author: Jake Zimmerman <zimmerman.jake@gmail.com> AuthorDate: 2020-07-11 04:05:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-22 20:46:36 +0900 configure.ac: Bump the size of sigaltstack The RubyVM uses C macro defines to feature detect whether `backtrace(2)` support is available, and if so it includes C level backtraces when the RubyVM itself crashes. But on my machine, C level backtraces from `vm_dump.c` didn't work when using a version of Ruby built on the machine, but worked fine when using a version of Ruby built on another machine and copied to my machine. The default autoconf test for backtraces uses a sigaltstack size that is too small, so the SIGSEGV signal handler itself causes a SIGSEGV). I noticed that signal.c uses a larger sigaltstack size: https://github.com/ruby/ruby/blob/v2_6_5/signal.c#L568 The specific variables it looks at: - `HAVE_BACKTRACE` this is a macro defined by autoconf because there is a line in the configure script like `AC_CHECK_FUNCS(backtrace)` (see the autoconf docs for more). - `BROKEN_BACKTRACE` this comes from a custom program that Ruby's configure script runs to attempt to figure out whether actually using backtrace(2) in a real program works. You can see the autoconf program here. <https://github.com/ruby/ruby/blob/v2_6_5/configure.ac#L2817-L2863> It uses sigaltstack and SA_ONSTACK to create a separate stack for handling signals. The problem was: SIGSTKSZ (which comes from a system header!) was not suggesting a large enough stack size. When checking on an Ubuntu 16.04 box, we found that SIGSTKSZ was 8192 and MINSIGSTKSZ was 2048. Notes: Merged: https://github.com/ruby/ruby/pull/3307 commit 7befc0cdfcf972023842eca5836fe4709ec2ad46 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-22 18:38:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-22 18:38:51 +0900 Promote optparse to default gems commit a50750c8a960ef62b3e1dbd78b12056f0512b17d Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-22 02:55:28 +0900 Commit: Burdette Lamar <BurdetteLamar@Yahoo.com> CommitDate: 2020-07-22 07:07:12 +0900 Enhanced RDoc for Array Notes: Merged: https://github.com/ruby/ruby/pull/3318 commit d29de7b31bad1848f8baaa49b00e4203057032a7 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-22 02:07:26 +0900 Commit: Burdette Lamar <BurdetteLamar@Yahoo.com> CommitDate: 2020-07-22 07:07:12 +0900 Enhanced RDoc for Array Notes: Merged: https://github.com/ruby/ruby/pull/3318 commit 8a974e0fcb3f2648dd75993b4c4a1625a50e986f Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-07-15 06:04:06 +0900 Commit: Burdette Lamar <BurdetteLamar@Yahoo.com> CommitDate: 2020-07-22 07:07:12 +0900 Enhanced RDoc for Array Notes: Merged: https://github.com/ruby/ruby/pull/3318 commit 20172672db8d6c090148c67183e4574669ee0c86 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-22 04:11:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 04:11:38 +0900 Add require 'irb/ruby-lex' to use RubyLex commit ee2529dffe475567059b3234bf6f765fcc7b81e4 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-22 03:49:17 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 03:49:17 +0900 Sometimes result indicator (=>) isn't shown commit 0faf02718a75fb7c338c9ec7c27b284b4cf2f874 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-07-22 03:13:10 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 03:13:17 +0900 Use simple assersion commit 02951a45f0684b647499a214870a39acf1b6f422 Author: hyrious <hyrious@outlook.com> AuthorDate: 2020-07-21 23:55:04 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:35:12 +0900 [ruby/rdoc] Create link to unary operator methods correctly https://github.com/ruby/rdoc/commit/54500cf12a commit 7693aa705619752b57de192951cc688338653715 Author: Benoit Tigeot <benoit@hopsandfork.com> AuthorDate: 2020-07-03 05:33:09 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:34:58 +0900 [ruby/rdoc] Remove empty lines from html file by using ERB trim_mode flag https://github.com/ruby/rdoc/commit/9e27299a46 commit 38480ad5078ac1d83031d6b9e25070508b9c034e Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-12 07:02:28 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:34:49 +0900 [ruby/rdoc] Fix parsing of rb_define_module_under Fixes Ruby Bug #15819 https://github.com/ruby/rdoc/commit/94a052d833 commit f76d67f484b55131f45586e5f515db61e9bd41e7 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-26 23:25:50 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:34:26 +0900 [ruby/rdoc] Fix RDoc::Context#instance_method_list The warn method returns nil, it's a bug of #instance_method_list. https://github.com/ruby/rdoc/commit/a20df89263 commit f6e789e3b07ede0b5842c7f64940e4cd9ed876fd Author: Nobuhiro IMAI <nov@yo.rim.or.jp> AuthorDate: 2020-03-02 22:16:11 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:31:47 +0900 [ruby/irb] handle rescue modifier properly https://github.com/ruby/irb/commit/6de1341f5e commit 22d38d54751e3e23144d4b4e1fb8ed67626c89c8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-06-24 18:41:10 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:31:47 +0900 [ruby/irb] Add test_eval_object_without_inspect_method https://github.com/ruby/irb/commit/c0d9a26bce commit b40e925c92753640ae05951fe9f69604b41fab32 Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-06-10 22:01:57 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:31:47 +0900 [ruby/irb] Fix error when `inspect` is called but not found in inspector https://github.com/ruby/irb/commit/ce6d53e6d9 commit 4268084d699922d7650b0bf6327042f3331d5ca3 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-06-09 00:10:14 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:31:47 +0900 [ruby/irb] Add encoding magic comments of editors https://github.com/ruby/irb/commit/f8c10ea24b commit c72a2fad9717a6090aa792c31eb0043886d0fb39 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-06-07 23:29:01 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:31:46 +0900 [ruby/irb] Simplify RubyLex.compile_with_errors_suppressed nobu-san reviewed, https://github.com/ruby/irb/pull/106#pullrequestreview-423400033 > How about lexer = Ripper::Lexer.new(";\n#{code}", nil, 0)? > Encoding pragma is effective only at the beginning. > And the semicolon and newline will be skipped because the position is before > the initial pos. I employ the way. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> https://github.com/ruby/irb/commit/e593cc65b7 commit 1dfd24a7fc4e2877d49d2a3326925080e2972cf1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-06-01 19:22:50 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:31:46 +0900 [ruby/irb] Suppress incomplete encoding magic comment error https://github.com/ruby/irb/commit/443e90af80 commit 78ccab25306d15c325baa0761d9505ac23956f22 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-06-01 08:53:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-07-22 02:31:46 +0900 [ruby/irb] Suppress incomplete coding magic comment error https://github.com/ruby/irb/commit/6a457edbd1 commit 48eb1ad2c3aa1a14bd8ef61cbd72a791b0b67418 Author: Tanaka Akira <akr@fsij.org> AuthorDate: 2020-07-21 20:28:36 +0900 Commit: Tanaka Akira <akr@fsij.org> CommitDate: 2020-07-21 20:28:36 +0900 [DOC] time.c document updated. * fraction -> subsecond for consistency with method name * The sentence, "A non-portable feature allows the offset to be negative on some systems.", is removed. Time before 1970 should work portably now. If localtime() doesn't work before 1970, Ruby should extrapolate it. * Time::new -> Time.new "::" for method call is not common notation now. * Time#to_i truncates subsecond * Time#to_f approximates a value in Time object * Time#to_r The sentence, "You can use this method to convert _time_ to another Epoch.", is removed. It is not clear because no actual example of "another Epoch" is given. * Time#usec truncates fraction of microseconds. * Time#nsec truncates fraction of nanoseconds. * describe Time#inspect shows subsecond since Ruby 2.7.0. commit 73ee1295a33c51f24e774b273fdeca5910ce5ba8 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-07-21 04:38:07 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-07-21 09:20:08 +0900 Add memsize support for the call cache table Each class/module/iclass can potentially have their own cc table. Count their malloc usage. Notes: Merged: https://github.com/ruby/ruby/pull/3336 commit a8eecceaef16e76a29face4d817f12e41a1de3dd Author: Gabriel Nagy <gabrielnagy@me.com> AuthorDate: 2020-07-20 17:24:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-21 09:17:56 +0900 [ruby/csv] Bump minimum ruby version to 2.5.0 (https://github.com/ruby/csv/pull/159) A dependency to stringio was added to csv, which requires Ruby version >= 2.5. Bump the gemspec version accordingly. https://github.com/ruby/csv/commit/bc5a26029f commit c6f389d84e0f0df535579fb0d378c04fae2c4614 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-07-20 16:02:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-21 09:17:54 +0900 [ruby/csv] Move doc/* to doc/csv/* to work in ruby/ruby too https://github.com/ruby/csv/commit/910f8e0c5d commit 935d0b3d05dfc8b30bba505792129bf0e33ebe3b Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-20 09:42:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 15:39:31 +0900 [ruby/csv] Enhanced RDoc for several methods (https://github.com/ruby/csv/pull/158) * Enhanced RDoc for several methods * Update lib/csv.rb Co-authored-by: Sutou Kouhei <kou@cozmixng.org> Co-authored-by: Sutou Kouhei <kou@cozmixng.org> https://github.com/ruby/csv/commit/72e8b00e51 Notes: Merged: https://github.com/ruby/ruby/pull/3335 commit 78893f16b237ac5d761d96aed7428fc7640a4dab Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-07-20 06:37:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 15:39:29 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/f9cd046d66 Notes: Merged: https://github.com/ruby/ruby/pull/3335 commit d919b0e4f9ec77f35bd3891eefe016e2922a758e Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-07-20 06:28:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 15:39:26 +0900 [ruby/csv] Require stringio 0.1.3 or later https://github.com/ruby/csv/commit/09dd9f2771 Notes: Merged: https://github.com/ruby/ruby/pull/3335 commit 16daee1c75828b8157e8b24f0a02bf064fa07ae7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-19 16:57:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 14:59:19 +0900 [ruby/stringio] Bump version to 0.1.3 https://github.com/ruby/stringio/commit/376516cd2d Notes: Merged: https://github.com/ruby/ruby/pull/3334 commit ddb2acbba60302201f01175f019d8ecd99934add Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-19 16:08:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 14:59:19 +0900 [ruby/stringio] No compatibility check in US-ASCII case https://github.com/ruby/stringio/commit/59df1c8293 Notes: Merged: https://github.com/ruby/ruby/pull/3334 commit c62aff16325c6b170f437f7ebe97c09387464ada Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-19 11:38:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 14:59:19 +0900 [ruby/stringio] Added non-ASCII but convertible encoding case https://github.com/ruby/stringio/commit/1d28e5c969 Notes: Merged: https://github.com/ruby/ruby/pull/3334 commit a7c67fc6da1248e98bfa40e961d82471ece0f5aa Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-19 01:30:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 14:59:19 +0900 [ruby/stringio] Removed wrong UNREACHABLE https://github.com/ruby/stringio/commit/f528538d10 Notes: Merged: https://github.com/ruby/ruby/pull/3334 commit 574871781b8fede4ffd2f11f084d87d4f9539745 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-19 00:44:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 14:59:19 +0900 [ruby/stringio] Bump version to 0.1.2 https://github.com/ruby/stringio/commit/8cbe3f7397 Notes: Merged: https://github.com/ruby/ruby/pull/3334 commit 6ff9604f85bf5ffcb6dbfd9ff99ab420c9a5f415 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-18 23:52:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 14:59:19 +0900 [ruby/stringio] Raise an error if encoding conversion not succeeded As `rb_str_conv_enc()` returns the argument string object itself unchanged when any conversion failed, check the incompatibility in that case. Fixes https://github.com/ruby/stringio/issues/13 https://github.com/ruby/stringio/commit/ede6bdcc71 Notes: Merged: https://github.com/ruby/ruby/pull/3334 commit 840115bf46476dc2b3c175f7716b4d6000906f40 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-20 13:38:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 14:59:19 +0900 Make StringIO encoding fixed Get rid of affects by default external encoding. Notes: Merged: https://github.com/ruby/ruby/pull/3334 commit 1b3a6847be83ed1269b6eb87016c721ca33da8e5 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-07-20 09:42:57 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-07-20 10:20:58 +0900 Move declarations to private `internal/thread.h` header. Notes: Merged: https://github.com/ruby/ruby/pull/3323 commit f3462d99a3dd8d535eda287b000cb035bade522c Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-07-18 12:10:17 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-07-20 10:20:58 +0900 Rename `rb_current_thread_scheduler` to `rb_thread_scheduler_if_nonblocking`. Correctly capture thread before releasing GVL and pass as argument to `rb_thread_scheduler_if_nonblocking`. Notes: Merged: https://github.com/ruby/ruby/pull/3323 commit 9f6a3d030682e9f99c77c2ef31881f9801c3979e Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-07-18 14:34:54 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-07-20 10:20:58 +0900 Add multi-threaded I/O test. Notes: Merged: https://github.com/ruby/ruby/pull/3323 commit e6e9cef06e9023a80991518297d9f2c0c12488ce Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-07-16 12:19:47 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-07-20 10:20:58 +0900 Improve consistency of tests. Notes: Merged: https://github.com/ruby/ruby/pull/3323 commit a3ac1bf450d2aa0c6b0b34fee417992b4352ff2c Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-07-18 19:02:07 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-07-20 07:58:57 +0900 Add more timeouts to macos, mjit, ubuntu and windows workflows. Notes: Merged: https://github.com/ruby/ruby/pull/3329 commit 4fcfa85cb6a44b4e8c7a47578b50064711dff404 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-07-19 06:25:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:55 +0900 [ruby/csv] CSV.generate_line: use the encoding of the first non ASCII field as the expected encoding See also: https://github.com/ruby/stringio/issues/13#issuecomment-660543554 https://github.com/ruby/csv/commit/004cf49d18 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 178649e6dcb679f4b42cbf723d4f34f81a591304 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-07-16 06:10:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:54 +0900 [ruby/csv] force_quotes: add support for specifying the target indexes or names GitHub: fix GH-153 Reported by Aleksandr. Thanks!!! https://github.com/ruby/csv/commit/8812c58a26 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit d9749b4715168ccce020dd43b4815e365881f73e Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-16 05:37:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:54 +0900 [ruby/csv] RDoc for converters (https://github.com/ruby/csv/pull/157) * More on RDoc for converters * More on RDoc for converters * Fix indent Co-authored-by: Sutou Kouhei <kou@cozmixng.org> https://github.com/ruby/csv/commit/6044976160 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit d7c42df0b103fb24d39d5f52b792f21afa71daa7 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-04 23:25:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:54 +0900 [ruby/csv] Adding call-seq to methods RDoc (https://github.com/ruby/csv/pull/155) * Adding call-seq to methods RDoc Co-authored-by: Sutou Kouhei <kou@cozmixng.org> https://github.com/ruby/csv/commit/dbd860c1cd Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 544d82f49b4b1486ae2791a35b6e5cce3e1abed1 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-03 11:06:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:54 +0900 [ruby/csv] RDoc: summary lists for options (https://github.com/ruby/csv/pull/154) * RDoc: summary lists for options * Enhanced RDoc for certain attributes and instance methods * Enhanced RDoc for certain attributes and instance methods * Enhanced RDoc for certain attributes and instance methods * Enhanced RDoc for certain attributes and instance methods https://github.com/ruby/csv/commit/72d8a25dc9 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 40c50236291e39ceb2159439295137f194d0dbc2 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-02 05:15:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:54 +0900 [ruby/csv] RDoc remark about instance methods (https://github.com/ruby/csv/pull/152) https://github.com/ruby/csv/commit/76379bbe62 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit a0bee2bbd6f85bb6c8de5d109eb60ab0ee39cdbb Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-01 10:30:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:54 +0900 [ruby/csv] Revised introductory RDoc (https://github.com/ruby/csv/pull/151) https://github.com/ruby/csv/commit/60f6f1c28f Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit da83401ba4813cd55d7d462ebfd78f0575ec4ce9 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-29 06:25:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:54 +0900 [ruby/csv] Enhanced RDoc for filter (https://github.com/ruby/csv/pull/149) * Enhanced RDoc for filter * Correct return values for ::filter, ::foreach, ::parse * Enhanced RDoc for filter * Remove "returns nil"s Co-authored-by: Sutou Kouhei <kou@clear-code.com> https://github.com/ruby/csv/commit/2c347f9a3d Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 66b5cedc29de49c564839011c2bcb61552d26b88 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-27 06:29:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:53 +0900 [ruby/csv] Enhancements for RDoc (https://github.com/ruby/csv/pull/148) Co-authored-by: Sutou Kouhei <kou@cozmixng.org> https://github.com/ruby/csv/commit/25dd4cddbb Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 7bf13c51838a4a71fc55712079c5b243c517021c Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-25 12:38:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:53 +0900 [ruby/csv] Improve RDoc for common options (https://github.com/ruby/csv/pull/146) https://github.com/ruby/csv/commit/223cbee35d Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit d9eff306f5806c6a1b79019ec44395e4cc816218 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-25 06:04:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:53 +0900 [ruby/csv] Organize files in doc/ (https://github.com/ruby/csv/pull/145) https://github.com/ruby/csv/commit/bc9ea859b0 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 920a16893ad5b76bcb357d45f2c0b9d91d09268e Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-19 07:02:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:53 +0900 [ruby/csv] RDoc for parse_line (adds headers examples) (https://github.com/ruby/csv/pull/143) * RDoc for parse_line (adds headers examples) * RDoc for parse_line (adds headers examples) https://github.com/ruby/csv/commit/a161be928e Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 6106b7badd7a8f71549caf72e7824ba55a0cab51 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-19 05:21:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:53 +0900 [ruby/csv] Added headers to RDoc for CSV.foreach (https://github.com/ruby/csv/pull/142) * Added headers: to RDoc for CSV.foreach * Correct options remark for CSV.generate * Improve citation for option headers https://github.com/ruby/csv/commit/b01945ec3a Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit e4742fec64ed555a8b879481679d4fb9a1c8368a Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-17 08:35:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:53 +0900 [ruby/csv] Add headers cases to CSV.parse (https://github.com/ruby/csv/pull/141) * Add headers cases to CSV.parse * Adjust call-seq for CSV.parse * Update csv.rb https://github.com/ruby/csv/commit/848c760c43 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 9901bb4c73131ca80a1924d45425d8011a591cbd Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-16 06:43:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:52 +0900 [ruby/csv] Add missing file doc/argument_io.rdoc (https://github.com/ruby/csv/pull/140) https://github.com/ruby/csv/commit/e37f04aa5c Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 013cca1f9a87eebba61e11ebcf97109dde009d37 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-15 09:09:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:52 +0900 [ruby/csv] doc: fix return value of open {} and use File.open {} (https://github.com/ruby/csv/pull/139) * Enhanced RDoc for CSV * Repair example code for foreach https://github.com/ruby/csv/commit/16b425eb37 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 7c55c961475619126cfb45331ac7a0724f99a536 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-14 03:26:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:52 +0900 [ruby/csv] Rdoc (https://github.com/ruby/csv/pull/137) Enhancements for open, parse, minor tweaks. https://github.com/ruby/csv/commit/35392f4e45 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit f89186aebb3efb7c0111a3db44f542c858b7f6e3 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-12 06:31:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:52 +0900 [ruby/csv] Add document for CSV.instance (https://github.com/ruby/csv/pull/136) Co-authored-by: Sutou Kouhei <kou@cozmixng.org> https://github.com/ruby/csv/commit/85e293c1ba Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 1ac702cd29786085d5bfe618eef9e9d9817e76f3 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-10 08:28:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:52 +0900 [ruby/csv] Add RDoc links for delegated methods (https://github.com/ruby/csv/pull/135) https://github.com/ruby/csv/commit/1a4b96b418 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 08e70126aeca4edcdeab7dc292acda2f50cc41a1 Author: Koichi ITO <koic.ito@gmail.com> AuthorDate: 2020-06-04 12:33:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:52 +0900 [ruby/csv] Add `invalid: :replace` for `CSV.open` (https://github.com/ruby/csv/pull/130) This PR adds `invalid: :replace` for `CSV.open`. It is a PR similar to #129. https://github.com/ruby/csv/commit/5bf687341c Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit cee10c1b7033f4682b3f4c76220c0c190e70aa1a Author: Koichi ITO <koic.ito@gmail.com> AuthorDate: 2020-06-04 12:08:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:52 +0900 [ruby/csv] Fix an error for `CSV.open` (https://github.com/ruby/csv/pull/131) Follow up to https://github.com/ruby/csv/pull/130/files#r434885191. This PR fixes `ArgumentError` for `CSV.open` when processing invalid byte sequence in UTF-8. https://github.com/ruby/csv/commit/a4b528c209 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 4e33a878793a5ced47a4f14b8a73cbc2795d97b7 Author: Koichi ITO <koic.ito@gmail.com> AuthorDate: 2020-06-02 08:30:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:51 +0900 [ruby/csv] Add `undef: :replace` for `CSV.open` (https://github.com/ruby/csv/pull/129) This PR adds `undef: :replace` option for `CSV.open`. `File.open` has `undef: :replace` option, but `CSV.open` does not. It would be convenient if `CSV.open` could have a shortcut by having `undef: :replace` option. https://github.com/ruby/csv/commit/cff8b18480 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit cf8157e0016dd0eb60fe6f03bef168261f729b83 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-05-27 06:13:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:51 +0900 [ruby/csv] RDoc for foreach, generate (https://github.com/ruby/csv/pull/127) * Rdoc for foreach * Enhanced Rdoc for CSV.generate https://github.com/ruby/csv/commit/8c26c0ab1f Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 731c0eb44d93bcce951e447c52b4763418b5bcdd Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-18 06:03:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:51 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/c6577e5b6e Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 9e6d54a501fc1864515274a2e45058584e32fe3f Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-05-18 06:01:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:51 +0900 [ruby/csv] Enhanced Rdoc (https://github.com/ruby/csv/pull/124) * Enhanced Rdoc for ::new * Rdoc for parse_line * More on parse_line * Make ::new neater with :call-seq: * Make better use of :call-seq: * Rdoc for generate_line * Respond to review https://github.com/ruby/csv/commit/0d42df39cb Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit e3808c5acad20f0c70e2994346fc7ea2c48269f1 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-18 05:59:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:51 +0900 [ruby/csv] Add missing document files to .gem GitHub: fix GH-125 Reported by joast. Thanks!!! https://github.com/ruby/csv/commit/bf41fa94cf Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 71bee3819f6211e48dd42ff1611131e5f431d658 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-17 12:14:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:50 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/936f15f3cd Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 1822b19221400da9e238c03b21f734159fb7fe6f Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-17 12:02:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:50 +0900 [ruby/csv] Don't drop stack trace in CSV.parse_line GitHub: fix GH-120 Reported by Kyle d'Oliveira. Thanks!!! https://github.com/ruby/csv/commit/2959483f90 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit cf7e472ab412044d97d6ec5263daed456c4f2724 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-17 11:58:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:50 +0900 [ruby/csv] test scanner: specify encoding explicitly https://github.com/ruby/csv/commit/6e83a1de9c Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit b8084b5cb4e20d463938b518dd12f91290c3fb1a Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-17 11:51:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:50 +0900 [ruby/csv] Fix a bug that write_nil_value or write_empty_value don't work with non String GitHub: fix GH-123 Reported by asm256. Thanks!!! https://github.com/ruby/csv/commit/b4492139be Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 5359121a56e90bd4b42a6638046ca34ea72dee8d Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-13 08:33:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:50 +0900 [ruby/csv] Revert "test: use binary mode explicitly for Ruby 2.7" This reverts commit 736174d28413a4c36630b0daf2f170c8d2fc9abe. It doesn't solve anything. https://github.com/ruby/csv/commit/0ee3bdd0d3 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 0ee5578e8caa8562cc48234684aaab086a3e13e9 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-13 08:27:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:50 +0900 [ruby/csv] test: use binary mode explicitly for Ruby 2.7 https://github.com/ruby/csv/commit/736174d284 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 6ba1abd40c4610506a638246431660a32a9b1798 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-05-13 06:42:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:50 +0900 [ruby/csv] Enhanced Rdoc for CSV (https://github.com/ruby/csv/pull/122) https://github.com/ruby/csv/commit/cd670595d5 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 033514c62fef937dda904daa3b73b2b9750913f0 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-05-09 06:32:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:49 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/edc6cb9022 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 814bfc8adc128ed050f2b60a423beb86e00fc6ec Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2019-12-25 06:59:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:49 +0900 [ruby/csv] Fix a parse bug when split character exists in middle of column value GitHub: fix https://github.com/ruby/csv/pull/115 Reported by TOMITA Masahiro. Thanks!!! https://github.com/ruby/csv/commit/398b3564c5 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit aeac7db8236ad43d8c8992fd1b9d120d567754ec Author: TOMITA Masahiro <tommy@tmtm.org> AuthorDate: 2019-12-25 06:32:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:49 +0900 [ruby/csv] Fix docs for :strip option (https://github.com/ruby/csv/pull/114) https://github.com/ruby/csv/commit/fb10925271 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 3c5b67e0db22ec9a15cef6c4961abf6f91373dd3 Author: Seiei Miyagi <hanachin@gmail.com> AuthorDate: 2019-11-25 10:06:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:49 +0900 [ruby/csv] Ensuring StringIO's encoding in CSV.generate (https://github.com/ruby/csv/pull/111) https://github.com/ruby/csv/commit/dbf55ef008 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit d57bc03ba98649661c7dedbb46ec2f2bb6bee9be Author: Mike MacDonald <crazymykl@gmail.com> AuthorDate: 2019-11-03 12:48:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:49 +0900 [ruby/csv] Do not loop forever when skip_lines regexp matches zero length with anchors (https://github.com/ruby/csv/pull/110) * Do not loop forever when skip_lines regexp matches zero length with anchors * Remove needless white spaces * Add missing eos check in skip_needless_lines * Simplify test https://github.com/ruby/csv/commit/3b15d4a3e8 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit b219cd5ac36ffb733e3eccd98d53ecf660dee5bf Author: Jim Kane <fastjames@gmail.com> AuthorDate: 2019-10-22 19:01:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:49 +0900 [ruby/csv] Make CSV::Row#dup return a usable Row (https://github.com/ruby/csv/pull/108) * Make CSV::Row#dup return a usable Row Previously, calling `dup` on a `CSV::Row` object yielded an object whose copy was too shallow. Changing the clone's fields would also change the fields on the source. This change makes the clone more distinct from the source, so that changes can be made to its fields without affecting the source. * Simplify https://github.com/ruby/csv/commit/64a1ea06fc Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 9141aae8c2e2cf9ccf38a8c12828b284297c264b Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2019-10-16 09:36:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:49 +0900 [ruby/csv] Suppress warnings https://github.com/ruby/csv/commit/b37df55f46 Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 172cfce6dc7a96ec0f7eac4f0d674ed772d0d098 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2019-10-12 07:45:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:48 +0900 [ruby/csv] Bump version https://github.com/ruby/csv/commit/284ce810bc Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit d03a7c6a25fad2393d8eb2cccd1680e37206cd7e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-19 20:47:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-20 02:32:48 +0900 Revert "test/csv/write/test_general.rb: suppress warnings" This reverts commit 375cf129189f32f7be76ac525035bcde691a63e7, to sync csv from the upstream. Notes: Merged: https://github.com/ruby/ruby/pull/3332 commit 05bf811c2839628aaef3d565daedb28be80d47ef Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-17 02:11:35 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-07-19 23:25:55 +0900 Special case Range#max for integer beginning and Float::Infinity end Popular Ruby libraries such as Rails and Rubocop relying on the previous behavior, even though it is technically a bug. The correct behavior is probably raising RangeError, since that is what an endless range raises. Related to [Bug #17017] commit d637208abd0ae7ccf0539679ca52df1caada4db7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-19 23:13:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-19 23:13:21 +0900 Fixed a typo commit 8a5ad2b77d7a24e4f8f4fef179ae5efced935f91 Author: Michael Kohl <me@citizen428.net> AuthorDate: 2020-07-19 01:18:40 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-19 01:18:40 +0900 Fix Range#max for beginless Integer ranges [Bug #17034] * Fix Range#max for beginless Integer ranges * Update test/ruby/test_range.rb * Fix formatting https://github.com/ruby/ruby/pull/3328 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Notes: Merged-By: nobu <nobu@ruby-lang.org> commit b4e784434c54348283c079efb1b8ab9de13c0603 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-07-18 23:45:25 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-18 23:45:25 +0900 Optimize Array#min (#3324) The benchmark result is below: | |compare-ruby|built-ruby| |:---------------|-----------:|---------:| |ary2.min | 39.105M| 39.442M| | | -| 1.01x| |ary10.min | 23.995M| 30.762M| | | -| 1.28x| |ary100.min | 6.249M| 10.783M| | | -| 1.73x| |ary500.min | 1.408M| 2.714M| | | -| 1.93x| |ary1000.min | 828.397k| 1.465M| | | -| 1.77x| |ary2000.min | 332.256k| 570.504k| | | -| 1.72x| |ary3000.min | 338.079k| 573.868k| | | -| 1.70x| |ary5000.min | 168.217k| 286.114k| | | -| 1.70x| |ary10000.min | 85.512k| 143.551k| | | -| 1.68x| |ary20000.min | 43.264k| 71.935k| | | -| 1.66x| |ary50000.min | 17.317k| 29.107k| | | -| 1.68x| |ary100000.min | 9.072k| 14.540k| | | -| 1.60x| |ary1000000.min | 872.930| 1.436k| | | -| 1.64x| compare-ruby is 9f4b7fc82e. Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit a63f520971787aa7b32b27486e9a5bb732d2814e Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-07-18 23:45:00 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-18 23:45:00 +0900 Optimize Array#max (#3325) The benchmark result is below: | |compare-ruby|built-ruby| |:---------------|-----------:|---------:| |ary2.max | 38.837M| 40.830M| | | -| 1.05x| |ary10.max | 23.035M| 32.626M| | | -| 1.42x| |ary100.max | 5.490M| 11.020M| | | -| 2.01x| |ary500.max | 1.324M| 2.679M| | | -| 2.02x| |ary1000.max | 699.167k| 1.403M| | | -| 2.01x| |ary2000.max | 284.321k| 570.446k| | | -| 2.01x| |ary3000.max | 282.613k| 571.683k| | | -| 2.02x| |ary5000.max | 145.120k| 285.546k| | | -| 1.97x| |ary10000.max | 72.102k| 142.831k| | | -| 1.98x| |ary20000.max | 36.065k| 72.077k| | | -| 2.00x| |ary50000.max | 14.343k| 29.139k| | | -| 2.03x| |ary100000.max | 7.586k| 14.472k| | | -| 1.91x| |ary1000000.max | 726.915| 1.495k| | | -| 2.06x| Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 9f60ceec54a8c05d198d1722c65c8a29e4c71e35 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-15 23:41:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-18 19:33:11 +0900 Suppress bell during the test Notes: Merged: https://github.com/ruby/ruby/pull/3322 commit 8d2333019abb1f8ad882dadf9096f81e9f427c6e Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-07-11 16:01:05 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-07-18 08:37:18 +0900 Fix MonitorMixin when the super's initialize has kwargs Notes: Merged: https://github.com/ruby/ruby/pull/3310 commit 1fb4e28002327c1224c3ed32783160b011f14747 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-13 11:43:24 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-16 11:49:09 +0900 skip inlining cexpr! that are not attr! inline Requested by ko1. Notes: Merged: https://github.com/ruby/ruby/pull/3314 commit 238464863a039b1d36f009d4447fab42f1a855bf Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-07-15 21:58:01 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-07-16 10:43:56 +0900 Remove fiber HTTP test. The HTTP test hits a remote website which isn't always available and is not self-contained. Ideally we will rewrite this test with an internal web server. Notes: Merged: https://github.com/ruby/ruby/pull/3321 commit 9f4b7fc82e45531e0057f807548a4d1c2b248186 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-15 23:30:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-15 23:33:24 +0900 Check warning flags only if available to run with old versions commit 579645d9f870fa4116dcd3200bbbb6e2c0b7f400 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-15 18:46:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-15 21:39:20 +0900 Fixed infinite loop at error in printing cause [Bug #17033] Notes: Merged: https://github.com/ruby/ruby/pull/3320 commit 79d06483a8ac98a87e5c32d3a34823382a72a0da Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-15 16:36:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-15 16:36:57 +0900 Close sockets if blocking to fix leaked fds commit 5783d0dbfc517c7c9e1fc7d6c10134a36e50449e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-02 03:22:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 Import remaining changes The "sync with commits" scripts failed to properly import these for some reason. Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 0c8d90b5269829d9209a409163832998d5d77af4 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-01 22:09:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Unswallow `Gem::Package::FormatError` This error happen in a CI run, and as it is currently, it doesn't give any useful information about the underlying cause. Let's not swallow the original error. https://github.com/rubygems/rubygems/commit/8c17ba2f45 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 1f7195421ec9f6f8cadf8f573a01b644b44ab0da Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-07-01 16:03:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] July man pages https://github.com/rubygems/rubygems/commit/58d9a3de5b Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit fd709382b62ded5065941e75ed1c73e1df75a142 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-07-01 03:00:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Tag the specs with :readline The newly added specs needs to be tagged as :readline, otherwise they fail on Windows with the backtrace: `ZeroDivisionError: divided by 0`. Such issues are already being skipped on Windows. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/391f860af4 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit c44c7019b5b320d427b9cf560fdb7790fd5c775f Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-07-01 01:38:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Add tests with different flag combinations Since this PR was made because we missed checking RuboCop offenses with different flags, therefore adding tests so that all flag combinations are tested. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/d08250efc2 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 4f9c673cabcf9ae1d7ac2aa9d4a632f41ae76e38 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-22 19:41:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Allow setting a tag prefix to be used by gem release tasks https://github.com/rubygems/rubygems/commit/679008f23a Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit ca133c03669d495d297579e1f14bc904db591e1d Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-30 18:12:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Fix line spacing to make Layout/EmptyLines happy The Gemfile wasn't properly put in the last commit. As a result, Layout/EmptyLines inspected an offense in the Gemfile. This also fixes the spec w.r.t change in the task default. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/d1418fddd3 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 95f90e3d2bbbe4b3efd193c3df3ff06373c6cdba Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-30 17:28:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Add blank lines to make Bundler/OrderedGems happy If the blank lines aren't used, then rubocop tries to sort them in alphabetical order within their section. Thus, adding lines so rubocop considers them as different sections and doesn't try to sort them. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/cf44b18f0f Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 281898ed6c9a6f4f1e62acf1f4df0c7dcfc741e3 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-30 17:16:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Fix Rakefile to make Style/SymbolArray happy In case of multiple Rake tasks, the default tasks would look something like this: `task default: [:spec, :rubocop]` Instead, they should use %i and look something like this: `task default: %i[spec rubocop]` Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/487ecd59ce Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 8c65f612f4e4caaecfd3291907f48c9e075c0319 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-30 16:05:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Fix remaining RuboCop issues With #3731 and #3740 merged, this covers up the remaining part of the issues. This was discovered when one tries to create a gem with a different framework. Could be reproduced with: `bundle gem foo --ext --test=test-unit` Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/51b6457150 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 40f73b3a0031e7bdbfbace37304602e0efc891fa Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-06-29 02:08:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Avoid calling LoadError#message because of its slowness Instead we can rely on `LoadError#path` https://github.com/rubygems/rubygems/commit/16d5c3b43c Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 2fafc08aa34ddba39d0bfdb6e7c5de4f7bf7f55e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-25 02:53:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Remove unneeded trailing conditions on exitstatus https://github.com/rubygems/rubygems/commit/27e0e4ecb6 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 547ba6608e3e81674f829b75fcb0a9023889e235 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-25 02:59:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Easier way to find path to ruby binary https://github.com/rubygems/rubygems/commit/cdc201f5c4 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 16823d4a05580e041ff514122de5f3a3fbcef409 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-25 02:52:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Remove unnecessary assertions on exitstatus Since our helpers now raise by default if the subcommand fails, these will never actually fail and are not necessary. https://github.com/rubygems/rubygems/commit/6153b9321e Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit e2837a77be2164fa17be046eabb93cbb63f77311 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-25 01:50:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Constrain (shipped) RuboCop's version Right now, we're not specifying the version constraints on RuboCop that is shipped when a new gem is created. This can break specs which runs rubocop on a new skeleton gem as the newer versions of RuboCop are released. This commit ensures that the specs don't break by constraining the RuboCop version. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/0b47243edd Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 17b92d221f1edc9053f5abbefe49f5ffc3babb0e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-22 07:48:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] No need to update remotes Everything is already fetched locally. https://github.com/rubygems/rubygems/commit/9c304639b1 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit d189d31ce9693b2c04a2710c8be90f26917b9222 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-22 07:46:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Git clone already takes care of this https://github.com/rubygems/rubygems/commit/6e0c28d3ab Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit a73ea2126fe12f80a3edde167c78bf35884f895e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-22 07:06:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Clone rubygems from the local repo It simplifies things and should avoid issues like the one we had where the master branch had a bad `.gitattributes` file and changing it on a PR would be disregarded. In order for this to work, we need to make sure to fetch all tags from the repository, so that they can properly be checked out later. This does not apply to the case of testing against `RGV=..`, since no extra cloning is needed there. https://github.com/rubygems/rubygems/commit/d088d936b8 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 5ebca6d709c273b5daed7bc52f180af2ed86d080 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-22 05:17:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Skip this spec on ruby_core workflow ruby_core has an 'ast.rb' file that gets in the middle and breaks this spec, so it's better we skip this test on this workflow for now. Also, slightly change the spec name from "run" to "runs" and change the last assertion, it's cleaner to check empty error. Thanks to David Rodríguez for this! Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/ba8eaa70c3 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit d0810fdee453fef24492dcfdb0876d57f3b90d6a Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-22 02:53:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Use latest version of rubocop for RUBY_VERSION > 2.4 With older versions of rubocop, the dependency on `jaro_winkler` seems to be a pain. However, in the later versions of rubocop, this dependency was dropped. So we only need to use the older version for ruby2.3. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/9cd87eaee3 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 077dcacb0892d8cd36cc45ae8869031c62502919 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-22 01:13:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Use `--config .rubocop.yml` instead because rubocop configuration inheritance is messed up and when using `--ignore-parent-exclusion`, even though the exit status is 0, the example still fails because of the configuration issue. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/3e20b2738c Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit ecb87b55d8ef3e2e9b5ce2c66d51d65228316754 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-21 20:16:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Lock rubocop version to 0.80.1 The later RuboCop versions don't work with ruby2.3 so we should lock the version to what works with ruby2.3 as we haven't dropped the support yet. And since we're using the older version of rubocop, also fix `Max` value of `LineLength` to 120, which is the current standard. Without this, rubocop will throw the line length offenses. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/46d0a800a2 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 215f7c31658a649efa276e18811d69f111931f0f Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-21 05:37:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Fix linting and make Style/RedundantInterpolation happy Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/83e330fa87 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 4875a96eddacc4c95f6b5d4129d919c7548b5082 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-21 05:22:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Fix test to run rubocop on the generated gem With this, it will be ensured that the generated (skeleton) gem will have no offenses. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/47411262e0 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit b28c6d04d0989fa01842435f617e96420a8b4743 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-21 05:12:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Make Style/HashSyntax cop happy Previously, we were using the old syntax like: `task :default => :spec`, but now this commit uses the new Ruby 1.9 hash syntax. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/b41d0fdb56 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 449d24200b94ac5d849314125d2930e04d20ee6e Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-20 01:44:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] WIP: add test to run rubocop on the generated gem Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/730b770f8a Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit cbe4d29c2da9913c77289cdaf9d949a7c24154c5 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-20 01:41:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Roll back to Dir.chdir block since without that, evaluating the gemspec from outside `File.expand_path( __dir__)` won't work. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/9e5e52a1d9 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 084489be87cb006a283bb5413921bf8099e80ca9 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-19 21:54:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Fix tests pertaining to newgem Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/e2ee0b7de3 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 3b0d2a3d6ddd4f3d361e15af96881275e8923a5e Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-19 19:44:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Fix RuboCop offenses These offenses appear when you create a gem with `bundle gem foo` and run `rubocop` over it. Initially, there were around 45 offenses detected, but with #3731 and this, the number of offenses have been reduced to 2. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/fe9dcaa1b4 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 2b73f26fdefc88d25daf0d712105f4340c239062 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-21 21:44:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Show also output from all commands on rubygems checkout errors https://github.com/rubygems/rubygems/commit/1fe24e471d Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 5ae80c52075c4cfade4bb10e94fef3a525ed54f5 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-21 21:56:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Remove `--quiet` flag to `git checkout` Since we don't show this output by default, it's better to be verbose in case we happen to need more info. https://github.com/rubygems/rubygems/commit/baa4ccf5a6 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 23cf99e99dbae352f8497fb20cc92248c9b63580 Author: MSP-Greg <Greg.mpls@gmail.com> AuthorDate: 2020-06-18 11:26:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] Bundler specs - Windows - remove skips, File.open => File.readlines Using File.open without a block leaves a file reference that causes issues with file operations commands/binstubs_spec.rb install/gems/compact_index_spec.rb install/gems/dependency_api_spec.rb install/gems/standalone_spec.rb runtime/executable_spec.rb https://github.com/rubygems/rubygems/commit/4b9a6ca156 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit ad743337b376d8e2a9dae7350b0e89eed636c5bb Author: MSP-Greg <Greg.mpls@gmail.com> AuthorDate: 2020-06-17 10:36:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] bundler/spec/commands/binstubs_spec.rb - remove global Windows skip Added one skip for: bundle binstubs <gem> when the gem exists in the lockfile when generating bundle binstub outside bundler should abort https://github.com/rubygems/rubygems/commit/b77b484889 Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit f3ad8a00e260184be1b63231e2f99a1ef73eba60 Author: MSP-Greg <Greg.mpls@gmail.com> AuthorDate: 2020-06-17 10:31:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 16:05:12 +0900 [rubygems/rubygems] bundler/lib/bundler/installer.rb - fix Windows 'executable_stubs' Windows normal shell requires binstubs with *.cmd extensions https://github.com/rubygems/rubygems/commit/b46326eb1f Notes: Merged: https://github.com/ruby/ruby/pull/3275 commit 48ba9b6106949f042b12a85c851b785f1e430eca Author: Sora Morimoto <sora@morimoto.io> AuthorDate: 2020-07-15 07:24:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-15 15:57:16 +0900 Update actions/cache from v1 to v2 Signed-off-by: Sora Morimoto <sora@morimoto.io> Notes: Merged: https://github.com/ruby/ruby/pull/3319 commit c25d249e63e74499a017330e4281d934911365d4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-15 13:34:54 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-07-15 13:36:38 +0900 RBasci::flags (VALUE) doesn't match int. The type of RBasic::flags is VALUE, and INT2FIX(flags) does not make sense. Use correct type to represent. commit fc220b129dff62c1aba7dcf9851519ed6e57f75d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-15 11:21:33 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-07-15 11:21:33 +0900 rubygems is needed to run solo-file test commit c87ee8005b496e6c676076afabc962077e799c49 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-15 11:21:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-07-15 11:21:14 +0900 rubygems is needed to run solo-file test commit e60cd14d85b35c9e60485e640c08eebf539c1cfc Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-08 15:44:41 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-14 13:19:55 +0900 ON_DEBUG: delete unused macro This is no longer used. commit 8d3a08457292d027070920e4fb3244445a142a3d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-14 13:15:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-14 13:15:06 +0900 _mjit_compile_invokebuiltin: sp_inc can be negative Was my bad to assume sp_inc was positive. Real criteria is the calculated sp is non-negative. We have to assert that. commit 8900a25581822759daca528d46a75e0b743fc22e Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-14 02:09:38 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-14 02:09:38 +0900 Fix Range#{max,minmax} for range with integer beginning and non-integer end Previously, for inclusive ranges, the max would show up as the end of the range, even though the end was not an integer and would not be the maximum value. For exclusive ranges, max/minmax would previously raise a TypeError, even though it is possible to get the correct maximum. This change to max/minmax also uncovered a similar error in cover?, which calls max in certain cases, so adjust the code there so that cover? still works as expected. Fixes [Bug #17017] Notes: Merged: https://github.com/ruby/ruby/pull/3306 Merged-By: jeremyevans <code@jeremyevans.net> commit 46d1777a43ef88a8a0cdff041e4c1c3776161fc9 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-14 02:06:27 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-07-14 02:06:34 +0900 Remove --jit-min-calls for now --jit-min-calls=5 is too unstable commit c2a6295ec04a191c689d22254ac1ad5d665e27ad Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-12 00:09:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-13 18:44:22 +0900 Make the mkmf methods private in the global [Bug #16896] commit d99d96cc6d139b9496fa33b81d378481a8c6388b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-13 14:10:57 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-13 14:10:57 +0900 Add --jit-min-calls=5 (#3313) * RUN_OPTS needs to be specified for overriding it * Add --jit-min-calls=5 Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 2e5a711f47799b333c57cf7b2351642b105e072a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-13 12:45:26 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 12:45:26 +0900 common.mk: add missing dependency commit 927fe2422fe8ca3ee50b76c3ee82d3238ea2daca Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-13 12:27:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 12:30:43 +0900 mk_builtin_loader.rb: STACK_ADDR_FROM_TOP unusable Stacks are emulated in MJIT, must not touch the original VM stack. See also http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3061353 commit 7e536b3be26ae48738a036a58be8dfa380bd21da Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-12 14:53:54 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 08:56:18 +0900 builtin.h: avoid copy&paste Instead of doubling the invokebuiltin logic here and there, use the same insns.def definition for both MJIT/non-JIT situations. Notes: Merged: https://github.com/ruby/ruby/pull/3305 commit 802bcd3ec81c1f5de77dbfbe8d9934c5760c85d7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-11 14:25:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 08:56:18 +0900 fix MJIT link error Notes: Merged: https://github.com/ruby/ruby/pull/3305 commit 4506f6119a047eea5a76db89834c31578780c442 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-10 18:31:26 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 08:56:18 +0900 %p is not portable across platforms This commit fixes compiler error on MSVC. %p on that platform is not suitable to represent a compile-time constant. https://ci.appveyor.com/project/ruby/ruby/builds/34017163/job/vj2a8uk3gwv9yxak#L24381 Notes: Merged: https://github.com/ruby/ruby/pull/3305 commit 2363a16e9ac3d8ba9608502d9969a39cce03ff17 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-10 14:54:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 08:56:18 +0900 add comments Notes: Merged: https://github.com/ruby/ruby/pull/3305 commit 5783d84a170356a30b7cc578493880eb67ebda56 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-10 14:53:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 08:56:18 +0900 fix typo Notes: Merged: https://github.com/ruby/ruby/pull/3305 commit 9721f477c7f33d64af94fad4a1ca51f739b0b08f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-10 11:49:50 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 08:56:18 +0900 inline Primitive.cexpr! We can obtain the verbatim source code of Primitive.cexpr!. Why not paste that content into the JITed program. Notes: Merged: https://github.com/ruby/ruby/pull/3305 commit f66e0212efe4f6572d5e81741e831ab735cc2fee Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-09 21:43:42 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-13 08:56:18 +0900 precalc invokebuiltin destinations Noticed that struct rb_builtin_function is a purely compile-time constant. MJIT can eliminate some runtime calculations by statically generate dedicated C code generator for each builtin functions. Notes: Merged: https://github.com/ruby/ruby/pull/3305 commit 6c8af6b6f281c73058627eb6906b3399f5062a31 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-13 00:31:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-13 00:31:12 +0900 sync_default_gems.rb: Updated comments * removed out-of-date and duplicate list * stated that everything synced from github commit 49cb2345c657c805762a368cf46a1cbb75c6ca92 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-13 00:30:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-13 00:30:44 +0900 sync_default_gems.rb: Added `list` subcommand commit 6cd600ef697ef046651028538ab59233c335e5c6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-12 23:59:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-13 00:14:07 +0900 sync_default_gems.rb: Ignore conflicted files in toplevel more commit 162d08b8541167a089b2c504d3437b577c38c3f9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-12 23:40:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-12 23:41:06 +0900 sync_default_gems.rb: Added -e option to edit when conflicted commit 99a9c3fe2eaab8157765d792dc871da6daea0327 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-12 14:09:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-12 21:58:13 +0900 Fixed yday and wday with timezone [Bug #17024] Notes: Merged: https://github.com/ruby/ruby/pull/3312 commit 9b433d34da90b0e706a388fe67cdfc386a8c2212 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-07-12 17:30:29 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-12 17:30:29 +0900 bidecimal: improve tests' independence (#3297) Tests depending on the rounding mode must specify the appropriate rounding mode and restore to the original mode at the end. Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 3b96ad9b54455aef66edd758fa1ef931fa748ce5 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-11 22:01:56 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-11 22:01:56 +0900 Enhanced RDoc for Array#fill (#3301) * Enhanced RDoc for Array#fill * Update array.c There's one more at 5072. I'll get it. Co-authored-by: Eric Hodel <drbrain@segment7.net> * Update array.c Co-authored-by: Eric Hodel <drbrain@segment7.net> * Update array.c Co-authored-by: Eric Hodel <drbrain@segment7.net> * Update array.c Co-authored-by: Eric Hodel <drbrain@segment7.net> * Update array.c Co-authored-by: Eric Hodel <drbrain@segment7.net> * Update array.c Co-authored-by: Eric Hodel <drbrain@segment7.net> Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit cbf52087a2d4ac3c2db698ddc5b0b023f6bb2eca Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-07-10 07:37:03 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-07-11 11:42:35 +0900 Fix missing imemo cases in objspace_dump by refactoring imemo_callcache and imemo_callinfo were not handled by the `objspace` module and were showing up as "unknown" in the dump. Extract the code for naming imemos and use that in both the GC and the `objspace` module. Notes: Merged: https://github.com/ruby/ruby/pull/3304 commit ddd9704ae9bf884d867b6f57a16c095a79393fff Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-03 02:35:00 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-07-11 01:34:08 +0900 Encode ' as ' when using encode(xml: :attr) Fixes [Bug #16922] Notes: Merged: https://github.com/ruby/ruby/pull/3177 commit 82489f02429c14f945dbef787308d13adfa0018d Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-07-10 19:27:11 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-07-10 19:27:11 +0900 Show messages around the line when replacing failed in format_changelog commit 615758bd823d52e542976bbc83a728c1bad28ade Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-10 16:47:26 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-07-10 16:49:28 +0900 Fix an inaccurate comment in test_jit commit 7fa3c71becd6d9b11d1574b3537a3b2993a7046c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-10 16:42:43 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-07-10 16:44:02 +0900 Make sure vm_call_cfunc uses inlined cc which is checked by the first guard. When JIT-inlined cc and operand cd->cc are different, the JIT-ed code might wrongly dispatch cd->cc even while class check is done with another cc inlined by JIT. This fixes SEGV on railsbench. commit 4989987419c42b04fbf3b0634ddaeace49108689 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-10 13:02:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-10 13:02:31 +0900 Explicit conversion to boolean to suppress shorten-64-to-32 warnings commit a82252df4244c4e92331ade58fc795b448ced3fc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-10 12:48:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-10 12:48:47 +0900 Fixed another typo commit 234f8eee33459e67f9d9c42c2a7dcdfe8711bcb7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-10 12:32:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-10 12:32:48 +0900 Fixed typos commit e4ee99209932e424be426c5f4cad7e9704522e34 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-07 09:02:22 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-10 12:23:41 +0900 vm_push_frame_debug_counter_inc: use branches Ko1 doesn't like previous code. Notes: Merged: https://github.com/ruby/ruby/pull/3296 commit 0e276dc458f94d9d79a0f7c7669bde84abe80f21 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-06 15:10:10 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-10 12:23:41 +0900 vm_push_frame: move assignments around Struct assignment using a compound literal is more readable than before, to me at least. It seems compilers reorder assignments anyways. Neither speedup nor slowdown is observed on my machine. Notes: Merged: https://github.com/ruby/ruby/pull/3296 commit 215c6fa3d012221d89420cbdf1416f65d7179a24 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-06 15:39:26 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-10 12:23:41 +0900 RUBY_CONST_ASSERT: use STATIC_ASSERT instead Static assertions shall be done using STATIC_ASSERT these days. Notes: Merged: https://github.com/ruby/ruby/pull/3296 commit 4b8170ce8027863b2085c105f4c4aaad0489328b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-06 14:58:57 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-10 12:23:41 +0900 vm_push_frame: move assertions out of the function These assertions are purely static. Ned not be checked on-the-fly. Notes: Merged: https://github.com/ruby/ruby/pull/3296 commit 1d93705d6a76f805d1ca5153cb5f4c59ce58c754 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-06 12:53:37 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-10 12:23:41 +0900 vm_push_frame: hoist out debug codes Made it a bit readable. Notes: Merged: https://github.com/ruby/ruby/pull/3296 commit db7f3496dd4485149c68912677f231dc434824b7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-06 11:51:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-10 12:23:41 +0900 nobody uses the return value of vm_push_frame Surprised to see such a waste of time in this super duper hot path. Notes: Merged: https://github.com/ruby/ruby/pull/3296 commit ba81bc24e62d03cc0f4c05cf4e2b378696631568 Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-07-10 07:01:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-10 07:01:10 +0900 Add instance_methods to class generated by DelegateClass Also, make DelegateClass.instance_method fallback to superclass. Fixes [Bug #16982] Notes: Merged: https://github.com/ruby/ruby/pull/3221 Merged-By: jeremyevans <code@jeremyevans.net> commit a0a5eec0e70aa5bd6ba170b89f6ecb2b7c16fbbd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-08 23:52:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-09 13:53:20 +0900 Bail out when unsupported coroutine target commit 9fc25811d59422355fc3a0ed0f28155e4e47267f Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-08 23:27:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-08 23:27:10 +0900 Enhanced RDoc for Array (#3282) Methods: reject! reject delete_if zip transpose replace clear Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 23655e6de5ee989feb8c65c7061fe9a71579dc54 Author: Watson <watson1978@gmail.com> AuthorDate: 2020-07-05 14:43:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-08 22:56:49 +0900 Fix build error on Apple silicon macOS This patch will fix following build error on macOS 11.0 + Xcode 12 beta. ``` $ ./configure $ make V=1 BASERUBY = /Users/watson/.rbenv/shims/ruby --disable=gems CC = clang -fdeclspec LD = ld LDSHARED = clang -fdeclspec -dynamiclib CFLAGS = -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 -pipe XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0 CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -fstack-protector-strong -Wl,-pie -framework Security -framework Foundation SOLIBS = -lpthread -ldl -lobjc LANG = ja_JP.UTF-8 LC_ALL = LC_CTYPE = MFLAGS = Apple clang version 12.0.0 (clang-1200.0.22.19) Target: arm64-apple-darwin20.0.0 Thread model: posix InstalledDir: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin clang -fdeclspec -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -o cont.o -c cont.c In file included from cont.c:19: ./coroutine/ucontext/Context.h:32:5: error: 'getcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] getcontext(&context->state); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:37:6: note: 'getcontext' has been explicitly marked deprecated here int getcontext(ucontext_t *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; ^ In file included from cont.c:19: ./coroutine/ucontext/Context.h:51:5: error: 'makecontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] makecontext(&context->state, (void(*)(void))coroutine_trampoline, 2, (void*)start, (void*)context); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:38:6: note: 'makecontext' has been explicitly marked deprecated here void makecontext(ucontext_t *, void (*)(), int, ...) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHI... ^ In file included from cont.c:19: ./coroutine/ucontext/Context.h:59:5: error: 'swapcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] swapcontext(¤t->state, &target->state); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:40:6: note: 'swapcontext' has been explicitly marked deprecated here int swapcontext(ucontext_t * __restrict, const ucontext_t * __restrict) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_... ^ 3 errors generated. make: *** [cont.o] Error 1 ``` Notes: Merged: https://github.com/ruby/ruby/pull/3289 commit 11af12026eff782c18244d8b5f431f73cdf29dd2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-08 18:26:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-08 18:35:46 +0900 Hoisted out functions for no name rest argument symbol commit 6a0553231547644f06c9f16f0e28e0337185fb79 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-08 18:07:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-08 18:26:12 +0900 Constified NODE pointer in ASTNodeData commit ff5e66034006a875125581114cce19d46843b32a Author: manga_osyo <manga.osyo@gmail.com> AuthorDate: 2020-07-07 20:18:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-08 17:43:04 +0900 Added `NODE_SPECIAL_EXCESSIVE_COMMA` info to `ARGS` of `RubyVM::AbstractSyntaxTree`. Notes: Merged: https://github.com/ruby/ruby/pull/3298 commit ecfc09d053dc4bc9d413d94cd10b64aa05e4015b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-07-08 09:58:48 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-07-08 09:58:48 +0900 gc.c: Cast int literal "1" to bits_t ... because shifting by more than 31 bits has undefined behavior (depending upon platform). Coverity Scan found this issue. commit b06a4dc6f1fbef12ff7b4d57e7b5f12fd1f6cb5b Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-06-26 07:20:25 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-07-07 06:17:54 +0900 Expand heap pages to be exactly 16kb This commit expands heap pages to be exactly 16KiB and eliminates the `REQUIRED_SIZE_BY_MALLOC` constant. I believe the goal of `REQUIRED_SIZE_BY_MALLOC` was to make the heap pages consume some multiple of OS page size. 16KiB is convenient because OS page size is typically 4KiB, so one Ruby page is four OS pages. Do not guess how malloc works ============================= We should not try to guess how `malloc` works and instead request (and use) four OS pages. Here is my reasoning: 1. Not all mallocs will store metadata in the same region as user requested memory. jemalloc specifically states[1]: > Information about the states of the runs is stored as a page map at the beginning of each chunk. 2. We're using `posix_memalign` to request memory. This means that the first address must be divisible by the alignment. Our allocation is page aligned, so if malloc is storing metadata *before* the page, then we've already crossed page boundaries. 3. Some allocators like glibc will use the memory at the end of the page. I am able to demonstrate that glibc will return pointers within the page boundary that contains `heap_page_body`[2]. We *expected* the allocation to look like this:  But since `heap_page` is allocated immediately after `heap_page_body`[3], instead the layout looks like this:  This is not optimal because `heap_page` gets allocated immediately after `heap_page_body`. We frequently write to `heap_page`, so the bottom OS page of `heap_page_body` is very likely to be copied. One more object per page ======================== In jemalloc, allocation requests are rounded to the nearest boundary, which in this case is 16KiB[4], so `REQUIRED_SIZE_BY_MALLOC` space is just wasted on jemalloc. On glibc, the space is not wasted, but instead it is very likely to cause page faults. Instead of wasting space or causing page faults, lets just use the space to store one more Ruby object. Using the space to store one more Ruby object will prevent page faults, stop wasting space, decrease memory usage, decrease GC time, etc. 1. https://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf 2. https://github.com/ruby/ruby/commit/33390d15e7a6f803823efcb41205167c8b126fbb 3 https://github.com/ruby/ruby/blob/289a28e68f30e879760fd000833b512d506a0805/gc.c#L1757-L1763 4. https://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf page 4 Co-authored-by: John Hawthorn <john@hawthorn.email> commit 2c6512fe67a275ce4d251f3c5d304bc523597f42 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-06-28 06:10:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-07 00:26:37 +0900 Get rid of the redundant stat() in rb_check_realpath_internal Notes: Merged: https://github.com/ruby/ruby/pull/3267 commit 167d139487d67613bd02522e24476f06ffa137b7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-06 16:11:51 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-07-06 16:14:00 +0900 Inline builtin struct aref We don't do this for aset because it might raise a FrozenError. ``` $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_struct_aref.yml --repeat-count=4 before: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6b6) [x86_64-linux] after: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) [x86_64-linux] last_commit=Inline builtin struct aref before --jit: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6b6) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) +JIT [x86_64-linux] last_commit=Inline builtin struct aref Calculating ------------------------------------- before after before --jit after --jit mjit_struct_aref(struct) 34.783M 34.810M 48.321M 58.378M i/s - 40.000M times in 1.149996s 1.149097s 0.827794s 0.685192s Comparison: mjit_struct_aref(struct) after --jit: 58377836.7 i/s before --jit: 48321205.7 i/s - 1.21x slower after: 34809935.5 i/s - 1.68x slower before: 34782736.5 i/s - 1.68x slower ``` commit d94ef7c6b61c89f2c16c1d13af18310b9cd65d89 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-06 10:46:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 10:47:11 +0900 Run method_missing in the same execution context commit efe851a0dfb94f9a3ec001f9a996f57529900f17 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2019-12-25 15:26:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:47 +0900 [ruby/bigdecimal] Version 2.0.1 https://github.com/ruby/bigdecimal/commit/3fa4f2ac67 Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit 6a826eb4b08484cb3b6279da905f5b9e03e0df5f Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2019-12-23 11:07:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:47 +0900 [ruby/bigdecimal] Return US-ASCII string from BigDecimal#to_s Fixes https://github.com/ruby/bigdecimal/pull/159 https://github.com/ruby/bigdecimal/commit/57ee92e700 Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit e794d96ca439a698483b2e76d104b77a1cfdcc94 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2019-10-09 10:51:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:47 +0900 [ruby/bigdecimal] Drop Ruby 2.3 support https://github.com/ruby/bigdecimal/commit/79a819d205 Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit 40b82afe6a20749a375d36ce17e941e890ef8b0e Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2019-10-09 10:50:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:46 +0900 [ruby/bigdecimal] Support Ruby < 2.6 https://github.com/ruby/bigdecimal/commit/61ec452599 Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit 03a33603c66bf6eca6937d221f87daf3f5a489f7 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2019-10-09 10:39:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:46 +0900 [ruby/bigdecimal] Add Complex#to_d https://github.com/ruby/bigdecimal/commit/97e794ac97 Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit 6607212224401d852c0056b841be7ff95236e8f7 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-10-10 06:10:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:46 +0900 [ruby/bigdecimal] Make tests pass on Ruby 2.4 https://github.com/ruby/bigdecimal/commit/9d19e842ee Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit d36b197d7c1ce5684fb215697dc2d404cbd730d0 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-10-09 07:23:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:46 +0900 [ruby/bigdecimal] Remove definition of BigDecimal#initialize_copy This leaves the default definition, which will raise FrozenError. https://github.com/ruby/bigdecimal/commit/05e843d838 Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit f00efef30ad6eca30e5674493dacbd25b425a4eb Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2019-10-09 10:27:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:46 +0900 [ruby/bigdecimal] Support a Complex in Kernel.BigDecimal() https://github.com/ruby/bigdecimal/commit/00795cb01f Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit ceb9d516c6d17b0619cf53dfba7cb7b29fe073e4 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-10-09 07:23:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:45 +0900 [ruby/bigdecimal] Undef BigDecimal#initialize_copy Both BigDecimal#clone and BigDecimal#dup return self, there is no reason to have initialize_copy exposed as a Ruby method. The same is true for initialize_clone and initialize_dup. https://github.com/ruby/bigdecimal/commit/aaf237fa9e Notes: Merged: https://github.com/ruby/ruby/pull/3295 commit d69510b6cda4024237de8f5766d85397abd5e434 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-06 01:14:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 01:15:23 +0900 Removed ext/bigdecimal/util/depend unused since dd0c75fdc2104a6ba38b68d4431a572504a3bbc2 commit 1aed23c18d2b62bbe68c704fbe6f2d633ffe71ce Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-06 00:33:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 00:48:33 +0900 tool/sync_default_gems.rb: Accept multiple commit ranges commit 8e189df32cacef4b21e357a590d349330532baf5 Author: manga_osyo <manga.osyo@gmail.com> AuthorDate: 2020-07-05 20:58:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-06 00:48:15 +0900 Add operator info to `OP_ASGN2` of `RubyVM::AbstractSyntaxTree`. Notes: Merged: https://github.com/ruby/ruby/pull/3294 commit 41fef191d138b4cd1620505db62e13df79f4b9c2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-05 22:08:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-05 22:08:04 +0900 tool/sync_default_gems.rb: Added bigdecimal commit 6236bbf3636165aff524c128a841189bf43af057 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-05 21:59:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-05 22:02:59 +0900 Removed duplicate test with test_BigDecimal_bug7522 commit 4ea57c2a393ab38e632a2255b5799e9c2e8e07ee Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-05 19:15:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-05 19:15:03 +0900 Escape `#` for GNU make 3 commit 12b377a96cc0f35e437c34cf117172be550cf900 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-05 19:00:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-05 19:00:46 +0900 Updated bundled gems commit 358f91bf6f9999ba4683f702bc47483789bd4e7e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-05 18:59:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-05 18:59:06 +0900 Skip comment and empty lines in gems/bundled_gems file commit 41168f69fbeb32cfc88210911d62e419b8116589 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-07-05 17:27:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-05 17:27:12 +0900 Prefix export symbol prefix to coroutine_transfer commit 95f5fd9a55cf9d885ec01d50de6eddada4379839 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-05 10:43:08 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-07-05 10:44:36 +0900 fix up Primitive.cinit! code Recent changes break Primitive.cinit!(c_code) so fix it. commit e4f7eee009ebe1f23ee3e5ea69ccd9ea1530bc6f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-05 07:37:20 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-07-05 08:02:46 +0900 Check ROBJECT_EMBED on guards-merged ivar access Fix CI failure like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3043247 introduced by a69dd699ee630dd1086627dbca15a218a8538b6f commit c1463625555b061a2b94c3b6c5581730b482a285 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-07-05 02:12:02 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-07-05 05:34:38 +0900 Use static variables in Range#minmax Notes: Merged: https://github.com/ruby/ruby/pull/3286 commit bf1a6771f305ea286a3ae575676924551c03e857 Author: Sam Bostock <sam.bostock@shopify.com> AuthorDate: 2020-07-04 11:56:07 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-07-05 02:02:24 +0900 Fix non-numeric exclusive Range#minmax bug The implementation of Range#minmax added in d5c60214c45 causes the following incorrect behaviour: ('a'...'c').minmax => ["a", ["a", "b"]] instead of ('a'...'c').minmax => ["a", "b"] This is because the C implementation of Range#minmax (range_minmax) directly delegates to the C implementation of Range#min (range_min) and Range#max (range_max), without changing the execution context. Range#max's C implementation (range_max), when given a non-numeric exclusive range, delegates to super, which is meant to call Enumerable#max. However, because range_max is called directly by range_minmax, super calls Enumerable#minmax instead, causing the incorrect nesting. Perhaps it is possible to change the execution context in an optimized manner, but the simplest solution seems to be to just explicitly delegate from Range#minmax to Range#min and Range#max. Notes: Merged: https://github.com/ruby/ruby/pull/3285 commit 74e1bca79d703f2658ac9cfa6d990e7e77c59757 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-04 17:23:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-07-04 17:28:23 +0900 support all locals for cexpr!, cstmt! Primitve.cexpr! and .cstmt! can access Ruby's parameter and *local variables* (note that local parameters are also local variables). However recent changes only allow to access parameters. This patch fix it. For example, the following code can work: def foo a, b, k: :kw, **kwrest c = a + b d = k e = kwrest p Primitive.cstmt!(%q(rb_p(rb_ary_new_from_args(5, a, b, c, d, e)); return Qnil;)) end commit 7a5da7d55d40e431e561ab2c891b7cab155e74db Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-15 23:48:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-04 13:41:17 +0900 Allow hidden files with a hyphen to be source controlled Latest bundler includes a file named `.gitlab-ci.yml.tt`. Because of this too specific .gitignore entry, it was failing to be properly imported. Notes: Merged: https://github.com/ruby/ruby/pull/3230 commit 24fa37d87a24dc932c1d778bcaf91204f5c12a76 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-04 10:02:43 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-04 10:02:43 +0900 Make Kernel#then, #yield_self, #frozen? builtin (#3283) * Make Kernel#then, #yield_self, #frozen? builtin * Fix test_jit Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit a69dd699ee630dd1086627dbca15a218a8538b6f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-04 09:52:52 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-04 09:52:52 +0900 Merge ivar guards on JIT (#3284) when an ISeq has multiple ivar accesses. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit f3a0d7a2035e9f5e0c70effd55732607e3def263 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-07-04 01:52:35 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-04 01:52:35 +0900 Rewrite Kernel#tap with Ruby (#3281) * Rewrite Kernel#tap with Ruby This was good for VM too, but of course my intention is to unblock JIT's inlining of a block over yield (inlining invokeyield has not been committed though). * Fix test_settracefunc About the :tap deletions, the :tap events are actually traced (we already have a TracePoint test for builtin methods), but it's filtered out by tp.path == "xyzzy" (it became "<internal:kernel>"). We could trace tp.path == "<internal:kernel>" cases too, but the lineno is impacted by kernel.rb changes and I didn't want to make it fragile for kernel.rb lineno changes. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit e8010c7401764f54173ffbe8c2bde38cd6d216fa Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-07-03 23:49:36 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-03 23:49:36 +0900 Enhanced RDoc for Array (#3276) *Methods: keep_if delete delete_at slice! Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit a0f12a0258e4020bd657ee80b7d8f22bd33ea223 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-03 16:56:44 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-03 16:56:44 +0900 Use ID instead of GENTRY for gvars. (#3278) Use ID instead of GENTRY for gvars. Global variables are compiled into GENTRY (a pointer to struct rb_global_entry). This patch replace this GENTRY to ID and make the code simple. We need to search GENTRY from ID every time (st_lookup), so additional overhead will be introduced. However, the performance of accessing global variables is not important now a day and this simplicity helps Ractor development. Notes: Merged-By: ko1 <ko1@atdot.net> commit 8655c2e69041cc812d30c2e951a8ac9ea7a60c47 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-07-03 16:55:54 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-07-03 16:55:54 +0900 RUBY_DEBUG_LOG: Logging debug information mechanism (#3279) * RUBY_DEBUG_LOG: Logging debug information mechanism This feature provides a mechanism to store logging information to a file, stderr or memory space with simple macros. The following information will be stored. * (1) __FILE__, __LINE__ in C * (2) __FILE__, __LINE__ in Ruby * (3) __func__ in C (message title) * (4) given string with sprintf format * (5) Thread number (if multiple threads are running) This feature is enabled only USE_RUBY_DEBUG_LOG is enabled. Release version should not enable it. Running with the `RUBY_DEBUG_LOG` environment variable enables this feature. # logging into a file RUBY_DEBUG_LOG=/path/to/file STDERR # logging into STDERR RUBY_DEBUG_LOG=stderr # logging into memory space (check with a debugger) # It will help if the timing is important. RUBY_DEBUG_LOG=mem RUBY_DEBUG_LOG_FILTER environment variable can specify the filter string. If "(3) __func__ in C (message title)" contains the specified string, the information will be stored (example: RUBY_DEBUG_LOG_FILTER=str will enable only on str related information). In a MRI source code, you can use the following macros: * RUBY_DEBUG_LOG(fmt, ...): Above (1) to (4) will be logged. * RUBY_DEBUG_LOG2(file, line, fmt, ...): Same as RUBY_DEBUG_LOG(), but (1) will be replaced with given file, line. Notes: Merged-By: ko1 <ko1@atdot.net> commit 01776ca1c0eb368dd820a3259288466076d9cd46 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-03 12:50:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-03 15:16:55 +0900 Ignore conftest.c under the ext directories for CodeQL analysis Notes: Merged: https://github.com/ruby/ruby/pull/3280 commit 1e039474a2d55bdc7cfc5a01b4d8cf00ae446a76 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-07-03 11:45:58 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-07-03 11:47:09 +0900 test/json/json_fixtures_test.rb: Prevent an "out of range" warning ``` /home/mame/work/ruby/.ext/common/json/common.rb:263: warning: Float 23456789012E666 out of range ``` commit e6a8590aa4216915ee15a7b231189254b03c22b1 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-07-03 11:05:08 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-07-03 11:05:08 +0900 Reintroduce c565dfb09ad7d55fa671f65cea7088a914bf1931 commit 59ded36c60b9420d1071679510acc07424b235f3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-02 20:48:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-02 20:53:42 +0900 Expose `assert_pattern_list` for drb test with test-unit gem. commit bf3f03c9258dab45fee891007c7806f2d095db09 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-07-02 09:44:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-07-02 14:34:30 +0900 integer.rbinc: do not generate C functions This changeset changes for instance Integer#integer? from: == disasm: #<ISeq:to_i@<internal:integer>:66 (66,2)-(69,5)> (catch: FALSE) 0000 opt_invokebuiltin_delegate_leave <builtin!_bi7/0>, 0 (68)[LiCa] 0003 leave (69)[Re] to: == disasm: #<ISeq:to_i@<internal:integer>:66 (66,2)-(69,5)> (catch: FALSE) 0000 putself (68)[LiCa] 0001 leave (69)[Re] which is of course faster. Notes: Merged: https://github.com/ruby/ruby/pull/3277 commit 49029811d998d919c1f31f39e7a4b82f42ff3eaa Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-30 18:39:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-01 22:41:16 +0900 Reduced working `Rational` object allocations When rationalizing negative values. commit 254bed302752a401b5fcc3b6c65a9c93711d91d6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-30 18:34:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-01 22:41:15 +0900 Renamed `nurat_sub` compliant with `rb_rational_plus` commit 53d2bfd540c1c9b1038c0b1150b2f397e54b0322 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-30 18:15:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-01 22:41:15 +0900 Added a few integer case short-circuits commit 29ecce4d72db6efc261ace8f951a922bf6b84166 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-30 14:59:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-07-01 22:41:14 +0900 Replaced f_odd_p with rb_int_odd_p commit 0aac138e0b507c8a361f7cf2f30c276e7110ea33 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-07-01 18:50:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:50:39 +0900 Merge json-2.3.1 from flori/json commit 26041da2fbca4cfeffaee13b66f90310d5d72e18 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-06-30 13:28:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:51 +0900 [flori/json] Typo fix https://github.com/flori/json/commit/26c1769969 commit d69b55ac05e67a22ce3fb0783cced2460b45a52b Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-06-29 03:55:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:51 +0900 [flori/json] Added :call-seq: to RDOc for some methods https://github.com/flori/json/commit/ee5b6a74e9 commit cb3e62511c7c7a7d568342d82b641e491ce589e1 Author: Watson <watson1978@gmail.com> AuthorDate: 2018-02-27 22:40:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:51 +0900 [flori/json] Use frozen string for hash key When use non-frozen string for hash key with `rb_hash_aset()`, it will duplicate and freeze it internally. To avoid duplicate and freeze, this patch will give a frozen string in `rb_hash_aset()`. ``` Warming up -------------------------------------- json 14.000 i/100ms Calculating ------------------------------------- json 148.844 (± 1.3%) i/s - 756.000 in 5.079969s ``` ``` Warming up -------------------------------------- json 16.000 i/100ms Calculating ------------------------------------- json 165.608 (± 1.8%) i/s - 832.000 in 5.025367s ``` ``` require 'json' require 'securerandom' require 'benchmark/ips' obj = [] 1000.times do |i| obj << { "id": i, "uuid": SecureRandom.uuid, "created_at": Time.now } end json = obj.to_json Benchmark.ips do |x| x.report "json" do |iter| count = 0 while count < iter JSON.parse(json) count += 1 end end end ``` https://github.com/flori/json/commit/18292c0c1d commit 7d8ce96de6b977cebf6d9698235a8de8f8d808e1 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-06-26 06:49:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:51 +0900 [flori/json] RDoc enhancements https://github.com/flori/json/commit/ada48f0236 commit be6447381cdcb19b49360911eedca402578fd086 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-06-26 03:58:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:51 +0900 [flori/json] RDoc enhancements https://github.com/flori/json/commit/470d909c0d commit 99980b3034f59eb1253411f1220e1591f47a49c1 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-06-26 02:09:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:51 +0900 [flori/json] RDoc enhancements https://github.com/flori/json/commit/7bee2c7c13 commit fe10323a35d20d7ab5d4291e23eb04fb3ef77a2b Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-06-25 15:42:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:51 +0900 [flori/json] Fix test that wasn't testing anything https://github.com/flori/json/commit/d5c6566b41 commit 4689fd5f9982a148052d76e8e1a7bd85256baec6 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-05-06 21:59:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-07-01 18:47:50 +0900 [flori/json] Rdoc enhancements https://github.com/flori/json/commit/e7e3732130 commit 1351374bd14d4d134726889ba195609b4f745ea6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-03 08:40:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-30 19:12:05 +0900 Split visibility cases commit 52ef2477e41caed01a4edc2f667306740d9b589c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-03 08:31:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-30 19:12:02 +0900 Extracted METHOD_ENTRY_CACHEABLE macro commit 74ac12830b2a623aeadd0bd5036e651114d0da7f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-03 08:21:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-30 19:12:00 +0900 Evaluate macros argument just once commit 7cb8904a12c850ee30dcd67817fa2f9dc3fee813 Author: Samuel Giddins <segiddins@segiddins.me> AuthorDate: 2020-06-30 16:13:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-30 19:03:50 +0900 Extract correct processor name for ARM64 Macs Notes: Merged: https://github.com/ruby/ruby/pull/3272 commit 3621a7debf746723281900851e009c2111fc1f56 Author: Bart de Water <bartdewater@gmail.com> AuthorDate: 2020-06-29 06:18:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-29 13:25:32 +0900 Avoid deprecated OpenSSL::Digest constants Notes: Merged: https://github.com/ruby/ruby/pull/3270 commit 1ce9c37257111df15ca646c526b86798fab5775e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-29 12:33:17 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 12:33:17 +0900 Revert "RBIMPL_UNREACHABLE_RETURN: evaluate the argument" This reverts commit c8dc2bf1401fc01d35a4a7587ed224f1f2fe29e6. No longer necessary. commit 94ab244b43e1aa59dfef9f200b1c253f70975c7e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-29 11:43:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:43:48 +0900 rb_class_modify_check: add UNREACHABLE (I was not aware of this because I use clang, but) it seems gcc cannot detect reachablility of this point. It renders an unused variable warning, which is a false positive. Let us suppress the compiler. https://github.com/ruby/ruby/runs/816997191#step:9:62 commit a523eca1c2581be92cab4b1461e3dd65102d99bf Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-25 14:03:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_enc_symname_type: refactor split Reduce goto by splitting the function. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 2bd0f37e2bb5300991b2b497b57446a115904ee1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-25 10:26:34 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 glob_opendir: move cleanup codes at the end Nobu likes this arrangement. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit da8af471fb0989fe317ae4170dfa7ba7189d9a2e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-25 09:50:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 find_time_t: reset status before goto Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit de3e931df7abdc3ee22dbb7543e86af6d00ee899 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-24 16:23:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 add UNREACHABLE_RETURN Not every compilers understand that rb_raise does not return. When a function does not end with a return statement, such compilers can issue warnings. We would better tell them about reachabilities. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit c8dc2bf1401fc01d35a4a7587ed224f1f2fe29e6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-24 16:19:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 RBIMPL_UNREACHABLE_RETURN: evaluate the argument Prevent casual typos inside of UNREACHABLE_RETURN(...). Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit bacd03ebdfdd3940084cb54ffc0c2a75b0a4e8d0 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-24 11:15:38 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 compile_redo: fix wrong condition Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 2b636dc81dcc2540e0548c856ac495722fcd3959 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-24 11:04:19 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 make_exception: early return The rb_exc_new3() result is already ready to be returned. No need to fall through the switch. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 801752f577712b1eb81de224743865fce8f21adf Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-24 10:58:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 builtin_class_name: add variant that return VALUE Found that `if (builtin_class_name) { printf } else { printf }` happens twice. It would be better if we could eliminate those if statements. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 2071c61e4216b5de347b327acd60fa1b4affeec2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 12:28:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 tracepoint_inspect: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 1bf0d3617172da9fe8b5e99796d8d85412c14f6a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 11:07:26 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 vm_getivar: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 6e67b30503f2931d9538d439545c3b1cff51fc80 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 11:00:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 method_missing: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit edb1680a0549b64347518e90c6c083cb76f48521 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 10:59:19 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_method_call_status: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit f12efec2c2698fb1ea775ce3d260a35628303833 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 10:57:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 vm_exec_handle_exception: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit b95b249784d51697f9f890d6f2a4fba5be08e342 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 10:18:28 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_mod_remove_cvar: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 1e9d58391c4f6b070d6713270a24181e7ec113a5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 10:15:32 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_copy_generic_ivar: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit fc45a061b9c317bfe1f7a9b726e7056db93950c8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-22 09:25:25 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 generic_ivar_update: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 421db59c9e2b9bdc1a91de50db1d0ffdb4663bd8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 15:51:17 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_path_to_class: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 3d636eccfc8412423ee592a65f4e5aaf4308c683 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 14:14:02 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 make_econv_exception: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit fd0e93588675982832ee075d11d9953aca97407e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 12:59:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 time_mload: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 83f6de869190780e6e930caa64bd81374547a97c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 12:56:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 find_time_t: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit ce6be8889f10632f8ee0a52aaf86a4a598e74af1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 12:44:57 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 utc_offset_arg: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 1c0a97bfad9943d796ef9ba5e28c967397a80b77 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 12:39:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 vtm_add_offset: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 0fc569361bfef9a48a6ad54b075047f02b51b4e2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 11:58:50 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 num_exact: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit f402dc35572ae6167737e82585f92d3cc861d1da Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 10:56:25 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_szqueue_push: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 8fc8912109cf7426afe6334850204744988c7a3d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 10:50:43 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 exec_recursive: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit ad6512f359fe38d587715c618380e245af586be1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-19 10:46:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_enc_synmane_type: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 5f926b2b0013fc196ba627e70b7961a71aabca11 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 16:55:52 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_partition: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit e3d821a36ce9040542bb3fb8e1fa97df3fd06499 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 16:52:17 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_crypt: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit a5ae9aebbc3d373d664747e5bfac5f47d3ac4102 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 16:44:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 trnext: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit c7a40731549ce0dd6b52af512ebc0c588bce05f4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 16:36:35 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 chompped_length: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit fdae2063fb4730c0194e2a312ff250902a23df08 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 15:24:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 get_pat_quoted: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 673ddea934db68a074e25925602a32b2994e3b06 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 15:24:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 get_pat: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 31e5d138d71f186c5ab86b6a13b3b7472a693f80 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 15:21:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_slice_bang: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 19f2cabed88943f8adae00c9588e47f7e9112a9e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 13:41:34 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_aset: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 841eea4bcbfe22d6d1a71381cd1e98ca6b6cfde7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 13:18:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_subpat_set: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 0358846f8cb32b3b4e724685b1d72b16fbc8596c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-18 10:29:25 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_update: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit d49924ed81af7f5f00841ce7b4aa423a924d3af0 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-17 16:05:43 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_match: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit c422fc4bbcb58a16fc84a287baa3cb2d454d7a81 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-17 16:02:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_rindex_m: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit c29ec1ef1a88626319c39db02e7574c13f9b72d3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-17 15:31:10 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_str_index_m: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 6df790f22ed48c9998c12dc5eaccf9d13e545185 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-17 14:59:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_enc_cr_str_buf_cat: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 31a770ac4827b6c9404d9506d234c23fd00da0f4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-17 14:49:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_strftime_with_timespec: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit b5eeb3453e7c3047ce3e4f39e8ae89af4fafb16f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-17 14:28:54 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 trap_handler: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 224e9c383598a9f09a5fa5736a098be538316311 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 15:46:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 signm2signo: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 7cf4625690454db5001ec5b13a88ef0d53a85bc9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 15:32:39 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 feature_option: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 689dd3aecbf6177caad793c18c1c6ab4a7cc2150 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 15:18:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 parse_rat: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit d7eec15f8e7e8667cdca144a1e288a3f72015d30 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 14:42:24 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_rational_cmp: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 9c5804ac1ce78126670082327fa3ab80cff0ee25 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 14:31:11 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 range_each: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit cc27cd26d728d285aed728e730994d31f5ac1241 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 13:02:03 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rand_range: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 08202d1f0e120bc09431149e3fe2284f992dbb6d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 12:53:24 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 check_exec_redirect: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 92986313161c36157187ed7078fc4909bbf9bc04 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 12:27:33 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 check_exec_redirect_fd: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 2bfac015d3742408d0c4d9f2220413992d0e49c6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 12:24:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 proc_binding: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 3db159193ed86b6db409e00ac73adab143283b4e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 12:18:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_obj_singleton_method: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 8b9b51bb3ba246590e528702285f5f5e92271b50 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 12:00:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_method_name_error: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 2390a8bd2ef197faf94b5251ee9a0ea582ff6fb4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 11:27:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 bind_local_variable_get: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 82ed66a75a7abbf3b6e18be962ed9c11029b6722 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 11:22:04 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_cstr_to_dbl_raise: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 06ed9a7a045ab4a1e2e98910b06b988e6434fc44 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 10:56:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_convert_to_integer: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 268962077a84d4d24401986af56992aeb39a8146 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 10:53:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_mod_const_location: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 60212cd8eef55b1b3c4482dfd0c65d2151cb2d30 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 10:52:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_mod_const_defined: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 3b8d9badab0433e3022c2d423c3f53b00de634d7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 10:50:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_mod_const_get: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 1f6e74106f452057d857e7f935b13b2064cfac98 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 10:49:02 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 class_or_module_required: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 03354feb6a01b048039cc586dd7135ee71446821 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 10:39:07 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 fix_pow: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 250189f54f2cf690195573ee82082c42b21ccac6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 10:05:46 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 int_pow: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit bf19820bb383cffd2b85cc0c2c6a6e72f5e5f471 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-16 09:42:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 flo_to_s: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 41703fcfabee00320f67875d743f4bc002eb65c9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 16:09:33 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 r_object0: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 6575766ea04ec49a77dad36d4a200fbd7b263d22 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 16:04:52 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 search_required: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit e551dfda9f09b69eb242db8877407daaa2537c4b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 15:31:07 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_feature_p: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 9e92292e307fcdb3ef8e44f942135116de6616cf Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 15:26:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_io_modestr_fmode: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 0e4ee71546665744a3c658bc708738b4e01d39ce Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 15:23:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_io_each_codepoint: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 1e8461424c10f8b22a926b2c6bc12dbf3eea4610 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 15:12:54 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_hash_transient_heap_evacuate: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 5f6053824551aec947a1c53d08975595aca1e513 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 15:02:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 any_hash: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit b5adaa8dbdd6ce929faf9e22badbf520e9b0850b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 14:52:02 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 goruby_options: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit c5f43451389a9a19d14c34e553d271038a87be99 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 14:36:41 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 get_envparam_double: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 228118482e4df04e42b64bca09f7bf2306c2314f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 14:31:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 gc_marks_finish: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit e9cb092b2d4ce21dbf124ea614adaa13e12178f0 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 14:27:29 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_f_stat: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 4606ec4925756d9e7b7c9648787d614be3102ced Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 12:38:19 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 make_exception: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 13bdbfcecbe7652c4c8315d1c615e205b83123e8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 12:01:50 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 setup_exception: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 0b1b73451528d946060f4876aa38fc3278899deb Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 11:58:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_class_modify_check: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit a2677815f5e18116e37d7eb1d3e876798eb8e6d8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 11:37:35 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_check_typeddata: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit d060ebf83c74b79fd8315e6428bad53a0b0d3fce Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-15 10:13:10 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 sum_iter: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 5e960545193eeb7f52acc7ec505d908db3785e30 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 14:24:41 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 dln_find_1: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 99073f49bf97e1d2f2caab97045de5011edf04b8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 14:08:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 glob_opendir: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 70857ae1aa06c85f4c2366aed9a716dfa778ca1b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 14:00:35 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 glob_make_pattern: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 9c92dcf366d2f66a085bd23f0b4934415e1a15b2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 13:57:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 ibf_dump_object_object: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit a8d992ac000d4cc8f8fe691d22c45e5b8db95f2d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 13:45:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 compile_call: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit aa2cb7f7228baa5a5fffab733f3960546c852aa5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 13:39:10 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 compile_redo: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit cf29de7e6e92497c31ef08b567fcfe1b72bfaff7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 12:48:28 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 compile_next: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit cc1e9b8e1178cf4284fbcae1a94950e580491a05 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 15:18:42 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 compile_break: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 1f90690a1d2931e960a54056de089d163b689ed4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 14:44:24 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 compile_branch_condition: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit a6b1454a5d6a9d489e3ed70114e43a5d3a9467ec Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 14:33:36 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 optimize_checktype: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit a5342f46e6efc88bd0c0af9d30ba8af7194eb005 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 14:28:21 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 iseq_set_exception_table: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit a93da4970be44a473b7b42e7516eb2663dece2c3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 14:20:24 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 cmp_clamp: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 3a3728e4b37b422dae617ed75520e28426835053 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 13:53:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 singleton_class_of: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 86e3d63772533d6b301ab0d9e73b719c47d96f7f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 12:35:45 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 SPECIAL_SINGLETON: no longer used This macro does not improve any readability and/or runtime performance. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 8d182b04ed04378877e743535658be41a05aef74 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 13:23:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 builtin_lookup: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 9ec4f1f205f7106e7b2e82abd69dbbc58978c586 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 13:18:22 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_big_aref: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 184f0ab4c9e56e338de5b6fa7115c38406a184d4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 12:56:05 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_int_parse_cstr: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 5a7c0dd038773ada3b729df1417d4e4ad84944e3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 12:53:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 str2big_scan_digits: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 4dfc2f2e3d95b4b9a3b79c1fdf2eb721beacdc0c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 12:45:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 bary_mul_karatsuba_branch: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit e634a9d1a562ad28385de5a6a298ea84ab11c5fa Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 12:00:43 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 node_children: do not goto into a branch Was this an autogenerated function? This tendency of avoiding empty branches are no longer preserved (see for instance NODE_IVAR). Let's just delete those unnecessary jumps into branches. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 4f2425549a870d8c42ff26812aa53ab93bba5bc8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 11:45:03 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_ary_slice_bang: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 73f98d25ebe5ec83865f3d9b7d1dbe9540f5c62b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 11:31:27 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 ary_join_1: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 4dc83eefcea94dec999a7a66ffab4f1d96b9ed2c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 10:48:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_ary_aset: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 86c869fb5967e1e75691721683c43c1d12f05966 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-11 10:28:34 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 ary_ensure_room_for_unshift: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 2e8d8d10f211b52f520109a8bfdd3bb3a6eab8c0 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-10 13:42:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-29 11:05:41 +0900 rb_ary_behead: do not goto into a branch I'm not necessarily against every goto in general, but jumping into a branch is definitely a bad idea. Better refactor. Notes: Merged: https://github.com/ruby/ruby/pull/3247 commit 09b936d89cb66e38db46dbe782aa5f22f94656bc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-28 14:13:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-28 14:14:29 +0900 Calculate header line count instead of hardcoding commit 1020f7e3aaad9071d59df19c3377c3462af13f7c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-28 14:12:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-28 14:12:26 +0900 Replace separators in input file name in header too commit 44a659ad976221cfec3355e036daeb4e4942db55 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-28 13:20:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-28 13:20:40 +0900 Replace ALT_SEPARATOR with SEPARATOR also in output file name To suppress warnings by Visual C. ``` ./integer.rb(5) : warning C4129: 'i' : unrecognized character escape sequence ./kernel.rb(21) : warning C4129: 'k' : unrecognized character escape sequence ``` commit 48fb6299c6ad4fe970c05c5e30a0f6284d771164 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-28 10:34:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-28 10:40:31 +0900 [ruby/fiddle] support for very old libffi Define `Fiddle::TYPE_VARIADIC` only when `ffi_prep_cif_var` is available, otherwise skip the test for it. commit 0703e014713ae92f4c8a2b31e385718dc2452eac Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-28 02:07:47 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-28 02:07:47 +0900 Mark some Integer methods as inline (#3264) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit c405a8d37abacfe9d2ceee165c59bc58c6982bd2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-28 00:57:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-28 01:03:21 +0900 [ruby/fiddle] try bundled libffi by default If no installed libffi found, use bundled libffi unless explicitly `--disable-bundled-libffi` option is given. Notes: Merged: https://github.com/ruby/ruby/pull/3265 commit f2bcdc7283f2137e0916e251df3a52c40b1f6151 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-06-27 11:01:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 23:54:09 +0900 [ruby/fiddle] Support MSWIN (https://github.com/ruby/fiddle/pull/43) https://github.com/ruby/fiddle/commit/f16e7ff6e0 Notes: Merged: https://github.com/ruby/ruby/pull/3265 commit a40b390b1775eec264fedc0bbd4504861e61c7e4 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-06-27 08:31:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 23:54:09 +0900 [ruby/fiddle] test windows: use _snprintf https://github.com/ruby/fiddle/commit/aa261bdb9f Notes: Merged: https://github.com/ruby/ruby/pull/3265 commit 6429b6d973597a6347c650ebb6d3fb1bf81f5031 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-06-27 07:27:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 23:54:08 +0900 [ruby/fiddle] Add missing include https://github.com/ruby/fiddle/commit/4ca61efcd7 Notes: Merged: https://github.com/ruby/ruby/pull/3265 commit ae18220f9904c70304bd1672eecadbb3618fc7e5 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-06-27 07:25:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 23:54:08 +0900 [ruby/fiddle] Add support for variadic arguments GitHub: fix GH-39 Reported by kojix2. Thanks!!! https://github.com/ruby/fiddle/commit/6c4cb904dc Notes: Merged: https://github.com/ruby/ruby/pull/3265 commit 9f740acaf960c0d8fa4b72050f057bc157db31ce Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-06-27 07:11:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 23:54:08 +0900 [ruby/fiddle] Use meaningful variable name https://github.com/ruby/fiddle/commit/2cac24b7c8 Notes: Merged: https://github.com/ruby/ruby/pull/3265 commit 50fbd00e76f2a7a6ed17e73605fa69ce80cafb01 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-06-27 07:10:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 23:54:08 +0900 [ruby/fiddle] Use "do { } while (0)" to ensure requiring ";" https://github.com/ruby/fiddle/commit/2155ae5979 Notes: Merged: https://github.com/ruby/ruby/pull/3265 commit 0faf6c8c0e70b885f7275771a95b554e725f8b94 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-06-27 23:40:16 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-27 23:40:16 +0900 Update to ruby/spec@6c466d4 commit 25fbc886669f4ce82ccdc546ebb79c3fa98dc90a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-27 23:13:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 23:15:13 +0900 Removed non-ASCII code to suppress warnings by localized compilers commit b3fa158d1c4d8e03b8dc04f1e4f9940a8a4ef44c Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-06-27 22:51:37 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-27 22:51:37 +0900 Update to ruby/spec@b6b7752 commit 64d8c0815e6ab042e8a67a670bda9f34404fa662 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-06-27 22:51:35 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-27 22:51:35 +0900 Update to ruby/mspec@6cb1f10 commit 609ac6ee2c30ec8d91f3a97648565cf0bcaa3b0d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-27 14:41:38 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-27 14:43:59 +0900 Revert "Try increasing read timeout of rinda tests" This reverts commit 5c03e4680e724faeedb2c5fc1581d5fcb66aaff2. I gave up stabilizing Rinda::TupleSpaceProxyTest#test_cancel_02. As the test uses sleep, it's probably not gonna be stable with --jit-wait. http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028276 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028065 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027857 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027441 commit 600f3990d671103d50b8eb868d7ce3bd72130902 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-06-27 13:53:47 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-27 13:53:47 +0900 Cosmetic change commit 7a5a0dfa5e0deec3d7eec4015577fdd08a753489 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-06-27 13:52:23 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-27 13:52:23 +0900 Suppress "assigned but unused variable" warnings commit c9ee34a18bb833b11ce64f6d35fa0e7f1a865a14 Author: Vladimir Dementyev <dementiev.vm@gmail.com> AuthorDate: 2020-06-15 04:00:51 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-27 13:51:03 +0900 Add #deconstruct cache to find pattern Notes: Merged: https://github.com/ruby/ruby/pull/3104 commit 5320375732a400ef915c8acbf810aed4ac5261b7 Author: Vladimir Dementyev <dementiev.vm@gmail.com> AuthorDate: 2020-03-04 08:42:48 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-27 13:51:03 +0900 Optimize array pattern matching by caching #deconstruct value Notes: Merged: https://github.com/ruby/ruby/pull/3104 commit 6770d8f1b066908e5fb7401860fd6455df961281 Author: Vladimir Dementyev <dementiev.vm@gmail.com> AuthorDate: 2020-03-04 08:45:57 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-27 13:51:03 +0900 Add pattern matching with arrays benchmark Notes: Merged: https://github.com/ruby/ruby/pull/3104 commit 74c345c7b8f1cef11a3da9b07390b92e790a72e4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-27 02:05:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 10:55:18 +0900 Removed no longer used flags Notes: Merged: https://github.com/ruby/ruby/pull/3262 commit 61984d4760889fd098dff006b2cf6506aa8fb341 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-27 00:47:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-27 10:55:18 +0900 Not to rewrite node while compiling Moved this hack mark to an argument to `compile_hash`. > Bad Hack: temporarily mark hash node with flag so > compile_hash can compile call differently. Notes: Merged: https://github.com/ruby/ruby/pull/3262 commit 200c5f4075cb1d179c2eba5b30b5b0a500870f67 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-26 16:54:05 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-26 17:33:54 +0900 Add NEWS entries about JIT optimizations and a related VM improvement. JIT related commits: * Code size reduction * Deduplicate functions on JIT compaction 818d6d33368a396d9cd3d1a34a84015a9e76c5c8 * Avoid always inlining cold paths of ivar fcd257629063a345c48ff2d8057fa8ab910881f2 * Inline only fast path of rb_class_of b16a2aa938d091c387a7437d94dac7f7bb829ba2 * Eliminate a call instruction on deopt 61b14bb32b7e62760225cb2207df5fe87e5339ab * Cold path partitioning * Mark method call slow paths as COLDFUNC 0e5a58b6bf6aae72b6290a8d68e0a1b6d9eb4f79 * Mark vm_stackoverflow as NOINLINE COLDFUNC 9d71373c237876038cbac63bb0132907a78288a2 * Create mjit_exec_slowpath and mark it as NOINLINE COLDFUNC 083a17a82ad4c1f80cfb9e84cfb1bff5586470b1 * Primitive.attr! 'inline' / Integer#zero? 7561db8c009bb79a75024fa4ed0350bfb3d0626c * Kernel#class 946e5cc668f66a4a0b79461047d3fcba8b71eef0 * (more to come...) * Properly generate opt_send for cfunc cc 7982dc1dfd5df000b7361ccb7bc820da4f3547b8 * Optimize exivar access b736ea63bd4ce4e2fc81dfa73938b39fa70f659c * Make JIT-ed leave leaf 151f8be40d385ada2ebf7feb84210ed7db7ef4df * Inline vm_call_cfunc b9d3ceee8f8e4fade1eddc0c18abee59f9c1eee7 VM: * Enable fastpath on invokesuper 5c2768181382bf84137759efea66f3aaf212665d * History: https://speakerdeck.com/k0kubun/ruby-3-samituto?slide=40 (in Japanese) commit 4949df498a4ca67234c42f00b8e2b513a6a2b6c6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-26 15:27:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-26 17:05:27 +0900 [ruby/fiddle] Fixed typos https://github.com/ruby/fiddle/commit/a09e66adf4 https://github.com/ruby/fiddle/commit/6cab9b45d6 https://github.com/ruby/fiddle/commit/ab72b19bed commit 40b40523dcf957fa9459c1c1037ad79d73867f83 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-26 15:50:18 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-26 15:50:19 +0900 Show what's inlined first in "JIT inline" log and add a debug log commit 7982dc1dfd5df000b7361ccb7bc820da4f3547b8 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-26 15:27:46 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-26 15:33:08 +0900 Decide JIT-ed insn based on cached cfunc for opt_* insns. opt_eq handles rb_obj_equal inside opt_eq, and all other cfunc is handled by opt_send_without_block. Therefore we can't decide which insn should be generated by checking whether it's cfunc cc or not. ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4 before --jit: ruby 2.8.0dev (2020-06-26T05:21:43Z master 9dbc2294a6) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-06-26T06:30:18Z master 75cece1b0b) +JIT [x86_64-linux] last_commit=Decide JIT-ed insn based on cached cfunc Calculating ------------------------------------- before --jit after --jit mjit_nil?(1) 73.878M 74.021M i/s - 40.000M times in 0.541432s 0.540391s mjit_not(1) 72.635M 74.601M i/s - 40.000M times in 0.550702s 0.536187s mjit_eq(1, nil) 7.331M 7.445M i/s - 8.000M times in 1.091211s 1.074596s mjit_eq(nil, 1) 49.450M 64.711M i/s - 8.000M times in 0.161781s 0.123627s Comparison: mjit_nil?(1) after --jit: 74020528.4 i/s before --jit: 73878185.9 i/s - 1.00x slower mjit_not(1) after --jit: 74600882.0 i/s before --jit: 72634507.6 i/s - 1.03x slower mjit_eq(1, nil) after --jit: 7444657.4 i/s before --jit: 7331304.3 i/s - 1.02x slower mjit_eq(nil, 1) after --jit: 64710790.6 i/s before --jit: 49449507.4 i/s - 1.31x slower ``` commit 9dbc2294a6c35f201d9a05d8b02f818c05d6f399 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-26 14:21:12 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-26 14:21:43 +0900 Collect insns from a child process to make sure :opt_invokebuiltin_delegate_leave doesn't become :(trace_)opt_invokebuiltin_delegate. This is to prevent a warning like > /tmp/ruby/v3/src/trunk-test/test/ruby/test_jit.rb:618: warning: 'opt_invokebuiltin_delegate_leave' insn is not included in the script. Actual insns are: opt_invokebuiltin_delegate leave commit a640bcee048a25730d259e6e95568111d70443f1 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-26 14:15:01 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-26 14:15:01 +0900 test/ruby/test_settracefunc.rb: Suppress a warning http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200626T033003Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20200626T033003Z/ruby/test/ruby/test_settracefunc.rb:2299: warning: ambiguous first argument; put parentheses or a space even after `/' operator ``` commit 5c03e4680e724faeedb2c5fc1581d5fcb66aaff2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-26 14:11:40 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-26 14:11:56 +0900 Try increasing read timeout of rinda tests To prevent random failure with --jit-wait like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3026615 commit 8070cb56db18966b7186255d46eef869e7fdd9cb Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-06-26 10:21:56 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-26 10:21:56 +0900 fix return event and opt_invokebuiltin_delegate_leave (#3256) If :return event is specified for a opt_invokebuiltin_delegate_leave and leave combination, the instructions should be opt_invokebuiltin_delegate trace_return instructions. To make it, opt_invokebuiltin_delegate_leave instruction will be changed to opt_invokebuiltin_delegate even if it is not an event target instruction. Notes: Merged-By: ko1 <ko1@atdot.net> commit 2d89af45ea8b3f521102c05694f419ecd8254e69 Author: Richard Schneeman <richard.schneeman+foo@gmail.com> AuthorDate: 2020-06-25 23:34:11 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-06-26 00:21:13 +0900 Add require to Delegator examples In Ruby 2.7.1 SimpeDelegator cannot be used without requiring `delegate` this PR adds the require to the first example for each class so that devs don't have to hunt for what require to use. Notes: Merged: https://github.com/ruby/ruby/pull/3254 commit 6fdd5e26c648367b50e8d36cbb3ee257065f58c6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-25 18:21:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 18:21:41 +0900 Removed duplicate target While `spec/bundler` and `spec/bundler/` are treated different targets by GNU make 4, the same target by GNU make 3. The latter target, ending with a slash, was to run `test-bundler-parallel`, instead of `spec/bundler/%`. commit 9a78e24f7d269c9688a0fa50c82751b5ec8d512a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-25 15:44:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 15:44:56 +0900 Removed nonsense `rubygems_version` in input gemspec files As it is ignored and set at building packages automatically, it is just nonsense to set in gemspec file for input. commit 4eff8a662a4bf12dc0c2e5d87b1578f03d872722 Author: noraj <alexandre.zanni@europe.com> AuthorDate: 2020-01-04 00:10:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 15:32:41 +0900 [flori/json] add metadata https://github.com/flori/json/commit/9f430a7bba commit 1b076ca30d42a711041394836e7cca147edbcae7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2019-12-29 19:59:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 15:32:41 +0900 [flori/json] Gem::Specification#date is set automatically by RubyGems.org. https://github.com/flori/json/commit/1920653013 commit 4dbb10f29f3710c7ba5f9062b870e47710f2f735 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2019-12-23 08:49:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 15:32:40 +0900 [flori/json] keyword argument is provided after Ruby 2.0+ https://github.com/flori/json/commit/78ec5e2bd3 commit bb4a2351cb86ae7e2603e1280e1eb756c89c7029 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-25 14:58:22 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-25 14:59:34 +0900 Do not JIT inline builtin methods It's probably not worth it because there's nothing we can optimize in such builtin methods. It's worth JIT only when inlined. commit ab62aa7037f30dbab04a9455a328496287c968da Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-25 14:43:13 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-25 14:43:14 +0900 Run a TracePoint test in an insolated process to prevent a random failure like http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287 commit 3d8705dcfdd567278c833c252ea11c018c0d3890 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-25 01:14:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 01:14:26 +0900 Drop token info for endless method definition Because it does not have closing `end`. commit 419b0596a2ada720ae1b3f2c1bd3ab5e12819ac8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-25 01:13:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 01:14:18 +0900 [ripper] added endless method definition event tests commit fe82f72951cb5c558c8a2953392c321137500a4f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-24 23:55:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-25 00:14:31 +0900 AST.of needs SCRIPT_LINES__ filled with a newline commit 263b941321c3de6afc8f9dafbc2625f866b7437e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-24 19:53:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-24 19:53:14 +0900 [ripper] fix mismatched indentations warning [Bug #16981] The scanner location has to be set from `lex.ptok` before it is flushed by dispatching the scanner event. commit 7f29e34f35d63f0eda0f9adec12d5ec766c1b1b1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-24 19:50:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-24 19:52:39 +0900 [ripper] fail unless got warning as expected commit 50c63ab38da95d17687d9fe9a74eb6ad79973f64 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-24 16:29:53 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-24 16:29:53 +0900 Fix a random test failure by TracePoint A test worker process may already be enabling TracePoint, which results in changing the insn name in this test. http://ci.rvm.jp/results/trunk-random0@phosphorus-docker/3022750 commit 737da8d383e116c83fb356386322626f039deb06 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-24 15:57:26 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-24 15:57:26 +0900 Add another missing cast commit e0037997d9683d4242e3a417b43980bc0ad19cd2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-24 15:56:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-24 15:56:02 +0900 Include workflow name in a notification of Compilations commit 6ecef1199e176753b69bcbe10fc6e66d1df06985 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-24 15:50:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-24 15:50:31 +0900 Add missing cast commit 946e5cc668f66a4a0b79461047d3fcba8b71eef0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-24 15:49:03 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-24 15:49:03 +0900 Annotate Kernel#class as inline (#3250) ``` $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_class.yml --repeat-count=4 before: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) [x86_64-linux] after: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) [x86_64-linux] before --jit: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) +JIT [x86_64-linux] Calculating ------------------------------------- before after before --jit after --jit mjit_class(self) 39.219M 40.060M 53.502M 69.202M i/s - 40.000M times in 1.019915s 0.998495s 0.747631s 0.578021s mjit_class(1) 39.567M 41.242M 52.100M 68.895M i/s - 40.000M times in 1.010935s 0.969885s 0.767749s 0.580591s Comparison: mjit_class(self) after --jit: 69201690.7 i/s before --jit: 53502336.4 i/s - 1.29x slower after: 40060289.1 i/s - 1.73x slower before: 39218939.2 i/s - 1.76x slower mjit_class(1) after --jit: 68895358.6 i/s before --jit: 52100353.0 i/s - 1.32x slower after: 41241993.6 i/s - 1.67x slower before: 39567314.0 i/s - 1.74x slower ``` Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-24 15:41:57 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-24 15:42:38 +0900 Trace :return of builtin methods using opt_invokebuiltin_delegate_leave insn. Since Ruby 2.7, :return of methods using builtin have not been traced properly. commit b71047cca35a4a1a2813ee0a91c024ba3e49d3cc Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-06-23 21:11:03 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-06-24 15:17:53 +0900 Fix RubyVM::AbstractSyntaxTree document RubyVM::AbstractSyntaxTree is a module actually, but the document says "class". Notes: Merged: https://github.com/ruby/ruby/pull/3251 commit 37a2e48d76efc047c140db984f816514ec5a1048 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-23 15:30:37 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-23 16:09:54 +0900 Avoid generating opt_send with cfunc cc with JIT only for opt_nil_p and opt_not. While vm_method_cfunc_is is used for opt_eq too, many fast paths of it don't call it. So if it's populated, it should generate opt_send, regardless of cfunc or not. And again, opt_neq isn't relevant due to the difference in operands. So opt_nil_p and opt_not are the only variants using vm_method_cfunc_is like they use. ``` $ benchmark-driver -v --rbenv 'before2 --jit::ruby --jit;before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4 before2 --jit: ruby 2.8.0dev (2020-06-22T08:37:37Z master 3238641750) +JIT [x86_64-linux] before --jit: ruby 2.8.0dev (2020-06-23T01:01:24Z master 9ce2066209) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-06-23T06:58:37Z master 17e9df3157) +JIT [x86_64-linux] last_commit=Avoid generating opt_send with cfunc cc with JIT Calculating ------------------------------------- before2 --jit before --jit after --jit mjit_nil?(1) 54.204M 75.536M 75.031M i/s - 40.000M times in 0.737947s 0.529548s 0.533110s mjit_not(1) 53.822M 70.921M 71.920M i/s - 40.000M times in 0.743195s 0.564007s 0.556171s mjit_eq(1, nil) 7.367M 6.496M 7.331M i/s - 8.000M times in 1.085882s 1.231470s 1.091327s Comparison: mjit_nil?(1) before --jit: 75536059.3 i/s after --jit: 75031409.4 i/s - 1.01x slower before2 --jit: 54204431.6 i/s - 1.39x slower mjit_not(1) after --jit: 71920324.1 i/s before --jit: 70921063.1 i/s - 1.01x slower before2 --jit: 53821697.6 i/s - 1.34x slower mjit_eq(1, nil) before2 --jit: 7367280.0 i/s after --jit: 7330527.4 i/s - 1.01x slower before --jit: 6496302.8 i/s - 1.13x slower ``` commit 078e94106d7ffb171fcc8067679268b62369e506 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-23 13:55:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-23 15:26:29 +0900 [ruby/psych] Fixup 05d7e818a6abe3ee1c56b6be92f086647d73141c https://github.com/ruby/psych/commit/4e7794fc2c commit 7cdfc2b5fc447af34ef31b731823eed0d5cbc894 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-23 13:48:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-23 15:26:29 +0900 [ruby/psych] Bump version strings for header file https://github.com/ruby/psych/commit/68da645c7e commit 70a459986988fecf245cf5eb62e7982e790c8260 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-23 13:40:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-23 15:26:29 +0900 [ruby/psych] Bump libyaml version to 0.2.5 https://github.com/ruby/psych/commit/39996192cc commit 666c077691a5521cb82254911f0abb9575cac9a1 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-06-09 00:52:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-23 15:26:29 +0900 [ruby/psych] Fix anchor lookup with symbolized names https://github.com/ruby/psych/commit/ef74fc01e2 commit e9adc2f4208797cb506f67c3e2fdc7966a6748e5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-23 14:51:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-23 15:05:44 +0900 Match the output without encoding for localized compilers commit 9ce20662093647877d9835abbe73c71379e77146 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-23 09:34:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-23 10:01:24 +0900 Improved error messages for mjit option and default jit-verbose to 1 if no argument. commit c3ba2db48b1ab53fb459910eef50a7ccbb624e17 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-23 09:32:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-23 10:01:23 +0900 Removed execpath argument of path_check_0 as always TRUE now commit 61374839e4132aec92e00eb8d2fdb0619a0307cf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-23 07:59:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-23 10:01:23 +0900 Removed fpath_check, no longer used since taint flag was removed commit e2d94f61c89563aa61147a5ee07cc75cde9abe7b Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-06-23 07:22:48 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-06-23 08:27:35 +0900 Convert RMoved to a doubly linked list This commit converts RMoved slots to a doubly linked list. I want to convert this to a doubly linked list because the read barrier (currently in development) must remove nodes from the moved list sometimes. Removing nodes from the list is much easier if the list is doubly linked. In addition, we can reuse the list manipulation routines. Notes: Merged: https://github.com/ruby/ruby/pull/3249 commit 574a4f0217c77c0ee77890c5ee2fdaafcddfa6fb Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-23 02:45:08 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-23 02:45:39 +0900 Skip test_read_body_block_mod for --jit-wait commit ec9a9aaa5171f176076f52180248329de9920ff6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-23 00:14:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-23 00:25:36 +0900 Ignore configurations in un-built extension libraries Exclude linker flags for external libraries used by no longer built extension libraries when static-linked-ext. commit 6adbdb56edcf62c11229e1c9c6f75656700f1c5f Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-22 18:34:24 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-22 18:34:24 +0900 Fix Encoding::CompatibilityError in `FileUtils::Entry_#join` commit 3a1e63e54064496755e9e306f10c72fafc5bd162 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-22 18:23:58 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-22 18:23:58 +0900 Fix typos commit 7ac6c967e49d1e3ad46be20aca98e8f1df2c2d5b Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-22 18:15:21 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-22 18:18:16 +0900 Revert d231b8f95b35d8a344cec4f62d7bbdf360a70e1c and add debug print commit 78352fb52ed2c15fe0d74c02ea29b7e5a28b18c0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-22 17:44:11 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-22 18:08:21 +0900 Compile opt_send for opt_* only when cc has ISeq because opt_nil/opt_not/opt_eq populates cc even when it doesn't fallback to opt_send_without_block because of vm_method_cfunc_is. ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4 before --jit: ruby 2.8.0dev (2020-06-22T08:11:24Z master d231b8f95b) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-06-22T08:53:27Z master e1125879ed) +JIT [x86_64-linux] last_commit=Compile opt_send for opt_* only when cc has ISeq Calculating ------------------------------------- before --jit after --jit mjit_nil?(1) 54.106M 73.693M i/s - 40.000M times in 0.739288s 0.542795s mjit_not(1) 53.398M 74.477M i/s - 40.000M times in 0.749090s 0.537075s mjit_eq(1, nil) 7.427M 6.497M i/s - 8.000M times in 1.077136s 1.231326s Comparison: mjit_nil?(1) after --jit: 73692594.3 i/s before --jit: 54106108.4 i/s - 1.36x slower mjit_not(1) after --jit: 74477487.9 i/s before --jit: 53398125.0 i/s - 1.39x slower mjit_eq(1, nil) before --jit: 7427105.9 i/s after --jit: 6497063.0 i/s - 1.14x slower ``` Actually opt_eq becomes slower by this. Maybe it's indeed using opt_send_without_block, but I'll approach that one in another commit. commit 3238641750c1f6d9e6be5d74fadc53e512638fe2 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-22 17:37:37 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-22 17:37:37 +0900 Use filesystem encoding for file path only `path_info` contains filesystem encoding and binary. Example is `"/webrick.cgi/%A5%DB%A4%B2/%A4%DB%A4%B2"` in `TestWEBrickCGI#test_cgi`. commit 61743f0c830498cba3c098a3d9e38644b159c563 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-22 17:31:07 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-22 17:31:07 +0900 Add tests of nested multibyte path and DirectoryIndex commit d231b8f95b35d8a344cec4f62d7bbdf360a70e1c Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-22 17:07:49 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-22 17:11:24 +0900 Fix remove_entry error when path encoding is not compatible UTF-8 commit 48d7ebe6fc7dec0856498ddb93695c3797ae0101 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-22 17:05:33 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-22 17:11:23 +0900 Check symlink in tmpdir and do not use empty path commit 4c5780e51ef1cd122c6cff863657bd7c523d65ec Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-22 16:54:27 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-22 16:54:27 +0900 Share warmup logic across MJIT benchmarks commit faf93e45459793870346f17472a30f90c9b2f5b7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-22 16:20:30 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-22 16:20:30 +0900 The RUBYOPT= comment is no longer needed commit 8838600c1e7bcf913cbdc43caee50baa1c65cd4a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-22 16:17:09 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-22 16:17:10 +0900 Stop relying on `make benchmark`'s `-I$(srcdir)/benchmark/lib` These days I don't use `make benchmark`. The YAML files should be executable with bare `benchmark-driver` CLI without passing `RUBYOPT=-Ibenchmark/lib`. commit 7658a0f8fe9586b66f2a8f1efb652d2bcffad358 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-22 15:21:47 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-22 15:21:48 +0900 Try increasing read_timeout a little more It failed again http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3018488 commit eed4aaa0bf8aa3109936c4276a71c0cdab4d54d6 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-22 08:16:10 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-22 08:16:24 +0900 Increase read_timeout for --jit-wait This tries to fix a random failure like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3017837 commit 54ad2bd6d09b8a04baef60dde2998bd40e73db36 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-22 06:17:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-22 06:19:04 +0900 Use canary cond also if not VM_CHECK_MODE to suppress warnings commit d9f608b6869abccb86aefd2d1be227a5ea40e4d1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-22 02:27:04 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-22 02:27:04 +0900 Verify builtin inline annotation with VM_CHECK_MODE (#3244) * Verify builtin inline annotation with VM_CHECK_MODE * Remove static to fix the link issue on MJIT Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit aec8e6d379a9dbb6c871090d93a3db4e60954b94 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-21 23:14:30 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-21 23:14:30 +0900 test/ruby/test_jit.rb: Change the condition to detect RHEL 7.1 s390x commit ec07e2de1a15ac8ab54b6275c8d09aa615fbb1db Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-21 18:14:32 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-21 18:14:34 +0900 Increase read timeout of FTP tests with --jit-wait Trying to eliminate some newer random failures http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3016543 commit 426db4cd90c9539118c62ade917d936ce2e99be0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-21 16:34:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-21 16:34:39 +0900 Fix -Wmaybe-uninitialized at vm_invoke_block commit 995923b7f9178c234f8c685f434407eb4f0eeb5c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-20 19:21:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-21 16:16:15 +0900 [DOC] Mentioned that `Time.parse` method is not a validator commit 956d18722384b01690040de8828eb8f81c1bfd97 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-20 19:08:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-21 16:16:15 +0900 [ruby/date] [DOC] Mentioned alternative `strptime` methods https://github.com/ruby/date/commit/5f4ac92947 commit 67e544cbe15abb852742236f9de1b3b9a9add676 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-20 18:26:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-21 16:16:15 +0900 [ruby/date] [DOC] Emphasized that `parse` methods are not validators https://github.com/ruby/date/commit/81a057db11 commit 538276aa777e4abfb6eaf55466043a3752fbb8ec Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-21 15:23:28 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-21 15:25:16 +0900 Skip a test_jit with builtin for rhel_zlinux Either 95b0fed371 or 7561db8c00 started to cause https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20200621T053303Z.fail.html.gz But so far no idea why it's happening. Until I get direct ssh access to debug the details, let me skip this as it's essentially not ruby's fault. commit ccd2f99e71162bddc24bf2ff76576c3ce65fcbb8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-21 11:31:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-21 11:31:48 +0900 Prefer more descriptive assertion methods commit 838d695c1652913ab5806ed677eab9b90b92becc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-21 10:34:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-21 10:34:07 +0900 Prefer ruby_install_name as runner `Gem::Commands::EnvironmentCommand` expects that `Gem.ruby` has the transformed basename. commit 7561db8c009bb79a75024fa4ed0350bfb3d0626c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-21 09:13:03 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-21 09:13:03 +0900 Introduce Primitive.attr! to annotate 'inline' (#3242) [Feature #15589] Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit d95249ade34626dc3ae82f8bfc84e1668b1b8d01 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-21 08:14:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-21 08:14:49 +0900 C-expression does not include a semicolon commit 95b0fed3714b87dcb40a16f33d9e3160f9945e38 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-21 06:55:09 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-21 06:55:09 +0900 Make Integer#zero? a separated method and builtin (#3226) A prerequisite to fix https://bugs.ruby-lang.org/issues/15589 with JIT. This commit alone doesn't make a significant difference yet, but I thought this commit should be committed independently. This method override was discussed in [Misc #16961]. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit b68ddcf30ce1dc2788d3bd3d10169726feada1f2 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-20 06:06:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-20 18:35:03 +0900 [ruby/date] Bump version to 3.0.1 https://github.com/ruby/date/commit/47cca1b76b commit 97e8b7d0983bb22ecd707449819933fb543143d4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-12 15:32:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-20 18:35:03 +0900 [ruby/date] Promote simple date to complex date to load fractional date (Fixes https://github.com/ruby/date/pull/20) https://github.com/ruby/date/commit/e022e8b3ce commit ad156f7e2caa28f429a9f05f3b9b184118b85432 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-12 03:40:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-20 18:35:03 +0900 [ruby/date] Fix cannot load complex into simple error when loading marshal dump (Fixes https://github.com/ruby/date/pull/20) This problem exists because Marshal.load calls Date.allocate, which uses a SimpleDateData. There doesn't seem to be any support for taking an existing Date instance and converting it from SimpleDateData to ComplexDateData. Work around this issue by making Date.allocate use a ComplexDateData. This causes problems in Date#initialize, so remove the Date#initialize method (keeping the date_initialize function, used internally for Date.civil). Alias Date.new to Date.civil, since they do the same thing. https://github.com/ruby/date/commit/6bb8d8fa0f commit d1af2345c927a06e01002a351f0c2e36319860b7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-20 14:07:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-20 14:07:45 +0900 Removed space lines commit e8b2578d31fd0eaf0d05ea3f669bffe1e80db00f Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-06-20 11:11:50 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-20 11:11:50 +0900 Remove unused variables commit a3c8ade1b34700f126abfea1480322ef36932d61 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-19 15:10:29 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-20 09:28:03 +0900 test/coverage/test_coverage.rb: Add a test for [Bug #16967] Notes: Merged: https://github.com/ruby/ruby/pull/3240 commit 50efa18c6cf102e070ba0f95edc01c72516495a3 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-19 14:52:35 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-20 09:28:03 +0900 compile.c: Improve branch coverage instrumentation [Bug #16967] Formerly, branch coverage measurement counters are generated for each compilation traverse of the AST. However, ensure clause node is traversed twice; one is for normal-exit case (the resulted bytecode is embedded in its outer scope), and the other is for exceptional case (the resulted bytecode is used in catch table). Two branch coverage counters are generated for the two cases, but it is not desired. This changeset revamps the internal representation of branch coverage measurement. Branch coverage counters are generated only at the first visit of a branch node. Visiting the same node reuses the already-generated counter, so double counting is avoided. Notes: Merged: https://github.com/ruby/ruby/pull/3240 commit bc0aea080446298eb4a778f941c8469842bbf033 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-19 12:59:47 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-20 09:28:03 +0900 compile.c: pass NODE* instead of a quadruple of code location Notes: Merged: https://github.com/ruby/ruby/pull/3240 commit 4b523e79a0ee0070b07331dd57153c1f3a5dbca6 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-19 12:48:30 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-20 09:28:03 +0900 compile.c (branch_coverage_valid_p): Refactored out Notes: Merged: https://github.com/ruby/ruby/pull/3240 commit 37cd877dbd70745c05aab7e1e155beb5ae6ad772 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-19 12:43:58 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-20 09:28:03 +0900 compile.c: Use functions for building branch coverage instructions instead of maros. Just refactoring. Notes: Merged: https://github.com/ruby/ruby/pull/3240 commit 878af5147def7fed089d3cc388742f0111db58ae Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-02 04:28:05 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-20 04:58:25 +0900 Implement Proc#== and #eql? Previously, these were not implemented, and Object#== and #eql? were used. This tries to check the proc internals to make sure that procs created from separate blocks are treated as not equal, but procs created from the same block are treated as equal, even when the lazy proc allocation optimization is used. Implements [Feature #14267] Notes: Merged: https://github.com/ruby/ruby/pull/3174 commit 640e6c9be61d8f9d349f4e70869d0ac23cda7b0c Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-20 00:17:07 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-20 00:17:07 +0900 Use section sign instead of Hiragana Letter A It can convert to Windows-1252and Windows-31J. ``` "\u00a7".encode("Windows-1252") #=> "\xA7" "\u00a7".encode("Windows-31J") #=> "\x{8198}" ``` https://github.com/ruby/ruby/runs/788357527?check_suite_focus=true#step:14:959 ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/a/ruby/ruby/src/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-19 14:49:38] ERROR Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and Windows-1252 D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:341:in `+' D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:341:in `set_filename' D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:310:in `exec_handler' D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:245:in `do_GET' D:/a/ruby/ruby/src/lib/webrick/httpservlet/abstract.rb:105:in `service' D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:241:in `service' D:/a/ruby/ruby/src/lib/webrick/httpserver.rb:140:in `service' D:/a/ruby/ruby/src/lib/webrick/httpserver.rb:96:in `run' D:/a/ruby/ruby/src/lib/webrick/server.rb:307:in `block in start_thread' ``` commit 32e2440a66366c712808e4bd03d9978861643a9e Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-19 23:06:38 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-19 23:06:38 +0900 Fix `ERROR ArgumentError: invalid byte sequence in UTF-8` http://ci.rvm.jp/results/trunk-test@ruby-sky1/3012894 ``` /tmp/ruby/v3/src/trunk-test/tool/lib/minitest/unit.rb:199:in `assert': webrick log start: (MiniTest::Assertion) [2020-06-19 23:01:59] ERROR ArgumentError: invalid byte sequence in UTF-8 /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:336:in `scan' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:336:in `set_filename' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:310:in `exec_handler' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:245:in `do_GET' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/abstract.rb:105:in `service' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpservlet/filehandler.rb:241:in `service' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpserver.rb:140:in `service' /tmp/ruby/v3/src/trunk-test/lib/webrick/httpserver.rb:96:in `run' /tmp/ruby/v3/src/trunk-test/lib/webrick/server.rb:307:in `block in start_thread' ``` commit 97c1782db634ab0344fbc829477897d5de034475 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-19 22:47:08 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-19 22:56:29 +0900 Use filesystem encoding as FileHandler's encoding instead of `@root.encoding`. And fallback to ASCII-8BIT when filesystem encoding is US-ASCII. When `@root.encoding` is not compatible filesystem encoding, `Encoding::CompatibilityError` raised at `webrick/httpservlet/filehandler.rb:341`. So `DocumentRoot` must be compatible with filesystem encoding. commit 78d4eace02c3c03b65d775a3bb7537f2a6e8c6e7 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-19 22:08:19 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-19 22:08:19 +0900 Do not change local_path encoding in WEBrick::HTTPServlet::DefaultFileHandler This reverts 750203c514e0e9a49f7d53fb54084e6844fca42a and 93e6fa1d319d19ce7fba37e4b9924862447b9f38 commit 6fe1919486111bcdd5ef41fea15b0e82f7f50d82 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-19 20:06:26 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-19 20:13:22 +0900 Fix failure on mswin CI https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200619T054159Z.fail.html.gz ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200619-14304-utgij/ruby/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-19 16:28:42] ERROR `/あ.txt' not found. webrick log end Filesystem encoding is Windows-31J. <"200"> expected but was <"404">. --- <[]> expected but was <["[2020-06-19 16:28:42] ERROR `/\xE3\x81\x82.txt' not found.\n"]>. ``` `prevent_directory_traversal` treats `path_info` as filesystem encoding. So path_info should be filesystem encoding in request URL. On some environments, fallback to ASCII-8BIT when EncodingError. commit daa9dcd57ecb84e108d2390a361790f29ed415e7 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-19 20:12:49 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-19 20:13:22 +0900 Hide error location from error message commit 63aadc237f48be23803acae724401f8b4221fa38 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-31 15:52:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 18:46:55 +0900 [Feature #16254] Use `Primitive.func` style Notes: Merged: https://github.com/ruby/ruby/pull/3165 commit 49f0fd21e468e567dc122547d516eef42c0ce0d3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-31 15:51:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 18:46:55 +0900 [Feature #16254] Allow `Primitive.func` style Notes: Merged: https://github.com/ruby/ruby/pull/3165 commit d863f4bccdd1b5566fbdbe87af766e54b995f8af Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-18 10:43:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 18:46:55 +0900 [Feature #16254] Use `__builtin.func` style Notes: Merged: https://github.com/ruby/ruby/pull/3165 commit c8703a17ceedae4a72f83c962a4d098731a85dda Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-18 10:09:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 18:46:55 +0900 [Feature #16254] Allow `__builtin.func` style Notes: Merged: https://github.com/ruby/ruby/pull/3165 commit f3e081c6b6f877c498ce9203429ee4fd7e812837 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-19 15:35:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 15:35:14 +0900 Build configured extension libraries only Consider the libraries, which remain exts.mk but not listed in ext/configure-ext.mk, removed. commit aa21a775a652098d7c27ab86e365d205314685fd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-19 14:42:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 15:13:59 +0900 Configure only directories having extconf.rb commit 1e7c0ccb0dbe4d65f914a3547aa6ea2503199f01 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-19 14:02:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 14:02:46 +0900 Now bundled gems are extracted under .bundle/gems commit 0d38a51ec42af3bcef46344d55e3bf1a871d8dc0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-19 12:07:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-19 12:07:19 +0900 Clean exts.mk under each extension library commit 946fdeaddc7bc8e98a0d903c0dcdc1463176b882 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-19 10:45:13 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-19 10:45:13 +0900 test/ruby/test_refinement.rb: suppress warning by $VEROBSE = nil http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200619T003004Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20200619T003004Z/ruby/test/ruby/test_refinement.rb:2428: warning: method redefined; discarding old foo /home/chkbuild/chkbuild/tmp/build/20200619T003004Z/ruby/test/ruby/test_refinement.rb:2418: warning: previous definition of foo was here ``` commit d76296d8bb8dab8bc6ea90d1a858689f17e3e0a5 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-19 07:40:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-19 08:26:47 +0900 Revert accidentally style-format Notes: Merged: https://github.com/ruby/ruby/pull/3234 commit e92a9399cc2f904693e177945a65115cbced4db3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-18 21:11:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-19 08:26:47 +0900 Added sdbm entry to NEWS Notes: Merged: https://github.com/ruby/ruby/pull/3234 commit 70b8bdbc90cb39938e1b5bae9f1abc2af91ba58b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-18 21:09:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-19 08:26:47 +0900 Removed sdbm entries from doc Notes: Merged: https://github.com/ruby/ruby/pull/3234 commit 16854c95c2d6e47d06c12d0569aa46b49160839f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-18 21:08:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-19 08:26:47 +0900 Removed sdbm entries from toolchanins Notes: Merged: https://github.com/ruby/ruby/pull/3234 commit 343ad9eff5b8e4c776c1bf193fc125f9ba1cd612 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-18 21:06:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-19 08:26:47 +0900 Removed sdbm and it tests Notes: Merged: https://github.com/ruby/ruby/pull/3234 commit adbdf11f94afd52d276c7891515e0eb808f6003f Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-06-18 23:01:36 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-06-19 02:00:20 +0900 [open3] only close streams if a block is passed Ref: 5429deb075beb9a2b67adae269bbac16325876d1 The previous change totally broke `popen2e` in this usage: ```ruby require 'open3' stdin, stdout, process = Open3.popen2e("cat") puts stdout.read ``` Notes: Merged: https://github.com/ruby/ruby/pull/3236 commit 26c1cf6a6066f90c0c2be7e84e68f75fb920b0d9 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-19 00:53:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-19 00:57:18 +0900 test/webrick/test_httpresponse.rb: Use a longer indicator for crack "hack" was too short. The tests checks the error html, which includes hostname. GitHub Actions hostname seems randomly generated, and it may include the indicator string. https://github.com/ruby/ruby/runs/784896235 ``` 1) Failure: WEBrick::TestHTTPResponse#test_prevent_response_splitting_cookie_headers_cr [/home/runner/work/ruby/ruby/src/test/webrick/test_httpresponse.rb:71]: Expected /hack/ to not match "HTTP/1.1 500 Internal Server Error\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n <HEAD><TITLE>Internal Server Error</TITLE></HEAD>\n <BODY>\n <H1>Internal Server Error</H1>\n WEBrick::HTTPResponse::InvalidHeader\n <HR>\n <ADDRESS>\n WEBrick/1.6.0 (Ruby/2.8.0/2020-06-18) at\n fv-az89.dddawhu1s14uzpjkiz5fhackre.cx.internal.cloudapp.net:80\n </ADDRESS>\n </BODY>\n</HTML>\n". ``` This change uses longer indicator "cracked_indicator_for_test" instead. commit b6d6b896159390014020caac69fa465029af5460 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-02 07:54:47 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-19 00:22:40 +0900 Allow refining a frozen class Doing so modifies the class's method table, but not in a way that should be detectable from Ruby, so it may be safe to avoid checking if the class is frozen. Fixes [Bug #11669] Notes: Merged: https://github.com/ruby/ruby/pull/3175 commit 95dc9c07f3a895f45cfb5dab235cd78f157a9e51 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-11 10:53:25 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-19 00:21:29 +0900 Raise RuntimeError for class variable overtaken in nonverbose mode 900e83b50115afda3f79712310e4cb95e4508972 changed from a warning to an error in this case, but the warning was only issued in verbose mode, and therefore the error was only raised in verbose mode. That was not intentional, verbose mode should only change whether warnings are emitted, not other behavior. This issues the RuntimeError in all cases. This change broke a couple tests, as the tests actually issued the warning and therefore now raise an error. This wasn't caught earlier as test_variable suppressed the warning in this case, effectively setting $VERBOSE = false around the code that warned. basictest isn't run in verbose mode and therefore didn't expose the issue previously. Fix these tests. Fixes [Bug #14541] Notes: Merged: https://github.com/ruby/ruby/pull/3210 commit aae8223c7076483f1f1641181088790b2f3a66dd Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-29 06:59:11 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-19 00:19:33 +0900 Dup splat array in certain cases where there is a block argument This makes: ```ruby args = [1, 2, -> {}]; foo(*args, &args.pop) ``` call `foo` with 1, 2, and the lambda, in addition to passing the lambda as a block. This is different from the previous behavior, which passed the lambda as a block but not as a regular argument, which goes against the expected left-to-right evaluation order. This is how Ruby already compiled arguments if using leading arguments, trailing arguments, or keywords in the same call. This works by disabling the optimization that skipped duplicating the array during the splat (splatarray instruction argument switches from false to true). In the above example, the splat call duplicates the array. I've tested and cases where a local variable or symbol are used do not duplicate the array, so I don't expect this to decrease the performance of most Ruby programs. However, programs such as: ```ruby foo(*args, &bar) ``` could see a decrease in performance, if `bar` is a method call and not a local variable. This is not a perfect solution, there are ways to get around this: ```ruby args = Struct.new(:a).new([:x, :y]) def args.to_a; a; end def args.to_proc; a.pop; ->{}; end foo(*args, &args) # calls foo with 1 argument (:x) # not 2 arguments (:x and :y) ``` A perfect solution would require completely disabling the optimization. Fixes [Bug #16504] Fixes [Bug #16500] Notes: Merged: https://github.com/ruby/ruby/pull/3157 commit 41582d5866ae34c57094f70f95c3d31f4a1fa4ff Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-04 04:14:49 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-19 00:18:31 +0900 Make Module#prepend affect the iclasses of the module 3556a834a2847e52162d1d3302d4c64390df1694 added support for Module#include to affect the iclasses of the module. It didn't add support for Module#prepend because there were bugs in the object model and GC at the time that prevented it. Those problems have been addressed in ad729a1d11c6c57efd2e92803b4e937db0f75252 and 98286e9850936e27e8ae5e4f20858cc9c13d2dde, and now adding support for it is straightforward and does not break any tests or specs. Fixes [Bug #9573] Notes: Merged: https://github.com/ruby/ruby/pull/3181 commit 750203c514e0e9a49f7d53fb54084e6844fca42a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-18 23:42:02 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-18 23:43:48 +0900 lib/webrick/httpservlet/filehandler.rb: always handle a path as UTF-8 https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200618T113134Z.fail.html.gz ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200618-84004-1t0dh8f/ruby/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-18 22:18:07] ERROR `/??.txt' not found. webrick log end Filesystem encoding is Windows-31J. <"200"> expected but was <"404">. ``` commit 50c13eb718d961c333ac832e734dae21ca7a8330 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-18 23:00:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-18 23:09:11 +0900 NEWS about Hash#except ENV#except [Feature #15822] commit 82ca8c73034b0a522fd2970ea39edfcd801955fe Author: Timo Schilling <timo@schilling.io> AuthorDate: 2019-05-04 22:37:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-18 22:47:32 +0900 Add Hash#except ENV#except [Feature #15822] commit c5ee078c5f8461ab3b377527440c889df6726d90 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-13 01:47:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Disable parallel installation by default on Windows Since we enabled parallel installation by default, we've fixed all the issues related to it that have come up, except for a Windows issue that we haven't yet figured out. This issue is hit by our specs on a daily basis and there's no reason to believe that it won't be hit by end users in a similar way. So, both to stop the testing flakyness and to prevent regressions in the default behavior on Windows, I'd rather leave the default as it was before on Windows for now. https://github.com/rubygems/rubygems/commit/5d8ab57131 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 7aa6fec45f70cb83876ff22940f22078f0f1e95e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-13 01:29:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove unused method https://github.com/rubygems/rubygems/commit/b1b39b8c06 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 5f8ee14b9bc550394541a78046ce43b5ba59d924 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-15 01:21:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Make sure to pass URI's to `:git` Passing paths should work in most cases, but on Windows the driver letter is interpreted as the scheme and causes some case mismatches because ``` irb> URI.parse("E:").to_s => "e:" ``` We fix this by passing file URI's instead. https://github.com/rubygems/rubygems/commit/b6bc517628 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit f217faf1da7dd38a5f110162adfb94c94782e06b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-15 02:42:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Better skip messages https://github.com/rubygems/rubygems/commit/4f519638ae Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 414b1485d6c87182e1797049346f8fff37904c40 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-17 04:01:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] More portable PATH edition https://github.com/rubygems/rubygems/commit/a6d50afad0 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 22ee047f7328f05e75634d4c4b177a94642c4032 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-16 22:37:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Only add .rubocop.yml when --rubocop flag is passed Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/ef2dae4222 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit ec98d5615360c33fa2419b22cf2ac7d1834d9c18 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-16 21:36:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Ship default .rubocop.yml Currently, there is no `.rubocop.yml` shipped by default. So when a user runs `rubocop` after creating a new gem via `bundle gem foo`, it throws a bunch of offenses. With the default `.rubocop.yml` present, the number of those offenses significantly reduce by 25. Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit d9c888d394575cd612c3af7f7bb82d0d01511428 Author: Utkarsh Gupta <utkarsh@debian.org> AuthorDate: 2020-06-16 22:37:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Only add .rubocop.yml when --rubocop flag is passed Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/ef2dae4222 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit f9de8ccf1e26c9774cd1ebdb587b8edbb08b4d7b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-16 19:29:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Rename hidden templates Because they don't play nice with ruby-core's gitignore and cause issues with ruby-core integration. Also, because it's consistent with other templates such as `gitignore.tt`. Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 30f9fbdce87825877e41b4fbdb5d7b695f3297aa Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-05 01:30:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Undeprecate the `--no-cache` flag This is not a remembered option, so it shouldn't have been deprecated. At least not for that reason. Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit be2dbfc5b5a9ca387baef04b5107787f047d0a71 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-11 22:36:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Removed the old file with https://github.com/rubygems/rubygems/pull/3667 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 9cc784784979620ea0353c09c778e41146b36d26 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 03:46:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 s/sys_exec!/sys_exec Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 77df7ccc101432a80c7dd6f525dfc4484f6aa898 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 03:50:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove now unused "bang helpers" https://github.com/rubygems/rubygems/commit/84e4c58e83 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit ea4824ee0ffcea5fcfacfe40b4f399efe310455a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 03:48:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] s/run!/run https://github.com/rubygems/rubygems/commit/e3f60d8aec Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 596588c6978b1bef4a19328a978ff063d05cb6ab Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 03:47:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] s/ruby!/ruby https://github.com/rubygems/rubygems/commit/a73fa0760e Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit a572e78201e1a4f5a44b6e354dc7b91f5f6d9c93 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 03:46:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] s/gem_command!/gem_command https://github.com/rubygems/rubygems/commit/f52733f6a4 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 696a50751bc3257e5a75b4f0eb89ccef7ec89363 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 03:46:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] s/install_gemfile!/install_gemfile https://github.com/rubygems/rubygems/commit/4d1a0c465a Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 1436b5026cd1b2ac4b428955aeadaac8e8b12b1b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 03:45:36 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] s/bundle!/bundle https://github.com/rubygems/rubygems/commit/746a4b3d74 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 481840ff18b2d66b20a42240829e06829c34f8f7 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-06-03 05:26:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Generalize CI templates Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 1cb88eb2ba04a5e23f7e6827e81654e87af771ca Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-06-03 05:02:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Use consistent filenaming for Travis template Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 9292313e0cfe4e57afb7e1316cb1bec3f7eb082c Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-06-02 10:08:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Update github workflow template * https://github.com/ruby/setup-ruby is now the more recommended action Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 90f3591744330009971a116a8d0bc100eed59ebe Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-30 12:29:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Update CI templates * Next version of Bundler will auto choose jobs by default * --retry 3 is already default Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit a1a5973daaf7f433886eed9fe503982cffcf5b99 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-06-03 23:06:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Prefer using bundle! to avoid unnecessary swallowing of errors https://github.com/rubygems/rubygems/commit/6bac832a58 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 1a9a4f962e9d91940986b990a5c72305056f1e3a Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-06-03 23:00:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix nonexistent constant in CircleCI template Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> https://github.com/rubygems/rubygems/commit/851f8afad1 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit f6c8ca03595ba7e105e0e0d56e075babca70b5bd Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-06-03 05:09:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Move already configured --test hint to before test file creation https://github.com/rubygems/rubygems/commit/9e5f7a9099 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 0ba2f3e8a9ceee6561c2aa2116b37aeddf891a3e Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-06-02 09:59:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Move already configured --ci hint to before CI file creation https://github.com/rubygems/rubygems/commit/2af2abe5fd Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 091daaa715e80a3964d7ddbcb53b40857d9399a8 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-31 15:58:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Lower verboseness of user-facing text for bundle gem https://github.com/rubygems/rubygems/commit/288f073c3c Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit fedd3201f34c76ad684fa28d7300bade5d0d7256 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-31 15:07:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix --ci flag manpage documentation https://github.com/rubygems/rubygems/commit/515effe8de Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit a476d67f3503978e6f265ed921401d3625cd2372 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-30 18:22:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Rebuild man pages for bundle gem https://github.com/rubygems/rubygems/commit/b5a9cec1be Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 8e3136a03bdaf1aa405a07e689206080f3dfed7b Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-30 18:06:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Make test framework/CI configuration for bundle gem consistent * Add hints for --ci option https://github.com/rubygems/rubygems/commit/5f779f45b0 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit a80a5706b1d6737b866a164ad672a80de669dec1 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-30 12:30:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove extra whitespace https://github.com/rubygems/rubygems/commit/9986cd01fc Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 27e07cd34f3184f3e3c94e44cf3ce5edf053789b Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-29 23:40:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Set CI global config to false in gem_helper_spec https://github.com/rubygems/rubygems/commit/39b18fe7fc Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 760edb3743127eba0a926f117ebb16f7b11bcde2 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-29 23:37:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix CI spec typo Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com> https://github.com/rubygems/rubygems/commit/24f3739585 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 52a900773e560e2dd5938a057ee743c8111642eb Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-28 18:48:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Incorporate naming/grammar suggestions from olleolleolle https://github.com/rubygems/rubygems/commit/80571452ca Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit e6479ac3f69ff1d27646ba9e44a829c3d00a1374 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-28 16:37:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Move CI specs below test framework specs https://github.com/rubygems/rubygems/commit/d8e416d89b Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 0d3c185b59e38eeb92c32a49b0a8c5c57c337054 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-28 16:32:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove shared examples for present test framework * `bundle gem` has new option to select CI provider https://github.com/rubygems/rubygems/commit/320f3546c1 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 25ac5b360610760dfdf78f56bc065eff1e0a43c9 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-28 16:25:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Separate CI and test framework shared examples * `bundle gem` has new option to choose CI provider other than Travis CI https://github.com/rubygems/rubygems/commit/afaecf16de Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit b46895aa9313e407212d7071e6e073c40ef03c2e Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-28 16:21:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Extract shared example for absence of CI files https://github.com/rubygems/rubygems/commit/22cb599bcc Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 3a2016b99424170c1dba9d73a8b313f39f4864b6 Author: Andre Arko <andre@arko.net> AuthorDate: 2020-03-08 12:41:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] minor language tweaks, small code refactor https://github.com/rubygems/rubygems/commit/84e9f3711c Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 6f9faa66fa31a38f151503ae7f8cc8e70323f92f Author: Colby Swandale <me@colby.fyi> AuthorDate: 2020-02-09 11:13:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] update question text https://github.com/rubygems/rubygems/commit/f14c8a5ec2 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit cc059b16b253d0f9622fa0c51606e722b190b526 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-11 21:54:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 Manually cherry-picked at https://github.com/rubygems/rubygems/commit/80260b3496e357bf96ffe6f381e29bf25b6749cb Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 9be1baedbc14be036342cca3e363ae6f44153990 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 21:59:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove unnecessary `bundle install` These specs doesn't really need an installed bundle, they only need a `Gemfile`. https://github.com/rubygems/rubygems/commit/06c85683ae Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 61b6f53337cb71b35c56d480ec6044ba7e85cb71 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-04 01:43:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Make helpers raise by default https://github.com/rubygems/rubygems/commit/ade0c441d5 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 529a9e8a1f804332461a8519fe46dd78f3cb4265 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-08 00:58:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix a couple of specs that were loading an incorrect bundler We have a check on an `at_exit` hook that checks that system bundler is never loaded instead of our development copy. The check was failing in these cases, but in a silent way because the errors were being swallowed. This commit changes these specs to make sure they load the right bundler. https://github.com/rubygems/rubygems/commit/cd1c1bc297 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 5d78fb1c9a874285a4031675afd0385011a5d1f3 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 23:18:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Change spec to do the right thing on bundler 3 On bundler 3, the `--deployment` flag doesn't exist, so the `bundle install --deployment` command was failing silently and the spec was verifying a different scenario. Change the spec to work the same regardless of bundler's major version. Also, from the spec description it was not apparently that a specific case involving deployment mode was being tested, so I reworded it to make it more apparent. https://github.com/rubygems/rubygems/commit/3e33e2b927 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 974c40c842b34bc05724e9432e443301a4b2649f Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 22:54:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix some sudo specs to do the right thing on bundler 3 On bundler 3, where the default install path is `.bundle`, these specs were trying to change permissions of the `.bundle/ruby/<ruby_abi_version>` folder, which didn't exist yet,so the permission changing command was failing and the spec was not testing the right thing. Change the specs so that the permissions are correctly changed, by first configuring the local path to be `.bundle` (which creates the `.bundle` folder), and then changing permissions of the `.bundle` folder explicitly, which exists already. https://github.com/rubygems/rubygems/commit/2833162fb0 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 5454415750fe3e7dd3b4a5e55f128c4393657eaf Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 22:28:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix spec to test the right thing on bundler 3 Bundler 3 installs by default to `.bundle`. That means that, because the `bar` gem was not previously available at this location but as a system gem, the initial `bundle install` was silently failing. As a consequence, the spec was not testing the exact scenario it meant to test. https://github.com/rubygems/rubygems/commit/202399521c Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 9939f4ad43f631d497e5e0f2b9b5dba3877d7f98 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 22:05:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove bad `bundle install` This spec is specifically testing for the case where there's no `Gemfile.lock` file and it's only doing the expected thing because the `bundle install` command is silently failing. Remove the `bundle install` to reduce confusion. https://github.com/rubygems/rubygems/commit/ec39fbde0e Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 8d7ed194cbf0e116af9183cf7347aded1ac37172 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 21:54:36 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Simplify `bundle update --ruby` specs They don't need to run that many commands, and the new version is also more readable in my opinion. https://github.com/rubygems/rubygems/commit/efff3e3210 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 66b327af5619a2e0de89b7d25c75f378164304d6 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 21:23:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix redundant commands They are preceded by `install_gemfile` calls, which mean `bundle install` is being run twice for no reason. https://github.com/rubygems/rubygems/commit/d2b2d10862 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit cceb77f57b17a25a16b26a406f5ea7a89f275949 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 21:16:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix unintended Gemfile installation This command is failing because of the same reason that the subsequent `bundle exec` is failing: the gemspec is invalid. The `bundle install` here deviates the `bundle exec` focus from the test and is unnecessary: all we need is a `Gemfile` that will trigger the `bundle exec`, so let's create and avoid the extra command. https://github.com/rubygems/rubygems/commit/eb83cf6cf1 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 6aafea2d99f61026e447fab74ef4b489a2d1aa6a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 21:00:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove failing command that doesn't affect the spec This command was silently failing but doesn't really affect the outcome of the spec. https://github.com/rubygems/rubygems/commit/7880d08146 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit a8f9a97d49af4c814c899fda2a47a715ae740f62 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 05:29:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove broken test It turns out that this test is checking essentially nothing useful. The paperclip gem doesn't exist in our setup, so initial install is failing and the test is only checking that calling `bundle check` 3 times on a broken setup always returns the same thing. I went to the history of this test: * https://github.com/rubygems/bundler/commit/105654a31e07e9b0a198f1a5a5ec94e365854edf * https://github.com/rubygems/bundler/commit/ae53be1f8748bfc41bc6565dc4922a1c0ac80998 * https://github.com/rubygems/bundler/commit/d19f4a7b32ccf4ec4ecda5c7c0354adc81e1efb6 * https://github.com/rubygems/bundler/commit/092f169d01472336598e29b32550399991940d63 * https://github.com/rubygems/bundler/commit/36878435b5f0be75fc6f2e07cebd7f15aaddadf0 And have finally decided to remove it since I'm not sure changing it to something else will lead to testing something useful and not already tested. https://github.com/rubygems/rubygems/commit/6184322967 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit acd82bd923ddaa2e3f5afbdc8fc087d28b62f55d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 01:41:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix silently broken spec This spec was broken. The second `bundle install` was silently failing. This means that the spec was actually checking an scenario completely different from the one that was supposed to be tested. And also a very dummy one: that running `bundle cache` twice doesn't cache a completely unrelated gem. https://github.com/rubygems/rubygems/commit/f11a5d2df9 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit b0f07aff0bf8f5701de24b01df50dd86c87b4763 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 01:34:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Remove incorrect tags The inner specs have separated specs for the `< 3` and `= 2` cases, so this outer tag is incorrect. https://github.com/rubygems/rubygems/commit/61e905ca27 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 8c686475c85d4019467d119499593afdf0974edc Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 01:27:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Migrate some specs to use "the new way" The commands these specs run were throwing warnings in bundler 2, and failing on bundler 3, effectively testing a different scenario to what they were supposed to. https://github.com/rubygems/rubygems/commit/97ac1ced49 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit 94fc709dd19ec6c6396982fef06e9b7d3ce8ae48 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 20:23:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] s/rails_fail/rails_pinned_to_old_activesupport/ The `rails_fail` name is misleading because there's no specific reason why such a gem would need to fail. As a matter of fact, `bundle install`'ing a Genfile with only that dependency like the spec the previous commit adds is not expected to fail. https://github.com/rubygems/rubygems/commit/b947f40701 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit f8f3f11ed580074960e5de1de4552bdf14d7d70d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-07 20:07:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-18 19:14:15 +0900 [rubygems/rubygems] Fix `only_update_to_newer_versions` regression The `only_update_to_newer_versions` feature flag will enable some new behaviour in bundler 3 (or maybe earlier if we decide to consider it a bug fix) that prevents `bundle update` from unexpectedly downgrading direct dependencies. This seems reasonable, but the current implementation is adding additional requirements for all locked dependencies, not only from the ones in the `Gemfile`. That causes some situations where the `Gemfile` is edited and will resolve to older versions to start failing. This commit fixes the problem by making sure extra requirements are added exclusively for direct dependencies in the `Gemfile`, not for all direct dependencies in the lock file. https://github.com/rubygems/rubygems/commit/128b4596e1 Notes: Merged: https://github.com/ruby/ruby/pull/3212 commit cf1ee151b1cf7553fd0fce86a39eed4a4133ae46 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-18 11:29:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-18 11:36:21 +0900 Read in ASCII-8BIT to get rid of invalid encoding error commit 575539706496875ab36111d32f3d9ef2b9376854 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-18 10:18:32 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-18 10:18:32 +0900 test/webrick/test_filehandler.rb: implicitly fall back to UTF-8 https://ci.appveyor.com/project/ruby/ruby/builds/33588714/job/hcgin7xo3sarr0r2 ``` 2) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/a/ruby/ruby/src/test/webrick/utils.rb:72]: exceptions on 1 threads: U+3042 to WINDOWS-1252 in conversion from UTF-8 to WINDOWS-1252 ``` commit 82354afbf910f7de47384204f3a0aa3b8d87c0ce Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-18 09:40:44 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-18 09:40:44 +0900 test/webrick/test_filehandler.rb: remove unused variable commit bed17974a1563852c3d1d2b7b24033ed0beaa33e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-18 09:37:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-18 09:37:54 +0900 test/webrick/test_filehandler.rb: no `.encode("filesystem")` if US-ASCII http://ci.rvm.jp/logfiles/brlog.trunk-theap-asserts.20200618-002305 ``` I, [2020-06-18T00:28:11.661066 #31625] INFO -- : 1) Failure: I, [2020-06-18T00:28:11.661157 #31625] INFO -- : WEBrick::TestFileHandler#test_cjk_in_path [/tmp/ruby/v3/src/trunk-theap-asserts/test/webrick/utils.rb:72]: I, [2020-06-18T00:28:11.661216 #31625] INFO -- : exceptions on 1 threads: I, [2020-06-18T00:28:11.661269 #31625] INFO -- : U+3042 from UTF-8 to US-ASCII ``` commit 2d817e05649d4cc7f3be7185be4bc016ee836e07 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-18 09:11:02 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-18 09:14:13 +0900 test/webrick/test_filehandler.rb: Second try to fix the CI error 93e6fa1d319d19ce7fba37e4b9924862447b9f38 failed to fix the issue. I suspect that the request path must be encoded as filesystem encoding. commit cc46d514dcc2d61f7bc8a7b1ff01dd01fd10dd9b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-17 23:22:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-18 01:42:12 +0900 $(PREP) is needed to run $(MINIRUBY) commit e544a3a23cb80460d77dcb145ad1ff84f77524c0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-18 01:16:01 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-18 01:16:01 +0900 Remove obsoleted opt_call_c_function insn (#3232) * Remove obsoleted opt_call_c_function insn * Keep opt_call_c_function with DEFINE_INSN_IF Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit e30ff63fd4eb24fd638259cb10638668f0f2ceeb Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-17 23:28:51 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-17 23:28:51 +0900 test/rubygems/test_gem_package.rb: Skip a test when TMPDIR is too long to suppress the following failure: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200617T130007Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200617T131443Z.fail.html.gz ``` 1) Failure: TestGemPackage#test_extract_symlink_parent_doesnt_delete_user_dir [/export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/test/rubygems/test_gem_package.rb:620]: --- expected +++ actual @@ -1 +1 @@ -"installing into parent path /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/user/dir of /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/subdir is not allowed" +"installing into parent path link/dir of /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/subdir is not allowed" ``` These CI environments use very long TMPDIR for some reason. The test case creates a directory in TMPDIR and attempts to add a symbolic link to the path into a tarball. However, tar format limits the maximum length up to 99, so the path is truncated. This truncation makes the path check of `Gem::Package#install_location` pass through, and then the check of `#mkdir_p_safe` raises an error. The error message is slightly different from the expected value, so the test fails. I'm unsure what to do, so I tentatively skip the test when TMPDIR is long. I'll create a ticket into rubygems bug tracker. commit b1d74afd3a869c4dbdd5c2834d9b7b7ea6c4dad1 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-17 02:40:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Speed up setup test by not installing docs This also makes this test consistent with the other tests in this file. Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit 3d8e0d8e50bfafa523ad8fbbc7206712bb7de4da Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-16 20:15:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Skip `test_gem_package_task` if `rake` not present Instead of erroring. Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit 967dba157ca8a4864435d6dd0cf0bb68f83dafe1 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-16 20:14:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Simplify handling of a `LoadError` The `LoadError` has a `path` reader in all supported rubies. Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit e0337ce597f2259ac862bd9462601af0c03d51d9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-16 20:14:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Remove unnecessary explicit `rake` activation Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit 7b5a779576eca72c42a584fdf432231e34f704dc Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-16 20:13:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Remove unnecessary stuff from base test case Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit 66b0677bcfcdbb2ae992f538b9ebd89dfea9e27a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-17 00:40:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Tweaks to play nicer with ruby-core parallelized tests Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit 106d616cc8a5c95a2944f9ea3d7f99ee54042cdd Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-16 23:26:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Make sure to only reset "dummy" $LOADED_FEATURES Namely, those generated under `/tmp`. The previous approach was brittle and broken in the case of ruby-core, because under that setup, the current folder is in the original `$LOAD_PATH`, and dummy features are created under `./tmp`, so they were failing to be reset. Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit f5459acd79c30dbea3062e48fb2b12d510c5b868 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-12 00:30:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Make sure tmp folder exists before calling `Dir.tmpdir` This was guaranteed by our gitignore setup where a `tmp/` folder is always present right after cloning the repository, but was not guaranteed under the ruby-core setup. This alternative approach should always work. Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit 97819759de9a3a62bb7a4c137d8aa3eb75138e04 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-11 19:10:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Revert "Revert "[rubygems/rubygems] Use a local temporary directory"" This reverts commit 20971d0df41368e0f946683823bc786514e16fef. Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit dd1bfbc0613c1131b1c31f02e336f88255eb3cab Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-15 19:26:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-17 21:16:56 +0900 Remove unneeded code This was added ~8 years to fix some json warning but I'm pretty sure it's not needed anymore. This has caused several issues in both ruby-core and rdoc test suite and it doesn't make much sense to me these days so let's kill it. Notes: Merged: https://github.com/ruby/ruby/pull/3213 commit 7325bed2b45bc7678b95e1f79e151a7a779f7484 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-17 12:08:34 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-17 12:08:34 +0900 Show filesystem encoding in failure message `test_cjk_in_path` failed on mswinci yet. https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200616T192319Z.fail.html.gz ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200617-120024-1brdn58/ruby/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-17 06:12:53] ERROR `/あ.txt' not found. webrick log end. <"200"> expected but was <"404">. --- <[]> expected but was <["[2020-06-17 06:12:53] ERROR `/\xE3\x81\x82.txt' not found.\n"]>. ``` commit af6e63a9df5cd21d57a7a431cf5b45234d1f1b20 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-17 09:58:35 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-17 10:06:01 +0900 rb_method_name_error: delete unused code If you look at the code flow (break -> goto), this assignment never makes any sense. Should just remove. I _guess_ this behaviour is unintended. Original code at commit 4dc1a2180946ab793adee5eb235fc4ee8fa4cefe did something. It might be the code flow that is buggy. However rubyspec already includes this particular edge case at ruby/core/module/undef_method_spec.rb. I don't think we can change the way it is any longer. commit ccb7a4b9f22c6ef8d51517322f82031fadf68769 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-15 10:00:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-17 08:18:46 +0900 Replaced accessors of `Struct` with `invokebuiltin` commit b06d7c5521bd55d82eef96efcc2c7df1c29a3e5d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-06-17 07:18:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-17 08:18:45 +0900 ISeq created with callback is special, translation cannot be applied commit 4dba8b4027e1f3366c2e04dd7554eb65edbea983 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-06-17 06:45:45 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-17 06:45:45 +0900 Assert iclass property and remove dead code Iclass objects are never made from other iclass objects. Notes: Merged: https://github.com/ruby/ruby/pull/3218 Merged-By: XrXr commit eaf76be08720fe11e7faf5c3011d9fe58fe3cec4 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-06-17 02:13:54 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-17 02:13:54 +0900 Remove unused else if statements in int_even_p func (#3220) * remove else if & rb_funcall * fix int_even_p impl * fix rb_int_odd_p implementation Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit b877928ca562ce1769d821769d3e417ed973b156 Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-06-16 23:23:13 +0900 Commit: Akinori MUSHA <knu@idaemons.org> CommitDate: 2020-06-16 23:23:13 +0900 Fix the ArgumentError message in shellsplit Change "double quote" to just "quote" because the message is about any type of quotes. commit 68e43103442b95ebfa133e238550159fc3d1197d Author: Akinori MUSHA <knu@idaemons.org> AuthorDate: 2020-06-16 23:15:51 +0900 Commit: Akinori MUSHA <knu@idaemons.org> CommitDate: 2020-06-16 23:15:51 +0900 Improve the document of Shellwords - Improve careless examples - Insert `--` before a file name for cat(1) - Insert `-e` before a search pattern for grep(1) - Add a caution about passing an arbitrary argument to a command commit 318d52e820c9ed1bc4c12aa97af49a89953649bc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-16 18:44:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-16 18:44:58 +0900 Revert "Replaced accessors of `Struct` with `invokebuiltin`" This reverts commit 19cabe8b09d92d033c244f32ff622b8e513375f1, which didn't support tool/lib/iseq_loader_checker.rb. commit 26c179d7e7e7ae0eb21050659c3e8778358230ab Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-16 01:03:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-16 18:25:35 +0900 Check argument to ObjectSpace._id2ref Ensure that the argument is an Integer or implicitly convert to, before dereferencing as a Bignum. Addressed a regression in b99833baec2. Reported by u75615 at https://hackerone.com/reports/898614 commit 19cabe8b09d92d033c244f32ff622b8e513375f1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-15 10:00:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-16 18:24:02 +0900 Replaced accessors of `Struct` with `invokebuiltin` commit 84160dc29bf156aa7290236dcf42a8f601129cac Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-06-16 17:47:59 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-16 17:47:59 +0900 Add static modifier for rb_int_ceil & rb_int_floor (#3217) Notes: Merged-By: ko1 <ko1@atdot.net> commit d9c880404578f891ec5de5e13346e46e1a6ea94b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-16 12:29:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-16 12:29:02 +0900 Update without touch-unicode-files commit 466d3e68da5df4f76d87332ff6786a391cc8bde4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-16 11:44:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-16 12:15:55 +0900 Just update sources in CI without fetching Also install external libraries only, extract-gems does not work unless base ruby is available. commit e38470729672f589417f4843c508bc46c60a5238 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-16 00:26:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-16 00:26:17 +0900 Updated builtin type names Fixnum and Bignum have been unified to Integer already. commit 7a571103f231e8f9e7200aa40b9a56c3f34a2e80 Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-06-15 07:28:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Exit with non-zero status on disabled gem system update. Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit 3ab1cfc325811b862cb81d0360bf83216cd6f235 Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-06-14 07:26:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Add Gem.disable_system_update_message to disable gem update --system if needed. Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit 49c42b6012264890bedb572e5e0c6fc4750aaf9a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-13 00:16:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Remove encoding magic comments They are no longer needed since ruby 2.0. Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit 2b4abcff90a3c4c4d07e0929e1f99afbfeb57a4e Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-12 18:37:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Deprecate `Gem::Util.silent_system` There's better tools for this job. Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit afce7eb39ec58f9ec65b3cf53059a4bc3bd58cbd Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-24 20:54:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Replace `Gem::Util.silent_system` with better tools Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit c61031d6b66674cf57211ff52677c223fe1d17ac Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-02-25 23:45:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Remove modelines for consistency No other files in the repo include this. Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit 4784264729b062300998a61e3b1e978a259221c9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-28 00:44:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Remove random code Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit 955f1837a180d8936f90ab6cf039ccb8f751be72 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-11 02:46:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 21:20:37 +0900 Use space inside block braces everywhere To make rubygems code style consistent with bundler. Notes: Merged: https://github.com/ruby/ruby/pull/3229 commit ef481c120c55bf0351a586739f9b5d704f3f7a7d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-08 03:36:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 19:48:25 +0900 Fix ruby-head failing tests In `ruby-head` (where system rubygems already has the `XDG` standard implementation), some tests currently depend on the presence of a `~/.gem` folder in the home of the user that runs the tests. If that file is present, tests pass, otherwise they don't. For example, the following passes if you have a `~/.gem` folder but fails otherwise with: ``` $ rake TESTOPTS="--name=/TestGemCommandsGenerateIndexCommand#test_execute$\|TestGemCommandsUpdateCommand#test_execute_user_install/ -v" Run options: "--name=/TestGemCommandsGenerateIndexCommand#test_execute$|TestGemCommandsUpdateCommand#test_execute_user_install/" -v --seed 17318 # Running: TestGemCommandsGenerateIndexCommand#test_execute = 0.02 s = . TestGemCommandsUpdateCommand#test_execute_user_install = /rubygems/test/rubygems/test_gem_commands_update_command.rb:412: warning: instance variable @user_install not initialized 0.04 s = F Finished in 0.095337s, 20.9783 runs/s, 20.9783 assertions/s. 1) Failure: TestGemCommandsUpdateCommand#test_execute_user_install [/rubygems/test/rubygems/test_gem_commands_update_command.rb:414]: user_install must be set on the installer 2 runs, 2 assertions, 1 failures, 0 errors, 0 skips rake aborted! Command failed with status (1) Tasks: TOP => default => test (See full trace by running task with --trace) ``` This is because the very initial `require` of the default `did_you_mean` gem that ruby does on startup runs _before_ the global `setup` hook of our tests run. During this require `Gem.data_home` and its value is memoized to a path in the real users home (not the fake user's home that our tests setup, since that code hasn't run yet). Then that memoized value is used when looking for the default folders to look for gems, and since there's no `~/.gem` folder, its value is actually used as part of the `Gem.user_dir` folder in `Gem::Specification.dirs` (this is how we've approached backwards compatibility for the `XDG` feature). That means dummy test gems with the `--user-install` flag are installed to global, real locations and everything is messed up. This commit fixes the issue by resetting the `Gem.data_home` value in case it has already been memoized. Notes: Merged: https://github.com/ruby/ruby/pull/3211 commit c3ecd1cbd37db93fe181f00dd0c43059d2f3fcec Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-11 19:12:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 19:48:25 +0900 Revert "Revert "[rubygems/rubygems] Remove unneeded global teardown"" This reverts commit ac2c07e98373bb62be618001c897fa9d5809d8a4. Notes: Merged: https://github.com/ruby/ruby/pull/3211 commit 3a2628025ed82b833483e8c42e08a0f7d12668ad Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-11 19:12:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 19:48:25 +0900 Revert "Revert "[rubygems/rubygems] Remove unneeded teardown"" This reverts commit ceacb06311cf150cd3682b277bbe6cf7e7bbbc30. Notes: Merged: https://github.com/ruby/ruby/pull/3211 commit 2a20c179822ef72bb0d7329c22cbe1732f5e307b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-15 16:20:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-15 16:20:56 +0900 Prefer String#each_byte when using a block commit 8f99bfa26d0bd99089f0f38af3666a89e8432265 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-15 13:18:56 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-15 13:56:01 +0900 tool/lib/minitest/unit.rb: Reproducible shuffle of test suites ... based on CRC32 of names of the test suites. Formerly, `make test-all` randomized the order of the test suites by using `Array#shuffle`. It also shows `--seed N` to reproduce the order, but it was not reproducible when a suite set is different. This change sorts the suites by CRC32 hash of the suite names with a salt generated by the seed. commit 094fb6ae0d1df90751a3d0a5c90f97cd96550f16 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-15 04:03:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 12:38:39 +0900 Accommodate process title spec to ruby-core setup I'm guessing the commands under ruby-core setup are very long, so the title gets truncated. Use a shorter title, since the test doesn't really care. Notes: Merged: https://github.com/ruby/ruby/pull/3225 commit 117b504b98add70984313d96e9d4b67d74b10c8b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-12 04:05:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 12:38:39 +0900 Fix most exec specs The `gem_command` helper was failing to require `support/hax.rb`, which takes care of making sure rubygems actually picks up the right `ruby` executable under ruby-core setup (`ENV["RUBY"]`). This caused binstubs to be generated with a wrong shebang, and that caused `bundle exec` to not work. The error message was pretty confusing though due to https://bugs.ruby-lang.org/issues/16952. Notes: Merged: https://github.com/ruby/ruby/pull/3225 commit f5f6415f264400e44888afb9335f76bd46e3f69d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-14 20:10:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-15 12:37:37 +0900 A help message to `tool/sync_default_gems.rb` Notes: Merged: https://github.com/ruby/ruby/pull/3223 commit 93e6fa1d319d19ce7fba37e4b9924862447b9f38 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-15 10:43:01 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-06-15 11:25:33 +0900 Use filesystem encoding in do_GET of filehandler Try to fix 404 error on mswinci. https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200614T225859Z.fail.html.gz ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200615-24932-11ykstf/ruby/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-15 09:48:29] ERROR `/あ.txt' not found. webrick log end. <"200"> expected but was <"404">. --- <[]> expected but was <["[2020-06-15 09:48:29] ERROR `/\xE3\x81\x82.txt' not found.\n"]>. ``` Notes: Merged: https://github.com/ruby/ruby/pull/3227 commit 80bd3aa32b92f952dab4330281ff049739439568 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-15 07:00:54 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-15 07:01:15 +0900 Try using longer read_timeout for --jit-wait failure on TestFTP. When we skip a test, the place to hang (long wait for compilation) just moves to another test and it doesn't seem to finish. http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3003055 commit d23917dd85972b231ebe15b9d2fb6625a2bb8e08 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-14 16:09:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-14 16:09:00 +0900 Support arguments of singleton method commit b22bfdaa9ad0ae96f79ee75503c85908fa2ec934 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-14 16:08:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-14 16:08:33 +0900 Fixed up rest, keywords, keyword rest and block arguments commit 997133d5959d73663988814704b2e390a75ea718 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-14 15:45:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-14 15:48:34 +0900 Make __builtin_cexpr! and __builtin_cstmt! work again with Ripper. a3e6f52c17061f012c4e638b3343b57752ed7603 introduced __builtin_cexpr! and __builtin_cstmt!, but nobody has used them and then they broke on 79292b30884ebcd8be028a7f3c9ccafd7759f2ae by undefined `params`. This patch fixes the undefined `params`, but still we're not using them yet. commit 454e8120dbd4216f6da641e0b4d996710ad2ebc6 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-14 11:15:23 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-06-14 14:00:37 +0900 Add ubuntu-20.04 and rename to ubuntu-18.04 from ubuntu-latest Notes: Merged: https://github.com/ruby/ruby/pull/3222 commit 97614c55215afcc834c78aa27e34388cd0ca4c84 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-06-14 13:06:42 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-14 13:16:16 +0900 apinfo/fpinfo should always be non-NULL commit ddded1157a90d21cb54b9f07de35ab9b4cc472e1 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-06-14 09:24:36 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-14 09:24:36 +0900 Introduce find pattern [Feature #16828] commit f7906a7e31e6b1cfa135ecea69deb8827e8c8803 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-06-14 09:23:43 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-06-14 09:23:43 +0900 push_pktbl is needed for hash pattern, not for array pattern commit 1583c743d52a0ba94c98c2723b9e595b5e400c6e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-06-14 08:32:29 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-06-14 08:33:46 +0900 Skip test_getbinaryfile_command_injection on --jit-wait Timeout-based test often fails with --jit-wait as a false positive. Like other tests in the TestFTP, let me skip this as well. http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3001181 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3000134 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2999923 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2998857 commit 2496bdb28f46d984b4721c4d8c8995ff50c9e6bd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-01 18:33:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-13 23:33:40 +0900 Extracted argument forwarding staffs commit 8e5352569bf6386109e2578df534410e1e771af3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-13 22:59:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-13 23:33:40 +0900 [ripper] use Ripper DSL commit 1efc3d6d65405631630e32bdcc5274bb49f44222 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-13 22:57:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-13 22:57:31 +0900 Suppress warnings [Feature #15973] commit 1f1b62fb7bb0855788f3da7fdcf9e440ff617fb3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-13 08:09:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-13 08:22:06 +0900 Added install-dbg Scripts to run the interpreter via debugger. commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-12 19:00:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-12 19:02:50 +0900 Revert "[ruby/fileutils] Make verbose output go to stdout instead of stderr" This reverts commit 7cddb844e6d51f954c6669341b9cc656bd7d3492, because the test of rake 13.0.1 is depending on the previous behavior. commit cc9ca468fecd153596c25877006f208161e477fb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-10-03 01:39:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-12 18:38:49 +0900 [ruby/fileutils] Fix #install with "X" mode option `FileUtils#install` methed raises an unexpected `TypeError`, when called with `mode:` option which has `"X"`. ``` $ ruby -rfileutils -e 'FileUtils.install("tmp/a", "tmp/b", mode: "o+X")' /opt/local/lib/ruby/2.7.0/fileutils.rb:942:in `directory?': no implicit conversion of File::Stat into String (TypeError) from /opt/local/lib/ruby/2.7.0/fileutils.rb:942:in `block (3 levels) in symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `each_char' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `each' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `inject' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `block (2 levels) in symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `each' from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `each_slice' from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `block in symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `each' from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `inject' from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:973:in `fu_mode' from /opt/local/lib/ruby/2.7.0/fileutils.rb:883:in `block in install' from /opt/local/lib/ruby/2.7.0/fileutils.rb:1588:in `block in fu_each_src_dest' from /opt/local/lib/ruby/2.7.0/fileutils.rb:1604:in `fu_each_src_dest0' from /opt/local/lib/ruby/2.7.0/fileutils.rb:1586:in `fu_each_src_dest' from /opt/local/lib/ruby/2.7.0/fileutils.rb:877:in `install' from -e:1:in `<main>' ``` In spite of that `symbolic_modes_to_i` considers the `File::Stat` `path` case at the beginning, in `"X"` case, `path` is passed to `FileTest.directory?` method which requires a `String`. In such case, the mode in `path` should be examined instead. https://github.com/ruby/fileutils/commit/af675af6b2 commit 7cddb844e6d51f954c6669341b9cc656bd7d3492 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-10 01:42:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-12 18:38:47 +0900 [ruby/fileutils] Make verbose output go to stdout instead of stderr Verbose output is not error output, and should be sent to stdout and not stderr. Fixes Ruby bug 4436 https://github.com/ruby/fileutils/commit/563a383025 commit e2678781c739edb17f1744d35a9958146e880996 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-06-12 17:28:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-06-12 17:32:49 +0900 prevent memory allocation for GC tests We observed test failures on test_latest_gc_info with random order CI. http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/2998078l0ll To solve it, use a pre-allocated hash object and rehearsal. commit 1f4db23ac1160bb73afb6d7dfd439ccb64d81bc2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 10:35:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-12 10:35:44 +0900 .gdbinit: struct RHash::basic is not a pointer commit c74b044aabcac6fd31b5e86725755a5305b55445 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-12 10:23:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-12 10:23:15 +0900 .gdbinit: as.heap.aux.shared no longer exist Maybe 182ae1407b3f6597cdbf6872f788c1ed3aa22a35 missed it. commit a6cf2f3d22a78aeae9d7f36cc78a195deb686705 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-10-28 08:03:07 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-12 06:02:00 +0900 Make mutating the result of SortedSet#to_a not affect the set Fixes [Bug #15834] Notes: Merged: https://github.com/ruby/ruby/pull/3215 commit e100fcbdd1e81c23e3b4c87964aff210232903a8 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-06-11 07:44:52 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-06-12 03:46:08 +0900 Prohibit setting class variable on frozen module through inheritance Setting class varibles goes through the ancestor list which can contain iclasses. Iclasses share a lot of information with the module they are made from, but not the frozen status. Check the frozen status of the module instead of the iclass. Notes: Merged: https://github.com/ruby/ruby/pull/3203 commit eb5ecc2ea81d954c62375aa0757760bc65dea062 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-12 00:55:11 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-12 00:55:11 +0900 Enhanced Rdoc for Array#rindex and Array#[]= (#3204) * Enhanced Rdoc for Array#rindex and Array#[]= * Enhanced Rdoc for Array#rindex and Array#[]= Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 2188d6d160d3ba82432c87277310a4d417e136d5 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-11 09:50:35 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-11 23:30:48 +0900 Warn when passing a non-literal block to Kernel#lambda Implements [Feature #15973] Notes: Merged: https://github.com/ruby/ruby/pull/3209 commit 5349506eb4c0668fa1d6f512e4dae1021a9a7460 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-11 14:49:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-11 18:06:29 +0900 Updated autogenerated dependencies Sorted the lines asnd added mjit_build_dir.o dependencies. commit 2dd61df69f776f275ee68e9c4f0abbecd50a9379 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-11 17:12:11 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-11 17:12:11 +0900 Revert encoding to `::Encoding::UTF_8` if `fu_windows?` commit 59646e8e29e58bd6b4d0e622e76072ee47d0ae34 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-11 16:29:31 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-11 16:29:31 +0900 Fix error in `remove_entry` When `LANG=C`, dir is `UTF-8` and `base` is 'ASCII-8BIT` in `FileUtils::Entry_#join`. So `Encoding::CompatibilityError` occurred and files are not removed. https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200611T060002Z.fail.html.gz ``` 1) Error: WEBrick::TestFileHandler#test_cjk_in_path: Errno::ENOTEMPTY: Directory not empty @ dir_s_rmdir - /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/tmp/???20200611-1887828-3nn72a /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1460:in `rmdir' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1460:in `block in remove_dir1' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1471:in `platform_support' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1459:in `remove_dir1' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1452:in `remove' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:780:in `block in remove_entry' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1509:in `ensure in postorder_traverse' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1509:in `postorder_traverse' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:778:in `remove_entry' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/tmpdir.rb:97:in `mktmpdir' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/test/webrick/test_filehandler.rb:292:in `test_cjk_in_path' ``` commit a6713a5758da2698c0633a658d7bdf77d940c9af Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-11 13:18:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-11 14:31:39 +0900 Refined ioctl error description commit c1d1f92e8a18c34f4ef2361d4cd4fdae89d9d2af Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-03-31 20:06:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 14:22:32 +0900 [ruby/logger] Mention `File::Null` in Logger#new document https://github.com/ruby/logger/commit/2e772770be commit c7da0fcb39b837a253f5e6d2d666637a390301e6 Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-03-30 19:39:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 14:22:19 +0900 [ruby/logger] Mention behavior when logdev is a nil in the document https://github.com/ruby/logger/commit/8dc270ee23 commit ae93ebae677f685aab155d7982c64c1cb6e4b69c Author: Lourens Naudé <lourens@bearmetal.eu> AuthorDate: 2020-03-29 01:16:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 13:54:04 +0900 [ruby/logger] Let Logger#reopen not raise on nil log devices https://github.com/ruby/logger/commit/da7bf844e5 commit f3e12caa088cc893a54bc2810ff511e4c89b322b Author: Lourens Naudé <lourens@bearmetal.eu> AuthorDate: 2020-03-29 01:11:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 13:53:50 +0900 [ruby/logger] Let File::NULL ("/dev/null", "NUL" etc.) be considered a nil log device https://github.com/ruby/logger/commit/b42a1b99aa commit 13baa2b5a5eddce9402480d5929261040651f2a0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-27 10:01:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 13:48:17 +0900 [ruby/matrix] Drop to Ruby 2.4 and 2.5 https://github.com/ruby/matrix/commit/3244d82804 commit e698bf1a7f06452c9509f33e865cc9797dde15b9 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-04-03 17:29:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 13:38:32 +0900 [ruby/webrick] Fix httpd error in CJK directory [Bug #16753] https://github.com/ruby/webrick/commit/83cf440858 commit 6742fcf5531f29b1cce33ab32895513b87f3f53e Author: John W Higgins <wishdev@gmail.com> AuthorDate: 2020-05-22 03:22:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 13:37:24 +0900 [ruby/webrick] Extract creation of Net::HTTP in httpproxy https://github.com/ruby/webrick/commit/e58195faf8 commit fdd475386d25948fc9c82930c9c7e2feb6e69e84 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2019-12-19 10:18:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 13:29:06 +0900 Gem::Specification#date is set automatically by RubyGems.org. commit 3b3a9edf488dd2f2f7d45a5e243d2c9b00b4455b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-27 11:01:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 13:06:59 +0900 Drop to Ruby 2.4 commit 44581d98bb2f6bd96a07f9fe335bf70de8d82302 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-26 19:03:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 12:39:31 +0900 [ruby/net-imap] Drop to Ruby 2.4 https://github.com/ruby/net-imap/commit/c3256e3848 commit aa8ca03f3991e76ea184ee3bca16b1726c15fdab Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-27 11:33:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-11 12:24:57 +0900 [ruby/delegate] Fixed superclass missmatch https://github.com/ruby/delegate/commit/3ab3add800 commit f3e927b0cc1fcbf03abea7f66b1a3736a270a8de Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-11 07:17:54 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-11 09:49:54 +0900 Make proc/Proc.new without block an error instead of warning The warning for these was added in 2.7. Notes: Merged: https://github.com/ruby/ruby/pull/3208 commit f48fce4981574f7df33982eb901c94e8f4d6d4ab Author: Jean byroot Boussier <jean.boussier+github@shopify.com> AuthorDate: 2020-06-11 06:54:15 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-11 09:49:11 +0900 Fix a typo in instance_variable_set documentation Notes: Merged: https://github.com/ruby/ruby/pull/3207 commit 0213f5b08a470d322edb54bda85523d05b2ea4c7 Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-06-10 23:17:56 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-06-11 08:36:44 +0900 Fix ASan crash Notes: Merged: https://github.com/ruby/ruby/pull/3205 commit 04fddf35734f04fd16824a847cad499465663a5f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-10-01 12:29:48 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-11 04:49:27 +0900 ENV.delete should return the result of block on non-existing key Fixes [Bug #16173] Co-Authored-By: Burdette Lamar <burdettelamar@yahoo.com> Co-Authored-By: Jeremy Evans <code@jeremyevans.net> Notes: Merged: https://github.com/ruby/ruby/pull/3206 commit 96d184aa49ac48298501722d9d0c50180df04122 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-10 21:59:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-10 23:30:13 +0900 Run spec/bundler without a sub-make commit 73ca989a8175dfdfbc92a31aac7bb6252ee4fe2c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-10 19:59:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-10 21:56:36 +0900 spec/bundler must not be run by mspec commit 998ccb083135d65361b3b1e6c40c660bb627f31b Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-16 01:53:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-10 21:33:46 +0900 [rubygems/rubygems] Use parenthesis for clarity for ternary condition https://github.com/rubygems/rubygems/commit/d1247472b9 commit b62e9c912d744a1742a41be252855511f0a48032 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-16 01:51:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-10 21:33:14 +0900 [rubygems/rubygems] Increase timeouts in test_gem_stream_ui.rb * 0.1s is really short and fails in CI: #3622 https://github.com/rubygems/rubygems/commit/d8495ae1c1 commit 8d4b2594086d753bc3e7e5dd16ec827bc360be58 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-10 20:45:29 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-10 20:45:29 +0900 Enhanced Rdoc for Array#fetch and Array#index (#3202) * Enhanced Rdoc for Array#fetch and Array#index * Couple of tweaks (per review) in Rdoc for Hash Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 21df4dce5308bb0e04e09dc654cdc92af000caf6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-10 19:42:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-10 19:42:27 +0900 Skip updating exts in test-all to reduce the turnaround time commit 5648976c3c207b0f750a5ce26ba4862c63f6a626 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-10 10:19:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-10 10:22:39 +0900 vm_call_method: avoid marking on-stack object This callcache is on stack, must not be GCed. However its contents are copied from other materials, which can be an ordinal object. Should set a flag to make sure it is properly skipped by the GC. commit 8bee9e5cd5e806f94fa727fa58a85effae908c57 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-10 09:52:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-10 09:52:54 +0900 doc/contributing.rdoc: Now ruby >= 2.2 or 2.3 is required to build ruby commit 41b8866e75ff817de0062571cabb30402f683c19 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-10 09:29:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-10 09:29:37 +0900 This document is stale status. Now, You can see the all of contributors at https://github.com/ruby/ruby/graphs/contributors commit ad0eccf840f692694e63ec72c8496dc106e603ed Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-06-10 08:30:55 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-10 08:30:55 +0900 Work around infinite loop when overriding method visibility in prepended module (#3201) For ZSUPER methods with no defined class for the method entry, start the next lookup at the superclass of the origin class of the method owner, instead of the superclass of the method owner. Fixes [Bug #16942] Notes: Merged-By: jeremyevans <code@jeremyevans.net> commit 9491bd89dace4fa26f1e5333d0ebbca14749eb3e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-10 00:00:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-10 06:32:36 +0900 Reduced job number to run tests on MinGW It seems too heavy as fails more often than before. commit 62ce8f96cd1bf8df50ac7aa1a6f5aa616f24b944 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-06-10 05:46:29 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-06-10 05:53:18 +0900 Revert "Combine sweeping and moving" This reverts commit 02b216e5a70235f42f537e895d6f1afd05d8916a. This reverts commit 9b8825b6f94696c9659f93f5da9bf02644625f67. I found that combining sweep and move is not safe. I don't think that we can do compaction concurrently with _anything_ unless there is a read barrier installed. Here is a simple example. A class object is freed, and during it's free step, it tries to remove itself from its parent's subclass list. However, during the sweep step, the parent class was moved and the "currently being freed" class didn't have references updated yet. So we get a segv like this: ``` (lldb) bt * thread #1, name = 'ruby', stop reason = signal SIGSEGV * frame #0: 0x0000560763e344cb ruby`rb_st_lookup at st.c:320:43 frame #1: 0x0000560763e344cb ruby`rb_st_lookup(tab=0x2f7469672f6e6f72, key=3809, value=0x0000560765bf2270) at st.c:1010 frame #2: 0x0000560763e8f16a ruby`rb_search_class_path at variable.c:99:9 frame #3: 0x0000560763e8f141 ruby`rb_search_class_path at variable.c:145 frame #4: 0x0000560763e8f141 ruby`rb_search_class_path(klass=94589785585880) at variable.c:191 frame #5: 0x0000560763ec744e ruby`rb_vm_bugreport at vm_dump.c:996:17 frame #6: 0x0000560763f5b958 ruby`rb_bug_for_fatal_signal at error.c:675:5 frame #7: 0x0000560763e27dad ruby`sigsegv(sig=<unavailable>, info=<unavailable>, ctx=<unavailable>) at signal.c:955:5 frame #8: 0x00007f8b891d33c0 libpthread.so.0`___lldb_unnamed_symbol1$$libpthread.so.0 + 1 frame #9: 0x0000560763efa8bb ruby`rb_class_remove_from_super_subclasses(klass=94589790314280) at class.c:93:56 frame #10: 0x0000560763d10cb7 ruby`gc_sweep_step at gc.c:2674:2 frame #11: 0x0000560763d1187b ruby`gc_sweep at gc.c:4540:2 frame #12: 0x0000560763d101f0 ruby`gc_start at gc.c:6797:6 frame #13: 0x0000560763d15153 ruby`rb_gc_compact at gc.c:7479:12 frame #14: 0x0000560763eb4eb8 ruby`vm_exec_core at vm_insnhelper.c:5183:13 frame #15: 0x0000560763ea9bae ruby`rb_vm_exec at vm.c:1953:22 frame #16: 0x0000560763eac08d ruby`rb_yield at vm.c:1132:9 frame #17: 0x0000560763edb4f2 ruby`rb_ary_collect at array.c:3186:9 frame #18: 0x0000560763e9ee15 ruby`vm_call_cfunc_with_frame at vm_insnhelper.c:2575:12 frame #19: 0x0000560763eb2e66 ruby`vm_exec_core at vm_insnhelper.c:4177:11 frame #20: 0x0000560763ea9bae ruby`rb_vm_exec at vm.c:1953:22 frame #21: 0x0000560763eac08d ruby`rb_yield at vm.c:1132:9 frame #22: 0x0000560763edb4f2 ruby`rb_ary_collect at array.c:3186:9 frame #23: 0x0000560763e9ee15 ruby`vm_call_cfunc_with_frame at vm_insnhelper.c:2575:12 frame #24: 0x0000560763eb2e66 ruby`vm_exec_core at vm_insnhelper.c:4177:11 frame #25: 0x0000560763ea9bae ruby`rb_vm_exec at vm.c:1953:22 frame #26: 0x0000560763ceee01 ruby`rb_ec_exec_node(ec=0x0000560765afa530, n=0x0000560765b088e0) at eval.c:296:2 frame #27: 0x0000560763cf3b7b ruby`ruby_run_node(n=0x0000560765b088e0) at eval.c:354:12 frame #28: 0x0000560763cee4a3 ruby`main(argc=<unavailable>, argv=<unavailable>) at main.c:50:9 frame #29: 0x00007f8b88e560b3 libc.so.6`__libc_start_main + 243 frame #30: 0x0000560763cee4ee ruby`_start + 46 (lldb) f 9 frame #9: 0x0000560763efa8bb ruby`rb_class_remove_from_super_subclasses(klass=94589790314280) at class.c:93:56 90 91 *RCLASS_EXT(klass)->parent_subclasses = entry->next; 92 if (entry->next) { -> 93 RCLASS_EXT(entry->next->klass)->parent_subclasses = RCLASS_EXT(klass)->parent_subclasses; 94 } 95 xfree(entry); 96 } (lldb) command script import -r misc/lldb_cruby.py lldb scripts for ruby has been installed. (lldb) rp entry->next->klass (struct RMoved) $1 = (flags = 30, destination = 94589792806680, next = 94589784369160) (lldb) ``` commit b85b866300ad705be01961ba673262d1e54ea828 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-10 03:57:41 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-10 03:57:41 +0900 Enhanced Rdoc for Array (#3193) Methods: #freeze #<< #push #pop #shift #unshift #slice #at #first #last Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 2ba2b32d9e8c6337d8f2292433b3ad920c7fa5ef Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-06-09 08:55:10 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-06-10 02:44:52 +0900 Freeing cc tables doesn't need access to ID We don't need to resolve symbols when freeing cc tables, so this commit just changes the id table iterator to look at values rather than keys and values. commit 7f3efee1024ba46189aa4a65d08bb87fdcf1bb24 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-09 22:47:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-09 22:51:54 +0900 the default gems couldn't use ruby2_keywords gem. We avoid to use the current delegate library under the Ruby 2.7. commit cbb9935fc40b67d5f41ed6cdef1fa11d4445fd77 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-09 22:25:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-09 22:25:46 +0900 Use the dedicated conversion macro commit 101d56ddca818cad0e3ebe95e5e080fcac957b1b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-09 21:42:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-09 21:42:25 +0900 Improved assertions commit c8cd6b2003b6787630637d93b4d2930c7fa5590e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-09 21:30:36 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-09 21:30:36 +0900 Added ruby2_keywords for Ruby 2.6 and 2.5 commit 31419f46fcfa754428ba7526ee7c300c8a28670a Author: pavel <pavel.rosicky@easy.cz> AuthorDate: 2020-02-18 02:34:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-09 21:13:34 +0900 [ruby/fcntl] add F_GETPIPE_SZ and F_SETPIPE_SZ https://github.com/ruby/fcntl/commit/39e0faedc5 commit bee63ab97a29ecf951d42c5c85d7e0383e170a99 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2019-12-05 21:22:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-09 21:11:32 +0900 [ruby/fcntl] Use Gemfile instead of Gem::Specification#add_development_dependency. commit 28f4b5af4511bc746e1dfedd498aa6d29293b71e Author: dsisnero <dsisnero@users.noreply.github.com> AuthorDate: 2019-12-04 05:26:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-09 20:56:15 +0900 [ruby/dbm] Update dbm.gemspec https://github.com/ruby/dbm/commit/25a6f365bb commit 63872c7e31b7a183d8fd0caec2878ea9c4b73ef3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2019-12-01 08:02:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-09 20:54:52 +0900 [ruby/gdbm] Workaround for GitHub Actions https://github.com/ruby/gdbm/commit/f42103fe93 commit b6bae0ec4433bcea6ba94a50de344c2e3b90fee9 Author: nicholas a. evans <nicholas.evans@gmail.com> AuthorDate: 2020-06-09 13:30:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-09 18:57:17 +0900 Return seconds slept after Thread.scheduler wait_sleep Kernel#sleep should still return seconds slept, even when using a Thread.scheduler. The return value of Scheduler#wait_sleep can be ignored. Notes: Merged: https://github.com/ruby/ruby/pull/3198 commit 195075e8f5f2220a0a1f00f5cfd2ad98681e71d5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-06-09 15:52:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-06-09 15:52:25 +0900 disable GC on a test CI fails with GC while `foo{}`, so that disable GC for this script. commit 366646c15e841c7a5e4fa9f85abf4b7afa871e21 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-09 13:12:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-09 13:12:10 +0900 Added CodeQL scanning by GitHub (#3196) Added configuration for CodeQL scanning by GitHub Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit f4950145cff638c4713e5cd06aead0e41c338e61 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-09 12:38:46 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 12:40:50 +0900 mjit_mark_cc_entries: should consider VM_CALLCACHE_UNMARKABLE Now that vm_empty_cc is VM_CALLCACHE_UNMARKABLE, it has to be properly ruled out from being GCed. commit adfd4f3916df3e7becae28ff1eb5721900daf959 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-09 11:46:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 12:37:36 +0900 .github: add test for -DMJIT_FORCE_ENABLE Notes: Merged: https://github.com/ruby/ruby/pull/3197 commit 8664f19796336080de093a75b921aa13fd0db049 Author: taki <taki@users.noreply.github.com> AuthorDate: 2020-03-15 07:20:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-09 10:07:10 +0900 [ruby/singleton] Remove unnecessaray space https://github.com/ruby/singleton/commit/b7c583f5cd commit 1016cff4ff43d8977bda01cc59867e75ad238836 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-08 14:26:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 rb_eql_opt,rb_equal_opt: purge stale cc When on USE_EMBED_CI, cd is stored statically. Previous use could cache stale cd->cc, which could have already been GCed. Need flush them. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit ffe58b9c8bde9fa95e91a458e334b375a37ef974 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-05 15:55:05 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_ccs_push: do not cache non-heap entries Entires not GC-able must be considered to be volatile. Not eligible for later use. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit e1e84fbb4f7df57d48fd2b1331edd0d521df7812 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-03 18:25:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 VM_CI_NEW_ID: USE_EMBED_CI could be false It was a wrong idea to assume CIs are always embedded. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 324038c66edc947a7738440621587575355087a4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-04 13:03:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 eliminate C99 compound literals Ko1 prefers variables be assgined, instead of bare literals in function arguments. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 98d099be7e6d0251a7909dfeed10b13f453cc0f4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-03 18:33:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_empty_cc: fix MSVC compile error Seems they do not allow compound literals for static variables. See https://github.com/ruby/ruby/runs/733735274 Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 4fbe86d0e22e06ecd4f79282fc66ddc40d963d60 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-03 15:06:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_call_method: use struct assignment This further reduces the generated binary of vm_call_method from 566 bytes to 545 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 88e6799759374cbd6af77a5feb596d806b4e1bd9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-03 14:59:33 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_empty_cc: refactor use macro Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 46728557c16be2693c81c7c5ca51ea161ef28f65 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 16:01:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 rb_vm_call0: on-stack call info This changeset reduces the generated binary of rb_vm_call0 from 281 bytes to 211 bytes on my machine. Should reduce GC pressure as well. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit db406daa60c1cc1585dd8a7227a87d45bbd3cb89 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 15:56:54 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_yield_setup_args: refactor use macro Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 367263c3dd7df3c412e29cefb55561d10715a96a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 15:02:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_call_method: no call vm_cc_fill This changeset reduces the generated binary of vm_call_method from 600 bytes to 566 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit fb3f1f95e88218fed75593af4058bb8e65a7ffb7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 14:16:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_call_refined: no call vm_cc_fill This changeset reduces the generated binary of vm_call_method_each_type from 2,442 bytes to 2,378 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit be5dfdd8a2d67dd845081c63b6994148930c5c53 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 14:01:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_call_zsuper: no call vm_cc_fill This changeset reduces the generated binary of vm_call_method_each_type from 2,522 bytes to 2,442 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit dbbde61cefdcdef9054dde2e799e1ff9df343575 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 13:52:31 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_call_method_missing_body: on-stack call info This changeset reduces the generated binary of vm_call_method_missing_body from 604 bytes to 532 bytes on my machine. Should reduce GC pressure as well. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 9c287f8caa1fdfc9820ab3f6b01fed252dff77b5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 13:43:47 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_call_symbol: on-stack call info This changeset reduces the generated binary of vm_call_symbol from 808 bytes to 798 bytes on my machine. Should reduce GC pressure as well. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 62b471bd441c841e8dedc209512227722dd542e6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 13:26:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_call_alias: no call vm_cc_fill This changeset reduces the generated binary of vm_call_alias from 188 bytes to 149 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 97f456374d73a8510ecfce44f3ed3b775e57f3a0 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-01 13:07:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 rb_eql_opt: fully static call data This changeset reduces the generated binary of rb_eql_opt from 86 bytes to 20 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 3da9c519737ba4c64eaaf2ee4af341c430fbad0a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-03 14:23:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 rb_vm_search_method_slowpath: skip vm_empty_cc Now that vm_empty_cc is statically allocated outside of the object space. It shall not be GCed. Here, because vm_search_cc can return that. Must not be blindly passed to RB_OBJ_WRITE, unless assertions fail on RGENGC_CHECK_MODE, like this: -- C level backtrace information ------------------------------------------- ruby(rb_print_backtrace+0x19) [0x5555557fd579] vm_dump.c:757 ruby(rb_vm_bugreport+0x151) [0x5555557fd6f1] vm_dump.c:955 ruby(rb_bug+0x1d6) [0x5555558d6396] error.c:660 ruby(check_rvalue_consistency_force+0x707) [0x5555555adb97] gc.c:1289 ruby(check_rvalue_consistency+0x1a) [0x555555598a0a] gc.c:1305 ruby(RVALUE_OLD_P+0x15) [0x5555555975d5] gc.c:1382 ruby(rb_gc_writebarrier+0x9f) [0x55555559753f] gc.c:6882 ruby(rb_obj_written+0x3a) [0x5555557a025a] include/ruby/internal/rgengc.h:180 ruby(rb_obj_write+0x41) [0x5555557a1a81] include/ruby/internal/rgengc.h:195 ruby(rb_vm_search_method_slowpath+0x5a) [0x5555557a125a] vm_insnhelper.c:1603 ruby(vm_search_method_fastpath+0x197) [0x5555557d8027] vm_insnhelper.c:1638 ruby(vm_search_method+0xea) [0x5555557d7d2a] vm_insnhelper.c:1650 ruby(vm_search_method_wrap+0x29) [0x5555557dbaf9] vm_insnhelper.c:4091 ruby(vm_sendish+0xa9) [0x5555557dba39] vm_insnhelper.c:4143 ruby(vm_exec_core+0xe357) [0x5555557b0757] insns.def:801 ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942 ruby(invoke_block+0xea) [0x5555557f42fa] vm.c:1058 ruby(invoke_iseq_block_from_c+0x16e) [0x5555557f3eae] vm.c:1130 ruby(invoke_block_from_c_bh) vm.c:1148 ruby(vm_yield+0x71) [0x5555557f3c41] vm.c:1193 ruby(rb_yield_0+0x25) [0x5555557ca615] vm_eval.c:1141 ruby(rb_yield_1+0x27) [0x5555557ca5c7] vm_eval.c:1147 ruby(rb_yield+0x34) [0x5555557ca654] vm_eval.c:1157 ruby(rb_ary_collect+0xb0) [0x555555828320] array.c:3186 ruby(call_cfunc_0+0x29) [0x5555557f0f39] vm_insnhelper.c:2385 ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553 ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146 ruby(vm_exec_core+0xe0f8) [0x5555557b04f8] insns.def:782 ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942 ruby(invoke_block+0xea) [0x5555557f42fa] vm.c:1058 ruby(invoke_iseq_block_from_c+0x16e) [0x5555557f3eae] vm.c:1130 ruby(invoke_block_from_c_bh) vm.c:1148 ruby(vm_yield+0x71) [0x5555557f3c41] vm.c:1193 ruby(rb_yield_0+0x25) [0x5555557ca615] vm_eval.c:1141 ruby(rb_yield_1+0x27) [0x5555557ca5c7] vm_eval.c:1147 ruby(rb_yield+0x34) [0x5555557ca654] vm_eval.c:1157 ruby(rb_ary_each+0xa5) [0x55555581c795] array.c:2242 ruby(call_cfunc_0+0x29) [0x5555557f0f39] vm_insnhelper.c:2385 ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553 ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146 ruby(vm_exec_core+0xe0f8) [0x5555557b04f8] insns.def:782 ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942 ruby(invoke_block+0xea) [0x5555557f42fa] vm.c:1058 ruby(invoke_iseq_block_from_c+0x16e) [0x5555557f3eae] vm.c:1130 ruby(invoke_block_from_c_bh) vm.c:1148 ruby(vm_yield+0x71) [0x5555557f3c41] vm.c:1193 ruby(rb_yield_0+0x25) [0x5555557ca615] vm_eval.c:1141 ruby(rb_yield_1+0x27) [0x5555557ca5c7] vm_eval.c:1147 ruby(rb_yield+0x34) [0x5555557ca654] vm_eval.c:1157 ruby(rb_ary_each+0xa5) [0x55555581c795] array.c:2242 ruby(call_cfunc_0+0x29) [0x5555557f0f39] vm_insnhelper.c:2385 ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553 ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146 ruby(vm_exec_core+0xe0f8) [0x5555557b04f8] insns.def:782 ruby(rb_vm_exec+0x19f) [0x5555557d183f] vm.c:1951 ruby(rb_iseq_eval+0x30) [0x5555557d2530] vm.c:2190 ruby(load_iseq_eval+0xd6) [0x5555555fa7e6] load.c:592 ruby(require_internal+0x25e) [0x5555555f7f5e] load.c:1022 ruby(rb_require_string+0x27) [0x5555555f74e7] load.c:1094 ruby(rb_f_require_relative+0x5f) [0x5555555f758f] load.c:837 ruby(call_cfunc_1+0x30) [0x5555557f0f70] vm_insnhelper.c:2391 ruby(vm_call_cfunc_with_frame+0x278) [0x5555557eca98] vm_insnhelper.c:2553 ruby(vm_call_cfunc+0xad) [0x5555557e521d] vm_insnhelper.c:2574 ruby(vm_call_method_each_type+0xc7) [0x5555557e4af7] vm_insnhelper.c:3040 ruby(vm_call_method+0x19c) [0x5555557e45dc] vm_insnhelper.c:3144 ruby(vm_call_general+0x2d) [0x5555557c8c3d] vm_insnhelper.c:3176 ruby(vm_sendish+0xd0) [0x5555557dba60] vm_insnhelper.c:4146 ruby(vm_exec_core+0xe357) [0x5555557b0757] insns.def:801 ruby(rb_vm_exec+0x12c) [0x5555557d17cc] vm.c:1942 ruby(rb_iseq_eval_main+0x30) [0x5555557d2670] vm.c:2201 ruby(rb_ec_exec_node+0x16b) [0x55555557e39b] eval.c:296 ruby(ruby_run_node+0x72) [0x55555557e1f2] eval.c:354 ruby(main+0x78) [0x55555557a5d8] main.c:50 Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 8f3d4090f037ae35fc9ba6380ee284aec837201f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-29 16:04:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 rb_equal_opt: fully static call data This changeset reduces the generated binary of rb_equal_opt from 129 bytes to 17 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 77293cef91a9aa424c086ae05f03211d9a8a87d3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-29 15:20:57 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_ci_markable: added CIs are created on-the-fly, which increases GC pressure. However they include no references to other objects, and those on-the-fly CIs tend to be short lived. Why not skip allocation of them. In doing so we need to add a flag denotes the CI object does not reside inside of objspace. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 3928c151a63b273ff10feb43906d6590c6592d1a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-05 10:14:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 vm_search_method_fastpath: avoid rb_vm_empty_cc() This is such a hot path that it's worth eliminating a function call. Use the static variable directly instead. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 877238f2d3522381f184d44b308f6e3b68367c56 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-06-03 14:21:54 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-09 09:52:46 +0900 check_cfunc: add assertions For debug. Must not change generated binary unless VM_ASSERT is on. Notes: Merged: https://github.com/ruby/ruby/pull/3179 commit 42a2fa3b175b6420a23f22441179521b4193ddd7 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-06-09 07:08:15 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-06-09 07:08:27 +0900 fix debugging output commit 0ba27259d390e902139c0e2e94b9d18ef227748e Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-13 07:34:45 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-09 03:11:27 +0900 Fix crashes in the peephole optimizer on OpenBSD/sparc64 These crashes are due to alignment issues, casting ADJUST to INSN and then accessing after the end of the ADJUST. These patches come from Stefan Sperling <stsp@apache.org>, who reported the issue. Notes: Merged: https://github.com/ruby/ruby/pull/2961 commit a3cc9b3c8e8e55660e434015654dfc4e11e3a3ab Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-09 00:27:04 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-09 00:27:04 +0900 Avoid requiring "psych/versions" This leads to double requiring "ext/psych/lib/psych/versions.rb" and ".ext/common/psych/versions.rb", which produces doxens of warnings during `make test-all`. http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200608T123004Z.log.html.gz ``` [15092/20234] TestRDocOptions#test_init_with_encoding/home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:233: warning: already initialized constant Psych::LIBYAML_VERSION /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:233: warning: previous definition of LIBYAML_VERSION was here /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:235: warning: already initialized constant Psych::NOT_GIVEN /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:235: warning: previous definition of NOT_GIVEN was here /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:271: warning: method redefined; discarding old load /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:271: warning: previous definition of load was here ... ``` The same issue happened in fiddle.gemspec, and this change applies the same fix as [fiddle](https://github.com/ruby/fiddle/issues/34). commit 465b5dc124917b828a5964c50c4e470a0c03dcf4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-08 13:13:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-08 13:15:05 +0900 Fixed main dependency `programs` has depended on the "fake" script, which is used by `test-spec` and etc. commit a4f3e1762aa195969ace000ac0dc8d300dda85cb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-08 11:44:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-08 12:38:58 +0900 Fixed test dependencies All tests of `test-all` or more require not only the `main` but also extension libraries. commit b12197dbbbcb547e6b40342e621d478f4a371d8e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-08 09:25:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-08 09:25:53 +0900 Updated the benchmark-driver version commit d0b2332e938e06b6f5b4baf07db4a65543d2a204 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-08 09:25:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-08 09:25:22 +0900 Defaulted benchmark output to markdown with comarison commit 7c2f742c40d9cbe663253755fb2db4b78443595f Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-08 03:46:43 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-08 03:46:43 +0900 Enhanced Rdoc for Hash (#3187) Methods: #<= #< #>= #> #to_proc Also, a small amount of housekeeping: Adding backslash to some class name to prevent linking. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit c0ba35f3344652bca7768cf37f367ff40f5e973e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-01 23:43:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-07 18:44:07 +0900 Differentiate `...` in lambda arguments commit 9d24ddbb53b296105177e1badce226c4e575dcc7 Author: Ryuta Kamizono <kamipo@gmail.com> AuthorDate: 2020-06-07 07:39:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-07 10:33:14 +0900 Fix `make benchmark` example `make benchmark ARGS=../benchmark/erb_render.yml` does not work. ``` % make benchmark ARGS=../benchmark/erb_render.yml /Users/kamipo/.rbenv/shims/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \ --executables="compare-ruby::/Users/kamipo/.rbenv/shims/ruby --disable=gems -I.ext/common --disable-gem" \ --executables="built-ruby::./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems --disable-gem" \ ../benchmark/erb_render.yml Traceback (most recent call last): 6: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `<main>' 5: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `flat_map' 4: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `each' 3: from ./benchmark/benchmark-driver/exe/benchmark-driver:122:in `block in <main>' 2: from /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `load_file' 1: from /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `open' /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `initialize': No such file or directory @ rb_sysopen - ../benchmark/erb_render.yml (Errno::ENOENT) make: *** [benchmark] Error 1 % make benchmark ARGS=benchmark/erb_render.yml /Users/kamipo/.rbenv/shims/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \ --executables="compare-ruby::/Users/kamipo/.rbenv/shims/ruby --disable=gems -I.ext/common --disable-gem" \ --executables="built-ruby::./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems --disable-gem" \ benchmark/erb_render.yml Calculating ------------------------------------- compare-ruby built-ruby erb_render 825.454k 783.664k i/s - 1.500M times in 1.817181s 1.914086s Comparison: erb_render compare-ruby: 825454.4 i/s built-ruby: 783663.8 i/s - 1.05x slower ``` Notes: Merged: https://github.com/ruby/ruby/pull/3191 commit fa37a220f6a0edfd9741c7fd849a537232ea6dba Author: szTheory <szTheory@users.noreply.github.com> AuthorDate: 2020-06-04 21:20:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-07 10:32:33 +0900 docs: fix typo Notes: Merged: https://github.com/ruby/ruby/pull/3183 commit f8b4340fa2c254cd093ebc3bc70d2d0c46ea9997 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-29 03:09:44 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-07 09:07:11 +0900 Add leading arguments support to arguments forwarding The idFWD_KWREST sections may be wrong. However, the existing idFWD_KWREST sections for ... without leading arguments are already broken. Implements [Feature #16378] Notes: Merged: https://github.com/ruby/ruby/pull/3190 commit 4178cbd2974fc0022823392c2460e09df2517a6e Author: Yuki Nishijima <yk.nishijima@gmail.com> AuthorDate: 2020-06-07 03:13:19 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-06-07 03:13:19 +0900 Remove experimental feaures and related code completely Original pull request: https://github.com/ruby/did_you_mean/pull/147 commit 6d4ab96c475e7187069f3f3733fac32d6e03257c Author: Yuki Nishijima <yk.nishijima@gmail.com> AuthorDate: 2020-06-07 02:48:24 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-06-07 02:48:24 +0900 Make test for no method error more reliable This test should not depend on the bahaviour of the did_you_mean gem. commit 7cfd6a0bb920a43bc9df57f35d9ccacf01e65563 Author: Yuki Nishijima <yk.nishijima@gmail.com> AuthorDate: 2020-06-05 13:53:10 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-06-07 02:02:08 +0900 Fix build failures Notes: Merged: https://github.com/ruby/ruby/pull/3135 commit e5f54465284b4505042fca10ace998e1d29c2313 Author: Yuki Nishijima <yk.nishijima@gmail.com> AuthorDate: 2020-05-23 06:17:10 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-06-07 02:02:08 +0900 Sync did_you_mean Notes: Merged: https://github.com/ruby/ruby/pull/3135 commit 0c00a4176ba353d59d8c991428574ef2c2676674 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-06 16:44:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-06 16:46:05 +0900 Hash marks in Makefile need to be escaped [Bug #16935] commit e38a2ecffd51a2fe09548b322cb19293c6d024ef Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-06 00:35:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-06 00:35:45 +0900 Run tests in more parallel commit cf1adf985ab78507250db0e217a0fdd779e2c6e6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-05 21:54:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 21:54:39 +0900 Aligned test-bundler-parallel at the end of the test order Notes: Merged: https://github.com/ruby/ruby/pull/3189 commit 53c0737ae4d961a88880b8e20242a11919bdade6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-05 21:39:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 21:39:45 +0900 Try test-bundler-parallel in GitHub Actions Notes: Merged: https://github.com/ruby/ruby/pull/3189 commit e11ffe0aaf1f5dc8345795097f09d094f523c9c6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-05 21:34:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 21:34:26 +0900 Fixup test-bundler-parallel * Do not chdir in the runner process, to access miniruby. Chdir in worker processes instead. * GNU make does not export newly added environment variables by default, set PARALLEL_TESTS_EXECUTABLE in the runner. Notes: Merged: https://github.com/ruby/ruby/pull/3189 commit 0afbfddc0d74e95e9c79090d9324cc27d9b44c32 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-05 19:20:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 19:20:48 +0900 Fixup 347127794e8041a1257b7241bbbdd9d0db2921a5 commit 347127794e8041a1257b7241bbbdd9d0db2921a5 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-05 19:01:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 19:01:39 +0900 spec/bundler/support/parallel.rb is no longer used parallel_rspec. commit 7e289cdf3fed588b2d5a6973e29f9ff95cb8d76c Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-06-04 02:18:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Fixing compatibility with libyaml 0.2.5 The main issue is that commas aren't allowed in local tags. libyaml was updated to follow the spec, and our tests were out of date. See: https://github.com/yaml/libyaml/issues/196 https://github.com/ruby/psych/commit/3f5e520fd3 Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit 6b9e363aa08d7e9db9554827c6998af60ab39abc Author: Po-Chuan Hsieh <sunpoet@sunpoet.net> AuthorDate: 2020-04-07 04:08:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Add LICENSE to the gem https://github.com/ruby/psych/commit/02919596fa Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit cd3d035e8a0d8555748f564f10ea00458a60355c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-02-14 08:26:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Remove unnecessary version guard from versions.rb Removing it triggers the following warnings when running `bundle` under jruby from the root of the `psych` repo prints the following warnings: ``` /path/to/jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:7: warning: already initialized constant VERSION /path/to//jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:10: warning: already initialized constant DEFAULT_SNAKEYAML_VERSION ``` This is because bundler loads the versions file relatively from the local gemspec, and then internally loads the psych gem, causing the redefinition warnings. Instead, we modify the $LOAD_PATH so that when working locally on the `psych` repo, the local version of `psych` gets used. https://github.com/ruby/psych/commit/a3fc8191a7 Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit f2459763862fa2eef6929557a87763fe5ff5c470 Author: Mark Thorn <mcthorn@gmail.com> AuthorDate: 2020-03-04 03:03:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Fix ArgumentError with leading and trailing underscores in number strings. https://github.com/ruby/psych/commit/ac2d2c9b1b Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit 5ed58b90d188b26e5369397b48edaba287ab09fe Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-02-27 02:36:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Fix gem installation Current version is not installable because the gemspec is invalid, since it includes a `.travis.yml` file that no longer exists, so `rake install` fails like this: ``` $ rake install rake aborted! WARNING: See https://guides.rubygems.org/specification-reference/ for help ERROR: While executing gem ... (Gem::InvalidSpecificationException) [".travis.yml"] are not files ``` https://github.com/ruby/psych/commit/32b18ca7ca Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit f641d78a6fcf0b96c50077503a763478d0599fe5 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2019-07-25 05:01:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Implement `freeze` option for Pysch.load https://github.com/ruby/psych/commit/7dae24894d Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit 4085c51a5175aeff2aeb8b849214c2899a79eb19 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2019-07-25 04:35:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Implement a freeze load option https://github.com/ruby/psych/commit/04f97f7a56 Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit 591a3326e33889858276d66b157125273491edee Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2019-07-25 04:20:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 11:49:56 +0900 [ruby/psych] Refactor `symbolize_names` https://github.com/ruby/psych/commit/3e472ab2d7 Notes: Merged: https://github.com/ruby/ruby/pull/3188 commit efa8df2886d575ddd4b4ab75dd9c7586e0e3a1d4 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-05 11:45:30 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-05 11:45:30 +0900 `local_address` may raise IOError in debug print https://rubyci.org/logs/rubyci.s3.amazonaws.com/wsl2/ruby-master/log/20200605T020004Z.fail.html.gz ``` [ 984/20282] IMAPTest#test_connection_closed_without_greeting#<Thread:0x000055b6e9589d28 /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:133 run> terminated with exception (report_on_exception is true): /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `local_address': closed stream (IOError) from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `connect_address' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block (2 levels) in test_connection_closed_without_greeting' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each_object' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `map' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block in test_connection_closed_without_greeting' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:134:in `block in start_server' ``` commit e17028e48bcddaef2fb6ded37e8f104886120465 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-06-05 10:48:47 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-06-05 10:48:47 +0900 Add sockets to debug print debug print does not include `in_tcp_socket_2`, so I think other socket connected to server socket. Add sockets to debug print, and check other socket is in same process or not. https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200604T160009Z.fail.html.gz ``` 1) Failure: IMAPTest#test_connection_closed_without_greeting [/export/home/chkbuild/chkbuild-gcc/tmp/build/20200604T160009Z/ruby/test/net/imap/test_imap.rb:523]: [Net::IMAP::Error] exception expected, not #<RuntimeError: {:server=>#<TCPServer:(closed)>, :port=>35490, :server_created=> {:server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>", :t=>45917010.30510591}, :in_start_server_before_accept=>{:t=>45917010.305154555}, :in_tcp_socket=> {:host=>"::1", :port=>35490, :server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>", :t=>45917010.40560127}, :in_start_server=> {:sock_addr=>["AF_INET6", 35490, "::1", "::1"], :sock_peeraddr=>["AF_INET6", 51584, "::1", "::1"], :t=>45917010.40767231}, :in_start_server_sock_closed=>{:t=>45917010.40770047}, :in_rescue=> {:e=>#<Errno::EINVAL: Invalid argument - connect(2) for [::1]:35490>, :server_addr=>"::1", :t=>45917010.40867455}} >. ``` commit 449b62ba0115fbe054e8f5e3a36f849e47e0f4a1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-05 10:20:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 10:20:38 +0900 Skip tests which do not work until installed when load-relative commit 073ff7397255c0827463759952982ad901fce7e2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-05 10:20:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-05 10:20:06 +0900 Show better failure messages commit a16fcb420549ae45f7e29a923d2230b0980071f3 Author: Kir Shatrov <shatrov@me.com> AuthorDate: 2020-06-05 00:25:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 08:46:06 +0900 Update docs in net/http.rb ...to reflect that Net::HTTP.start accepts keep_alive_timeout as an option. Notes: Merged: https://github.com/ruby/ruby/pull/3185 commit 4bff8e84232594ecb9914e2a8437b7c40a63b799 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-06-04 19:37:09 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-06-05 08:40:59 +0900 Ensure that the head of the vacancy list is correctly inserted into the linked list. See <https://bugs.ruby-lang.org/issues/16814> for more details. Notes: Merged: https://github.com/ruby/ruby/pull/3182 commit cfcb52fbe367d5f9259cad376510daefd442cbb9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-03 23:54:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Enable `Style/MethodCallWithoutArgsParentheses` in rubygems Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 77ba8a1d610114cdaf59993dceeb3ebf6f624436 Author: Yuki Nishijima <yk.nishijima@gmail.com> AuthorDate: 2020-05-26 09:34:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Use LoadError#path to figure out the argument passed to 'require' https://github.com/rubygems/rubygems/commit/5995394ec4 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5bbddba20b25cb2ddb7fbc82c355fb2f25633f73 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-22 02:19:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Modify `RakeFileUtils.verbose_flag` only when needed https://github.com/rubygems/rubygems/commit/d490309d75 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit b35793e0e74c8abc39d0ae58f75a6ea10983749c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-22 01:52:30 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix test warnings Since `rake package` started printing to stdout by default, we get these warnings printed when running rubygems tests: ``` $ rake Run options: --seed 6097 # Running: ...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................mkdir -p pkg mkdir -p pkg/pkgr-1.2.3 rm -f pkg/pkgr-1.2.3/x ln x pkg/pkgr-1.2.3/x rm -f pkg/pkgr-1.2.3/y ln y pkg/pkgr-1.2.3/y cd pkg/pkgr-1.2.3 cd - .... Finished in 50.578889s, 43.0812 runs/s, 134.8191 assertions/s. 2179 runs, 6819 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 8080 / 8978 LOC (90.0%) covered. ``` The reason is that, although these tests wrap the `Rake.application["package"].invoke` with a `capture_io` block, the rake application initialization happens outside of this block, and a copy of `$stdout` is saved in there, and that's where the task prints. So the `capture_io` `$stdout` and `$stderr` dance is not effective. To fix, we move the `Rake` application initialization inside the `capture_io` block. https://github.com/rubygems/rubygems/commit/7f6e2398a5 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 8739bc449f7f560fe0c5addf7da2e73f4537b0cf Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 23:31:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Only run optional validations in packaging contexts https://github.com/rubygems/rubygems/commit/f4fe949dfa Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit e9c8066bd965634475f4273406fd0e0f6f5e5988 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 22:57:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Split validations into required and optional https://github.com/rubygems/rubygems/commit/55b09a7aa2 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 455330143aed490f867cde2c1a5d0db81c2b7c76 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 22:50:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Mention that some validations only warn https://github.com/rubygems/rubygems/commit/32c7f7f484 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 257e6cda329dcc1d68e5d35893f5877de91d5978 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 22:49:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Reword `validate` method header It's not so basic anymore, and it does much more than validating required fields. https://github.com/rubygems/rubygems/commit/3c0be4cdeb Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit fc10f35f3d4054fa035603b83bb43de51e9af98b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 22:47:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Reuse `error` helper https://github.com/rubygems/rubygems/commit/3a44b6f846 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 3cfe190099bd4354b39d4276eec97bdef44255a2 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 22:47:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Move docs to a better place https://github.com/rubygems/rubygems/commit/c87ac90528 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 15018f20ddfb18f87bff11e20ac1b23f4d9fa2be Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 22:45:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Deprecate some methods that are only there for compatibility https://github.com/rubygems/rubygems/commit/b4948bda74 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5eacf4e72cffadde3c4c2b6dada6cd5343310ae3 Author: Olle Jonsson <olle.jonsson@auctionet.com> AuthorDate: 2020-04-20 05:39:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Enable rubocop-performance StartWith cop - this would keep the could-be-a-string-method matches few Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f8f5e7fadf689a11a8ee28b7af4e7777e2dec1ea Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-25 23:55:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Respect files loaded from default gems before rubygems https://github.com/rubygems/rubygems/commit/f3da3c1190 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit ff5ca548c3540c5a98a3851248248de117b2bf2f Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-09 20:10:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Use a real file to run the test * JRuby doesn't support multi-line -e. https://github.com/rubygems/rubygems/commit/1fb6657a7d Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit ae3d0d8a20c74e8163957deddc30ac81e40be353 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-09 19:40:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Add a more comprehensive and reliable test for upgraded default gems * Test that the correct version is loaded and that the default gem is not loaded at all. https://github.com/rubygems/rubygems/commit/ee08508b2a Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 345461018da1ba5a6aa5b14762e7d8d159f864c1 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-23 05:17:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Relax test to still check we're calling the expected Ruby * But not enforce that error looks like /full/path/to/ruby/bin/ruby: No such file or directory but instead allow truffleruby: No such file or directory A typical output for gem_make.out looks like: current directory: /.../rubygems/tmp/test_rubygems_112388/gemhome/gems/a-2 /.../ruby-2.6.6/bin/ruby -I /.../rubygems/lib -r ./siteconf20200422-112388-nyrcy0.rb extconf.rb '' /.../ruby-2.6.6/bin/ruby: No such file or directory -- extconf.rb (LoadError) https://github.com/rubygems/rubygems/commit/e6e08882cc Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5f0e84ba8df4faf5f58882958a79a794b95e94c8 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-23 04:20:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix check for testing in the ruby repository * When testing in the rubygems/rubygems repository, the previous code would move the lib/ dir at the end of $LOAD_PATH, which would cause to load a mix of lib/ RubyGems and in-stdlib-dir RubyGems, which blows up. https://github.com/rubygems/rubygems/commit/f6f6f00ed1 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 709d58446f5f059a7808d2dcb6bd839f0238f04a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-23 04:23:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Clarify what test_activate_via_require_respects_loaded_files does and tests * Clearly require the benchmark stdlib instead of far away in test_case.rb https://github.com/rubygems/rubygems/commit/d74b9ca04c Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5c1957e95c649659b0e5abb184393c4c7ee34cd7 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-23 03:13:30 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Simplify #warn test to not rely on the effect of -C on -I https://github.com/rubygems/rubygems/commit/382642a0d4 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit b9d431a7b129635356d03bb0bbdb9b5060a35729 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-24 03:18:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove direct reference to PR The code is quite different now, so I think the link might be even confusing. If you want to know more, use git history. https://github.com/rubygems/rubygems/commit/db872c7a18 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f0f138aa5d5857fb435bfaef95201d530f6d35da Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-21 22:20:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix `$LOADED_FEATURES` cache sometimes not respected In the cases where the initial manually `-I` path resolution succeeded, we were passing a full path to the original require effectively skipping the `$LOADED_FEATURES` cache. With this change, we _only_ do the resolution when a matching requirable path is found in a default gem. In that case, we skip activation of the default gem if we detect that the required file will be picked up for a `-I` path. https://github.com/rubygems/rubygems/commit/22ad5717c3 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 07dca5c02c95322a39833705d3acd87b3adb00ac Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-19 21:32:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Extract a local outside the loop https://github.com/rubygems/rubygems/commit/da1492e9d7 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5aa5aad48aa3effce60de3559d9bd107bfc9a91d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-19 21:08:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Refactor `Gem.load_path_insert_index` https://github.com/rubygems/rubygems/commit/ae95885dff Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit a18e81d797135de6e143a600e4f4d2b00ab23bf9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-19 21:00:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix performance regression in `require` Our check for `-I` paths should not go through all activated gems. https://github.com/rubygems/rubygems/commit/00d98eb8a3 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 8c8364c84e53303baf3828fd5266cb5aec54c582 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-16 22:42:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Fix `ruby setup.rb` warnings Currently we get the following warnings on `ruby setup.rb`: ``` /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/exceptions.rb:281: warning: already initialized constant Gem::UnsatisfiableDepedencyError /home/deivid/Code/rubygems/lib/rubygems/exceptions.rb:281: warning: previous definition of UnsatisfiableDepedencyError was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/user_interaction.rb:557: warning: already initialized constant Gem::StreamUI::ThreadedDownloadReporter::MUTEX /home/deivid/Code/rubygems/lib/rubygems/user_interaction.rb:557: warning: previous definition of MUTEX was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/builder.rb:20: warning: already initialized constant Gem::Ext::Builder::CHDIR_MUTEX /home/deivid/Code/rubygems/lib/rubygems/ext/builder.rb:20: warning: previous definition of CHDIR_MUTEX was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:14: warning: already initialized constant Gem::Ext::ExtConfBuilder::FileEntry /home/deivid/Code/rubygems/lib/rubygems/ext/ext_conf_builder.rb:14: warning: previous definition of FileEntry was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:158: warning: already initialized constant Gem::Version::VERSION_PATTERN /home/deivid/Code/rubygems/lib/rubygems/version.rb:158: warning: previous definition of VERSION_PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:159: warning: already initialized constant Gem::Version::ANCHORED_VERSION_PATTERN /home/deivid/Code/rubygems/lib/rubygems/version.rb:159: warning: previous definition of ANCHORED_VERSION_PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:14: warning: already initialized constant Gem::Requirement::OPS /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:14: warning: previous definition of OPS was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:24: warning: already initialized constant Gem::Requirement::SOURCE_SET_REQUIREMENT /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:24: warning: previous definition of SOURCE_SET_REQUIREMENT was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:27: warning: already initialized constant Gem::Requirement::PATTERN_RAW /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:27: warning: previous definition of PATTERN_RAW was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:32: warning: already initialized constant Gem::Requirement::PATTERN /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:32: warning: previous definition of PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:37: warning: already initialized constant Gem::Requirement::DefaultRequirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:37: warning: previous definition of DefaultRequirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:42: warning: already initialized constant Gem::Requirement::DefaultPrereleaseRequirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:42: warning: previous definition of DefaultPrereleaseRequirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:311: warning: already initialized constant Gem::Version::Requirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:311: warning: previous definition of Requirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/command.rb:626: warning: already initialized constant Gem::Command::HELP /home/deivid/Code/rubygems/lib/rubygems/command.rb:626: warning: previous definition of HELP was here Successfully built RubyGem Name: bundler Version: 2.2.0.dev File: bundler-2.2.0.dev.gem Bundler 2.2.0.dev installed RubyGems 3.2.0.pre1 installed Regenerating binstubs Regenerating plugins ------------------------------------------------------------------------------ RubyGems installed the following executables: /home/deivid/.rbenv/versions/2.7.1/bin/gem /home/deivid/.rbenv/versions/2.7.1/bin/bundle ``` This is because the `$LOAD_PATH` entry added by `setup.rb` is relatively and when the offending require happens, we're installing `bundler` and have switched folders to `bundler/`. So the require fallsback to the system rubygems. To avoid that, add an absolute path to the `$LOAD_PATH`. On jruby, somehow the $LOAD_PATH is manipulated so that we end up requiring stuff inside the built package even if we have specified the `-I` flag, so we get redefinition warnings anyways. I'm not sure about the root cause, but relative requiring fixes it, and it's faster anyways. Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 464e094fce3267d44c6878fda5481b178df42f94 Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-05-09 07:23:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Require ext only in validate_extension, mention gemspec in warning. https://github.com/rubygems/rubygems/commit/5e31e1a421 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit b7adb10e3986ac8334b5f304321dda6f8d135e69 Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-05-01 07:55:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Add build warning when rake based extension is present, but rake is not specified as dependency. https://github.com/rubygems/rubygems/commit/75fe5475b6 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f61ee674d8c5871e8e81b1a7f5884635a0ee9803 Author: Olle Jonsson <olle.jonsson@auctionet.com> AuthorDate: 2020-04-20 01:06:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Prefer start_with? and end_with? over regex. - In one of the cases, filenames were checked for ending with "gz" - this is changed to check for ending with ".gz" - The change was made to make it even easier to read the code, and to match only from the start of the input (as opposed to start of the line) https://github.com/rubygems/rubygems/commit/aac4290271 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit dd5b918cbead5fdb641118aa4e4d90e013f90df1 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-02 17:24:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix template cleanup as well https://github.com/rubygems/rubygems/commit/10cc79ee21 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit e4d0cca24ae07d7b9797c384a9b6d82983f269e4 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-02 17:19:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix installing template files with dots https://github.com/rubygems/rubygems/commit/a82a77251d Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 1f9e684c7755c2b65a68565807f4547f1692b616 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-02 17:15:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove unnecessary parenthesis https://github.com/rubygems/rubygems/commit/97772bb066 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 9c55172bd08e7a3b92d521b680fd1aa095b86c85 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-06-03 23:39:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Move require to the top https://github.com/rubygems/rubygems/commit/e6cabc3f1e Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit de3f183c2a2da499da5d4349c82f122bef1fc68b Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-06-03 13:41:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Use ruby_with_rubygems_in_load_path helper https://github.com/rubygems/rubygems/commit/5e6d82b1f2 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 4edfc50283b3b209a008b04505d01c07b40b1eff Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-05-31 15:06:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Make sure rubygems/package can be directly required reliably https://github.com/rubygems/rubygems/commit/73c199b087 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 8e5fe13c089717c9516b1a7eb0fe22d0fbe7b25f Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-19 19:08:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Delay `fileutils` loading to fix some warnings If the following conditions are met: * You have a default version of fileutils and a higher version of fileutils installed as a regular gem. This case is common on ruby 2.6. * You use a bundler generated binstub on a gem setup with a `Gemfile` using the `gemspec` DSL. Then `fileutils` redefinition warnings happen because of the following: The gist of a bundler generated binstub is: ```ruby require "bundler/setup" load Gem.bin_path("rake", "rake") ``` First configure bundler, then load the requested gem. When `require "bundler/setup"` is called under the previously mentioned setup, `ext_conf_builder.rb` ends up being required because of the new validation that gemspecs with rake extensions depend on `rake`. And that loads the latest version of `fileutils` because of using "rubygems monkeypatched require" that auto-chooses the latest version of default gems. After that, when `Gem.bin_path` gets called, `ext_conf_builder.rb` gets required again, but this time already using "bundler's unmonkeypatched require" which means the default version is chosen and thus the redefinition warning happens. The solution as usual is to lazily load `fileutils`. https://github.com/rubygems/rubygems/commit/08d64e5f06 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 3660d14de60ac4a2b420601db5b16c104a0c7858 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-16 21:45:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Make `rake package` log messages to stdout by default The logging to $stderr is only happening due to a bug in `FileUtils`. Logging messages are not errors. https://github.com/rubygems/rubygems/commit/4d1b6659e6 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f7d3522a54627b6d2fec0606fff5612ba52f2731 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-16 21:43:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Move setting verbosity to each test So that I can add a separate test that doesn't set it. https://github.com/rubygems/rubygems/commit/5726cb418c Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 01fcc291dc8a4c43c0763ebbb04e2e9e137cc738 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-16 21:42:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Don't leave side effects on verbosity https://github.com/rubygems/rubygems/commit/c58e711598 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5c35fedaf2586afab27d7e11a83b5aa32cbf727c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-16 21:41:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove unnecessary rescue and loading of bundler https://github.com/rubygems/rubygems/commit/7ecc216505 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 28be8e04805170607656dd218f3164611d5cdd74 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-19 03:14:36 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove explicit `psych` activation We don't need to explicitly activate `psych` since `require` will take care of that automatically. We don't need to care about a minimum version either since the oldest ruby we support at the moment ships with a `psych` version higher than 2.0.0. https://github.com/rubygems/rubygems/commit/1ccf0912a1 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 459eb684b7a90e11ba5812ce9bb518f4940d3519 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-04 21:15:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Manually pick from rubygems/rubygems changes at https://github.com/rubygems/rubygems/pull/3666/commits/ca5bf584026c9fd3a288eb10c65493e9f01ccc44 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 4d233d18a2d8ad21513de818f4d089ce46ef484c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-26 02:45:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Re-record all cassettes I had to pin `redis-namespace` in our spec to 1.6.0 because on ruby 2.3.0 the spec no longer resolved to that version, so the cached `.gem` file was missing there. Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 0fb2a7fa1cd9348fba04e15bbc115776f4cc6d0a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-24 18:20:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Fix `bin/rake spec:realworld:record` Previously it was failing and not recording. Also, the `BUNDLER_SPEC_FORCE_RECORD` environment variable was forcing every request to be recorded, including duplicated requests to the same endpoint. That meant the recorded `versions` file would be incorrect because it would contain the result of the last request, which would be `304 NOT MODIFIED`. So, to rerecord, delete cassettes and let them be recorded when needed. Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 0ae5cd55e5c764c8fb14c63eb663cdbff355434e Author: Carsten Wirth <carsten.wirth@homeday.de> AuthorDate: 2019-11-26 23:48:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove multiline gem specifications correctly https://github.com/rubygems/rubygems/commit/8dca0ad56e Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit c91915c1838e2492a433b00179f0cef5d72abde0 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-22 20:19:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix typo Co-authored-by: Carsten Wirth <carsten.wirth@homeday.de> https://github.com/rubygems/rubygems/commit/c7c5ca68db Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 1feffe12d444dc3585abf07e3e7b1b4bcffe3ca7 Author: Jakob Krigovsky <jakob@krigovsky.com> AuthorDate: 2020-05-12 04:39:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Link to pre-filtered issue list Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f9872c50cc6cc91767733757984b5af1bd49dc7d Author: Jakob Krigovsky <jakob@krigovsky.com> AuthorDate: 2020-05-08 03:02:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Update links from rubygems/bundler to rubygems/rubygems Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 9139acca66086d0d6c0867ff02b8cb8c338df5d4 Author: DEVRAJ KUMAR <43830009+devraj-kumar@users.noreply.github.com> AuthorDate: 2020-04-11 07:20:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix `bundle info` not indicating a gem which has been deleted, unlike `bundle show` Co-Authored-By: David Rodríguez <deivid.rodriguez@riseup.net> https://github.com/rubygems/rubygems/commit/2851b40ffb Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f0ae5ac3135a6cf26666ec6ba33d34a738df7573 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-24 21:48:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Display test_framework_hint before prompting for user selection * On ubuntu-bundler/ubuntu_bundler3, longer lines of text get cut off after ~50 characters * Example: https://github.com/rubygems/rubygems/pull/3544/checks?check_run_id=703658810 https://github.com/rubygems/rubygems/commit/6a17847fd8 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 0d240de2f32d877ca714ef6c0b51667367ec1498 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-23 19:13:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Tag test framework hint specs and use out helper https://github.com/rubygems/rubygems/commit/1db61b5b5e Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 154c2717da6bb59f1b2739777b01cea98b667751 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-23 02:00:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Add user hint specs for bundle gem --test https://github.com/rubygems/rubygems/commit/1d2292a88f Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 58267fa59e6ea2e4e90a7459a5d7d2f0f57d4f02 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-22 11:27:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Conditionally display test framework help text https://github.com/rubygems/rubygems/commit/8b51a86265 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 3c9d3d18f6d54b4e11c22e1b0f5cecce2bb26c0a Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-05-21 19:22:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Rebuild bundler man pages * Recently built man pages on my branch had odd whitespace/characters resulting from using the macOS installed version of groff (v1.19) and homebrew's (v1.24) * Followed the advice in this pull request: https://github.com/rubygems/rubygems/pull/3394 * Encountered invalid byte sequence sed error, found this link: https://lists.gnu.org/archive/html/groff/2014-10/msg00072.html https://github.com/rubygems/rubygems/commit/f379d1d70e Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f75bd9bb8bf1764de613ab1b601d21c46b1d4681 Author: Frank Lam <ryzingsun11@yahoo.com> AuthorDate: 2020-04-24 17:00:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix bundle gem ignoring global gem.test config * bundle gem previously ignored gem.test when passed empty -t flag, defaulting to RSpec * bundle gem will now ask user for test framework when passed empty -t flag and gem.test is set to false, but will not overwrite gem.test * thor option parsing for String types falls back to human name for nil, so setting lazy_default to nil won't work * https://github.com/erikhuda/thor/blob/c5161501e0cfac7a8c5b838a9c6084c275f03c0d/lib/thor/parser/options.rb#L224 Default to Bundler.settings["gem.test"] for empty --test Add shared examples for test framework to newgem spec Add examples for empty --test flag to newgem spec Simplify conditional for prompting test framework Follow naming conventions for bundler settings Add more descriptive test framework help text for bundle gem Update man pages for bundler https://github.com/rubygems/rubygems/commit/ab0785a09f Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 603edfcaa0aa6ea6660d045194769046d24a59aa Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-31 00:37:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix parallel installer race condition The main thread may detect that installation has finished and thus abort, while the thread responsible for installing the spec that failed has not yet set the error message. In this case, the install process will abort with a mysterious "empty" exception. I can be force the issue to reproduce by applying the following patch: ```diff diff --git a/bundler/lib/bundler/installer/parallel_installer.rb b/bundler/lib/bundler/installer/parallel_installer.rb index 3dee9f4664..7827a11d11 100644 --- a/bundler/lib/bundler/installer/parallel_installer.rb +++ b/bundler/lib/bundler/installer/parallel_installer.rb @@ -166,6 +166,7 @@ module Bundler spec_install.post_install_message = message unless message.nil? else spec_install.state = :failed + sleep 1 spec_install.error = "#{message}\n\n#{require_tree_for_spec(spec_install.spec)}" end Plugin.hook(Plugin::Events::GEM_AFTER_INSTALL, spec_install) @@ -183,6 +184,7 @@ module Bundler end def finished_installing? + sleep 0.5 @specs.all? do |spec| return true if spec.failed? spec.installed? diff --git a/bundler/lib/bundler/rubygems_gem_installer.rb b/bundler/lib/bundler/rubygems_gem_installer.rb index 8ce33c3953..c585cd517b 100644 --- a/bundler/lib/bundler/rubygems_gem_installer.rb +++ b/bundler/lib/bundler/rubygems_gem_installer.rb @@ -42,6 +42,7 @@ module Bundler return true unless source = @package.instance_variable_get(:@gem) return true unless source.respond_to?(:with_read_io) digest = source.with_read_io do |io| + raise BundlerError, "asdafss" digest = SharedHelpers.digest(:SHA256).new digest << io.read(16_384) until io.eof? io.rewind ``` and running `bin/rspec spec/install/gems/compact_index_spec.rb:892` will result in ``` Run options: include {:locations=>{"./spec/install/gems/compact_index_spec.rb"=>[892]}} exclude {:jruby=>true, :readline=>false, :permissions=>false, :no_color_tty=>false, :ruby_repo=>false, :bundler=>"!= 2", :git=>"!= 2.26.2", :rubygems=>"!= 3.2.0.pre1", :realworld=>true, :sudo=>true} Randomized with seed 59277 F Retried examples: 0 Failures: 1) compact index api checksum validation raises when the checksum is the wrong length Failure/Error: expect(err).to include("The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest") expected "" to include "The given checksum for rack-1.0.0 (\"checksum!\") is not a valid SHA256 hexdigest nor base64digest" Commands: $ /home/deivid/.rbenv/versions/2.7.1/bin/ruby -I/home/deivid/Code/rubygems/rubygems/bundler/spec -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/artifice/compact_index_wrong_gem_checksum.rb -r/home/deivid/Code/rubygems/rubygems/bundler/spec/support/hax.rb /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle install --verbose --retry 0 Running `bundle install --retry 0 --verbose` with bundler 2.2.0.dev Found changes from the lockfile, re-resolving dependencies because the list of sources changed, the dependencies in your gemfile changed, you added a new platform to your gemfile HTTP GET http://localgemserver.test/versions HTTP 200 OK http://localgemserver.test/versions Fetching gem metadata from http://localgemserver.test/ Looking up gems ["rack"] HTTP GET http://localgemserver.test/info/rack HTTP 200 OK http://localgemserver.test/info/rack Resolving dependencies... Using bundler 2.2.0.dev 0: bundler (2.2.0.dev) from /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/specifications/bundler-2.2.0.dev.gemspec Fetching rack 1.0.0 Installing rack 1.0.0 Bundler::InstallError: /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:199:in `handle_error' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:102:in `call' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer/parallel_installer.rb:78:in `call' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:271:in `install_in_parallel' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:197:in `install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:92:in `block in run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:12:in `block in lock' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `open' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/process_lock.rb:9:in `lock' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:73:in `run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/installer.rb:25:in `install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli/install.rb:66:in `run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:261:in `block in install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/settings.rb:121:in `temporary' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:260:in `install' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:30:in `dispatch' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/cli.rb:24:in `start' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:49:in `block in <top (required)>' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/gems/bundler-2.2.0.dev/exe/bundle:37:in `<top (required)>' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `load' /home/deivid/Code/rubygems/rubygems/bundler/tmp/1/gems/system/bin/bundle:23:in `<main>' # $? => 5 # ./spec/install/gems/compact_index_spec.rb:892:in `block (3 levels) in <top (required)>' # ./spec/spec_helper.rb:104:in `block (4 levels) in <top (required)>' # ./spec/spec_helper.rb:104:in `block (3 levels) in <top (required)>' # ./spec/support/helpers.rb:352:in `block in with_gem_path_as' # ./spec/support/helpers.rb:366:in `without_env_side_effects' # ./spec/support/helpers.rb:348:in `with_gem_path_as' # ./spec/spec_helper.rb:101:in `block (2 levels) in <top (required)>' # ./spec/spec_helper.rb:73:in `block (2 levels) in <top (required)>' # ./spec/support/rubygems_ext.rb:90:in `load' # ./spec/support/rubygems_ext.rb:90:in `gem_load_and_activate' # ./spec/support/rubygems_ext.rb:18:in `gem_load' Finished in 3.01 seconds (files took 0.14209 seconds to load) 1 example, 1 failure Failed examples: rspec ./spec/install/gems/compact_index_spec.rb:886 # compact index api checksum validation raises when the checksum is the wrong length Randomized with seed 59277 ``` Without any mention to `BundlerError` and the original "asdafss" message. Fix the issue by making sure the error message is set before the ":failed" status. https://github.com/rubygems/rubygems/commit/83c8feb2c4 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit e413e746afd20a7a0629c3e3c572d6d3dffc1c16 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 19:46:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove `forgotten_command_line_usages` from specs Instead, use the non-deprecated option except when specifically testing deprecated CLI flags. In that case, pass the flag directly and limit the specs to `bundler < 3`. https://github.com/rubygems/rubygems/commit/3d5e186241 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 61b61f426a796871c27a0a9e4eedb31057864165 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 19:27:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Reword specs to not mention deprecated flags https://github.com/rubygems/rubygems/commit/f878a81f22 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit f02f19d62f70bc3b38ff9f2902f99e3bfefefa23 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 20:06:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Rewrite dependency API specs to use new deployment mode Some of them were passing "by chance" because they used a `bundle install` command that failed, but the assertion was using the result of the previous. Others were skipped on bundler 3. Now they all pass in all versions. https://github.com/rubygems/rubygems/commit/cedf611e11 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5c924f597f7d633543589de152d09011a3fc2d21 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 01:04:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Make `forgotten_command_line_options` always "forget" options https://github.com/rubygems/rubygems/commit/4d39338670 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 99dc55987d539e1f665ff30e03479f31dbbead72 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 01:03:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Improve specs testing option remembering behavior By making them more explicit. https://github.com/rubygems/rubygems/commit/9979c5a811 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit b2a460ea3e4abf0322c0a5475ce2d89fde46b4c2 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 06:06:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Centralize `with` and `without` setting https://github.com/rubygems/rubygems/commit/5e854722e2 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 9422162f71e0d0f04034293125f925086abbbaf9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 06:02:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove redundant subtraction https://github.com/rubygems/rubygems/commit/365b46329b Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 97d05c9db38f92b214cd30bb821ce29add20f082 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 06:00:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove unnecessary option mutation https://github.com/rubygems/rubygems/commit/744c03d144 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 332ecb0ad1fd5cda138a36cc40891d78517d1fff Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 05:38:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix `bundle install` unintentionally saving configuration Even if no explicit flags were passed to it. https://github.com/rubygems/rubygems/commit/0598cbb68c Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 6b7a0c0ca7102c2891b75cd6ef7429dd90d931c3 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 05:51:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Move all `without` and `with` option handling together https://github.com/rubygems/rubygems/commit/5e47879330 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 052d66050a8524f70d90223c015d5a0452bfc88b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 04:12:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Change descriptions to not mention deprecated flags https://github.com/rubygems/rubygems/commit/731b3783f1 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit fed9419e55159bc6e53cc7590188ba6fb92d31fe Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 05:41:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Fix flag name in spec descriptions https://github.com/rubygems/rubygems/commit/6395392b83 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5989827dc7e39f882b61c1650c87d14599d21033 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 04:10:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Improve wording of some specs https://github.com/rubygems/rubygems/commit/3372b21553 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit ff74725dc3fe5be418f230bf09409b1de6e74349 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-29 04:04:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove old no longer meaningful spec This spec was originally written many years ago to verity gems were properly "remembered" in the lock file. At this point, the test feels a bit dummy since the first `bundle install` already runs on a "clean machine". https://github.com/rubygems/rubygems/commit/dbfefb3f5a Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 09602f4301ccf64d1b27e62d71f00569d1d78a72 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-28 01:30:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Revert multi ruby{,gems} version requirement fix This reverts commit 20f06d9e178211a3016133852b72d21ac7bb93ad, reversing changes made to f2b30cb70df8a518bef0e8a64bbceb86234d922d. https://github.com/rubygems/rubygems/commit/40802bdb18 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 592762069d025148463266187d6519c4799353dc Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-26 03:32:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Support running specs against a tarball When bundler specs are run from a ruby tarball (ruby-core does this), there's no git folder, so `git ls-files` fails. Support this case by making specs rely on the list of files from the bundler gemspec instead, and invert the spec that makes sure we ship the right set of files. As per the other quality specs, skip them in this case. https://github.com/rubygems/rubygems/commit/b28d5ec931 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit bd9a6ba4ef26d1dea61efcb9d170c7d6ad805a27 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-27 19:51:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Remove unintended extra space https://github.com/rubygems/rubygems/commit/1cc02930f3 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 9f7bfba54ffee1bdc30aa7a08a1be1847c89a60a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-04 20:31:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Revert "Fix a error in a `before(:suite)` hook" This reverts commit 67d2a715ca35090fbb3ab13df5b7348b1807dd47. Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 1ab410caf8612589b37309b8cb1fa2f50bb1e097 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-06-04 20:31:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 Revert "Fix a failure in bundle version with version outputs the version with build metadata" This reverts commit fcc8be0198a16cc5fa7d4827be0c781209b70f98. Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 1161191a2a0411842a146bda95d6d9ce7aa0ee00 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-25 23:18:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Test against compact_index 0.13.0 https://github.com/rubygems/rubygems/commit/9f15b595ab Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 735bd501e755893165e69cd14680327ae56b10cb Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-04 07:30:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Bump compact_index to 0.12.1 https://github.com/rubygems/rubygems/commit/08374d0e4a Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit d52b1b0705a6aa5587350ce01b293ed6bf7bdad7 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-25 19:19:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Deprecate the `--no-deployment` flag And never recommend it inside CLI messages. This flag represents the default behaviour of `bundle install`, and the only reason it exists is to "override" previous `--deployment` flag usages which were silently remembered. So it should be deprecated just like all the other flags the rely on remembering their values across invocations. https://github.com/rubygems/rubygems/commit/40e50b7190 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 97267227bbd8c322cf17c1e0ae380f74afbc29fb Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-25 19:18:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Don't recommend the `--no-deployment` flag https://github.com/rubygems/rubygems/commit/b368c7e0c4 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 1914c4e9b1b68ac0650f4c3cdf91d9499bbfcf49 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-25 19:17:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Pass `--deployment` flag directly This spec is run only in bundler 2 mode, and it's testing the `--deployment` flag specifically. https://github.com/rubygems/rubygems/commit/a5d91c68b6 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5a12fc7c7f55780433ceb404d9e7189099399b38 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-22 18:51:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] Unskip "monorepo issues" They seem to be passing? https://github.com/rubygems/rubygems/commit/a00d1e6896 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit 5c343b849bb1f48cf5ac93bf369e2e2c24fa8a48 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-06-01 20:11:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-05 07:32:42 +0900 [rubygems/rubygems] June man pages https://github.com/rubygems/rubygems/commit/cea610e197 Notes: Merged: https://github.com/ruby/ruby/pull/3184 commit a9e0046c26797343322a7211586f0acedfb7492e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 17:13:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 17:13:56 +0900 Moved vm_empty_cc to local in vm.c [Bug #16934] Missed to commit a staged change. commit 8b22fd27f181ea1902bbb584b41488e307121587 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 17:06:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 17:06:10 +0900 Moved vm_empty_cc to local in vm.c [Bug #16934] As it is referenced only from compile.c, except for MJIT, simply use the accessor function. commit 33ca2d386bee1cb4bc8e488cd9ad67df5f50f457 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 16:26:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 17:00:52 +0900 Removed no longer used constants [Bug #16934] `RESERVED_HASH_VAL` and `RESERVED_HASH_SUBSTITUTION_VAL` have not been used directly in hash.c since 72825c35b0d8. commit 2b7454eb922ccbda065affc92e2e94c7c28b809f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 16:24:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 17:00:52 +0900 Update leaked-globals [Bug #16934] * match uppercase types which would be global, other than [BDT] * ignore `RUBY_` prefixed symbols commit 047471c52960e32146025fab064487d25f92a141 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 10:26:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 13:16:24 +0900 No GITPULLOPTIONS by default To honor the environment variable, keep GITPULLOPTIONS unset by default, and appended the option to VCSUP. commit 3d7138871079d02b31c05ca6af943d56365a8776 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-04 11:29:39 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-04 11:29:39 +0900 test/socket/test_addrinfo.rb: Fix syntax error Sorry! commit 980655ce8319f7c96f286ac0abdfbc98b2090a96 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-06-04 11:22:12 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-06-04 11:24:19 +0900 test/socket/test_addrinfo.rb: Suppress Errno::EACCES when addr is in use MinGW seems to raise Errno::EACCES instead of EADDRINUSE when bind fails due to in use. https://github.com/ruby/ruby/runs/736825846 ``` 2) Error: TestSocketAddrinfo#test_connect_from: Errno::EACCES: Permission denied - bind(2) for 0.0.0.0:49721 D:/a/ruby/ruby/build/.ext/common/socket.rb:54:in `bind' D:/a/ruby/ruby/build/.ext/common/socket.rb:54:in `connect_internal' D:/a/ruby/ruby/build/.ext/common/socket.rb:114:in `connect_from' D:/a/ruby/ruby/src/test/socket/test_addrinfo.rb:379:in `block in test_connect_from' D:/a/ruby/ruby/src/test/socket/test_addrinfo.rb:374:in `open' D:/a/ruby/ruby/src/test/socket/test_addrinfo.rb:374:in `test_connect_from' ``` commit 923e02a6a193747f7268325b45d8b83673a851d7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 08:33:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 09:09:51 +0900 No one reads the detached head advice commit f6acbf76796e1b0ea4198ab0cb86ededa86a73ad Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 08:22:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 09:09:51 +0900 Fetch no tags Fetched tags by `make up` are not used, in CI environments. commit 1ce40e3b291b167cea6a0e5b4c517e3a26096d9b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-04 07:58:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 09:09:51 +0900 Removed fetch-depth Only the last commit is used, unless creating the ChangeLog file. commit e2d76478db04b29bc85d445d3a84236fea1c4476 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-06-04 08:53:56 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-06-04 08:53:56 +0900 Enhanced Rdoc for Hash (#3178) * Enhanced Rdoc for Hash * Fix typo in Hash Rdoc * Enhanced Rdoc for Hash Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 184f78314e98cab63e7503cead4a4e99bd132a08 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-03 23:06:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 02:12:57 +0900 Properly resolve refinements in defined? on private call [Bug #16932] Notes: Merged: https://github.com/ruby/ruby/pull/3180 commit 8340c773e54feb399c9fab322e3ff6dd578ac04d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-03 23:05:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-04 02:12:57 +0900 Properly resolve refinements in defined? on method call [Bug #16932] Notes: Merged: https://github.com/ruby/ruby/pull/3180 commit 98286e9850936e27e8ae5e4f20858cc9c13d2dde Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-24 12:16:27 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-06-04 01:50:37 +0900 Ensure origins for all included, prepended, and refined modules This fixes various issues when a module is included in or prepended to a module or class, and then refined, or refined and then included or prepended to a module or class. Implement by renaming ensure_origin to rb_ensure_origin, making it non-static, and calling it when refining a module. Fix Module#initialize_copy to handle origins correctly. Previously, Module#initialize_copy did not handle origins correctly. For example, this code: ```ruby module B; end class A def b; 2 end prepend B end a = A.dup.new class A def b; 1 end end p a.b ``` Printed 1 instead of 2. This is because the super chain for a.singleton_class was: ``` a.singleton_class A.dup B(iclass) B(iclass origin) A(origin) # not A.dup(origin) ``` The B iclasses would not be modified, so the includer entry would be still be set to A and not A.dup. This modifies things so that if the class/module has an origin, all iclasses between the class/module and the origin are duplicated and have the correct includer entry set, and the correct origin is created. This requires other changes to make sure all tests still pass: * rb_undef_methods_from doesn't automatically handle classes with origins, so pass it the origin for Comparable when undefing methods in Complex. This fixed a failure in the Complex tests. * When adding a method, the method cache was not cleared correctly if klass has an origin. Clear the method cache for the klass before switching to the origin of klass. This fixed failures in the autoload tests related to overridding require, without breaking the optimization tests. Also clear the method cache for both the module and origin when removing a method. * Module#include? is fixed to skip origin iclasses. * Refinements are fixed to use the origin class of the module that has an origin. * RCLASS_REFINED_BY_ANY is removed as it was only used in a single place and is no longer needed. * Marshal#dump is fixed to skip iclass origins. * rb_method_entry_make is fixed to handled overridden optimized methods for modules that have origins. Fixes [Bug #16852] Notes: Merged: https://github.com/ruby/ruby/pull/3140 commit ee35a4dad30eaf74064d5c38bfdfb3550998bb8f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-03 12:42:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-03 19:13:36 +0900 Append subsec part instead of creating new string commit 160511d851375f7cb922faae3a9310633187f51f Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-06-03 19:11:58 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-03 19:11:58 +0900 Quarantine specs which fail frequently with CHECK_LEAKS=true commit eb2b7fca437ceea90a391729419e211b1d5a7ea8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-03 17:23:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-03 17:28:15 +0900 Fixed up 56ca006784d Run lldb just before sending ABRT or KILL signal. Some tests terminate child processes by TERM signal intentionally. commit de5e0f7c0671323820c4eb9b5a11c90a26c3dad5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-31 17:34:58 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_proc_block: reduce recursion According to nobu recursion can be longer than my expectation. Limit them here. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit b61e82eac9fb5ac247b204dd4fbf09ac49fce530 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-31 16:44:42 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_call_symbol: check stack overflow VM stack could overflow here. The condition is when a symbol is passed to a block-taking method via &variable, and that symbol has never been used for actual method names (thus yielding that results in calling method_missing), and the VM stack is full (no single word left). This is a once-in-a-blue-moon event. Yet there is a very tiny room of stack overflow. We need to check that. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit ba20e6080d06e06b2e3a1098656021b2ae8df867 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-29 10:47:09 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_block: remove auto qualifier Was (harmless but) redundant. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit d4015cfee34f236b58e20da418d7dea540bf7cc1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-28 13:37:14 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 add benchmark for different block handlers Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit 054c2fdfdfe9d43c3ae4ba508bb419c3e9db015f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-28 12:33:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_symbol_block: reduce MEMCPY This commit changes the number of calls of MEMCPY from... | send | &:sym -------------------------|-------|------- Symbol already interned | once | twice Symbol not pinned yet | none | once to: | send | &:sym -------------------------|-------|------- Symbol already interned | once | none Symbol not pinned yet | twice | once So it sacrifices exceptional situation for normal path. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit 36322942dbce6dedaf67626b152dbf893d42e082 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-27 22:36:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_symbol_block: call vm_call_opt_send Symbol#to_proc and Object#send are closely related each other. Why not share their implementations. By doing so we can skip recursive call of vm_exec(), which could benefit for speed. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit 973883aaa16bde8ba41caceb56569b52adb4c74f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-26 11:24:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_block: force indirect jump This changeset slightly speeds up on my machine. Calculating ------------------------------------- before after Optcarrot Lan_Master.nes 38.33488426546287 40.89825082589147 fps 40.91288557922081 41.48687465359386 40.96591995270991 41.98499064664184 41.20461943032173 43.67314690779162 42.38344888176518 44.02777536251875 43.43563728880915 44.88695892714136 43.88082889062643 45.11226186242523 Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit 796f9edae0a48c2949345febd8189809fbfdb192 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-26 10:22:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_block: insertion of unused args This makes it possible for vm_invoke_block to pass its passed arguments verbatimly to calling functions. Because they are tail-called the function calls can be strength-recuced into indirect jumps, which is a huge win. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit ec87a58d556c83bbec44c2df8444d95df56379a4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-26 10:14:17 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_block: eliminate goto Use recursion for better readability. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit 11c70b316214a27c8358714bf8a0c04e2a3713d3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-25 18:00:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-03 16:13:47 +0900 vm_invoke_block: move logics around Moved block handler -> captured block conversion from vm_invokeblock to each vm_invoke_*_block functions. Notes: Merged: https://github.com/ruby/ruby/pull/3152 commit ae8362fdc89591baeb0f4d735690c17d6147f80e Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-06-02 22:33:05 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-02 23:57:32 +0900 Add a spec for the new NoMethodError display of the receiver Notes: Merged: https://github.com/ruby/ruby/pull/3176 commit d05f04d27dd86c67e4a8dfff4392f806cf577bdf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-02 18:55:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-02 19:01:56 +0900 Fixed `defined?` against protected method call Protected methods are restricted to be called according to the class/module in where it is defined, not the actual receiver's class. [Bug #16931] commit c53aebb1d2eb5afbb18f9b3db9f9c956a463a4e1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-02 17:07:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-02 18:58:31 +0900 Split test_defined_method commit 56ca006784d8737463857776a807c6f656ca8455 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-06-02 17:18:09 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-06-02 17:21:03 +0900 run lldb to investigate the stuck process. Before sending signals (ABRT, KILL), use lldb to show the backtrace of a stuck process. This commit also reverts recent changes for terminate(). commit 40ced763b4f97dd3bc3abfd4cb16580f7cf8e898 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-29 17:42:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-06-02 12:38:01 +0900 vm_insnhelper.c: merge opt_eq_func / opt_eql_func These two function were almost identical, except in case of T_STRING/T_FLOAT. Why not merge them into one, and let the difference be handled in normal method calls (slowpath). This does not improve runtime performance for me, but at least reduces for instance rb_eql_opt from 653 bytes to 86 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3169 commit 27bef648629760ffeda569057ddef6fb3be64b9a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-02 09:04:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-02 09:06:49 +0900 Include the entire lambda expression in lambda rule commit cadd2245f7f10850e0b11e5b678b2049399a2d3e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-06-01 16:53:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-06-01 18:26:34 +0900 Extracted `excessed_comma` to unify ripper and make the order stable commit 7b9527ce74de11afc8e890db83f2a13a6ed5dc91 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-06-01 17:03:27 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-06-01 17:03:27 +0900 add more 2 sec. After sending SEGV signal, but no response. Try to add 2 more seconds. If we can not have a detailed log, we need to use gdb/lldb to show the backtrace. commit 3591703b31658f8e97eb0677e2261e6e7551307b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-06-01 10:13:28 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-06-01 10:15:03 +0900 send SEGV to show backtrace. send SEGV to terminate the remaining process before sending ABRT and KILL to show the backtrace. commit 6a0405def25cd658184b844acfd83d15ccdae171 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-06-01 01:49:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-06-01 08:11:05 +0900 fix typo in Hash#delete docs Notes: Merged: https://github.com/ruby/ruby/pull/3168 commit b7e1de117e20911ed86b229a4c2f912e469c6472 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-06-01 07:30:41 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-01 07:30:41 +0900 Make sure rb_enc_str_new_static() is used when enc is NULL * The definition of the rb_enc_str_new_cstr macro depends on HAVE_BUILTIN___BUILTIN_CONSTANT_P. * It SEGV on mswin otherwise. commit 34776105c8a6739ca3aad1de4a2c942f4a8f2f29 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-06-01 01:22:49 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-01 01:22:49 +0900 Update to ruby/spec@4e486fa commit f4502b001a665109bf776f9037ecbc52cb5f2d88 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-06-01 01:22:47 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-06-01 01:22:47 +0900 Update to ruby/mspec@e3abf6b commit 5a79d8e0507cd143100bf928a88a59a8b5a5bca6 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-30 17:29:24 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-31 19:48:14 +0900 Fix error raised by Net::HTTPResponse#inflater if the block raises * See https://bugs.ruby-lang.org/issues/13882#note-6 Notes: Merged: https://github.com/ruby/ruby/pull/3164 commit 5b4b82b712e1d423fffd4f13fa1b797e304a3af5 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-30 17:29:05 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-31 19:48:14 +0900 Fix spec description for Net::HTTP.get Notes: Merged: https://github.com/ruby/ruby/pull/3164 commit 6dcd10ce56a9fadc462daab69694480c2d565dfc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-31 03:07:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-31 03:07:30 +0900 compile.c: Mark cursor in debug list commit 2c711273bb285cdc718b2f3ceb1d77354a47e336 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-31 03:05:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-31 03:05:10 +0900 compile.c: Removed wrong conversion commit 57fd44d374cc6ff807b1c92b841e6f8a037b799e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-30 21:20:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-30 21:20:50 +0900 Adjusted an indent commit 9b8825b6f94696c9659f93f5da9bf02644625f67 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-30 07:59:14 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-30 07:59:42 +0900 Update NEWS / documentation with GC.start(compact:true) commit 04b5203a031d372b725e407519f10da6deda0e78 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-30 06:13:30 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-30 07:59:27 +0900 Convert ip addresses to canonical form in Resolv::DNS::Requester::UnconnectedUDP#sender Otherwise, if the IP address given is not in canonical form, it won't match, and Resolv will ignore it. Fixes [Bug #16439] Notes: Merged: https://github.com/ruby/ruby/pull/3161 commit 02b216e5a70235f42f537e895d6f1afd05d8916a Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-29 07:02:26 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-30 07:24:32 +0900 Combine sweeping and moving This commit combines the sweep step with moving objects. With this commit, we can do: ```ruby GC.start(compact: true) ``` This code will do the following 3 steps: 1. Fully mark the heap 2. Sweep + Move objects 3. Update references By default, this will compact in order that heap pages are allocated. In other words, objects will be packed towards older heap pages (as opposed to heap pages with more pinned objects like `GC.compact` does). commit e73e504e2f2618453c75cc322fa4813ab9661c60 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-30 01:45:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-30 01:52:38 +0900 spec: add wsl guard WSL 2 is officially released. It uses Linux kernel, so almost all specs for Linux work on WSL, except one: gethostbyaddr. I guess network resolution in WSL is based on Windows, so the behavior seems a bit different from normal Linux. This change adds `platform_is_not :wsl` guard, and guards out the test in question. commit 58bc97628c14933b73f13e0856d1a56e70e8b0e4 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-30 00:13:56 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-30 00:16:44 +0900 test/ruby/test_process.rb: GID.from_name may raise Errno:ESRCH getgrnam(3) says: ``` ERRORS 0 or ENOENT or ESRCH or EBADF or EPERM or ... The given name or gid was not found. ``` Process::GID.from_name raises an ArgumentError for 0, but Errno::ESRCH for ESRCH. Actually, WSL 2 raises Errno::ESRCH. This change accepts all exceptions above. commit 2ecfb88ee50510955acd3ae9fc94a5f109e7f109 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-29 11:49:10 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-29 23:06:46 +0900 Correctly remove temporary directory if path yielded is mutated Another approach would be to freeze the string, but that could cause backwards compatibility issues. Fixes [Bug #16918] Notes: Merged: https://github.com/ruby/ruby/pull/3159 commit 0bd025ad6991f2159ef8bd596a79c89b79f5cc3e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-29 14:45:27 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-29 14:45:35 +0900 Add a debug_counter for JIT cancel on leave commit d300a734414ef6de7e8eb563b7cc4389c455ed08 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-29 13:50:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-29 13:50:58 +0900 RUBY_ASSERT_NOASSUME If __builtin_assume() is enables and RUBY_DEBUG=0, RUBY_ASSERT(expr) will be compiled to __builtin_assume(expr) and compiler can assume expr is true and apply aggressive optimizations. However we observed doubtful behavior because of compiler optimizations, we introduce new macro RUBY_ASSERT_NOASSUME to disable __builtin_assume(). With this macro, we can try without __builtin_assume(). commit 03d7f3cdb2550449bcf1c0c1b5529b5197dfb418 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-29 11:23:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-29 11:25:45 +0900 add indent for debug disasm output commit 6ba2d3e4c6958a214e13ac07c7bdb160b9c3f21f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-29 11:19:44 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-29 11:25:45 +0900 export debug utility functions commit d32e2bb02d15008da008057fbd6b541662d52588 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-24 20:12:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-29 09:41:27 +0900 Allow references to $$ in Ripper DSL commit c7ceaa6d3c518d77130fbb04e4e3d3148fb49072 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-29 06:13:15 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-29 07:01:10 +0900 Extract "free moved list" function Extract a function to free the moved list. We'll use this function later on to compact at the same time as sweep. commit b8fadf3a6bc0435a23696bb7dc5a261066e0cf83 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-29 02:43:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-29 02:43:30 +0900 Respect BIGNUM_DEBUG defined by command line option And fixed typo in compilers.yml. commit 07b2102a88a789100d0b048d527c780eae006c36 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-04 05:53:09 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-28 23:57:29 +0900 Remove Ruby <2.2 support from tool/lib/vcs.rb BASERUBY now requires at least Ruby 2.2, so there is no point trying to support older ruby versions here. Notes: Merged: https://github.com/ruby/ruby/pull/2947 commit 9a3371be8f5274d1dca64b93c7b9a379e32ea2f5 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-04 05:24:02 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-28 23:57:29 +0900 Check that BASERUBY is at least Ruby 2.2 in configure BASERUBY needs to be at least Ruby 2.2 since 46acd0075d80c2f886498f089fde1e9d795d50c4. I think it's better to explicitly fail early as soon as BASERUBY is used in this case, versus trying to debug later failures. This modifies things to check both implicitly use of ruby in the PATH as BASERUBY, and explicitly specified older versions of ruby when using --with-baseruby. Fixes [Bug #16668] Notes: Merged: https://github.com/ruby/ruby/pull/2947 commit 28ce75821dfdb1b62a054b2da83f240656b3e273 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-05-28 20:21:48 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-28 20:21:48 +0900 Enhanced Rdoc for Hash (#3151) Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit 7473b4c106ca63f98c033e6fcccae549e9bb5138 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-28 14:40:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-28 14:41:08 +0900 Explicitly loading with envutil.rb commit f186f2d01d26405047f5b43cf0e72a51c9bf54fe Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-28 14:39:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-28 14:39:53 +0900 Use Module#name instead of #inspect Coverage measurement had failed since 7d5da30c9e9c572f6ef0aaccc1ca0e724966e2ee https://github.com/ruby/actions/runs/708557030?check_suite_focus=true commit 6dbc3a2871d7f5f96d9ad584601c0d284b078197 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-27 23:46:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-27 23:46:55 +0900 autoconf may not be available commit 083a17a82ad4c1f80cfb9e84cfb1bff5586470b1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-27 17:25:13 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-27 17:41:04 +0900 Carve out mjit_exec_slowpath and mark it as COLDFUN on JIT, assuming enqueue usually happens on VM. commit a3f498e44c767b331ed07e24f1ce7841b515cba0 Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-05-27 15:48:46 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-27 15:48:46 +0900 Fix max, min, minmax documentation (#3131) They only need that all objects implement <=>, but the documentation said it needs Comparable. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 752041ca11c7e08dd14b8efe063df06114a9660f Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-05-27 15:46:42 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-27 15:46:42 +0900 Update Enumerable::Yielder#to_proc document (#3142) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 64c5bf572187f602d06132d4fa18dcd4b425aa22 Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-05-27 15:37:05 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-27 15:37:05 +0900 Fix non-existent method reference in Enumerator.produce document (#3141) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 9d71373c237876038cbac63bb0132907a78288a2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-27 15:22:19 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-27 15:24:58 +0900 Mark vm_stackoverflow as NOINLINE COLDFUNC on JIT to reduce code size and improve locality of hot code. commit 61b14bb32b7e62760225cb2207df5fe87e5339ab Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-27 14:49:55 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-27 15:01:52 +0900 Eliminate a call instruction on JIT cancel path by calling combined functions specialized for each cancel type. I'm hoping to improve locality of hot code, but this patch's impact should be insignificant. commit 0f8b5819b3338a94577736d7dce87a5ba0879c03 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-27 13:13:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-27 13:13:12 +0900 Merged recipes for the same target commit 51fa4c9f49a23f34b7f946d7c92babe98c499efd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-27 12:12:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-27 12:40:18 +0900 Removed obsolete forwarding DLL recipe It has never been created by default, and no reason to keep binary compatibility against extension libraries for ruby 1.8. 1. `LIBRUBY_SO` on Cygwin was named originally. - 94089e82a12:: `$(RUBY_INSTALL_NAME)-cygwin.dll` - f0ba57341ac:: `$(RUBY_INSTALL_NAME).cygwin.dll` - c74a3b21f59:: `cygwin-$(RUBY_INSTALL_NAME)-$(MAJOR).$(MINOR).dll` 2. And then renamed to be net distribution compliant. - 6f059f33ef1:: `cyg$(RUBY_SO_NAME)$(MAJOR)$(MINOR).dll` 3. Next at 430eabfe139, forwarding DLL was added for binary compatibility against extension libraries. commit 0fcb2dd51dc7cec3155aa161bbda868c9a23c36e Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-05-27 01:32:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-27 11:26:44 +0900 add static modifier for rb_str_ord func commit e0b40ef5d8173aff304c81f93516e1246e3c042c Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-27 06:00:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-27 07:47:50 +0900 Don't convert bundler man pages from mdoc to man These man pages are already in man format and assuming they are mdoc format breaks things. Fixes [Bug #16823] Notes: Merged: https://github.com/ruby/ruby/pull/3147 commit 962c302a1ae8e50738c36adb61c8ec9c9fa5a49b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-27 02:07:38 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-27 02:07:38 +0900 test/drb/test_drbssl.rb: skip LeakChecker as openssl keeps /dev/random and /dev/urandom intentionally. OpenSSL::PKey::RSA.new opens the two random generators and keeps the file descriptors. https://github.com/openssl/openssl/blob/93f99b681ab5a1cf7062053323e09b0cad5ff854/crypto/rand/rand_unix.c#L674 They are detected by the LeakChecker as fd leak, but it is intentional. http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T160005Z.log.html.gz ``` [ 597/20199] DRbTests::TestDRbSSLAry#test_01 = 0.29 s Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 8 #<File::Stat dev=0x6, ino=11, mode=020666, nlink=1, uid=0, gid=0, rdev=0x109, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.751999995 +0000, mtime=2020-05-23 14:45:13.751999995 +0000, ctime=2020-05-23 14:45:13.751999995 +0000> Leaked file descriptor: DRbTests::TestDRbSSLAry#test_01: 9 #<File::Stat dev=0x6, ino=10, mode=020666, nlink=1, uid=0, gid=0, rdev=0x108, size=0, blksize=4096, blocks=0, atime=2020-05-23 14:45:13.755999995 +0000, mtime=2020-05-23 14:45:13.755999995 +0000, ctime=2020-05-23 14:45:13.755999995 +0000> ``` commit 135c6a4b995f5858687942a2b60a26f007695b78 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-27 00:30:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-27 00:30:59 +0900 fiddle: need to update configure after updating config tools commit 5429deb075beb9a2b67adae269bbac16325876d1 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-27 00:20:14 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-27 00:20:14 +0900 lib/open3.rb: make sure that pipes are closed Attempting to invoke a non-existent command led to the leak of fds. http://rubyci.s3.amazonaws.com/graviton2/ruby-master/log/20200526T140004Z.log.html.gz ``` [ 9101/20195] TestGemExtCmakeBuilder#test_self_build = 0.01 sLeaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 7 : #<IO:fd 7> Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 10 : #<IO:fd 10> Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 11 : #<IO:fd 11> Leaked file descriptor: TestGemExtCmakeBuilder#test_self_build: 12 : #<IO:fd 12> ``` commit eb20d2f449d299b9281abd2426878deeb8ebcdad Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-26 23:20:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-26 23:20:36 +0900 include debug option in slack notification commit a809caa4b3f9fc5503c0e81cdb02c167d1ad1dee Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-26 23:10:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-26 23:10:35 +0900 remove duplication. commit 68e987c315815d9fbbc0c9967127be58c14655b5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-26 23:04:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-26 23:04:10 +0900 GH actions with RUBY_DEBUG (#3144) Add GH actions with -DRUBY_DEBUG Notes: Merged-By: ko1 <ko1@atdot.net> commit 5917fe2303bc85882b52e60145eb031ee18583c7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-26 19:17:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-26 19:17:47 +0900 _GNU_SOURCE is needed for mkostemp on Cygwin commit 17d17de0e8891bba2ab509714fc52764eaeafd65 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-26 14:19:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-26 16:58:40 +0900 Get rid of redefinition of memcpy on mingw commit 04eb05a8e0456ee00fa7443803283b78337d6515 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-26 13:07:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-26 16:58:28 +0900 Prefer configured printf format for mingw gcc 10 commit 7d5da30c9e9c572f6ef0aaccc1ca0e724966e2ee Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-26 15:09:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-26 15:09:07 +0900 Test for [Feature #16832] commit 385ac07fd8f5a50825aee8db459086e617f492aa Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-05-04 23:56:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-26 14:10:33 +0900 Use receiver #name rather than #inspect to build NameError message Notes: Merged: https://github.com/ruby/ruby/pull/3080 commit 4e1f2283b432e833bd4e6f7724ba0496760e68e8 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-26 11:29:32 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-26 13:38:35 +0900 Make Thread#thread_variable? similar to #thread_variable_get Don't use rb_check_id, which only works for pinned symbols. Switch inadvertent creation test for thread_variable? to only check for pinned symbols, same as thread_variable_get and thread_variable_set. Make key variable name in thread_local_set match thread_local_get and thread_variable?. Fixes [Bug #16906] Notes: Merged: https://github.com/ruby/ruby/pull/3145 commit c9fe4ebd29f71805648a048d2cc431c94039ceaa Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-26 04:49:11 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-26 04:49:11 +0900 cause SEGV for the test. 21991e6ca5 enables `__builtin_assume()` for clang and it seems skip SEGV on rb_class_of() with unexpected value. This test expects a [BUG] output, so this patch causes [BUG] to show [BUG] message. https://github.com/ruby/ruby/runs/707088232?check_suite_focus=true#step:12:230 ``` 1) Failure: TestVMDump#test_darwin_invalid_access [/Users/runner/runners/2.262.1/work/ruby/ruby/src/test/ruby/test_vm_dump.rb:19]: pid 43128 exit 0. 1. [2/2] Assertion for "stderr" | Expected /^\[IMPORTANT\]/ to match "". ``` commit 4ac42874bc5b39b82199d9d86eea1c64efe4d73d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-20 17:20:59 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-26 03:21:14 +0900 Update include/ruby/assert.h Co-authored-by: 卜部昌平 <shyouhei@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/3124 commit 21991e6ca59274e41a472b5256bd3245f6596c90 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-20 11:38:44 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-26 03:21:14 +0900 Use RUBY_DEBUG instead of NDEBUG Assertions in header files slows down an interpreter, so they should be turned off by default (simple `make`). To enable them, define a macro `RUBY_DEBUG=1` (e.g. `make cppflags=-DRUBY_DEBUG` or use `#define` at the very beginning of the file. Note that even if `NDEBUG=1` is defined, `RUBY_DEBUG=1` enables all assertions. [Feature #16837] related: https://github.com/ruby/ruby/pull/3120 `assert()` lines in MRI *.c is not disabled even if `RUBY_DEBUG=0` and it can be disabled with `NDEBUG=1`. So please consider to use `RUBY_ASSERT()` if you want to disable them when `RUBY_DEBUG=0`. Notes: Merged: https://github.com/ruby/ruby/pull/3124 commit b10b37924aef33426ea6e2fda5ce17804796ecc4 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-25 20:12:41 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-25 20:12:41 +0900 Fix failures in ./spec/bundler/quality_spec.rb ``` Failures: 1) The library itself does not contain any warnings Failure/Error: raise "Invoking #{method}!(#{args.map(&:inspect).join(", ")}) failed:\n#{last_command.stdboth}" RuntimeError: Invoking sys_exec!("ruby -w") failed: /home/user/snapshot-master/lib/bundler/cli/add.rb:4:in `<module:Bundler>': uninitialized constant Bundler::CLI (NameError) from /home/user/snapshot-master/lib/bundler/cli/add.rb:3:in `<top (required)>' from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require' from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require' from -:2:in `<main>' Commands: $ ruby -w /home/user/snapshot-master/lib/bundler/cli/add.rb:4:in `<module:Bundler>': uninitialized constant Bundler::CLI (NameError) from /home/user/snapshot-master/lib/bundler/cli/add.rb:3:in `<top (required)>' from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require' from /home/user/snapshot-master/lib/rubygems/core_ext/kernel_require.rb:91:in `require' from -:2:in `<main>' # $? => 1 ``` commit fcc8be0198a16cc5fa7d4827be0c781209b70f98 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-25 20:06:49 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-25 20:08:30 +0900 Fix a failure in bundle version with version outputs the version with build metadata ``` 1) bundle version with version outputs the version with build metadata Failure/Error: expect(out).to match(/\ABundler version #{Regexp.escape(Bundler::VERSION)} \(\d{4}-\d{2}-\d{2} commit #{COMMIT_HASH}\)\z/) expected "Bundler version 2.2.0.dev (2020-05-25 commit )" to match /\ABundler version 2\.2\.0\.dev \(\d{4}-\d{2}-\d{2} commit (?-mix:unknown|[a-fA-F0-9]{7,})\)\z/ Diff: @@ -1,2 +1,2 @@ -/\ABundler version 2\.2\.0\.dev \(\d{4}-\d{2}-\d{2} commit (?-mix:unknown|[a-fA-F0-9]{7,})\)\z/ +"Bundler version 2.2.0.dev (2020-05-25 commit )" Commands: $ /home/user/snapshot-master/ruby -I/home/user/snapshot-master/spec/bundler -r/home/user/snapshot-master/spec/bundler/support/artifice/fail.rb -r/home/user/snapshot-master/spec/bundler/support/hax.rb /home/user/snapshot-master/tmp/1/gems/system/bin/bundle version Bundler version 2.2.0.dev (2020-05-25 commit ) # $? => 0 ``` commit 67d2a715ca35090fbb3ab13df5b7348b1807dd47 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-25 20:00:50 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-25 20:08:30 +0900 Fix a error in a `before(:suite)` hook https://github.com/ruby/actions/runs/703745101?check_suite_focus=true#step:16:27 ``` An error occurred in a `before(:suite)` hook. Failure/Error: contents = File.read(version_file) Errno::ENOENT: No such file or directory @ rb_sysopen - /home/runner/work/actions/actions/snapshot-master/tmp/1/bundler-2.2.0.dev/lib/bundler/version.rb ``` commit 45ffab365d14625d972bddd8b2c79e7036a3713d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-25 15:20:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-25 15:20:39 +0900 Added entries about RubyGems and Bundler commit 06321ea26c186434e5b943a6739ffd6bd1eb06d9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-25 10:17:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-25 10:17:51 +0900 RBIMPL_ATTR_DEPRECATED: disable for GCC10 GCC 10.x seems buggy here. See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95302 commit c6c023317ce691e4e9a685a36554714330f2d3e1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-17 18:45:39 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Check uninitialized instance variable in test https://github.com/ruby/rdoc/commit/3dcd5ddbb6 commit 3169ffc0d61ce357ff2e5728b234355fe1523b69 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2019-02-16 22:48:51 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Add frozen string literal support https://github.com/ruby/rdoc/commit/daac9d0471 commit 37b8a7afca9ccc01ba6520511cfc87198db9acbb Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-21 22:58:50 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Add instance_methods because instance_method_list should be obsolete https://github.com/ruby/rdoc/commit/9b1da32254 commit e6d1363ae6bff73f2eb9f0c727edd4586f7274ad Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-18 21:31:08 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Fixed inverted CSS for note-list and label-list https://github.com/ruby/rdoc/commit/a13d6439da commit 32e0ff26e0ea5887a79cbf1ffd81513a4f392d76 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-01 05:18:54 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Delegate ERB args correctly https://github.com/ruby/rdoc/commit/82ff37a822 commit 7e7981c84f8cd3225b5e915cba2281869a08b784 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-09-11 08:17:09 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Treat multiple Ruby methods calling the same C method as aliases Previously, only calls to rb_define_alias were treated as aliases. This treats calls to rb_define_method with the same C function as aliases, with the first function defined being the primary method. This move the dedup code from the C parser to AnyMethod, and has AnyMethod look in its aliases to find the call_seq. Switch the deduplication code to remove lines matching one of the other aliases, instead of only keeping lines matching the current alias. The previous approach could eliminate all call_seq lines in cases where no line matched. This was necessary to pass tests when call_seq does deduplication by default. The only change to the darkfish template is to not perform unnecessary work by deduplicating twice. https://github.com/ruby/rdoc/commit/0ead78616b commit f52a4690f8fbd495e8517178a0bf95c69ccea47c Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-14 19:33:45 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Process crossref before tidylink The crossref must be linked before tidylink because Klass.method[:sym] will be processed as a tidylink first and will be broken. https://github.com/ruby/rdoc/commit/0f47baf6d2 commit c79f9ea606d072176533b22813653f9fd26940af Author: Nate Matykiewicz <natematykiewicz@gmail.com> AuthorDate: 2020-04-05 13:20:22 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-24 23:47:24 +0900 [ruby/rdoc] Escape method names in HTML The following is invalid HTML: <a href="Array.html#method-i-3C-3C"><code><<</code></a></p> Incorrect: <code><<</code> Correct: <code><<</code> Fixes https://github.com/ruby/rdoc/pull/761 https://github.com/ruby/rdoc/commit/b120d087f6 commit 8b8b7c78762f1ec7446f4a35c7bb8093d78fb248 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-05-24 10:35:05 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-24 10:35:05 +0900 Enhanced Rdoc for Hash (#3139) Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com> commit f27e0d90c865a19d42c222a82e13ee4c40352bf7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-24 03:58:59 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-24 04:01:20 +0900 ext/fiddle/fiddle.gemspec: avoid require lib/fiddle/version.rb It loads `ext/fiddle/lib/fiddle/version.rb`, which causes constant redefinition warning: http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200523T153003Z.log.html.gz ``` [ 6317/20193] TestDefaultGems#test_validate_gemspec/home/chkbuild/chkbuild/tmp/build/20200523T153003Z/ruby/ext/fiddle/lib/fiddle/version.rb:2: warning: already initialized constant Fiddle::VERSION /home/chkbuild/chkbuild/tmp/build/20200523T153003Z/ruby/.ext/common/fiddle/version.rb:2: warning: previous definition of VERSION was here = 0.16 s ``` This changeset read the version by manual parsing hack which is also used in stringio and zlib. commit c15cddd1d515c5bd8dfe8fb2725e3f723aec63b8 Author: Alan D. Salewski <salewski@att.net> AuthorDate: 2020-04-15 20:29:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 23:16:28 +0900 Allow Dir.home to work for non-login procs when $HOME not set Allow the 'Dir.home' method to reliably locate the user's home directory when all three of the following are true at the same time: 1. Ruby is running on a Unix-like OS 2. The $HOME environment variable is not set 3. The process is not a descendant of login(1) (or a work-alike) The prior behavior was that the lookup could only work for login-descended processes. This is accomplished by looking up the user's record in the password database by uid (getpwuid_r(3)) as a fallback to the lookup by name (getpwname_r(3)) which is still attempted first (based on the name, if any, returned by getlogin_r(3)). If getlogin_r(3), getpwnam_r(3), and/or getpwuid_r(3) is not available at compile time, will fallback on using their respective non-*_r() variants: getlogin(3), getpwnam(3), and/or getpwuid(3). The rationale for attempting to do the lookup by name prior to doing it by uid is to accommodate the possibility of multiple login names (each with its own record in the password database, so each with a potentially different home directory) being mapped to the same uid (as is explicitly allowed for by POSIX; see getlogin(3posix)). Preserves the existing behavior for login-descended processes, and adds the new capability of having Dir.home being able to find the user's home directory for non-login-descended processes. Fixes [Bug #16787] Related discussion: https://bugs.ruby-lang.org/issues/16787 https://github.com/ruby/ruby/pull/3034 commit 39cb19303c9f9dbd0bdd67d266bfbbe076c6ebc5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-23 22:04:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 22:04:11 +0900 Search pkg-config with ac_tool_prefix [Bug #16909] Should prefer a prefixed version over the bare pkg-config for cross compiling. commit b722182e479199fc9dfdcacb09652fb9f494aa5d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-23 21:20:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 21:20:34 +0900 Revert "Search pkg-config by AC_CHECK_TOOL [Bug #16909]" This reverts commit 6006ab8cf93a0e06d9d65213eff3117965c9bd0c. AC_CHECK_TOOL does not have REJECT argument. commit 6006ab8cf93a0e06d9d65213eff3117965c9bd0c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-23 19:52:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 19:52:14 +0900 Search pkg-config by AC_CHECK_TOOL [Bug #16909] It should use AC_CHECK_TOOL to automatically search for a prefixed version and not just the bare pkg-config. commit b2976a4fcab70bf9323180fd5ba6c29a5bca0747 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-23 17:24:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-23 17:24:29 +0900 Fixup d48c92aa04ffd3a1cecef599eaa5e4409aab2fe4 commit d48c92aa04ffd3a1cecef599eaa5e4409aab2fe4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-23 16:43:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-23 16:44:57 +0900 Rename TestScheduler* to TestFiber for convention of the test directory commit 0b2fc4cf379dec82290c5bc9cc71ce8dc4e4f28b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-23 14:56:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:56:13 +0900 extlibs.rb: make symlink only if the target exists commit 3015a7aae7ddc9b63149df34b1f12366e07a9563 Author: Chris Seaton <chris@chrisseaton.com> AuthorDate: 2020-05-19 08:12:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:34:07 +0900 [ruby/fiddle] Improve documentation on how to correctly free memory and free memory in tests (https://github.com/ruby/fiddle/pull/33) https://github.com/ruby/fiddle/commit/e59cfd708a commit 24b615e82ee327a9ac583937de746ba12dde2d6a Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-04-18 15:57:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Export Fiddle::VERSION https://github.com/ruby/fiddle/commit/1b93a2d9db Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit 74a4558c146556a5b3b9b8f4d074d5a3deeb7841 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-04-18 15:56:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Update file list https://github.com/ruby/fiddle/commit/b04cb92d7b Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit d5c0018a9aa638bef824bfbb564573296aad0550 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-04-18 15:56:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Fix a typo https://github.com/ruby/fiddle/commit/445ca6b501 Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit a0dcdd64c569607b38f48368900ccf3bbc5f7bd6 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-04-18 15:51:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Bump version https://github.com/ruby/fiddle/commit/f8fb7c4823 Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit 13f64333ea6c6b904274cb1a95d2bc82236e9237 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-04-18 15:51:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Add Fiddle::VERSION https://github.com/ruby/fiddle/commit/9dcf64c096 Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit 5fb7ca33e6137ca41d9f320738e3871eecda28e5 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-04-18 15:40:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Add missing spec.extensions https://github.com/ruby/fiddle/commit/2ce36b1fdc Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit 77cc13943cd9ec908d75133d7ac0b89c9ab57deb Author: sinisterchipmunk <sinisterchipmunk@gmail.com> AuthorDate: 2020-01-23 10:37:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Fix assignment to array within struct (https://github.com/ruby/fiddle/pull/26) * Allow access to a struct's underlying memory with `struct[offset, length]`. https://github.com/ruby/fiddle/commit/24083690a6 Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit 4a835621ced099316850a16f2a13534dea62a0b8 Author: sinisterchipmunk <sinisterchipmunk@gmail.com> AuthorDate: 2020-01-22 16:55:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Make array access override compatible with base class (https://github.com/ruby/fiddle/pull/25) * Allow access to a struct's underlying memory with `struct[offset, length]`. * Make accessing a struct's underlying memory more convenient. * refactor memory access unit tests for improved clarity https://github.com/ruby/fiddle/commit/c082c81bb5 Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit aa1d3c7d2c020ec927acaa487e8593172fb64bb0 Author: sinisterchipmunk <sinisterchipmunk@gmail.com> AuthorDate: 2020-01-22 16:30:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-23 14:29:16 +0900 [ruby/fiddle] Initialize memory to 0 when calling Fiddle.malloc(). (https://github.com/ruby/fiddle/pull/24) https://github.com/ruby/fiddle/commit/8414239ca3 Notes: Merged: https://github.com/ruby/ruby/pull/3068 commit ad729a1d11c6c57efd2e92803b4e937db0f75252 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-04-06 04:10:42 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-23 12:31:23 +0900 Fix origin iclass pointer for modules If a module has an origin, and that module is included in another module or class, previously the iclass created for the module had an origin pointer to the module's origin instead of the iclass's origin. Setting the origin pointer correctly requires using a stack, since the origin iclass is not created until after the iclass itself. Use a hidden ruby array to implement that stack. Correctly assigning the origin pointers in the iclass caused a use-after-free in GC. If a module with an origin is included in a class, the iclass shares a method table with the module and the iclass origin shares a method table with module origin. Mark iclass origin with a flag that notes that even though the iclass is an origin, it shares a method table, so the method table should not be garbage collected. The shared method table will be garbage collected when the module origin is garbage collected. I've tested that this does not introduce a memory leak. This change caused a VM assertion failure, which was traced to callable method entries using the incorrect defined_class. Update rb_vm_check_redefinition_opt_method and find_defined_class_by_owner to treat iclass origins different than class origins to avoid this issue. This also includes a fix for Module#included_modules to skip iclasses with origins. Fixes [Bug #16736] Notes: Merged: https://github.com/ruby/ruby/pull/3136 commit fdb31aa7ab1bb1718e57e2e052caff959af3111e Author: Henrik Nyh and Tomas Skogberg <devs+henrik+tomas@auctionet.com> AuthorDate: 2020-04-21 00:10:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-23 09:43:05 +0900 Time.xmlschema: Clarify error and docs It parses a (date)time, not a date. Notes: Merged: https://github.com/ruby/ruby/pull/3046 commit da484c3187523a7cf35130f64783b431a61004a6 Author: BurdetteLamar <burdettelamar@yahoo.com> AuthorDate: 2020-05-23 05:40:01 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-05-23 09:36:42 +0900 Enhanced Rdoc for Hash Notes: Merged: https://github.com/ruby/ruby/pull/3134 commit f8647343edf917142bea63f5e1c9f867674d1e5f Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-14 19:02:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-23 07:28:57 +0900 Remove a bunch of files that were deleted upstream Notes: Merged: https://github.com/ruby/ruby/pull/3132 commit 36f29b598af767e588c39502c673ba2b82dc035e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-23 07:27:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-23 07:27:42 +0900 Fixed wrong usage rm_rf for cleanup the default gems in sync tool commit 8d798e7c531c19756f38aadd03cb801a48cbd97d Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-22 23:54:34 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-22 23:54:34 +0900 Revert "Fix origin iclass pointer for modules" This reverts commit c745a60634260ba2080d35af6fdeaaae86fe5193. This triggers a VM assertion. Reverting until the issue can be debugged. commit c745a60634260ba2080d35af6fdeaaae86fe5193 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-04-06 04:10:42 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-22 23:36:52 +0900 Fix origin iclass pointer for modules If a module has an origin, and that module is included in another module or class, previously the iclass created for the module had an origin pointer to the module's origin instead of the iclass's origin. Setting the origin pointer correctly requires using a stack, since the origin iclass is not created until after the iclass itself. Use a hidden ruby array to implement that stack. Correctly assigning the origin pointers in the iclass caused a use-after-free in GC. If a module with an origin is included in a class, the iclass shares a method table with the module and the iclass origin shares a method table with module origin. Mark iclass origin with a flag that notes that even though the iclass is an origin, it shares a method table, so the method table should not be garbage collected. The shared method table will be garbage collected when the module origin is garbage collected. I've tested that this does not introduce a memory leak. This also includes a fix for Module#included_modules to skip iclasses with origins. Fixes [Bug #16736] Notes: Merged: https://github.com/ruby/ruby/pull/2978 commit ef13558fcd99dc2057cbfc0973f9592f0f8b3071 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-22 21:21:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-22 21:24:51 +0900 Revert a commit miss in "Fixed potential memory leak" This reverts an unintentional change in commit 79d9528ddca1dfe2dd99287dc88fd7c2b30f7137. commit df5fd1d09c953284fcdef450e3c2a5e8474850d4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-21 21:57:47 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-22 20:32:30 +0900 Fixup 1d079a0c5d4d80860a4d6d692344124fe5c562b5 Notes: Merged: https://github.com/ruby/ruby/pull/3114 commit 1d889c96562e9619d2cab443da711e82daeb983c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-21 21:05:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-22 20:32:30 +0900 Sync Bundler PR #3624 with HEAD commits Notes: Merged: https://github.com/ruby/ruby/pull/3114 commit 93ebf9643dc0913693157e6b4bb391a549a9b8ae Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-21 19:57:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-22 20:32:30 +0900 Revert 1f011cccb16ca9e8ee378cb5a9d4c14459afd68c Notes: Merged: https://github.com/ruby/ruby/pull/3114 commit 26367367ec384c7c64d7293a5dc7296932b88692 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-16 19:47:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-22 20:32:30 +0900 Marked the failing examples with the current master branch on ruby repository Notes: Merged: https://github.com/ruby/ruby/pull/3114 commit 9c2752296d526a127aab69216ab31b2cab3fb7a1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-16 09:24:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-22 20:32:30 +0900 Glob the all man files provided by bundler upstream Notes: Merged: https://github.com/ruby/ruby/pull/3114 commit c7ebeb7eda9f7f6bbb48effe1efc026eeb64d09c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-15 21:31:12 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-22 20:32:30 +0900 Sync Bundler PR #3624 Notes: Merged: https://github.com/ruby/ruby/pull/3114 commit f4f157fc81b940c0f76a01ee266a08e6bba69b6b Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-05-22 13:49:08 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-22 13:49:08 +0900 Suppress warnings no inline ruby debug (#3107) * Suppress unused warnings occurred due to -fno-inline * Suppress warning occurred due to RUBY_DEBUG=1 Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit ac395754c7a0d082ab118fe4848886fa14467d39 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-05-22 12:05:19 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-22 12:05:19 +0900 Enhanced rdoc for Hash (#3129) Notes: Merged-By: ioquatix <samuel@codeotaku.com> commit d707c92a3592564178a56b3ee998cf658dfb2859 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-05-22 03:15:42 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-22 11:51:32 +0900 add static modifier for rb_hash_keep_if func Notes: Merged: https://github.com/ruby/ruby/pull/3130 commit e5354de9f48f33be0abf247dce964c6331acbf72 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-05-22 03:15:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-22 11:51:32 +0900 add static modifier for rb_hash_select_bang func Notes: Merged: https://github.com/ruby/ruby/pull/3130 commit 7c4e0859388970653ea5521095fca9e485d840c7 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-05-22 03:14:40 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-22 11:51:32 +0900 add static modifier for rb_hash_select func Notes: Merged: https://github.com/ruby/ruby/pull/3130 commit cbd45af2a9bec871ee023e6be57c5f32b22280fe Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-22 03:41:48 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-22 11:23:20 +0900 fix memory leak of ccs rb_callable_method_entry() creates ccs entry in cc_tbl, but this code overwrite by insert newly created ccs and overwrote ccs never freed. [Bug #16900] Notes: Merged: https://github.com/ruby/ruby/pull/3128 commit 74cd607ca049cdcd7a42f2d42398ef8b4d7d71fc Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-22 11:09:08 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-22 11:12:40 +0900 Run major GC three times to make sure the minor GC reason Same as 02705b27be207fce57bd0253251f81108c7ed57b http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/2955433 ``` 1) TestGc#test_start_full_mark [/tmp/ruby/v3/src/trunk-random1/test/ruby/test_gc.rb:61]: Expected :oldmalloc to be nil. ``` commit 79d9528ddca1dfe2dd99287dc88fd7c2b30f7137 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-22 06:50:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-22 06:50:29 +0900 Fixed potential memory leak Create a wrapper object first, then buffer allocation which can fail. commit a53e2850c572135ed657144bc14e47b29c64fa94 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-22 02:48:02 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-22 04:08:38 +0900 Unpin and update VM references This commit just unpins and updates VM references commit ba7f4bb0af82bc9a7e392608fd7f6a316bec7c9f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-21 12:00:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-21 13:31:36 +0900 Synchronized non-inline version rb_scan_args with the inline version commit 62b47196e44757012b32e52a6b4af7560e59e334 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-21 11:55:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-21 13:31:36 +0900 Added UNREACHABLE_RETURN To get rid of a void function at the end of non-void function. commit 3eb3f7bb8c3da4d3e71246ad011c580b6ad68d78 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-21 13:16:42 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-21 13:27:26 +0900 test/ruby/test_optimization.rb: Proc creation test should count :T_DATA instead of :TOTAL of ObjectSpace.count_objects. This test had failed very occasionally: https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200521T033004Z.fail.html.gz ``` 1) Failure: TestRubyOptimization#test_block_parameter_should_not_create_objects [/home/chkbuild/chkbuild/tmp/build/20200521T033004Z/ruby/test/ruby/test_optimization.rb:713]: <0> expected but was <407>. ``` This test of lazy proc creation checks if no object is created during a method call. However, calling a method itself increases the count of objects because method cache is now an object (T_MEMO). The reason why this test rarely fails is because the test was buggy; it checked the count of :TOTAL, but :TOTAL count changes only when the GC heap is expanded. Creating one object rarely causes heap expansion. The test must have checked not only :TOTAL but also the count of :FREE. Instead, this change more directly checks :T_DATA. Note that a Proc object is T_DATA. commit 6f167da65b799435f94af3c5d39a80968e284f44 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-21 10:43:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-21 10:47:41 +0900 Fixed a variable name [Bug #16903] Fix up of 0e3b0fcdba7 From: fd0 (Daisuke Fujimura) commit 43725c60915753a88224583fafc87c0bac7c5422 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-20 15:44:37 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-21 09:58:54 +0900 rb_scan_args_set: make it slightly readable This is a pure refactoring that improves understanding of what is going on. Not a big win though. commit 6e7e7c1e577d6c2276e9a8cc85c28c55c46c2618 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-21 05:44:09 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-21 07:00:32 +0900 Only marked objects should be considered movable Ruby's GC is incremental, meaning that during the mark phase (and also the sweep phase) programs are allowed to run. This means that programs can allocate objects before the mark or sweep phase have actually completed. Those objects may not have had a chance to be marked, so we can't know if they are movable or not. Something that references the newly created object might have called the pinning function during the mark phase, but since the mark phase hasn't run we can't know if there is a "pinning" relationship. To be conservative, we must only allow objects that are not pinned but also marked to move. commit 891e253ee71fc5196ef4b4ba4718a16bbe858499 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-01-29 09:33:04 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-21 03:16:21 +0900 Use a pinning list for keeping objects alive during assembly. The GC will not disassemble incomplete instruction sequences. So it is important that when instructions are being assembled, any objects the instructions point at should not be moved. This patch implements a fixed width array that pins its references. When the instructions are done being assembled, the pinning array goes away and the objects inside the iseqs are allowed to move. commit ff58cbce94aaa001a262e6a4abc57f85113331be Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-05-20 20:27:47 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-20 23:22:46 +0900 add static modifer for rb_hash_fetch_values func Notes: Merged: https://github.com/ruby/ruby/pull/3125 commit 2480ef904c66812cf366e5d9bc8a9c3c20bbf271 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-20 10:52:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-20 10:52:32 +0900 pure_parser.rb: get rid of an error at localed messages commit 67d259c5dccd31fe49d417fec169977712ffdf10 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-20 02:37:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-20 10:29:38 +0900 Use __bultin_assume() from clang-7 We observed combination of multiple __builtin_assume() can cause strange compile results on clang-6 (-DNDEBUG exposed this issue). To avoid this problem, __builtin_assume() is from clang-7. https://github.com/ruby/ruby/pull/3120#issuecomment-630821333 Notes: Merged: https://github.com/ruby/ruby/pull/3122 commit feb8dc55b6d2acd8f87e0415af65ff861cc55828 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-19 22:09:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-19 22:09:34 +0900 Include wchar.h before wrapping memchr On mingw, wmemcpy() is defined as an inline function using memcpy(), and the static inline wrapper causes a warning. ``` In file included from include/ruby/ruby.h:39, from win32/file.c:5: include/ruby/internal/memory.h:284:16: warning: 'ruby_nonempty_memcpy' is static but used in inline function 'wmemcpy' which is not static 284 | #define memcpy ruby_nonempty_memcpy | ^~~~~~~~~~~~~~~~~~~~ ``` commit 5e81e8675a020ecd493620a4ff38db8fcf4b972a Author: Shugo Maeda <shugo@ruby-lang.org> AuthorDate: 2020-05-19 17:46:21 +0900 Commit: Shugo Maeda <shugo@ruby-lang.org> CommitDate: 2020-05-19 17:48:53 +0900 Ignore exceptions when closing data connections [Bug #16780] Patch by koshigoe (Masataka SUZUKI). Thanks! commit 1f063abb4c42acc52e27fed76577c984ad8b7a3a Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-05-19 13:09:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-19 15:22:53 +0900 add static modifier to rb_ary_aref2 func Notes: Merged: https://github.com/ruby/ruby/pull/3119 commit 79292b30884ebcd8be028a7f3c9ccafd7759f2ae Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-15 01:35:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-19 12:54:51 +0900 Make builtin loader sources by Ripper commit 6efb9fe04229c9e96205025bfd8b6cfec1b9a30f Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-13 04:00:35 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-19 08:57:10 +0900 Allow references stored in the VM stack to move We can update these references too, so lets allow them to move. commit 6c1a51dae82cf2bccdddd0376d57ba7574c01a18 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-19 00:58:19 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-19 00:58:33 +0900 Skip some tests if extracted from tarball (again) Fix up previous commit ref 9aa75795f9f438d5c874d8e418c3c7cdd63024fa, 38002a8adbd98266426940d829429a30af0622a4, and 0e60b59d5884edb8f9aea023efd9b24f1ff02049 commit 1f011cccb16ca9e8ee378cb5a9d4c14459afd68c Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2019-11-18 23:39:57 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-18 23:18:44 +0900 Skip some tests if extracted from tarball (again) ref 9aa75795f9f438d5c874d8e418c3c7cdd63024fa commit 3bada9208afa8ad874e4e6037bd81f7b662a3180 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-18 15:42:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-18 15:42:24 +0900 Simplify maybe_special_const_class_p commit b16a2aa938d091c387a7437d94dac7f7bb829ba2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-18 14:47:20 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-18 15:38:19 +0900 Reduce code size for rb_class_of by inlining only hot path. === mame/optcarrot === $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=24 --output=all before --jit: ruby 2.8.0dev (2020-05-18T05:21:31Z master 0e5a58b6bf) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-05-18T06:12:04Z master 0e3d71a8d1) +JIT [x86_64-linux] last_commit=Reduce code size for rb_class_of Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 71.62880463568773 70.95730063273503 fps 71.73973684273152 71.98447841929851 75.03923801841310 75.54262519509039 75.16300287174957 77.64029272984344 75.16834828625935 78.67861469580785 75.17670723726911 78.81879353707393 75.67637908020630 79.18188850392886 76.19843953215396 79.66484891814478 77.28166716118808 79.80278072861037 77.38509903325165 80.05859292679696 78.12693418455953 80.34624804808006 78.73654441746730 80.66326571254345 79.25387513454415 80.69760605740196 79.44137881689524 81.32053489212245 79.50497657368358 81.50250852553751 79.62401328582868 82.27544931834611 79.79178811723664 82.67455264522741 81.20275352937418 82.93857260493297 81.57027048640776 83.15019118788184 81.63373188649095 83.20728816044721 81.93420437766426 83.25027576772972 82.05716136357167 83.27072145898173 82.21070805525066 83.36008265822194 82.56924063784872 83.36112268888493 === benchmark-driver/sinatra === [rps] before: 13143.49 rps after: 13505.70 rps [inlined rb_class_of size] before: 11.5K after: 3.8K (calculated by `dwarftree --die inlined_subroutine --flat --merge --show-size`) commit afd84c58acfe9126d31c3f7673b049f11b67b095 Author: Avdi Grimm <avdi@users.noreply.github.com> AuthorDate: 2020-05-17 06:29:05 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-05-18 14:39:21 +0900 Document how to enable USDT method entry/exit tracepoints Notes: Merged: https://github.com/ruby/ruby/pull/3115 commit 0e5a58b6bf6aae72b6290a8d68e0a1b6d9eb4f79 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-18 13:55:41 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-18 14:21:31 +0900 Mark some JIT-ed functions as COLDFUNC Put some functions which are unlikely to be called on JIT in .text.unlikely section to improve hot code's locality. commit c0cd474d4ffedb1eeb49505f53c0727a008bdd3e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-18 12:41:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-18 12:42:33 +0900 Prefer dedicated enum over int commit b02c10b2407447cf8a6d6a001b745d7790a0ca61 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-18 12:28:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-18 12:28:50 +0900 built-in method call must not have a receiver commit 9f18b139c9d93c0bcfdc4f4e502ab024c4212fc0 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-16 18:25:56 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-17 19:26:53 +0900 [ruby/reline] Add a test of autowrap for yamatanooroti https://github.com/ruby/reline/commit/38676ba8c2 commit f56e05fa7db740a0d35778b00c8f6a78f6acacac Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-07 23:44:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-17 19:26:53 +0900 [ruby/reline] Remove unnecessary TODO commnet https://github.com/ruby/reline/commit/23c67fb7b3 commit fc2a121c7c56ec29cddc426910aa1ac4cd3f5edc Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-03 14:36:33 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-17 19:26:53 +0900 [ruby/reline] If history-size isn't numeric, it should be 500 https://tiswww.case.edu/php/chet/readline/readline.html#IDX25 > If an attempt is made to set history-size to a non-numeric value, the maximum > number of history entries will be set to 500. https://github.com/ruby/reline/commit/acf0437280 commit dc0cdf4322aec0028e425f37104138afdb8e587c Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-02 00:22:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-17 19:26:53 +0900 [ruby/irb] Version 1.2.4 https://github.com/ruby/irb/commit/d7c5fb0273 commit bd8aa047fc506b18d51fd791b8920d1e3bc72354 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-17 19:03:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-17 19:03:05 +0900 Removed useless implementation tests commit dc57136fd32dc0e86fbbf36f216e4149c9f121c8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-17 15:35:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-17 18:10:18 +0900 Removed PRNG implementation details from the test Notes: Merged: https://github.com/ruby/ruby/pull/3116 commit 968d6df49f5f59eb2898d27399ad6d49b723216d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-17 16:33:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-17 16:34:06 +0900 Added --test-order=nosort option Run tests in the order given in the command line. commit 2c3c6c96cfc31eb387c643990375e6e1d67b409d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-16 17:37:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-16 17:37:28 +0900 Defer initialization Defer initialization of extension libraries, loading prelude files and requiring files, and skip if dump options are given. commit 9e67a38fdea7d8a549f4b216703ad1600554c3cf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-16 17:36:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-16 17:36:30 +0900 Fallback to built-in UTF-8 for miniruby Source code encoding is defaulted to UTF-8 now too. commit 8c3a60df2a671a538f9f7aef57adaa77ec817de9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-16 17:09:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-16 17:35:09 +0900 leakchecker.rb: show test name When multiple autoclose IO objects are leaked too. commit d46980798043463fa0622be3d787d5cda829cb37 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-05-16 06:11:42 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-16 06:11:42 +0900 [CI skip] Enhance rdoc intro for Hash (#3056) * Per @nobu review * [CI skip] Enhance rdoc intro for Hash * Tweak call-seq for Hash.new * Tweak call-seq for Hash.new * Minor corrections * Respond to review * Respond to review * Respond to review * Respond to review * Fix chain exampmle * Response to review Notes: Merged-By: drbrain <drbrain@segment7.net> commit 71c166e11e761dcaaa943f9b94da38f86ada1bdb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-15 12:50:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-15 14:59:11 +0900 Fixed argument forwarding in reserved word method [Bug #16854] Notes: Merged: https://github.com/ruby/ruby/pull/3112 commit e89b87508160868bd431218872d0d5b7b15bc57b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-05-15 14:27:06 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-05-15 14:54:03 +0900 fix for multi-run test. TestAutoload#test_source_location can't run multiple test-run so that use assert_separately(). repro command: make yes-test-all TESTS='--repeat-count=50 ruby/test_autoload -n test_source_location' Notes: Merged: https://github.com/ruby/ruby/pull/3111 commit 6fa8455ebbf457e5d8752295a8d6380146636c0c Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-05-15 09:23:42 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-05-15 10:26:23 +0900 Move `test/scheduler` -> `test/fiber` [Bug #16892][ruby-core:98366]. Notes: Merged: https://github.com/ruby/ruby/pull/3110 commit 39365b46e250162f278cb36aa148bc2a92b1b84a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-15 01:22:56 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-15 01:22:56 +0900 Merge pull request #3047 from mame/suppress-backtrace Add `--suppress-backtrace=num` option to limit the backtrace length Notes: Merged-By: mame <mame@ruby-lang.org> commit 7f86ad61cceaffca0d47fe5dc706fbc2ca9ea166 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-15 01:21:12 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-15 01:21:12 +0900 test/scheduler: suppress warnings https://rubyci.s3.amazonaws.com/debian/ruby-master/log/20200514T123004Z.log.html.gz ``` /home/chkbuild/chkbuild/tmp/build/20200514T123004Z/ruby/test/scheduler/scheduler.rb:29: warning: assigned but unused variable - fiber /home/chkbuild/chkbuild/tmp/build/20200514T123004Z/ruby/test/scheduler/scheduler.rb:156: warning: method redefined; discarding old fiber /home/chkbuild/chkbuild/tmp/build/20200514T123004Z/ruby/test/scheduler/test_fiber.rb:27: warning: ambiguous first argument; put parentheses or a space even after `/' operator ``` commit d7d0d01401a8082e514eb2cb3cec5410e7acba7d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-14 17:27:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-14 19:58:44 +0900 Endless method definition including `rescue` modifier Notes: Merged: https://github.com/ruby/ruby/pull/3108 commit 0e3b0fcdba70cf96a8e0654eb8f50aacb8024bd4 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-05-14 19:10:55 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-05-14 19:10:55 +0900 Thread scheduler for light weight concurrency. Notes: Merged: https://github.com/ruby/ruby/pull/3032 Merged-By: ioquatix <samuel@codeotaku.com> commit 336119dfc5e6baae0a936d6feae780a61975479c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-14 17:19:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-14 17:19:39 +0900 extlibs.rb: fixed Downloader.cache_file call and return value `cache_dir` is an optinal argument but not a keyword argument, and the return value is a `Pathname`. commit 0a52015da7c4895363e239387e749e4b1f63b198 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-14 17:15:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-14 17:15:24 +0900 Constified code_loc_gen commit 4a620aff8d1098900c8d0f336b2698ed1256621c Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-14 12:27:13 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-14 12:27:33 +0900 Restore class variable setting for tests commit 03a492fe45816d21ec8bb080229f0caf07626810 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-13 07:25:57 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-14 12:27:33 +0900 Initialize Reline callbacks when test suit starts commit 68a7c8ad5781ecfa12cf7b512b5745ba1a78bdcd Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-13 07:21:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-14 12:27:33 +0900 Reline callbacks can take nil commit ca1f6b3eae076fefe1b1c042a9191894c6773669 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-12 21:17:43 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-14 12:27:33 +0900 Delete inner text buffer after tests commit 978e691c86b9a4e6d5d6af7755f532505dca2690 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-12 14:47:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-14 12:27:33 +0900 Restore Readline.completion_case_fold in test commit 35bbbc751d626e1955c87613a5103f0efc0b1942 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-13 22:05:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-14 09:11:28 +0900 clean-up .bundle directory in bundled_app Notes: Merged: https://github.com/ruby/ruby/pull/3105 commit d4acf254e360096f869f344108ba7ef2ba1f5a92 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-13 21:58:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-14 09:11:28 +0900 Use the gemspec in build_dir directly Notes: Merged: https://github.com/ruby/ruby/pull/3105 commit 8bd27c547c3260ce72dc5edbab248bb858c84cf2 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-14 00:44:35 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-14 00:44:35 +0900 ext/json/parser/prereq.mk: remove type-limit warning if char is unsigned Ragel generates a code `0 <= (*p)` where `*p` is char. As char is unsigned by default on arm and RISC-V, it is warned by gcc: ``` compiling parser.c parser.c: In function ‘JSON_parse_string’: parser.c:1566:2: warning: comparison is always true due to limited range of data type [-Wtype-limits] if ( 0 <= (*p) && (*p) <= 31 ) ^ parser.c:1596:2: warning: comparison is always true due to limited range of data type [-Wtype-limits] if ( 0 <= (*p) && (*p) <= 31 ) ^ ``` This change removes the warning by substituting the condition with `0 <= (signed char)(*p)`. commit 87662134b5351bd750e50bc6e9ff2a6ffe9b1f68 Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-05-13 14:55:35 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] Ruby/OpenSSL 2.2.0 https://github.com/ruby/openssl/commit/41587f69e1 commit cc26638cae385a497a3e6b6ad667292819cda938 Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-05-13 14:33:06 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] ssl: temporarily remove SSLContext#add_certificate_chain_file Let's revert the changes for now, as it cannot be included in the 2.2.0 release. My comment on #257: > A blocker is OpenSSL::SSL::SSLContext#add_certificate_chain_file. It > has a pending change and I don't want to include it in an incomplete > state. > > The initial implementation in commit 46e4bdba40c5 was not really > useful. The issue is described in #305. #309 extended it > to take the corresponding private key together. However, the new > implementation was incompatible on Windows and was reverted by #320 to > the initial one. > > (The prerequisite to implement it in) an alternative way is #288, and > it's still cooking. This effectively reverts the following commits: - dacd08937ccd ("ssl: suppress test failure with SSLContext#add_certificate_chain_file", 2020-03-09) - 46e4bdba40c5 ("Add support for SSL_CTX_use_certificate_chain_file. Fixes https://github.com/ruby/openssl/pull/254.", 2019-06-13) https://github.com/ruby/openssl/commit/ea925619a9 commit 6f008c9d2fec52f2c2d39c04ad83e87c7975105c Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-04-21 02:12:29 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] pkey: add PKey#inspect and #oid Implement OpenSSL::PKey::PKey#oid as a wrapper around EVP_PKEY_id(). This allows user code to check the type of a PKey object. EVP_PKEY can have a pkey type for which we do not provide a dedicated subclass. In other words, an EVP_PKEY that is not any of {RSA,DSA,DH,EC} can exist. It is currently not possible to distinguish such a pkey. Also, implement PKey#inspect to include the key type for convenience. https://github.com/ruby/openssl/commit/dafbb1b3e6 commit a7145c3de4ddbe9f90bd6f087afac44a764fae04 Author: Bart de Water <bartdewater@gmail.com> AuthorDate: 2020-04-21 07:18:57 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] Fix signing example to not use Digest instance https://github.com/ruby/openssl/commit/033fb4fbe4 commit c85789f9b2882bc95364c5da182a24aa72ca52cc Author: Bart de Water <bartdewater@gmail.com> AuthorDate: 2020-04-20 05:14:34 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] Look up cipher by name instead of constant https://github.com/ruby/openssl/commit/b08ae7e73d commit b44cc9f040f17fe1d19fb161a22e2df94c5ad76a Author: Bart de Water <bartdewater@gmail.com> AuthorDate: 2020-04-20 05:01:15 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] Remove 'mapping between Digest class and sn/ln' This is not present in the referenced files anymore, and not useful to most users https://github.com/ruby/openssl/commit/eae30d2b96 commit 0b2c70eaa1e8e41fcb6332b22b084dabb81e637c Author: Bart de Water <bartdewater@gmail.com> AuthorDate: 2020-04-20 00:14:36 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] Look up digest by name instead of constant https://github.com/ruby/openssl/commit/b28fb2f05c commit 3f8665fe0ed5331aa723ddecbf6ad3728931c08d Author: Bart de Water <bartdewater@gmail.com> AuthorDate: 2020-04-20 06:00:01 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-05-13 15:47:51 +0900 [ruby/openssl] Add Marshal support to PKey objects https://github.com/ruby/openssl/commit/c4374ff041 commit fcd257629063a345c48ff2d8057fa8ab910881f2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-13 14:46:59 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-13 14:50:05 +0900 Stop always inlining not-optimized get/setivar As we have the optimization in _mjit_compile_ivar.erb, we don't use these functions if we successfully optimize ivars. Therefore it's consuming code size where we can't optimize it well. To decrease code size, we'd better avoid inlining them. ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=12 --output=all before --jit: ruby 2.8.0dev (2020-05-13T04:49:21Z master 61d451d6ce) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-05-13T05:46:59Z master a072d323db) +JIT [x86_64-linux] Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 69.8567095356444 73.0360609399857 fps 70.3283101279035 74.6106251902062 72.9135395729567 75.2797344839106 76.6944690546044 77.5705757485036 77.0027971817715 78.2269524040059 78.5069033659736 78.4457471014131 80.1873218604913 80.1273811685818 81.3079566400696 81.7148593303302 81.7285827817226 81.7637234555871 81.7657097839637 82.4520295422720 81.8310114206406 82.7532354379759 81.9886488857863 82.8358739858206 ``` commit 61d451d6cec0aa290e5f550f449d067833979b2b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-13 13:49:21 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-13 13:49:21 +0900 ext/bigdecimal/bigdecimal.c, ext/date/date_core.c: undef NDEBUG `#define NDEBUG` produces "macro redefined" warnings when it is already defined via cppflags commit 3bca1b6aadff1faf1c2308cd4eb7dd58948a47d8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-13 13:45:31 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-13 13:45:31 +0900 ext/openssl/ossl.h: Remove a variable that is used only in assert It produces "unused variable" warnings in NDEBUG mode commit b68dab866724aacc1cbc6b7d5e1f555dec092346 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-13 10:57:14 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-13 10:57:14 +0900 ext/fiddle/extconf.rb: Fix the condition of libffi <= 3.1 ver is [3, 1, 0] which is not less then or equal to [3, 1] commit 9cfa811b0f209d714f89fe0de6778c71f77556c7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-13 08:39:50 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-13 08:42:48 +0900 Do not try ffi_closure_alloc if libffi is <= 3.1 Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and Fedora CIs have started failing with SEGV. Try to avoid ffi_closure_alloc on those environments. https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/fedora32/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200512T183003Z.fail.html.gz commit 777b5b4f3959ebd1a0b2601324a1f4fa452ca166 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-12 21:55:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Bump version to use RSpec 3.8+ Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit cecd343336b127d84f1c84e39f30bcdade64703d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-12 21:35:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Skip the examples for bundle exec with gem installation Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit f61dbb921e471e2d36fbd39c6669dde00d0fa87a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-11 22:11:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Marked the some examples that are not working with the ruby repository Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit aecbb78517ed1ae2c6c5d118b569fad5993b83e3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-11 22:00:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Use relative path in ruby core repository Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit 143872bf98b01926562839fbd7e352da588d62bd Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-11 21:25:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Unmask the some of examples with ruby_repo label Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit ca892e6902f2a440ed40bbd52429aca650e4b702 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-11 20:27:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Skip the example to use rake command Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit ea517cfe23fece12345d76be8f05abad7d5a46fe Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-09 09:49:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 skip lockfile_spec.rb:33 because it cleanup the .bundle repo Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit fcb5a9ee46e75cef38ee79c7307dadfae7a8b865 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-11 17:26:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Resolved the file path of gemspec for ruby core repository Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit cf9619084b458e10402eb37615b73b4cc0d61eeb Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-09 09:51:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Bump version to use Rake 13 in bundler examples Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit 5b634afe4cacbad1f04ef84e9929626820350912 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-07 17:07:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Added test_gems.rb for setup dependencies Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit a7c1791cec213bf1183a9f397cc60718f9de656f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-07 16:15:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Partly reverted bundler.gemspec for ruby core testing Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit 0e60b59d5884edb8f9aea023efd9b24f1ff02049 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-08 14:19:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-13 07:54:37 +0900 Update the bundler version with master branch Notes: Merged: https://github.com/ruby/ruby/pull/3086 commit e1855100e46040e73630b378974c17764e0cccee Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-13 01:17:30 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-13 01:17:30 +0900 ext/fiddle/extconf.rb: check if ffi_closure_alloc is available to define HAVE_FFI_CLOSURE_ALLOC. The macro is used in closure.c, so have_func check is needed. If pkg-config is not installed, extconf.rb fails to detect the version of libffi, and does not add "-DUSE_FFI_CLOSURE_ALLOC=1" even when system libffi version is >= 3.2. If USE_FFI_CLOSURE_ALLOC is not defined, closure.c attempts to check if HAVE_FFI_CLOSURE_ALLOC is defined or not, but have_func was removed with 528a3a17977aa1843a26630c96635c3cb161e729, so the macro is always not defined. This resulted in this deprecation warning: https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200512T123003Z.log.html.gz ``` compiling closure.c closure.c: In function 'initialize': closure.c:265:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations] 265 | result = ffi_prep_closure(pcl, cif, callback, (void *)self); | ^~~~~~ In file included from ./fiddle.h:42, from closure.c:1: /usr/include/x86_64-linux-gnu/ffi.h:334:1: note: declared here 334 | ffi_prep_closure (ffi_closure*, | ^~~~~~~~~~~~~~~~ ``` commit 1c4eb70654aa20dd7caf3ce31be944396c5d31b8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-12 23:19:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 23:19:20 +0900 Build auxiliary program files early commit 02cb643ddbe855a11dd2af0f4355e0a2c9874169 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-12 22:59:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 22:59:58 +0900 Added String#split benchmark for empty regexp | |compare-ruby|built-ruby| |:--------------|-----------:|---------:| |re_chars-1 | 169.230k| 973.855k| | | -| 5.75x| |re_chars-10 | 25.536k| 107.598k| | | -| 4.21x| |re_chars-100 | 2.621k| 11.207k| | | -| 4.28x| |re_chars-1000 | 259.098| 1.133k| | | -| 4.37x| commit 693f7ab31578bf23d165f022b60da3a32055ceea Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-12 15:50:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 19:58:58 +0900 Optimize String#split Optimized `String#split` with `/ /` (single space regexp) as simple string splitting. [ruby-core:98272] | |compare-ruby|built-ruby| |:--------------|-----------:|---------:| |re_space-1 | 432.786k| 1.539M| | | -| 3.56x| |re_space-10 | 76.231k| 191.547k| | | -| 2.51x| |re_space-100 | 8.152k| 19.557k| | | -| 2.40x| |re_space-1000 | 837.405| 2.022k| | | -| 2.41x| ruby-core:98272: https://bugs.ruby-lang.org/issues/15771#change-85511 Notes: Merged: https://github.com/ruby/ruby/pull/3103 commit 2e7d886311399a2ec1918afe7838d12e7708b7a6 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-12 17:47:27 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-12 17:48:31 +0900 test/lib/jit_support.rb: Let JIT tests skip on centos8 It has the same issue as RHEL 8. k0kubun said he will fix later commit b16acf8baa4899dc4e39246dcb89b351e4adfa13 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-11 18:37:08 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-12 17:15:22 +0900 .github: use actions/checkout@v2 again Notes: Merged: https://github.com/ruby/ruby/pull/3100 commit ee518cf077b856fddea7dfae5d85f3c3117dd616 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-12 16:22:41 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 16:27:25 +0900 Revert "Sync did_you_mean" This reverts commit 946dadd3f479198e87873a863d15c7660a8e2b56, which broke `TestGemRequire` and others. commit 317fdd6df2fce0fa5538690c6f6547585b494f2e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-11 07:52:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 15:57:47 +0900 fiddle: share the same config tools Notes: Merged: https://github.com/ruby/ruby/pull/3102 commit 3150b97d3261025955561e40ec781723ddc716fb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-10 15:00:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 15:57:47 +0900 extlibs.rb: links in extracted directory Allow to create symbolic links (if available) to share same or updated files. Notes: Merged: https://github.com/ruby/ruby/pull/3102 commit d1748484e8d919cbd7d13249d9e4f7af981c383e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-10 14:58:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 15:57:47 +0900 extlibs.rb: added variable references Reduce duplicate parts such as package name and version numbers. Notes: Merged: https://github.com/ruby/ruby/pull/3102 commit 1d2fc91237ac8639e762a3b36bd0ee066fb80c3e Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-12 13:25:22 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-12 13:25:22 +0900 Add missing `,` commit 31af0dafba6d3769d2a39617c0dddedb97883712 Author: Stephen Touset <stephen@squareup.com> AuthorDate: 2014-04-19 05:42:02 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-05-12 12:55:04 +0900 Expose SSLContext#extra_chain_cert in Net::HTTP Currently, Net::HTTP can only send a single SSL certificate when it establishes a connection. Some use-cases involve sending an entire certificate chain to the destination; for this, SSLContext supports assigning to #extra_chain_cert=. This adds support in Net::HTTP for exposing this underlying SSLContext property to end-users. [Feature #9758] commit 946dadd3f479198e87873a863d15c7660a8e2b56 Author: Yuki Nishijima <yk.nishijima@gmail.com> AuthorDate: 2020-05-12 12:24:39 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-05-12 12:25:04 +0900 Sync did_you_mean commit 237bee9d40cbc9d1067694f84793985cc4621cbc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-12 10:21:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 10:23:33 +0900 Removed extra stringization Argument of RUBY_ASSERT_FAIL is already stringized message, so no more extra stringization should be applied. commit 3fcf7f0271a3f29f91b6bda60e518f0fcb026eda Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-10 14:54:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-12 10:02:39 +0900 win32/mkexports.rb: do not export internal symbols Functions using `rb_thread_t` and `rb_execution_context_t` are internal use only. commit 7a7854d8c18b0ec15b3c050aff179f9753a44210 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-12 00:51:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-12 02:53:44 +0900 Some I/O in test doesn't have "position" Just returns column 1 for ambiguous width because this I/O is not tty and can't seek. commit d39be242ba795e34c1907c4d88329b15ad2838bd Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-05-11 19:51:29 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-05-12 02:53:44 +0900 Also use pipe for input in test commit 42abad2464a78e3ec8a42f85c7bc878233f3ce16 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-12 02:12:06 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-12 02:14:27 +0900 numeric.c: optimize `float ** 2` case by fastpath It would be a relatively frequent case. It is still slower than `float * float` because `*` has a dedicated VM instruction (opt_mult), though. commit 1258a0fb90ea63bf1ec108815cce0d552acfc726 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-05-08 04:49:40 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-05-12 01:15:24 +0900 Remove the 65 size limit for name_err_mesg_to_str This limit was introduced on Nov 20 1996 in 554b989ba1623b9f6a0b76f00824c83a23fbcbc1 Apparently to protect from a buffer overflow: * eval.c (f_missing): オブジェクトの文字列表現が長すぎる時バッファ を書き潰していた However I tested that path with very large strings and it works fine. Notes: Merged: https://github.com/ruby/ruby/pull/3090 commit 15e977349e31389515bccf7a9684005a0c36e02d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-11 16:45:40 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 16:47:25 +0900 more on NULL versus functions Function pointers are not void*. See also 115fec062ccf7c6d72c8d5f64b7a5d84c9fb2dd8 ce4ea956d24eab5089a143bba38126f2b11b55b6 8427fca49bd85205f5a8766292dd893f003c0e48 commit 4fbb34415659d33b479973e1fdbc71314bd810eb Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-11 16:40:52 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 16:47:25 +0900 fix sunpro pragma SunPro's #pragma does_not_return(...) needs an argument. That does not fit the attribute syntax we employ. commit 233c2018f1b873a441af22848cee6dedaed3ad72 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-11 14:27:25 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 14:56:51 +0900 drop varargs.h support This header file is simply out of date (for decades since at least 1989). It's the 21st century. Just stop using it. commit 534277fa7b3b8aa7c25db51af0c1b32e7dfa6139 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-10 18:47:03 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 11:07:37 +0900 rb_str_new: hoist RB_CONSTANT_P out of function https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html says: > GCC never returns 1 when you call the inline function with a string > constant or ... Because rb_str_new and familiy take string constants, it was a bad idea for them to contain RB_CONSTANT_P. We should instead do so in corresponding macros. [ruby-core:98212] Notes: Merged: https://github.com/ruby/ruby/pull/3098 commit 9e41a75255d15765648279629fd3134cae076398 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-08 18:31:09 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 09:24:08 +0900 sed -i 's|ruby/impl|ruby/internal|' To fix build failures. Notes: Merged: https://github.com/ruby/ruby/pull/3079 commit b85fd1d690b65efaa126cf9c24da73f31eee7a4e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-08 18:10:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 09:24:08 +0900 mv include/ruby/{impl,internal} Devs do not love "impl". Notes: Merged: https://github.com/ruby/ruby/pull/3079 commit 122f96c362c0391045d9b10d81d3681cb2455da5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-04 16:27:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 09:24:08 +0900 sed -i s/ruby3/rbimpl/g Notes: Merged: https://github.com/ruby/ruby/pull/3079 commit 97672f669af53c41b094772559030195787406be Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-04 15:52:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 09:24:08 +0900 sed -i s/RUBY3/RBIMPL/g Devs do not love "3". The only exception is RUBY3_KEYWORDS in parse.y, which seems unrelated to our interests. Notes: Merged: https://github.com/ruby/ruby/pull/3079 commit d7f4d732c199df24620a162372c71ee83ed21e62 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-04 15:35:26 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 09:24:08 +0900 sed -i s|ruby/3|ruby/impl|g This shall fix compile errors. Notes: Merged: https://github.com/ruby/ruby/pull/3079 commit dca234a5dc9d5bb39c906d833c43305ce95508fb Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-04 15:26:12 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-11 09:24:08 +0900 mv include/ruby/{3,impl} Devs do not love "3". Notes: Merged: https://github.com/ruby/ruby/pull/3079 commit c89c3801b985916b6fb6726aab966d28371dfaaa Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-11 03:17:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-11 03:19:36 +0900 BASERUBY have to be 1.9 or later at least [Bug #16845] Many tools under tool directory haven't worked with ruby 1.8. commit 4a24cd8eb3fcb8a555671b49bbbe8d33b7b388ba Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-11 02:26:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-11 02:41:41 +0900 Suppress probably impossible maybe-uninitialized warning commit 5d430c1b34b6162d4cfbd472fae09e6ea282f3a3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-11 00:24:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-11 00:40:14 +0900 Added more NORETURN declarations commit a1e1fdca091bdd20ccfd69b682e8f1f6f51fa4f3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-11 00:39:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-11 00:40:14 +0900 Fallback MAKE to make commit 3fa4fd4780f9b3a1f2058f8fd2733334868bf24c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-11 00:17:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-11 00:18:06 +0900 Pass MAKE value to configure for non-default name case GNU make does not export it by default. commit f1699314147bad2cf5550cc582693424fdbc2510 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-10 21:35:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-10 21:37:59 +0900 win32ole: separate global variable declarations and definitions https://gcc.gnu.org/gcc-10/changes.html#c > * GCC now defaults to `-fno-common`. As a result, global > variable accesses are more efficient on various targets. In > C, global variables with multiple tentative definitions now > result in linker errors. With `-fcommon` such definitions are > silently merged during linking. commit dd830fab6982dfbfd0667f025e823b097af42f71 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-10 18:40:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-10 18:40:47 +0900 Fixed a typo commit 42e8de8db9c009fef41694db3e14d6d4500d6848 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-10 17:26:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-10 17:28:03 +0900 Fix for cross_compiling `RubyVM.each_builtin` is not defined when cross compiling. commit 967ae6278f8429dc268f8d3252de048eba86fe29 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-10 16:52:54 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-10 16:59:55 +0900 Run rb_syswait on exec failure not only when !w but also when w == WAITPID_LOCK_ONLY. See also: f7c0cc36920a4ed14a3ab1ca6cfdf18ceff1e5d5 and a2264342063260d660b99872eaf5080f6ab08e81. We thought this change was an oversight in the latter commit. Without this change, the test fails like: $ make test-all TESTS="../test/ruby/test_process.rb -n test_exec_failure_leaves_no_child" RUN_OPTS="--jit" ... 1) Failure: TestProcess#test_exec_failure_leaves_no_child [/home/k0kubun/src/github.com/ruby/ruby/test/ruby/test_process.rb:2493]: Expected [[26799, #<Process::Status: pid 26799 exit 127>]] to be empty. Co-Authored-By: Yusuke Endoh <mame@ruby-lang.org> commit 50a6d292c0ebfc2f35ee66efbb3b7ea44d5a0f94 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-09 22:39:58 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-10 16:51:10 +0900 nmake doesn't understand $< Fix MSVC build error. Notes: Merged: https://github.com/ruby/ruby/pull/3097 commit 4fca592e8c707c76e8afea2a0b5dd4d17e97cd8f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-05 18:00:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-10 16:51:10 +0900 delete mk_builtin_binary.rb To generate what is necessary via generic_erb.rb instead. Notes: Merged: https://github.com/ruby/ruby/pull/3097 commit 191cfcc407e83ddd99212db4ba7b3df9f4608a05 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-05 17:09:42 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-10 16:51:10 +0900 delete mk_call_iseq_optimized.rb To generate what is necessary via generic_erb.rb instead. Notes: Merged: https://github.com/ruby/ruby/pull/3097 commit a6f85899144607606c114e95104fa7e8ec8d95d9 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-10 14:36:30 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-10 14:36:34 +0900 Workaround a zombie process created by Open3 with MJIT worker enabled The problem: ``` $ ruby -ropen3 --jit -e 'Open3.capture2e("cmake") rescue nil;binding.irb' irb(main)[01:0]> Process.waitall => [[10656, #<Process::Status: pid 10656 exit 127>]] $ ruby -ropen3 -e 'Open3.capture2e("cmake") rescue nil;binding.irb' irb(main)[01:0]> Process.waitall => [] ``` Not sure why it's happening yet, but first I'd like to prevent trunk-mjit-wait from failing like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2929075. commit 3bf0d2bb9288dff8879dedc1f1a26ff8bede2cbb Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-10 14:18:25 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-10 14:18:25 +0900 test/rubygems/test_gem_ext_cmake_builder.rb: make sure cmake available just for a case. In addition, this change suppresses unused variable warning. commit 889b0fe46f5192d373d4db27d761f3f526684756 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-05-08 18:03:14 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-05-09 22:24:57 +0900 .github/workflows/compilers.yml: GCC 10.1 released Notes: Merged: https://github.com/ruby/ruby/pull/3094 commit 883214f8e94cdc4ffe6d572f5a67b16c9d62676f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 20:13:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 20:13:30 +0900 Use %w instead of %i not to create unused IDs commit 595e74ae4b86679a2dae57c13820d44d05ef919f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-09 20:07:38 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-09 20:07:38 +0900 test/io/console/test_io_console.rb: Rescue Errno::ENXIO for Solaris https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200509T100003Z.fail.html.gz ``` 1) Failure: TestIO_Console#test_failed_path [/export/home/users/chkbuild/cb-gcc/tmp/build/20200509T100003Z/ruby/test/io/console/test_io_console.rb:40]: [Errno::ENODEV, Errno::ENOTTY, Errno::EBADF] exception expected, not #<Errno::ENXIO: No such device or address - /dev/null>. ``` commit be575a6eefbaea21550f2c378407dd405cd768bc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 16:02:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 17:05:14 +0900 [ruby/io-console] Use sys_fail_fptr macro https://github.com/ruby/io-console/commit/2b8ba023c8 commit 7df6eaf29e535be7c074e031892b8898a756fe24 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-09 09:29:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-09 16:58:21 +0900 Addeed missing RSpec namespace commit 581763d14c63316f22c8685a624547f28d43a8af Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 14:50:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 14:51:43 +0900 [ruby/io-console] Fails with EBADF on mingw https://github.com/ruby/io-console/commit/530cec574c commit d7a59e2ffe45b27c084a8fe8cfe12b63dd1e6de8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 14:40:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 14:46:08 +0900 [ruby/io-console] Expanded expected errors May fail with ENOTTY instead of ENODEV. https://github.com/ruby/io-console/commit/fe117b89e0 commit 4314c05377a19faa8570dfcc5c48b0ec3f7f26c8 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-09 14:22:04 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-09 14:22:04 +0900 Fix typos commit cc9bc145300d129f27ad3a4ce186d7b1e3068b88 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 13:55:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 13:57:04 +0900 [ruby/io-console] Added test for failed path https://github.com/ruby/io-console/commit/06a540f9b4 commit 0ce45db11536ecba8cc6a4d46ac448b162a96d51 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 13:40:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 13:56:55 +0900 [ruby/io-console] Show path name at error https://github.com/ruby/io-console/commit/6a4b1c1a6d commit 5eb446d12f3b6cffd2687fe2c472cbc3374aacf4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 13:46:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 13:46:47 +0900 mjit_worker.c: compile_compact_jit_code is not used on mingw commit 1181edd54cdfb86fa6d3fe7cd52deb4b81d370ee Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 13:45:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 13:45:50 +0900 rbuninstall.rb: show paths without destdir as well as rbinstall.rb commit e88bb6a2f7b63a674cd1f6c0ad497751367c210f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 01:43:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 01:43:53 +0900 rbuninstall.rb: get rid of errors when prefix ends with "/." commit 8830d60dae428bcdc37244cc2cc6a41900d0ab78 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 01:40:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 01:40:40 +0900 rbuninstall.rb: print output record separator instead of $\ commit 3333d0235723c8c201ad67ed20c6af22d7923765 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 01:22:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 01:22:16 +0900 rbinstall.rb: get rid of installing duplicate files Should not overwrite ext/rubyvm/lib/forwardable/impl.rb by lib/forwardable/impl.rb. commit cc3352cc4148df1f83fc0ea3fd8780920420bb3a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-09 00:55:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-09 00:55:55 +0900 rbinstall.rb: record bundled gem files commit 8a504b224f50d9b6fb32aa090c6125d52151700a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-08 21:19:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-08 21:23:21 +0900 Added GC guard for splatted array commit adf709a78534c1483ba851ccb0490464ca31503c Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-08 12:58:19 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-08 17:18:45 +0900 Classes made from Struct should have default `new` singleton method. [Bug #16465] [Bug #16801] [Fix GH-2795] [Fix GH-2944] [Fix GH-3045] [Fix GH-3093] Note: Backporting shouldn't modify object.h and instead can use struct_new_kw which is basically a duplicate implementation of rb_class_new_instance_pass_kw Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Co-authored-by: John Hawthorn <john@hawthorn.email> Co-authored-by: Adam Hess <HParker@github.com> Co-authored-by: Jose Cortinas <jacortinas@gmail.com> Co-authored-by: Jean Boussier <jean.boussier@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/3093 commit da345adc1c9cb6182ee11c43853f67bb41aeea76 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-08 14:27:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:27:41 +0900 `Open3.capture2e` raises exception when the command is not present. commit ac2c07e98373bb62be618001c897fa9d5809d8a4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-08 12:39:30 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 Revert "[rubygems/rubygems] Remove unneeded global teardown" This reverts commit 93d1588c782ab9d61699f98b6c64d7f0ab8121c0. Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit ceacb06311cf150cd3682b277bbe6cf7e7bbbc30 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-08 12:39:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 Revert "[rubygems/rubygems] Remove unneeded teardown" This reverts commit 0da416ab170dbe1cbd530a5a7c5e8128910014b2. Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 20971d0df41368e0f946683823bc786514e16fef Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-08 12:39:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 Revert "[rubygems/rubygems] Use a local temporary directory" This reverts commit e98455f289047c43a733e61ac6317fb74b68de82. Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 07d4ad935d2fd173aabd201862b09c3393fc8ebc Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-29 21:49:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unneeded teardown Tests using credentials shouldn't be leaving side effects. https://github.com/rubygems/rubygems/commit/975bcafdfc Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 93293043f135dec5a972378682b9e947fba7c4a6 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-29 21:18:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unneeded global teardown Instead, make each test cleanup after itself. https://github.com/rubygems/rubygems/commit/e0aba9d64f Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit b9031b10431b4ca517b520ddb9f86d82f16a3372 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-29 20:17:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Restore the old .gemrc example for compatible tests https://github.com/rubygems/rubygems/commit/c45d65a06d Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 4e436e605c7d3dd853eaf72bd3ac45d84d1c48e6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-29 19:23:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Removed needless setup to clear credential https://github.com/rubygems/rubygems/commit/4f694f4fb7 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit ab1b31ffe086dbc2aa780ae914f0eae1d7af8b5c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-29 07:29:49 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Also added credential_setup to the some of tests https://github.com/rubygems/rubygems/commit/2ac557d008 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 58af4c0a1fdf15e1624867938d5a9ce6be8403e3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-29 06:50:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Split credential helper as credential_setup and use it https://github.com/rubygems/rubygems/commit/b0c55c76ca Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 18ac783ea6ad00b664d784661643bcbabc5e48eb Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-05 05:10:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Revert adding loaded specs to `Gem::Specification.stubs` and `Gem::Specification.stubs_for` The rationale is that: * The change has caused realworld issues. See for example https://github.com/ruby/did_you_mean/issues/117 and specifically [this comment](https://github.com/ruby/did_you_mean/issues/117#issuecomment-482733159) for a great explanation of the issue it caused for `did_you_mean`. * The change also causes problems for our development workflows. For example, because of it, our `bundler` specs cannot currently be run with `bin/rake` and we have to use `bin/rspec` or `bin/parallel_spec` directly. The explanation for this is: - Our specs install test dependencies to `tmp` before running specs. - `rake` is one of these test dependencies. - Before installing each test dependency, we check whether it has matching installed specs: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/bundler/spec/support/rubygems_ext.rb#L109-L114. - Normally, if `rake` has not yet been installed to `tmp`, this check fails and `rake` is installed, but since the loaded specs are now added to `Gem::Specification.stubs` and `rake`'s specification _is_ loaded because we're running through `bin/rake`, the check incorrectly assumes that `rake` is already installed to `tmp` and skips installation. - At a later point the specs check whether `rake` is actually installed and fail if it's not: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/bundler/spec/support/builders.rb#L372-L383 Essentially, both of the issues are the same. If at runtime we change the location of gems, we'll _want_ to not consider loaded specifications when dealing with the new gem location, because the loaded specifications have not been loaded from there. Loaded specifications is something different from installed stub specifications and those should not be mixed. The PR still seemed to have fixed an issue, so I did my archaeology job and investigated the original issue to double check if reverting is ok. The logs for the original error can be found here: https://ci.appveyor.com/project/rubygems/rubygems/build/1172/job/ogubyucpljcv22ux. So I installed ruby 2.4.4, checked out the commit reference before the offending PR, and the exact error reproduced. :tada: ``` $ rake test /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:231:in `search_for': Unable to resolve dependency: user requested 'bundler (= 1.16.2)' (Gem::UnsatisfiableDependencyError) from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:283:in `block in sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `each' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `sort_by' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `with_index' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:277:in `sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:52:in `block in sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:69:in `with_no_such_dependency_error_handling' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb:51:in `sort_dependencies' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:165:in `initial_state' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:106:in `start_resolution' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:64:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb:42:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/resolver.rb:188:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/request_set.rb:396:in `resolve' from /home/deivid/Code/rubygems/lib/rubygems/request_set.rb:408:in `resolve_current' from /home/deivid/Code/rubygems/lib/rubygems.rb:243:in `finish_resolve' from /home/deivid/Code/rubygems/lib/rubygems/rdoc.rb:13:in `<top (required)>' from /home/deivid/Code/rubygems/lib/rubygems/core_ext/kernel_require.rb:54:in `require' from /home/deivid/Code/rubygems/lib/rubygems/core_ext/kernel_require.rb:54:in `require' from /home/deivid/Code/rubygems/lib/rubygems/test_case.rb:1563:in `<top (required)>' from /home/deivid/Code/rubygems/test/rubygems/test_bundled_ca.rb:2:in `require' from /home/deivid/Code/rubygems/test/rubygems/test_bundled_ca.rb:2:in `<top (required)>' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:15:in `require' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:15:in `block in <main>' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:4:in `select' from /home/deivid/.rbenv/versions/2.4.4/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb:4:in `<main>' rake aborted! Command failed with status (1) Tasks: TOP => test ``` Now the explanation of the error: * Rubygems base `TestCase` class requires `bundler` because some tests use `bundler`: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/test_case.rb#L26 * That `require` (our custom rubygems require) would activate the default bundler spec (1.16.1 for ruby 2.4.4) but then overwrite it with a 1.16.2 version (the locally provided bundler those days) due to [this old hack](https://github.com/rubygems/bundler/blob/9f7bf0ac3ab8d995e3a274cec3c292a5203f4534/lib/bundler/version.rb#L7-L23). * Rubygems base `TestCase` class requires `rubygems/rdoc`: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/test_case.rb#L1536 * And that file ends up calling `Gem.finish_resolve`: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems/rdoc.rb#L13 * `Gem.finish_resolve` adds the currently loaded specs to the resolution: https://github.com/rubygems/rubygems/blob/2bbcdcde08b90d4ef03da8fb1f7a8a3313e13bb8/lib/rubygems.rb#L235 * That means it would try to resolve bundler 1.16.2, but no specification for that version was installed since the default was 1.16.1. That explains why upgrading to rubygems 2.7.7 fixed the issue, since it provided bundler 1.16.2 by default so there was not bundler version discrepancy. After understanding the error, I conclude that: * Only this part of the original patch was actually needed to resolve the error, not any of the changes in `Gem::Specification.stubs` and `Gem::Specification.stubs_for`: ```diff diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb index f1cd3d274c..92c848e870 100644 --- a/lib/rubygems/test_case.rb +++ b/lib/rubygems/test_case.rb @@ -13,6 +13,15 @@ else require 'rubygems' end +# If bundler gemspec exists, add to stubs +bundler_gemspec = File.expand_path("../../../bundler/bundler.gemspec", __FILE__) +if File.exist?(bundler_gemspec) + Gem::Specification.dirs.unshift File.dirname(bundler_gemspec) + Gem::Specification.class_variable_set :@@stubs, nil + Gem::Specification.stubs + Gem::Specification.dirs.shift +end + begin gem 'minitest' rescue Gem::LoadError ``` So, I propose to revert adding loaded specification to `Gem::Specification.stubs` and `Gem::Specification.stubs_for` because I think it's safe, it fixes the issues caused by their addition, and it simplifies `Gem::Specification` code, which is already complicated enough. https://github.com/rubygems/rubygems/commit/5269cd617c Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 46462200afef55fd21b72ad1ff745739b085a793 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-08-27 20:16:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Test that two calls to `stub_for` returns the same (cached) instance. https://github.com/rubygems/rubygems/commit/00b3f55562 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit acc86570dd8cc1920d1c55da7836d6c60d98a6d5 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-04-02 17:52:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Let `@@stubs_by_name` to be incrementally populated again. Originally, the call to `.stubs_for` allowed to incrementally populate the `@@stubs_by_name` (especially see the `"#{name}-*.gemspec"` pattern in 4fa03bb7aac9f25f44394e818433fdda9962ae8d). Now it looks like it expects that all stubs are loaded, but the `.stubs_for` still matches the .gemspec files by the `name` pattern: https://github.com/rubygems/rubygems/blob/6d45e0f7ac1caca22900e39f703e226c4cfdebf7/lib/rubygems/specification.rb#L845 I think this was done by mistake incrementally by PR #1239 and 4cee8ca9199ac7b3ab8647e0b78615f55d3eb02b. I think the best option is to get back to the original implementation, to let RubyGems incrementally populate the array. Other option would be to replace the logic in `.stub_for` by call to `.stubs`, but the means the performance improvement from the original commit was lost. https://github.com/rubygems/rubygems/commit/4d0e18185a Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 15a4b7d7693891831cd956def7108481aa86ddb2 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-05 18:49:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unnecessary code This list of exceptions is no longer rescued since 1f03275ff3faa1c808d3a3b89ef5db62dc2eb2ba. https://github.com/rubygems/rubygems/commit/6e71e7be67 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit c832e3faa48d8673af80391b2b6bec4a461455b0 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-30 05:05:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Require open3 before using it Otherwise if this test file is run in isolation, this test will fail. https://github.com/rubygems/rubygems/commit/79da003948 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 5df6082786ac12d5e5dddfa326ca9544cd4913bf Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-05 22:31:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Improve gzip errors logging By default, the `Zlib::GzipFile::Error` does not include the actual data that was not in gzip format that caused the error. However, its `#inspect` method includes it. I think this can be helpful to troubleshoot errors. https://github.com/rubygems/rubygems/commit/11c8717133 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit b24f7dbcfd605b41e7b510488e30832bd8a1a9ea Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2020-03-27 08:14:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Update util.rb Remove unused module variable. https://github.com/rubygems/rubygems/commit/98135bb3d8 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 0e195c82c172465b15495da1cddaf1fee31c26ad Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-04 20:08:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove old `gauntlet_rubygems` file on rubygems upgrade The file was removed at https://github.com/rubygems/rubygems/commit/65b709b095b8354ac2620d1a5d7d537e539f6498, shipped with rubygems 2.6.5. https://github.com/rubygems/rubygems/commit/739159a120 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit c982c5efac3985e989c02d10b8bc834b902c6e5c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-11 04:38:30 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Skip flaky tests on jruby I believe these are most certainly due to a problem outside of rubygems. I'm skipping these at least until webrick officially supports jruby (defining "officially" as "webrick's CI passes on jruby"). https://github.com/rubygems/rubygems/commit/4fca025358 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit ce88e2a8aa29559ee4d785ee6d77194bbe1ff83f Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-01 20:35:09 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Suppress warnings coming from `jar-dependencies` This is a default gem on jruby, which ships with a rubygems plugin, which prints warnings all over the place during our tests. This plugin is unnecessary from our tests, so I disable it through the `JARS_SKIP` environment variable provided by this gem. https://github.com/rubygems/rubygems/commit/0aabbcf269 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 314d7f897ca02c173fa0e3b3e36c69482f71a358 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-25 21:09:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 Remove `builder` gem requirement for `gem regenerate_index` This requirement was introduced 14 years ago in 7ce7039b390440754954df5efea619e9f57ef823, and I don't think it's necessary anymore. I made several tests introducing UTF-8 characters in gemspec files and generating indexes out of them, and couldn't find any issues. Gemspecs are read with UTF-8 encoding these days. Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit b5a0db8be0086f2d245fd77fd48f89e359d71312 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 20:18:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unnecessary code from remote fetcher tests This code is not necessary and has the bad side effect of causing test failures in cascade once a single test inside the file fails. See https://github.com/rubygems/rubygems/runs/538978838 for an example. https://github.com/rubygems/rubygems/commit/2291d32915 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit a433b82f13f83a83c0522e604ffe42f3f7f3b64d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-03 02:45:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Now `Dir.tmpdir` is fixed and there's never such a folder https://github.com/rubygems/rubygems/commit/44ebbded12 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 2efe741902301a6185d7ee1eff91d53b1d527302 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-03 02:43:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Use a local temporary directory To make tests more deterministic, since `Dir.tmpdir` sometimes will return the current directory dependending on the writability of other paths, and in that case since the current directory is changed by our tests, tests can fail. Force a local tmp folder instead, which will always be writable. https://github.com/rubygems/rubygems/commit/3e522bac65 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit fca24dd12174a61ce9b01c23db90c63997fae1e8 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-03 02:14:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] No longer necessary Fixed in https://github.com/ruby/ruby/commit/45df1c24d269f93a2bc1e7a6fe0ffcecc1193051, released with ruby 2.3 https://github.com/rubygems/rubygems/commit/f8f67f3952 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 7fb694fdb0fb56f8e2b3bf800c5f7117f0400f0d Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-04-27 02:55:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Show gemspec location when a Gem::MissingSpecError is raised while trying to activate a gem https://github.com/rubygems/rubygems/commit/4da54a8e8b Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit b454b4e3107921348bc13f8c024239f82965ed4a Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-04-27 02:54:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Make MissingSpecError accept an extra error message https://github.com/rubygems/rubygems/commit/b23d2421df Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 4a417b08aeaf296238059e6abdb465c324073e15 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-30 04:45:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Fix incorrect bundler version being required In ruby 2.7.0, there's a slight change in bundler's default gemspec file where the executable folder of the bundler gem is `libexec` instead of `exe`. I made that change in https://github.com/ruby/ruby/pull/2380 to try to simplify the integration of the `bundler` gem with upstream, minimizing the number of changes that need to be made to the gemspec to adapt to the structure of ruby-core. That worked ok, expected for this issue. The new name of the folder including the executable files uncovered a bug in rubygems, which is the following: * In order to be able to use newer versions of default gems, `rubygems` ships with a customized `require` that has knowledge about which files belong to which default gem. If one of these files is required, `rubygems` will detect that and activate its gem mechanism to choose the newest version of the corresponding default gem present in the system (unless a different version has already been activated). It's this part of the custom require: https://github.com/rubygems/rubygems/blob/ea3e6f194df500b028b52b3b64decbd3df1d5ab0/lib/rubygems/core_ext/kernel_require.rb#L77-L85 * In order to do that, `rubygems` registers a map of default gems and their files when it is first required: https://github.com/rubygems/rubygems/blob/ea3e6f194df500b028b52b3b64decbd3df1d5ab0/lib/rubygems.rb#L1247-L1276 As explained in the method's header, two types of default gem specifications are supported. One of the formats is the style used by some ruby-core gemspec files, where paths inside the `spec.files` array don't include the `spec.require_paths` part. So in this "old style", if a gem ships with a `lib/bundler.rb` file, it will be registered in this array as `spec.files = ["bundler.rb"]`, not as `spec.files = ["lib/bundler.rb"]`. The `Gem.register_default_spec` method "detects" this style by making sure that none of the files in the `spec.files` array start with any of the `spec.require_paths`. * Since in ruby 2.7 the default specification file of the `bundler` gem includes a `libexec/bundle` file, this check would no longer work correctly, because even though the specification file is still "old style", it has one registered file which starts with "lib", one of the "require paths" of the gem. * This means that the gem is incorrectly detected as "new style", but since none of the paths start with "lib/", no files are actually registered, so the gem is not being considered a default gem, and thus the default version is always used with no possibility of being "upgraded". The fix of the problem is simple: check that no files start with `lib/` (or any other require paths), instead of with "lib" which doesn't exclude other potential "non requirable folder" starting with lib, like in the `bundler` case. https://github.com/rubygems/rubygems/commit/94df740c2b Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 8250000187726b161e7491be6653dafeebad59b2 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-30 04:22:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Extract logic to a local variable for later reuse https://github.com/rubygems/rubygems/commit/dc715888d4 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 6e80cabb90cec19db24cf4e19fcd4e65cdf41e70 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-08 17:38:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Specify explicit separator not to be affected by $; https://github.com/rubygems/rubygems/commit/1cea3d4dce Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 241950b1c546924c54ad9df3d67ba9c4f566c35b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-27 21:31:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Properly look for man pages When bundler is installed as a default gem (either by ruby's or by rubygems' installer), bundler man pages wouldn't be properly found. https://github.com/rubygems/rubygems/commit/0831b40492 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit a453f26b0d47070c661baf7e302469cd8ab486ad Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 05:58:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Extract a local variable https://github.com/rubygems/rubygems/commit/445c9da2ac Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit ece1690105b9e2887eeab36f67ad414049137ae2 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 02:27:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Install man files when bundler installed as a default gem https://github.com/rubygems/rubygems/commit/28d6d77d81 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 64e89713dab469a162d042fbc5c3595116937e8d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 05:23:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Extract a `remove_file_list` helper https://github.com/rubygems/rubygems/commit/8cc6087590 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit c74d306b22606da28669264f8c449fe697c1fd3f Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 05:17:30 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Only need to call helper once https://github.com/rubygems/rubygems/commit/6ddbf5bcab Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit d2087f1cde7810c76f6eb94553a24f760636e72c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 05:16:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Extract an `install_file_list` helper https://github.com/rubygems/rubygems/commit/5106ea4582 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 41b288476ee62b032f89ea4f353f638b88de2c95 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 05:13:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Move helper to private section https://github.com/rubygems/rubygems/commit/fb824b7a81 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 5400811db94361ba20e2e2467a77b75355c232e9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 04:37:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Refactor dummy file creation https://github.com/rubygems/rubygems/commit/665099fe53 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 74867e2dc1b68ca7831876991c6f34c6309e018d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 04:29:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Fix super weird code style https://github.com/rubygems/rubygems/commit/f1a5815896 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit ed1e4504a42726ba574dcc3ced0888c36730cf2f Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 04:25:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Follow the pattern of other test files for foo.pem https://github.com/rubygems/rubygems/commit/a43cffddad Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 1090456370639100cc74983945a51fcc73c54869 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 02:19:35 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Move helper methods to private section of the test file https://github.com/rubygems/rubygems/commit/b85db66e2d Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit d59b92221df2188006f0323aa8af969676728ead Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-28 01:49:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Rename method to clarify https://github.com/rubygems/rubygems/commit/6dc76146ad Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 53b548f4384f1efb647baf9fc3290dc673e05403 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2019-12-22 03:37:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Install existing gems as regular gems https://github.com/rubygems/rubygems/commit/a0880d78a8 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 6438c5848d1f663ecd135903a2a323d6d6006838 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2019-12-22 03:55:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove misleading comments `site_dir`, or `vendor_dir`, is the location where the default version of bundler & rubygems gets installed. These folders are placed directly in the LOAD_PATH, so they cannot hold any nested gem directory structure. So a single copy of either rubygems or bundler can be placed in these folders. What the tests are actually testing is the TODO comment that I'm removing: that installing the default copy of bundler doesn't affect any already installed copies of bundler as regular gems. https://github.com/rubygems/rubygems/commit/7ca8831d72 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 373d01bb7d136ba514ca5c65298b0196f39d0569 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2019-12-22 03:14:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unnecessary line https://github.com/rubygems/rubygems/commit/1d0981809a Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 0d7e0eb2faa282e0c15faa60c62992ca5452e228 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-02 19:37:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Prefer `tr` to `gsub` when replacing path separators This is not detected by the `Performance/StringReplacement` cop, I guess because of using constants. But still seems like a good change. Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/f862103133 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit de57d3895ef6eb681c12a27720e7c185a22023d7 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-02 19:22:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Shortcuit method earlier If the class variable is set, we can skip the whole thing from the beginning. Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/83abf3a3d4 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit c58d69e6982b2261f0533e846de4c54d04a1f293 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-02 19:02:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Condense some artificially broken lines Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/5f390478c7 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit a49a131163dc9f7ef2176e8ea5394e934fd0c768 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-05-02 19:00:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Extract `gem_make_out` contents to a variable Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com> https://github.com/rubygems/rubygems/commit/5f2b7474eb Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit b1541606a28872327716243a5b31706c0c2e3c22 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-05 20:42:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Fix incorrect `gem uninstall --all` message Currently `gem uninstall --all` shows the following incorrect message after completion: ``` INFO: Uninstalled all gems in ``` Now it shows something that actually makes sense like: ``` INFO: Uninstalled all gems in /home/deivid/Code/rubygems/tmp/test_rubygems_6986/gemhome ``` https://github.com/rubygems/rubygems/commit/8fa05e8f8c Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 22030fe508603652c3c3e975f3927859dc4fa85c Author: Thomas McDonald <thomasm@palantir.com> AuthorDate: 2020-04-29 00:44:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Refactor duplicate metadata logic https://github.com/rubygems/rubygems/commit/1e5ef177ac Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 856f2f31ffebd070405821dd41fca9c67fd5cced Author: Thomas McDonald <thomasm@palantir.com> AuthorDate: 2020-04-29 00:37:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unnecessary code `@host` _could_ be `nil` at this point, but only if all the conditions above for setting `@host` were `nil`. In that case, it is guaranteed to `default_gem_server` metadata is `nil` since it's one of the branches in that condition. So this code would just be setting an already `nil` variable to `nil`. Hence, not needed. https://github.com/rubygems/rubygems/commit/e3ccff3c5c Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 12ac0fa9396d08899cc3efdd7398f71b618ba9a0 Author: Thomas McDonald <thomasm@palantir.com> AuthorDate: 2019-07-04 23:30:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Simplify host switching logic This block was a branch and variable heavy way of saying use the user-provided host if available, or fall-back to the default host if none of the other options match. IMO the resultant single-if condition is clearer in intentions https://github.com/rubygems/rubygems/commit/42dbb71cfa Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit acb793b71c2465c2cc527393eab57fe29f53f665 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-24 06:22:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Make cmake tests less verbose on jruby These tests work on jruby, but the flags to the system command used to detect whether `cmake` is present seem to be ignored on jruby and the output is printed to screen instead of being sent to /dev/null. This results in very verbose tests, like this: ``` $ rake TESTOPTS=--name=TestGemExtCmakeBuilder#test_self_build (... warnings skipped ...) Skipping `gem cert` tests on jruby. Skipping Gem::Security tests on jruby. Run options: --name=TestGemExtCmakeBuilder#test_self_build --seed 16839 # Running: /home/deivid/Code/rubygems/test/rubygems/test_gem_ext_cmake_builder.rb:13: warning: system does not support options in JRuby yet: {:out=>"/dev/null", :err=>[:child, :out]} Usage cmake [options] <path-to-source> cmake [options] <path-to-existing-build> Specify a source directory to (re-)generate a build system for it in the current working directory. Specify an existing build directory to re-generate its build system. Run 'cmake --help' for more information. . Finished in 0.387301s, 2.5820 runs/s, 20.6558 assertions/s. 1 runs, 8 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 2258 / 8832 LOC (25.57%) covered. ``` By using `Open3`, we get the test output clean: ``` $ rake TESTOPTS=--name=TestGemExtCmakeBuilder#test_self_build (... warnings skipped ...) Skipping `gem cert` tests on jruby. Skipping Gem::Security tests on jruby. Run options: --name=TestGemExtCmakeBuilder#test_self_build --seed 22605 # Running: . Finished in 0.381959s, 2.6181 runs/s, 20.9446 assertions/s. 1 runs, 8 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 2258 / 8832 LOC (25.57%) covered. ``` https://github.com/rubygems/rubygems/commit/531ce37ea3 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 676d816ef1fa55bae2b5020782ba47284748383b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-09 04:14:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Refactor ruby command line building for tests https://github.com/rubygems/rubygems/commit/43819b6973 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 163539434701235b46ad14e10d573c0b85cb6b50 Author: Brandon Fish <brandon.j.fish@oracle.com> AuthorDate: 2020-04-09 02:18:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Update test_realworld_default_gem to use rubygems project sources https://github.com/rubygems/rubygems/commit/7506f7eb07 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 90427875085f480c4c8e02d4252804cac29d7aaa Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-09 04:10:33 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unnecessary `@@ruby` variable https://github.com/rubygems/rubygems/commit/5f20647ec1 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit c6979feb02385d84c3268fd44690282e53ac61ce Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-09 03:59:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unneeded explicit requires https://github.com/rubygems/rubygems/commit/583316bf49 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit df39476a122135de458d614dec7ad34ef05ebdc3 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-09 03:58:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unneeded dups https://github.com/rubygems/rubygems/commit/2f072e3dc7 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit fd5e4ca41fe727d28ad8a6919f2feb342e6b9342 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-09 03:56:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Remove unneeded untainting https://github.com/rubygems/rubygems/commit/ff223d8489 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 1039c32de6ac27400b2cc9eca2b0cd382ddcfbdd Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-28 02:31:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Simplify nested require exceptions https://github.com/rubygems/rubygems/commit/7fbef2f0e3 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 43daf4d288926c90af716ff0d8306501fd1b3a13 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-24 01:51:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Fix ruby warning about unused local variables https://github.com/rubygems/rubygems/commit/cca2fccd95 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 2ece4d96f093c8526f86f5efb164e12a0897a325 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-24 01:51:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Fix ruby warnings about a shadowed variable https://github.com/rubygems/rubygems/commit/5cfb3252d9 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit a0c4d14acfa17877d6c1d58e5960513f152b493c Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-04-19 07:50:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Fix symlink RubyGems test problems for non-admin user. https://github.com/rubygems/rubygems/commit/75f672ff0e Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 3315ce69044b511c7fe5d462985756a7948e95d1 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-26 05:22:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Fix race condition on bundler's parallel installer When installing in parallel, bundler creates several `Gem::Installer` instances that run in parallel. These installers access the `@@all` class variable of `Gem::Specification` concurrently. If a concurrent thread calls `Gem::Specification.reset` (resetting `@all` to `nil`) while another thread is running `Gem::Specification._all` or another method that expects `@@all` to be loaded and not `nil`, that can result in `Enumerable` methods being called on `nil`, resulting in crashes. I fix it by protecting the other concurrent access to the `@all` variable. https://github.com/rubygems/rubygems/commit/58b343c530 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 03fe7da186ff239a3cebaca3f2ce1e1c4b7d243f Author: Dmytro Shyrshov <shirshov.dmitriy@gmail.com> AuthorDate: 2020-02-21 05:07:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 14:13:29 +0900 [rubygems/rubygems] Allow spaces in file headers during octal check https://github.com/rubygems/rubygems/commit/e9e25731d8 Notes: Merged: https://github.com/ruby/ruby/pull/3092 commit 7574b836a96fe4716ee40c920aa21ceb9530e733 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-08 07:52:29 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-08 07:54:00 +0900 Add T_IMEMO support to lldb I'm trying to find why a reference to an IMEMO object isn't being updated commit ce91c5615ca96f357519043181fb5b76b57ee223 Author: Peter Zhu <peter@peterzhu.ca> AuthorDate: 2020-05-08 06:05:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:46:33 +0900 Fix typo in test name Notes: Merged: https://github.com/ruby/ruby/pull/3091 commit 427eb2b93ff10860668bb3864746aa8720a494e2 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-11 05:09:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Remove unnecessary DIR constant We have `__dir__` which is the same thing. https://github.com/rubygems/rubygems/commit/f89776427f Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 1ede0c15a1adda6ec523a7a3b0c58bcd0603cef0 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-11 04:59:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Move stuff to the instance level I don't know why it was living at the class level. At first I thought it would be to reuse some server instances between tests, but they seem to be cleaned up after every test anyways, so I don't think any of it is needed. https://github.com/rubygems/rubygems/commit/04bee71216 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 0b40279d7dcd741ee8401f6b5fd2edbd431ea0c4 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-21 01:32:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 Normalize heredoc case in rubygems code base Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 2205ae8af5928c97a28f281f029bb3be290bf010 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-17 01:56:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 Normalize heredoc delimiters Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 31663e9e64b538087e90466d98e61f1fba6ca8a0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-13 21:52:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] These specs seem to work just fine on jruby https://github.com/rubygems/rubygems/commit/a0219b9f27 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit fe2b83e2250158e69933c703f3a6666ebf1ac721 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-08 01:09:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Fix platform comparison bug in #contains_requirable_file? * One should not compare RUBY_ENGINE and Gem::Platform. * Introduced in https://github.com/rubygems/rubygems/pull/2672 https://github.com/rubygems/rubygems/commit/0e62c3be91 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 1464719f5feabaa237902e59f482792641901c1a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-06 02:58:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Only run the $SAFE test on MRI < 2.7 * Other Ruby implementations don't support $SAFE. https://github.com/rubygems/rubygems/commit/9a4ba16efa Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit bb3d80bbbe0603e9f9689a96c7ce86682053b4dd Author: Olle Jonsson <olle.jonsson@gmail.com> AuthorDate: 2020-03-16 15:36:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Autoload name_tuple.rb before use - Resolver asked Molinillo to resolve-then-activate, which led to using Gem::NameTuple before any require had been passed Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> https://github.com/rubygems/rubygems/commit/e11782b0c8 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 39322317f3442e71a997503059fb644f31e0ea3e Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-04-23 16:03:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Do not use set. https://github.com/rubygems/rubygems/commit/1a72c8796f Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 832a7b04589578b52297db6a9943e0c6c003fbfc Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-04-20 01:16:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Add gem build test to check for removed methods. https://github.com/rubygems/rubygems/commit/c07b9cf4f1 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 856cbbdd52eaafd27c21a8f4dea7e89373667694 Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-04-20 00:43:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Track removed methods calls and warn during build time. move rubyforge_project= to removed methods https://github.com/rubygems/rubygems/commit/223f7fd470 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 4dd46dbad046c0c5902f0217243c3207dbb274b5 Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-04-11 01:58:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Deprecate rubyforge_project attribute only during build time. https://github.com/rubygems/rubygems/commit/c44eb21648 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 60cafe8ea95cd86bbb7099aaddb934bee3a13781 Author: Josef Šimánek <josef.simanek@gmail.com> AuthorDate: 2020-04-21 19:46:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Revert deprecation of deprecate method for now. https://github.com/rubygems/rubygems/commit/965eee1741 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 0e85a39dc70328641c3155f66568feedbe6dd15f Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-04-19 23:18:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Restore and deprecate old deprecate method https://github.com/rubygems/rubygems/commit/024267fa60 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 7db538a7c92bcbcccb97d2ffcf505bee4d85e7d3 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-04-19 22:41:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Rename version horizon deprecation methods https://github.com/rubygems/rubygems/commit/6afd914fda Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 361ed8d0a65df513f527c62539abb71b4c34a006 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-03-31 09:41:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Avoid "ambiguous first argument" warning https://github.com/rubygems/rubygems/commit/984bb9b815 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 80163db93662aa112d011f8fff8c17a1370538b4 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-03-31 09:40:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Add next_rubygems_major_version method https://github.com/rubygems/rubygems/commit/db5bb65baf Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit ff37dd7e9e80e7b8882f24b0e56c69674fb7bdb0 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-03-29 09:11:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Modify files to use new version horizon deprecations https://github.com/rubygems/rubygems/commit/4fe5bb5bf3 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 42c91de9ce97556a9be2c702f317cf1d6107bc03 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-03-29 08:46:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Use the next major version as default for deprecations https://github.com/rubygems/rubygems/commit/b679ab27af Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit feb297400039e18637f31b8972eb3616d9bc9287 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-03-28 12:43:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Remove deprecation methods by date https://github.com/rubygems/rubygems/commit/3a14635cf5 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit a7a7e7bea0183b0f7a21ffd60010563a97cf67e9 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-03-23 09:37:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Make the deprecate_command method receive a Rubygems version instead of a date https://github.com/rubygems/rubygems/commit/bf95b1de78 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 2f7865bb6e9eaadb86f159c220478adc73883a90 Author: bronzdoc <lsagastume1990@gmail.com> AuthorDate: 2020-03-23 09:34:19 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Make the deprecate method receive a Rubygems version instead of a date https://github.com/rubygems/rubygems/commit/f0e098a1b7 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 1fe2b7f41caf1868917bab5e698d25dae2bce85b Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-05-07 20:19:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 Workaround for Minitest5 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 7050f86ae16c957d662afc0e1b3e15369816cce9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-30 21:38:24 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Removed deprecated methods for Minitest5 It was migrated on ruby core repository too. https://github.com/ruby/ruby/commit/e5db3da9d34f0a7595208863301c044b612adbed https://github.com/rubygems/rubygems/commit/848bbe3c76 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit e29c94e86b4b8cce4438099efd00473b880677e8 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-30 13:46:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Minitest::Test is works fine with the ruby core repository https://github.com/rubygems/rubygems/commit/afa01a29a3 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 3041e2626d6fd488c48106b57e378017ded678b7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-30 12:18:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Revert https://github.com/rubygems/rubygems/pull/3445 These changes completely broke the test suite on ruby core repository. https://github.com/rubygems/rubygems/commit/84b0bea3e1 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 3256480317177a2cfd31cfa2c5ecf45dd8c1cc44 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 19:24:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Don't swallow gem activation exception Our tests are now guaranteed to not work on older versions of minitest, so I don't think we should swallow this activation error because it will make it very clear for the user what the problem is if she has a minitest version not satisfying the requirement. https://github.com/rubygems/rubygems/commit/a291b65369 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 2396f703cf45e9fddb4f699b7866ea181c46c159 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 18:26:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Update minitest version in `Gem.install` docs https://github.com/rubygems/rubygems/commit/aec3887d9c Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit b8ef5ed8bd829c515cf0ebf1a7ebcaa77a520c86 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 18:20:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Remove minitest compatibility code https://github.com/rubygems/rubygems/commit/24213b97d8 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit f4022f943db921522fd833913251ca176832cee7 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 18:05:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] [rubygems/rubygems] Require minitest `~> 5.13` https://github.com/rubygems/rubygems/commit/f2cc5d7033 https://github.com/rubygems/rubygems/commit/ae5b4e2043 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit b72c56681ee9f7df26e485da413349d9628402e9 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 18:22:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-05-08 07:38:50 +0900 [rubygems/rubygems] Use newer module Minitest name https://github.com/rubygems/rubygems/commit/2890622479 Notes: Merged: https://github.com/ruby/ruby/pull/3087 commit 56c6d520a06c9bb502660e666358f89fe676860f Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-08 06:19:08 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-08 06:19:45 +0900 Add T_MOVED support to lldb commit 2d27632c3c6a0a6a3be5a27f1ec8b1061fcb370e Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-08 02:15:35 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-08 03:42:39 +0900 Add compaction support for backtrace objects This just introduces compaction support for backtrace objects. commit ff4f9cf95d73cc2730949df583bf0e41702d7aae Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-08 02:07:57 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-08 03:42:39 +0900 Allow global variables to move This patch allows global variables that have been assigned in Ruby to move. I added a new function for the GC to call that will update global references and introduced a new callback in the global variable struct for updating references. Only pure Ruby global variables are supported right now, other references will be pinned. commit cbe4f75ef802f13d05f94e42274b65a062bd3666 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-05-07 01:49:25 +0900 Commit: Aaron Patterson <aaron.patterson@gmail.com> CommitDate: 2020-05-08 00:46:36 +0900 Fix rb_profile_frame_classpath to handle module singletons Right now `SomeClass.method` is properly named, but `SomeModule.method` is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes profiling annoying. Notes: Merged: https://github.com/ruby/ruby/pull/3084 commit 00698f26a9141d6226635d3c53761ef03dd8ed6b Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-07 07:52:37 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-08 00:44:11 +0900 `T_MOVED` should never be pushed on the mark stack No objects should ever reference a `T_MOVED` slot. If they do, it's absolutely a bug. If we kill the process when `T_MOVED` is pushed on the mark stack it will make it easier to identify which object holds a reference that hasn't been updated. commit 1084b679bd793b98ee75cb8b2bbbc664998f041f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-08 00:19:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-08 00:19:54 +0900 Restore the external and internal encodings of STDIN, STDOUT, and STDERR IRB::ReadlineInputMethod#initialize changes them via IRB.set_encoding. commit 3b147c421368825ab3ff69dd78d10d7f7db0765e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-08 00:15:01 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-08 00:15:01 +0900 test/irb/test_cmd.rb: clear IRB.@CONF on setup It caches a path to .irbrc file, which has caused random failure: ``` 1) Failure: TestIRB::ExtendCommand#test_irb_info_multiline [/home/mame/work/ruby/test/irb/test_cmd.rb:49]: Expected / Ruby\sversion: .+\n IRB\sversion:\sirb .+\n InputMethod:\sReidlineInputMethod\swith\sReline .+ and .+\n \.irbrc\spath: .+ /x to match "Ruby version: 2.8.0\n" + "IRB version: irb 1.2.3 (2020-02-15)\n" + "InputMethod: ReidlineInputMethod with Reline 0.1.4 and /tmp/test_reline_config_155659/.inputrc\n". ``` commit 22b1e824d736d394c9efaabf882e9a6110135a57 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-08 00:12:48 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-08 00:12:48 +0900 Check encodings of STDIN,STDOUT,STDERR too commit 6300e6d3782e48ea4d41e37a2edc247544e4303a Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-05-07 14:56:08 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-05-07 14:56:08 +0900 Remove test of ruby-mode.el Because ruby-mode.el already removed at f03e68edb80dca962290d1fb3a6d49dabdbb911e commit a5073c053fd2d5352d098a3747c49ae0cab6451c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-07 12:25:57 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-07 12:26:03 +0900 Always correct sp on leave cancel Even if local stack optimization is not used and values are written to VM stack, the stack pointer itself may not be moved properly. So this should be always moved on JIT cancellation. By the way it's hard to write a test for this because if we try to generate an interrupt, it will be a method call and it consumes the interrupt by itself on popping a frame. commit 0244f91e89eb0c3067bb4e15558ecd9e02c49c42 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-07 12:22:46 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-07 12:24:19 +0900 Remove OPT_CHECKED_RUN code Now this one is actually not in use because we override entire leave definition for JIT. commit 545d2ab7d2f318007dea6b9370b9e97c9ff36824 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-07 02:58:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-07 02:58:28 +0900 leakchecker.rb: try `lsof` commit ce00fda9254887388b15a3a9ff505d3473cecf57 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-07 02:53:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-07 02:53:39 +0900 Suffixed memory leak tests as "memory_leak" So that `TEST_EXCLUDES` option in common.mk works. commit 01e0e4c4732b2019166a45b21fbf2b400554e403 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-07 02:51:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-07 02:51:58 +0900 Cut down warm-up loops and gain main/warm-up ratio commit eb0125957b3c32727a7c199f1f3041c1d2b9a475 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-07 01:51:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-07 02:50:10 +0900 Share logically equivalent functions commit 1e3c910bfc57e4d8bedb0c8784562e06aa08ae29 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-07 02:47:00 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-07 02:47:43 +0900 Enable OPT_CHECKED_RUN on MJIT for debugging Trying to debug errors like http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2921397 http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2894526 commit 46b93175ed9fe061f309fe5538f23dc13aa1de0b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-06 16:06:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-06 16:06:25 +0900 Fakes IPSocket.getaddress in the whole method To get rid of calling `getaddrinfo`, which may keep FDs internally. commit de3f725978730d16ee51401d40fa75ac12c871a0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-06 14:08:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-06 14:09:03 +0900 Makes nil-safe commit b247ac086e60a6cee99ea1989277c5c66b0541de Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-06 13:13:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-06 13:47:09 +0900 Ignore FDs kept by system library `getaddrinfo` on macOS seems keeping FDs to query host names internally. commit 7397b9f7867b787280c1a5c955c40bd44fcb8f35 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-06 12:45:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-06 12:45:01 +0900 Fixed leaked fds commit 039a8ef78673f851e39b43980376c2af40d5cbbc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-06 10:09:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-06 10:09:29 +0900 leakchecker.rb: search /dev/fd too It is more popular than /proc/self/fd. commit b0498caa7e92e3f53affb822ba73394624808c98 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-06 09:43:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-06 09:47:41 +0900 Removed unnecessary duplicate code `rb_equal` may be inlined in `case_equal` and actually same code is generated twice. commit e79e5e0b40d28d0a7eaa06dbfd6b7812bbea2d1e Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-06 07:24:29 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-06 07:27:23 +0900 Generalize the explanation of the side effect of the rb_equal() optimization commit 48d509cefc376df8af0ad0e08a09aecbd78f4f10 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-06 07:11:42 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-06 07:20:11 +0900 Document rb_equal() and clarify the relation with Kernel#=== * Multiple times people have been confused and believed rb_equal() called #=== but it does not, it calls #==. * This optimization has a subtle side effect for Float::NAN, which is now documented. commit 00a9d697a86325cbc97cc9adc41b0829d21c3ea1 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-06 07:09:56 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-06 07:09:56 +0900 Remove redundant check in rb_obj_cmp() * rb_equal() already checks using `obj1 == obj2`. commit 7bde98125e7f99cab6fe80b59189561bf66fcd0e Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-06 06:02:59 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-06 06:04:11 +0900 Improve documentation for Enumerator#next, next_values, peek and peek_values. [DOC] [#16829] commit 77f19d26b9abde74ec03a6d2a51688c49cad20f4 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-01 16:36:50 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-06 06:04:11 +0900 Fix gemspec commit e04418bb16cd99b4a4402e7457d3bdc967284f98 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-05 23:23:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-05 23:29:39 +0900 [ruby/uri] Check if DN exists https://bugs.ruby-lang.org/issues/16830 https://github.com/ruby/uri/commit/b4bf8c1217 commit f0b5629c8cc485753ad0af2ed414bc6ae70c629f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-05 13:53:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-05 13:53:44 +0900 envutil.rb: Also alias to #name commit 5ef019e8afca25442c7c12eea8822d88978141bb Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-05-05 03:33:00 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-05-05 05:50:21 +0900 Output compaction stats in one loop / eliminate 0 counts We only need to loop `T_MASK` times once. Also, not every value between 0 and `T_MASK` is an actual Ruby type. Before this change, some integers were being added to the result hash even though they aren't actual types. This patch omits considered / moved entries that total 0, cleaning up the result hash and eliminating these "fake types". commit 5c2508060b79b4299a18d05511d3530ad14b1b7a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-04 18:10:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-04 18:10:02 +0900 Bison 3.5.91 now defaults parse.error to "simple" commit 47720e2255f34ecad49763c66a7ea02a55a3f60a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-04 13:35:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-04 13:35:38 +0900 Bison 3.5.91 folds yydestruct function header commit 6ed7bc83ec077f691e79414fa0a2638ea3edbf7d Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-05-04 13:24:53 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-05-04 13:27:25 +0900 Fix indentation commit d6389224da5aac0b36299cc6d968837407fdfe2c Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-05-04 13:17:45 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-05-04 13:27:25 +0900 Fix pseudo code for NODE_ARYPTN, NODE_HSHPTN Due to the change in 3893a8dd42fb3bbd71750648c3c0de118955a6ea, there is no longer a need to put true/false. commit b7e1eda932c74196d58e6b63644200b764b5453e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-04 12:10:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-04 12:28:24 +0900 Suppress warnings by gcc 10.1.0-RC-20200430 * Folding results should not be empty. If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn` wouldn't execute and `ncs` elements are not initialized. ``` enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized in this function [-Wmaybe-uninitialized] 557 | for (i = 0; i < ncs[0]; i++) { | ~~~^~~ ``` * Cast to `enum yytokentype` Additional enums for scanner events by ripper are not included in `yytokentype`. ``` ripper.y:7274:28: warning: implicit conversion from 'enum <anonymous>' to 'enum yytokentype' [-Wenum-conversion] ``` commit 39bd1244b49aa1fcf93d3163bfd97d94b109f2ee Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-04 09:39:57 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-04 09:39:57 +0900 Revert 0776198486 for Solaris debug For some reason 0776198486 didn't fail https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200503T230004Z.log.html.gz even while it was before 9aa5fe1bf8. Anyway, there's no need to keep the change anymore. commit a8d39a051c3489a04c8088f7fefac56f0e5b7fef Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-04 08:49:30 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-04 08:49:31 +0900 Test no .dSYM on macOS I think 9aa5fe1bf89db8cd215b24d8ddfb668714681b83 helps this issue too. commit 9aa5fe1bf89db8cd215b24d8ddfb668714681b83 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-04 08:15:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-04 08:41:25 +0900 Split compile and link for MinGW support MinGW test_jit fails with no error message. Perhaps linker flags should not be passed when compilation is happening. Anyway splitting these stages doesn't matter for performance. So let me just split it to fix the issue. Probably this helps Solaris's issue too. commit 077619848623e9c7f8d6d8041596199115b7fc68 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-04 07:49:48 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-04 07:49:51 +0900 Debug Solaris's MJIT failure using -Winvalid-pch https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T170004Z.fail.html.gz commit f72bec2cea313f7a72a6f907f3dd64f766e917f6 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-04 05:58:54 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-04 05:58:54 +0900 Travis s390x-linux is too unstable It has caused errors by ENOSPC like https://travis-ci.org/github/ruby/ruby/jobs/682520961 too often. I cleared all cache of Travis yesterday, but it didn't help it. Until somebody figures out how to fix it, let me exclude it from CI status reports to avoid false alerts. commit 41e547e60cffcaaa2a5a9aeb54df3295b8d88426 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-04 00:27:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-04 00:27:14 +0900 Fixed constant initializer An expression using `static const` value seems not considered as `static const` by Visual C. commit 5b28f01d77aaf02dc3717c986b8b90f8e99b7f5a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-04 00:00:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-04 00:00:27 +0900 Make int-pair-to-real conversion more portable And utilize more bits even if DBL_MANT_DIG > 53. commit 5aaa75e7c1f4b7912c10ffdcb1cac581e20eda39 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-03 19:28:29 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-03 19:28:29 +0900 Update to ruby/spec@032ee74 commit f646d20aaeb8f02bcd3d0c5c3f5a372da654502a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-03 19:28:27 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-03 19:28:27 +0900 Update to ruby/mspec@d419d0b commit 4aca078bdae7e1a66f25023cd9baa9a01c289a53 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-03 16:45:18 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-03 16:45:19 +0900 Support cc_added_args again This support was accidentally removed in 818d6d33368a396d9cd3d1a34a84015a9e76c5c8. commit a218cbdf31c30835f5785cdaf3af3f97965b77c4 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-03 16:41:27 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-03 16:41:28 +0900 Skip pdb corruption on Visual Studio 2015 as well It turned out that the pdb corruption happens on Visual Studio 2015 as well. https://ci.appveyor.com/project/ruby/ruby/builds/32602953/job/3gj43q18wqeiy729 commit e0c023d1c8a22533b6cd3a5fa4bbcd4145f635b5 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-03 16:33:56 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-03 16:34:03 +0900 Skip only .dSYM cleanup on macOS Fix https://github.com/ruby/ruby/runs/636020145 without skipping too many tests. It seems that .c -> .o with debug flags and .o -> .so without debug flags did not generate .dSYM but now .c -> .so with debug flags seems to generate a .dSYM directory. As --jit-debug should not be used by normal users, let me skip implementing the removal for now. commit e49ecaed57181c10bf01e1f84b9eead65a759386 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-03 14:38:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-03 15:29:51 +0900 Optimize sin/cos GCC/Clang can optimize to calculate `sin(x)` and `cos(x)` at once, when the both are closely called on the same argument. Similar optimization is possible for `__sinpi(x)` and `__cospi(x)` if available, which calculate arguments in radian, i.e. `sin(x*M_PI)` and `cos(x*M_PI)` respectively. commit 8af098b40ee3788f3d13f02298eeecfb52fa0c16 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-03 14:34:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-03 14:36:56 +0900 Show unreserved bits only `RUBY_FL_SEEN_OBJ_ID` can be set by #object_id. commit cc6afff006760768feed4d2646a9af1dede4fca6 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-03 13:30:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-03 13:43:28 +0900 Avoid infinite times of JIT compaction It's to avoid memory leak for actual usage (because they don't get unloaded properly), but also for fixing CI timed out due to JIT compaction taking too long time on --jit-wait (which runs every time) http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2911601 commit 224f29c8e92094af10bc666c474b81a3545d6adf Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-03 00:09:58 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-03 00:23:18 +0900 spec/ruby/core/process/clock_getres_spec.rb: lax the resolution limit Android is Linux, but the clock resolution is 10 milliseconds. I think that 1 microsecond is too strict for embedded environment. This change laxes the limit to 10 milliseconds. commit cfe0e660f4ae7c8366cd8891c00e2eb303857f63 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-03 00:15:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-03 00:15:56 +0900 Disable -Wswitch warning when VM_CHECK_MODE commit 717680f197110c746bbfff599f42aa30d40b4d19 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-03 00:11:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-03 00:11:47 +0900 DO NOT CORRUPT TYPE FLAGS commit 9998161b10c8197a29d304554f3c53d6a9b44354 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-03 00:05:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-03 00:05:19 +0900 Fixed missing `should` commit c2dc52e18bda953a5119c3e34dd5d67a281505c6 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-02 23:13:57 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-02 23:16:56 +0900 Rename arguments for ObjectSpace::WeakMap#[]= for clarity commit de8b8b609a387a8732bf1f86fb1fc3f0ba22cbd8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-02 22:42:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-02 23:11:42 +0900 Command failed to run just fails The exact exit status value of command failed to run is not a spec, but a platform dependent implementation detail. Just it is not "success". commit a2be428c5fec31b8adbd5ac087e7637ddf7e54d0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-02 23:08:36 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-02 23:08:36 +0900 Fix ObjectSpace::WeakMap#key? to work if the value is nil * Fixes [Bug #16826] commit c9213aa864fb8527388679c21f1ea8ce129e2f1a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-02 23:03:14 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-02 23:03:14 +0900 Update to ruby/spec@d394dfd commit a68ddf42879005905176bc38285906fe01707aff Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-05-02 23:03:12 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-05-02 23:03:12 +0900 Update to ruby/mspec@ee29a34 commit b78fba447ae543664b9dd0a7cede4d2648f63fa9 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-02 22:17:03 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-02 22:17:03 +0900 internal/process.h: forgot to guard "#ifdef HAVE_WORKING_FORK" commit 91e4e2403e950d06eb49840bdb11409321002847 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-05-02 21:34:10 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-05-02 21:34:10 +0900 internal/process.h: add a no-warning simple wrapper for fork(2) As fork(2) is deprecated, its calls must be guarded by `COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`. All usages of fork(2) in process have been alread guarded. A new call to fork(2) was added in ruby.c with f22c4ff359498ab342e4b6d6feb21af6004ee270. This caused a build failure on Solaris 11. It may hide a bug to guard big code unnecessarily, so this change introduces a simple wrapper "rb_fork" whose definition is guarded, and replaces all calls to fork(2) with the wrapper function. commit 72c0612c40bc0d9684e870cb93d91ba584a3d35e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-02 02:40:43 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-02 02:40:44 +0900 Skip Solaris RubyCI TestJIT for now to be investigated later https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T160004Z.fail.html.gz commit 28aa5f7fa6d7a37de6a4c348f19cf0a595cc2553 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-01 19:34:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-01 19:52:29 +0900 Fixed a message and version guard then moved to the existing block commit dc3bc425bb7fd505bd7ee45ff88246b528614004 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-01 18:46:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-01 19:28:23 +0900 Get rid of -Wgnu-folding-constant errors Also renamed as like as a constant. commit 41bbdd7806edd64e73fbca4bfda396946b694f24 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 19:06:49 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 19:08:51 +0900 Skip MinGW TestJIT* and macOS TestJITDebug failures caused by 818d6d33368a396d9cd3d1a34a84015a9e76c5c8, for now. I'll take a look at them tomorrow. commit e4d3d5ceab25b7315f04f7d32a7940862b7b7946 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 18:53:59 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 18:54:50 +0900 Stop generating MJIT_PCH include guard to fix https://ci.appveyor.com/project/ruby/ruby/builds/32577700/job/yh61rom35wt2uv39 It was for JIT compaction, and we don't support it on mswin. commit 76d9be9ce9c304f3fd59cee7624dbbcea1d2db39 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-01 14:12:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-01 18:39:08 +0900 Get rid of -Wgnu-zero-variadic-macro-arguments errors As zero variadic macro argument, `rb_scan_args(argc, argv, "")` (or `"0"`), means 0-arity method and should be defined so, that case doesn't need to consider. commit e19f4b3ac0d5b21563a8f864741602e9b6889120 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 18:35:18 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 18:35:18 +0900 Fix MJIT compiler warnings in clang commit 90969edf9bfa7cb87c0818f930bb6b548867a99f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 18:12:42 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 18:12:42 +0900 Fix a wrong argument of vm_exec on JIT cancel commit 72aa4dd183921aaf7405d8611af4ca5613bfaf4d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 17:56:04 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 17:58:19 +0900 c_file_access_mode should be defined for Windows as well. And also unit->c_file doesn't exist in mswin. https://github.com/ruby/ruby/runs/635915704 commit 818d6d33368a396d9cd3d1a34a84015a9e76c5c8 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 15:58:50 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 17:38:16 +0900 Deduplicate functions in compacted JIT code to improve code locality. Using benchmark-driver/sinatra with 100 methods JIT-ed, [Before] 12149.97 rps 1.3M /tmp/_ruby_mjit_p31171u145.so [After] 12818.83 rps 260K /tmp/_ruby_mjit_p32155u145.so (VM is 13714.89 rps) commit 773afeb73d658129ddeb0a89ddb7e2ea49165a1d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 16:46:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 16:46:01 +0900 Fix a typo commit 76507bfc3d06984b02e3124cd6557c81af2171cd Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 16:45:17 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 16:45:17 +0900 Fix matrix spec for 7d360efe92d2db11a4e51820ed2f52de36b3257f commit 5c8bfad078bf37797256f3214b29c578ac763109 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 16:40:21 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 16:40:21 +0900 Make sure unit->id is inherited to child compile_status commit 6eed4d1b7474b3ac349089a895c7d5e5dcd5381a Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-01 16:22:18 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-01 16:25:17 +0900 [ruby/matrix] v0.3.0 commit 9b5675b325c9d4533e4f3db080cd2aa019068aad Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-01 07:04:30 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-01 16:25:15 +0900 [ruby/matrix] Add Matrix#adjoint [#14] Patch adapted from Alessandro Minali commit 07fd6dc49ba87ea2f0732851ec7628a526f3dcbd Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-01 06:04:46 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-01 16:25:13 +0900 [ruby/matrix] Optimize Matrix#* commit 3cb038cc7a9b1e01685a7e8a513e7ac7fb56b112 Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-01 07:00:47 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-01 16:25:11 +0900 [ruby/matrix] Fix Matrix#orthogonal? commit 7d360efe92d2db11a4e51820ed2f52de36b3257f Author: Marc-Andre Lafortune <github@marc-andre.ca> AuthorDate: 2020-05-01 06:49:06 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-01 16:25:05 +0900 [ruby/matrix] Fix Matrix#unitary? [#14] commit c925cc01c5e8d595449156556416f067b914f6ca Author: zverok <zverok.offline@gmail.com> AuthorDate: 2019-10-26 18:52:08 +0900 Commit: Marc-Andre Lafortune <github@marc-andre.ca> CommitDate: 2020-05-01 16:13:24 +0900 [ruby-matrix] Update docs (nicer rendering, undocumented method) commit f5ddbba9a233c2d32118507158c5ef451167cfe0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 14:58:07 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 15:08:13 +0900 Include unit id in a function name of an inlined method I'm trying to make it possible to include all JIT-ed code in a single C file. This is needed to guarantee uniqueness of all function names commit 96837dc9e039d6f8be667f0662f36635df71cbbe Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 14:21:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 14:21:46 +0900 Switch test_unload_units_and_compaction on mswin because we don't support JIT compaction on it commit e8a78d7df899291aa025e41207436a450235a4d7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-05-01 13:37:55 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-05-01 13:38:50 +0900 Do not stop the world during JIT compaction Running C compiler for JIT compaction inside a critical section may lock main thread for a long time when it triggers GC. As I'm planning to increase this duration a bit, I'd like to make sure this doesn't stop the world. For now, I chose to give up unloading units when it's during JIT compaction, assuming other calls may unload them later. commit 520ac5da22c30d6db25de6dcbff9607d8a9cd870 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-05-01 10:58:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-05-01 10:58:27 +0900 [pty] do not check openpty twice if found in util library commit 5a9d2da76e89412cc3d13d4197f624a620f85393 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-05-01 01:14:04 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-05-01 02:32:27 +0900 Remove deprecated rb_require_safe Notes: Merged: https://github.com/ruby/ruby/pull/3071 commit 4a8acf46258e1b6fb57e75e4461f9e4895064bda Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-30 22:54:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-30 22:54:42 +0900 [ruby/irb] Restore the default encodings IRB::ReadlineInputMethod#initialize sets via IRB.set_encoding. commit 9d1b272b01079b95f377b7e6adc009a0d5b293c7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-30 11:56:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-30 11:57:08 +0900 [ruby/irb] Suppress messages switching inspect mode commit b3ce6fa099b2fdb330d19372ab1a51fd7c97fc51 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-30 11:44:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-30 11:44:22 +0900 [ruby/irb] Relaxed regexp for readline Readline::VERSION may not be a single word, e.g EditLine wrapper when linked with editline. commit 7e5253d15ea1d2cdfc7942213f9c7ba79c3eda2b Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-28 17:07:27 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/irb] Suppress "method redefined" warning https://github.com/ruby/irb/commit/5f0aee56fa commit 3864fbc6d85b834be4567fa1d5bd0dccc4dfd808 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-28 17:06:43 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/irb] Check existence of rc files in irb_info command https://github.com/ruby/irb/commit/cdbb9dfc9f commit 98a346d065cc981d60ec0e45f7f15ba7328b6ad6 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-27 18:27:19 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/irb] Add irb_info command https://github.com/ruby/irb/commit/a6fe58e916 commit 009092b04cf1fc36feb2e9257d131ec57242984f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-26 03:18:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/reline] Add URL reference of history-size https://github.com/ruby/reline/commit/13420197b8 commit 213ebec7a7a861eeb5fddd0bd0cf74498a520e63 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-25 17:15:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/reline] Version 0.1.4 https://github.com/ruby/reline/commit/298144b06a commit 4859352df62c05bbc10e1e62f966d493eb771e66 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-25 02:20:52 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/reline] Negative history_size means unlimited And unlimited is default. https://github.com/ruby/reline/commit/f5149c3ca6 commit d27fa87418bcec8fff909f75a547a7c5e6dc83e5 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-25 01:45:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/reline] New items to history are dropped if history_size is zero https://github.com/ruby/reline/commit/9bdbed9cbc commit 0ac5009165e0d743b82ac673d4eb98e871f4ea0b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-24 17:54:54 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-29 19:13:14 +0900 [ruby/reline] Ignore non-absolute XDG_CONFIG_HOME https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html > All paths set in these environment variables must be absolute. > If an implementation encounters a relative path in any of these > variables it should consider the path invalid and ignore it. https://github.com/ruby/reline/commit/45af6eea77 commit e801e9ba65f6d98f6fee32a1e7e553e6586230cd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-29 14:40:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-29 15:28:40 +0900 [ruby/spec] expand temporary directory to the real path It may contain symbolic links. commit 32e7d9140eb2bc9890a690fd62bf1690ee8fd5e3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-29 14:38:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-29 15:28:40 +0900 [ruby/spec] Temporary directories should be under the mock_dir commit 56d6cfe88ae355a089a164f351dcd7f2112cf852 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-28 19:54:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-29 15:28:39 +0900 .travis.yml: hoisted out spec-on-old-ruby commit ac0c760843b8bef48d314cacf3f552963391ed16 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-29 00:27:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-29 00:34:14 +0900 Mark ruby_memerror as NORETURN commit 1994ed90e4013b3a35d72743a0e7648efc31576c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-29 00:01:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-29 00:05:46 +0900 Remove debugging code from gc.c Partially revert adab82b9a71f60ad1c7f4f8c134a5ae9198ab32a and c63b5c6179d700ceacf5cae8d3ee86da1294c781. The issue that these commits attempt to address was maybe fixed with 1c7f5a57125001447dc6173847dc68aa50bd8e93. commit 1c7f5a57125001447dc6173847dc68aa50bd8e93 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-28 23:36:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-28 23:36:16 +0900 Removed unnecessary RLIMIT_AS Even without this limit, these assertions almost certainly cause a NoMemoryError by removing the fix in 72ad8595f20. commit 86431f5075d0495783776b0d7f162df387e7cde6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-28 19:00:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-28 19:00:33 +0900 Remove rubyspec temporary directories commit 3497152515693cb3898bf3aea502f6e162ffe21f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-28 15:05:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-28 15:05:59 +0900 Remove rubyspec temporary directory commit 442866c2d445cbd30a0f4ae651c828ced0f8976c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-21 19:34:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-28 11:13:06 +0900 [rubygems/rubygems] Pass the rubocop lint https://github.com/rubygems/rubygems/commit/d4486ca061 commit 5b77fc8abe4d3c347b5a846c8b330a3bb51d1ef8 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-04-25 21:28:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-28 11:04:40 +0900 [rubygems/rubygems] Remove commented out code https://github.com/rubygems/rubygems/commit/42aa0d7ebc commit 2c2b0d4ec1bc3ede33b056e24dea011edc69bd5f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-22 14:37:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-28 10:57:21 +0900 [rubygems/rubygems] Make the test suite pass under `umask 077` Some tests had failed under `umask 077` mode. As far as I investigated, there is no actual bug. All failures were caused by tests that create a wrong-permission file or expect wrong permission. This changeset fixes the tests. https://github.com/rubygems/rubygems/commit/078213e527 commit de58dfc911738b2cbb2b848fa2e2cc93616a0ec5 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-20 10:06:45 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-28 10:56:14 +0900 [rubygems/rubygems] Removed the depdendency of English library English.rb is extracted to the default gems at https://github.com/ruby/ruby/commit/2c5764ec223d976e0d0da1494596a1519104be3e https://github.com/rubygems/rubygems/commit/532f488c0b commit aca935a67042dd7b82e34844ae6139cedd66339d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-27 15:28:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-27 15:28:06 +0900 Fixed typos in racc commit 6009790e4072c8c6736773cf22addb20ad5aac02 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-27 01:50:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-27 10:39:07 +0900 Moved already resolved test Couldn't figure out failed/fixed versions. commit 93ed465dcdc866013cd93c3662937497900c8086 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-27 02:09:08 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-27 02:09:08 +0900 test/ruby/test_fiber.rb (test_stack_size): re-enabled on s390x Revert 9948addda67f4b7a6e3575f1eba9025f998811d2. It is now discussed in https://bugs.ruby-lang.org/issues/16814, and an assert is added with a217d3cedce3f5aa5c27a1ce6c72b65ec37da057. It would be good to give it a try. commit a217d3cedce3f5aa5c27a1ce6c72b65ec37da057 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-27 00:40:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-27 01:04:05 +0900 check: compare with right upstream commit 257e01b61db90ecf3a53957281770b5f3db3f919 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-26 22:39:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-26 22:39:36 +0900 Solaris does not provide atomic_sub family commit 1760c60174b80e837371a19ec13b1148629262cb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-26 19:34:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-26 19:41:12 +0900 Clarified return value of atomic macros Notes: Merged: https://github.com/ruby/ruby/pull/3061 commit 36ed700711b04ba70e284c00feb54dcd98d872bb Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-04-26 16:14:14 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-04-26 16:14:14 +0900 Fix failures of test/rdoc/test_rdoc_ri_paths.rb yield `home_dir` when HOMEDIR is not falsy only. https://github.com/ruby/ruby/blob/d0f41aa2382612022162d033ddb3d9c9cc62099e/lib/rdoc/ri/paths.rb#L43 ``` yield home_dir, :home if home and HOMEDIR ``` https://rubyci.org/logs/rubyci.s3.amazonaws.com/archlinux/ruby-master/log/20200426T033503Z.fail.html.gz ``` 1) Failure: TestRDocRIPaths#test_class_each [/home/chkbuild/build/20200426T033503Z/ruby/test/rdoc/test_rdoc_ri_paths.rb:54]: <nil> expected but was <"/home/naruse/chkbuild/tmp/build/20200426T033503Z/tmp/test_rdoc_ri_paths_1033468/doc/nodoc-1.0/ri">. 2) Failure: TestRDocRIPaths#test_class_raw_path [/home/chkbuild/build/20200426T033503Z/ruby/test/rdoc/test_rdoc_ri_paths.rb:131]: <nil> expected but was <"/home/naruse/chkbuild/tmp/build/20200426T033503Z/tmp/test_rdoc_ri_paths_1033468/doc/rake-10.0.1/ri">. 3) Failure: TestRDocRIPaths#test_class_raw_path_extra_dirs [/home/chkbuild/build/20200426T033503Z/ruby/test/rdoc/test_rdoc_ri_paths.rb:141]: <nil> expected but was <"/home/naruse/chkbuild/tmp/build/20200426T033503Z/tmp/test_rdoc_ri_paths_1033468/doc/rake-10.0.1/ri">. ``` commit d0f41aa2382612022162d033ddb3d9c9cc62099e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-26 12:26:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-26 12:53:11 +0900 [ruby/spec] Removed space between method name and argument list paren commit 7860277527b9fef577cdaa0958147eb78a0ee9b7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-26 12:26:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-26 12:53:11 +0900 [ruby/spec] Fixed missing should commit 034b8472ba369b3f044c3735b0cab8e5e76e38f7 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-04-26 12:39:44 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-26 12:39:44 +0900 remove unused rb_str_clear define (#3059) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 63fe3739dd13beeb049319606af6ffc6093a4c1e Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-04-26 11:07:42 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-04-26 11:07:42 +0900 Fix errors when `RDoc::RI::Paths::HOMEDIR` is nil https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-ad7f67/ruby-master/log/20200425T175405Z.fail.html.gz ``` 4) Error: TestRDocServlet#test_asset: NoMethodError: undefined method `replace' for nil:NilClass /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:48:in `setup' 5) Error: TestRDocServlet#test_asset: NoMethodError: undefined method `replace' for nil:NilClass /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:63:in `teardown' ``` ... ``` 74) Error: TestRDocServlet#test_store_for_site: NoMethodError: undefined method `replace' for nil:NilClass /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:48:in `setup' 75) Error: TestRDocServlet#test_store_for_site: NoMethodError: undefined method `replace' for nil:NilClass /home/chkbuild/build/20200425T175405Z/ruby/test/rdoc/test_rdoc_servlet.rb:63:in `teardown' ``` commit fefb5fafbc44a02c0eaf91de14ca38ac890653ab Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-25 17:52:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-25 17:52:27 +0900 More enums are mandatory for rp in lldb_cruby.py commit 7c88bb3eba77295cb4cd8ee1a713bae40d92600a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-25 13:56:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-25 13:56:24 +0900 fetch-bundled_gems.rb: Fixed the position of -c commit f12f9f511ddf2116ed5da9a580336b148812ad23 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-25 13:16:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-25 13:16:40 +0900 fetch-bundled_gems.rb: Quiet detached HEAD advice commit c2700379add15f8b0e13072a19cabc2cd5957c43 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-25 12:15:01 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-25 12:15:01 +0900 `git co` is alias of `git checkout` commit 42ac3f79ba7104b234546f906f51de485d3a1823 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-25 09:29:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-25 09:29:27 +0900 Assert that typed data is distinguished from non-typed Notes: Merged: https://github.com/ruby/ruby/pull/3058 commit cc8f55e9e31e8057c6b5bfd417ca4f70d41b9a33 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-25 01:43:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-25 02:49:37 +0900 [ruby/rdoc] HOME is preserved by RDoc::TestCase https://github.com/ruby/rdoc/commit/6c4801d1f6 commit ae235db25d6d6437862d4823d053d42702d1a07a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-25 00:19:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-25 02:49:35 +0900 [ruby/rdoc] Should teardown in reverse order of setup https://github.com/ruby/rdoc/commit/00fb4dd2a3 commit c6020ba277b8e666b38e25dab65acdcbd1c2121c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-24 23:56:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-25 02:35:57 +0900 Clear cached XDG path names commit c5b17b0354755c6540e8cd51aea0a30773437eaf Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-24 21:22:05 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-24 21:22:05 +0900 Remove and Restore the original HOME dir (#3057) Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit 9fb20711fd4c4c452b1b7391a8ca86a4d82f6b90 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-24 03:10:41 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-24 16:46:36 +0900 [ruby/reline] Treat home dir correctly https://github.com/ruby/reline/commit/9b1327d2f4 commit 81b0b7919718bf7f8a6bd9590651b62279977327 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-21 18:17:27 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-24 16:45:07 +0900 [ruby/reline] Support XDG_CONFIG_HOME In the XDG Specification, if ~/.config/readline/inputrc exists, then ~/.inputrc should not be read, but for compatibility with GNU Readline, if ~/.inputrc exists, then it is given priority. https://github.com/ruby/reline/commit/97f1e7db04 commit 0f5ae7a200673d38d035e7d3165f5441fe0d49a7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-23 22:19:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-23 22:19:28 +0900 Fixed inverted current thread condition [Bug #16808] commit a52a459b16ce1b5cf32cb6393960ff59e35c48d0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-23 20:17:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-23 21:42:21 +0900 Truncate too long thread name before setting [Bug #16808] Notes: Merged: https://github.com/ruby/ruby/pull/3053 commit 03e4eeabbf3bbb5a467956920705bf346d790efa Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-23 21:11:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-23 21:11:21 +0900 Skip the initialization of XDG_DATA_HOME with Permission denied commit 5c6269c4593f8b1a83b72e157c460dd2b37338c7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-23 19:16:06 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-23 19:16:06 +0900 Support XDG_* (#2174) * Support XDG_CONFIG_HOME for gemrc. * Support XDG_DATA_HOME for .gem * Added test for XDG_DATA_HOME * Do not reuse environmental variable. * Unify .rdoc path to RDoc.home. * Support XDG_DATA_HOME for .rdoc * Ignore exists? * Extracted config_home path * Use XDG_CONFIG_HOME for default credential path * Fixed inconsistency location. * Fixed the broken tests. * Support XDG_CONFIG_HOME for irbrc * Introduce Gem.cache_home as XDG_CACHE_HOME * Use Gem.cache_home instead of Gem.config_home for the credential file of RubyGems. * Initialized the old configurations * Fixed test failure related the configuration initialization * restore XDG_DATA_HOME * Fixed the broken examples of bundler with XDG_* * Do not modify environmental variable on test file * Use XDG_DATA_HOME insted of XDG_CACHE_HOME for credential file * stub out Gem.data_home * Move dir accessor to defaults.rb file * Use XDG_DATA_HOME for signed gem features * Use XDG_DATA_HOME for spec cache * Do not rely on Gem.user_home * Gem.user_home is always exists. Don't need to use FileUitls.mkdir_p * Bump support version to RubyGems 3.2.0+ * Removed the needless fallback configuration * Fixed the inconsistency methods that are find_config_file and config_file * Use Gem.configuration.credentials_path instead of hard-coded path * gem_path is always provided * Removed the duplicated code of find_home * Also removed the duplicated code of user_home * use Gem::UNTAINT instead of untaint for surpressing the warnings * Use File.directory * Restore XDG_DATA_HOME * Use File.write Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit f563f3c5ef517b62f1a95ab03286335e4fe72314 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-04-23 17:46:20 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-23 17:46:20 +0900 RDoc enhancements for Hash[]. Notes: Merged: https://github.com/ruby/ruby/pull/3026 Merged-By: ioquatix <samuel@codeotaku.com> commit 14e013cdbbd937ab229a929d8743f271c6f89ab2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-20 18:41:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-23 15:13:27 +0900 [ruby/rdoc] Drop old rubies * `RbConfig::CONFIG['ridir']` has been set since 1.9.2 * `ENV["HOME"]` has been defaulted to `USERPROFILE` since 1.9.0, and backported to 1.8.5 or later. https://github.com/ruby/rdoc/commit/a3a614e676 commit d1f50b9872f2768d8790170904ccf6d28aaee633 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-23 10:44:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-23 10:44:27 +0900 Initialize the class variable for Minitest::Unit.current_repeat_count commit 2e87488d13ebbbdcb8778b0bd2bfae2223e0a8ec Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-23 10:25:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-23 10:25:09 +0900 Expand retrying test file names to realpath As well as worker processes do in Test::Unit::Worker#run. commit 74c8aaef7dd09043cf9f13381c84022da7f1c253 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-23 10:24:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-23 10:24:49 +0900 Just call search_method_protect [Bug #16669] commit da5bd0047d6c961105da210c69d4c88421324b70 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-23 09:43:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-23 09:43:30 +0900 Test for [Bug #16669] commit de9d6a7a8cb0929e0b4cf0a3120971c7b8ee8927 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-22 22:21:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-23 09:39:42 +0900 Split test_defined commit 8119bcbfc04772fe4012b5ed396a68f02e312316 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-04-23 02:16:12 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-04-23 02:21:38 +0900 rb_method_entry() returns valid me. search_method() can return invalid method, but vm_defined() checks it as valid method entry. This is why defined?(foo) if foo is undef'ed. To solve this problem, check invalidation and return NULL. [Bug #16669] https://twitter.com/kamipo/status/1252881930103558144 Tests will be merged by nobu soon. commit 6292271ef78328a9d520962625f8f1fe457895b3 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-04-23 01:40:01 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-04-23 01:40:24 +0900 Fix permission of PATH https://github.com/ruby/actions/runs/608526685?check_suite_focus=true `warning: Insecure world writable dir /home/runner/.config in PATH, mode 040777` commit 1997e10f6caeae49660ceb9342a01a4fd2efc788 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-22 19:07:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-22 20:44:46 +0900 Made parentheses mandatory in endless method defition Even for empty argument list, not to be confusing with a writer method name. Notes: Merged: https://github.com/ruby/ruby/pull/3051 commit 1fe5bffefdf799c24f4a0eed97e1ceefc1dc66d6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-22 18:56:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-22 20:44:43 +0900 Disallow R-assign in endless def Notes: Merged: https://github.com/ruby/ruby/pull/3051 commit 02ad393cd6bd87a7cc21ef71d5b21ad0f3fe2f34 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-22 18:56:06 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-22 18:56:06 +0900 Revert "Allow simple R-assign in endless def" This reverts commit 67bcac879a2e0ddfb4e7bbd7cb5e5401422de76a. Notes: Merged: https://github.com/ruby/ruby/pull/3051 commit d6ec8da689ae097e442219b7feab491120060cba Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-22 16:13:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-22 16:13:42 +0900 Update benchmark-driver version commit 5ce7835520a0567d76352db510383d00229c3da3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-22 10:01:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-22 10:01:11 +0900 Update benchmark-driver version commit 17083011eed7d56981f2b227574527e4bf23eb65 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-04-22 09:49:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-22 09:49:13 +0900 support builtin for Kernel#Float # Iteration per second (i/s) | |compare-ruby|built-ruby| |:------------|-----------:|---------:| |float | 30.395M| 38.314M| | | -| 1.26x| |float_true | 3.833M| 27.322M| | | -| 7.13x| |float_false | 4.182M| 24.938M| | | -| 5.96x| Notes: Merged: https://github.com/ruby/ruby/pull/3048 Merged-By: nobu <nobu@ruby-lang.org> commit ad63ae6619d26488725e05d74f2bfc3ab185b0c3 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-22 02:41:54 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-22 02:43:07 +0900 .github/workflows/mingw.yml: add `shell: bash` for PR checkout as well as e62aead26909e83f2c8b940186047f0a88b9f2d6 commit 92afac8f3346f050ff25ad15a640a6861f690427 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-22 01:45:19 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-22 02:31:37 +0900 configure.ac: Automatically add -D__ANDROID_API=ver on Android Notes: Merged: https://github.com/ruby/ruby/pull/3049 commit 7d918be633c649a4439fb239c1ae22c8d391683c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-22 01:53:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-22 02:05:12 +0900 test/ruby/test_fiber.rb: Skip the problematic test_stack_size on riscv Since it is impossible to detect stack overflow of C functions robustly, the test is a bit unreasonable. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20200421T120018Z.fail.html.gz commit 3ef09c6e66cf28455536593af60a7c7072fb1777 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-21 18:23:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-21 19:29:16 +0900 eval_error.c: default nil as "reverse" is now false [Feature #8661] commit 487d0c99d53208594702bb3ce1c657130fb8d65f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-21 17:39:32 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-21 17:39:32 +0900 eval_error.c: revert the "reversed" backtrace [Feature #8661] Now, the order is good, old-fashioned style: ``` $ ./local/bin/ruby -e 'def foo; raise; end def bar; foo; end def baz; bar; end def qux; baz; end qux ' -e:1:in `foo': unhandled exception from -e:2:in `bar' from -e:3:in `baz' from -e:4:in `qux' from -e:5:in `<main>' ``` commit c63b5c6179d700ceacf5cae8d3ee86da1294c781 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-21 16:29:52 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-21 16:30:33 +0900 rb_memerror: abort immediately Ditto for adab82b9a71f60ad1c7f4f8c134a5ae9198ab32a. TRY_WITH_GC was found innocent. commit 32623150cd389f1cdc6a840ec88ce9d1e2a43a87 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-18 05:40:57 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-21 13:07:19 +0900 reroute redefinition of NDEBUG NDEBUG can be defined via a command-line argument. Should take care of such situations. commit 735e035bf54e018fa629f6601d882fc0b097e1fc Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-18 05:53:10 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-21 13:07:02 +0900 __GNUC__ is too lax Ditto for 4b853932eaa7fa4acf8a0f0c9b7c695bb4f5e76d commit adab82b9a71f60ad1c7f4f8c134a5ae9198ab32a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-21 12:57:33 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-21 12:59:35 +0900 TRY_WITH_GC: abort immediately NoMemoryError is observed on icc but I fail to reproduce so far. Let me see the backtrace on CI. commit b9962f0e8909b1163320fbcfe80060a259b2353d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-20 21:20:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-21 06:53:29 +0900 Fixed incorrect man path with ruby installation path [Bug #15359][ruby-core:90164] commit 8e517942656f095af2b3417f0df85ae0b216002a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-21 00:06:07 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-21 00:06:53 +0900 test/ruby/test_refinement.rb: extend the timeout https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20200420T083601Z.fail.html.gz commit 6985bfb72c8d7e7d94f1aad1f0902b602bbfa6da Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-20 23:59:05 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-20 23:59:05 +0900 vm_dump.c: Do not show C backtrace on riscv Currently, objdump -W miniruby emits some errors on riscv, so I guess that DWARF is corrupted. commit 847e25975ce8f5bda46a01afd67e4fdb7f1fef41 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-20 22:46:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-20 22:48:10 +0900 Skip JIT tests on riscv64 due to SEGV of cc1 commit e571bb8436502b1bce54a1e41c40ef682e05c555 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-20 21:13:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-20 21:14:04 +0900 Removed phony atomic operations for void* and VALUE commit 20773a109029ba4464d7749d38a311f880a73293 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-20 10:44:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-20 12:33:37 +0900 Bail out if no atomic operation found As atomic operations are mandatory now, not-working phony fallback definitions are not only useless but confusing and harmful. commit 2af4c1fc5b19fc96203c2d7e917e689510d3527e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-19 23:15:43 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-19 23:15:43 +0900 Skip Process#clock_getres specs on Android ... just like AIX and OpenBSD. commit 5a8960b4fe214c10e14911f3f9c27a267b54c27d Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-19 23:14:31 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-19 23:14:31 +0900 Skip TestRequire#test_loading_fifo_fd_leak on Android The test fails due to unknown reason. Need to debug in future, but tentatively skipped. commit 2832ba80d6cb9ff77f1e18b6afccf3bb9d884dd0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-19 10:39:32 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-19 10:40:01 +0900 The pdb header error is printed at stdout https://ci.appveyor.com/project/ruby/ruby/builds/32278754/job/90jmky2jq2k0wjv8 commit c0b93267497d47858ea9539ef863be321bc1ddbf Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2020-04-19 09:35:19 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-19 09:35:19 +0900 Update workflows/mingw.yml - use setup-ruby-pkgs (#3042) MSP-Greg/actions-ruby is deprecated... Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 0a986b81e18bc3b4ed2a62b3679806194a49c0f3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-18 21:30:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-18 23:19:58 +0900 Env values removed by ENV.clear are not used Notes: Merged: https://github.com/ruby/ruby/pull/3041 commit 97e8c72e56d3e0e8ce64d530fb133cdc26e326c8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-18 21:30:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-18 23:19:58 +0900 Bypass env key encoding conversion if unnecessary Notes: Merged: https://github.com/ruby/ruby/pull/3041 commit ec4e57cae0cc9fede7f7809f8e443cd811ebddb4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-18 20:58:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-18 23:19:58 +0900 Hoisted out reset_by_modified_env Notes: Merged: https://github.com/ruby/ruby/pull/3041 commit 67e4d5e62340223c95e35afaee855f8c821a499d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-18 20:45:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-18 23:19:57 +0900 Environment variable values are not case-insensitive Only the names are case-sensitive. Notes: Merged: https://github.com/ruby/ruby/pull/3041 commit db0d850d4eac5577104e6d0f22950d97f53c5a13 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-17 04:38:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-18 23:12:52 +0900 [ruby/reline] Add ed_search_next_history https://github.com/ruby/reline/commit/ca750b676b commit bea3e31e5f8b85f0665b94312418f97e71c14fc6 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-17 03:03:12 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-18 23:12:52 +0900 [ruby/reline] Add ed_search_prev_history https://github.com/ruby/reline/commit/e9ae288825 commit 1e4efbb6d3e1794222703c2df2b0bb69bc4956cc Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-17 04:31:26 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-18 23:11:45 +0900 [ruby/reline] Rename wrong test name https://github.com/ruby/reline/commit/8480db575b commit 08c1c3f2203592c219c6068ea05fb5d583493a25 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-15 02:23:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-18 23:09:31 +0900 [ruby/reline] Use vi_search_{prev,next} to incremental search https://github.com/ruby/reline/commit/cab312f584 commit afe997857ec69771078d04a7d4f9da784f478ad5 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-04-15 02:10:27 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-04-18 23:09:31 +0900 [ruby/reline] Rename search_history with incremental_search_history https://github.com/ruby/reline/commit/d563063ea0 commit 08529a61153e5c40f57a65272211357511d6e6db Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-18 20:39:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-18 23:09:01 +0900 Compare environment variable names in those manor [Bug #16798] Notes: Merged: https://github.com/ruby/ruby/pull/3040 commit e042380e0e2d32c30e5c1ddb9ce0df81e15d44a0 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-04-18 20:42:00 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-04-18 20:42:00 +0900 power_assert repository is transferred to ruby/power_assert commit 04e56958e6a3c3278d0d3a087954ee8aca2fbd10 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-18 17:38:52 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-18 17:41:50 +0900 Make sure newarraykwsplat accesses a correct index on stack when local_stack_p is enabled. This fixes `RB_FL_TEST_RAW:"RB_FL_ABLE(obj)"` assertion failure on power_assert's test with JIT enabled. commit 0f7d3e4e405d17a1ea7db4862a1e6d65e1dfc86e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-18 16:35:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-18 17:07:56 +0900 RUBY_SPECIAL_SHIFT and RUBY_FL_USHIFT are mandatory for rp in lldb_cruby.py commit dc8ab86a2b30189be0e4f31012c949318e397618 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-18 16:48:32 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-18 16:48:33 +0900 Super TestJIT#setup to skip unsupported envs Slightly simplifying 8d6aa06620b316904fd10d0cab1b85e07f2fbf67 commit 9948addda67f4b7a6e3575f1eba9025f998811d2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-18 16:31:33 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-18 16:31:34 +0900 Skip a too-unstable test on s390x-linux In the last 26-ish hours, it has failed 5 times: https://travis-ci.org/github/ruby/ruby/jobs/676497718 https://travis-ci.org/github/ruby/ruby/jobs/676480295 https://travis-ci.org/github/ruby/ruby/jobs/676103216 https://travis-ci.org/github/ruby/ruby/jobs/676057967 https://travis-ci.org/github/ruby/ruby/jobs/676055113 and I don't think anybody has been working on it right now. To make CI result report of s390x-linux useful, let's skip it until the test is improved to be more stable. commit 8d6aa06620b316904fd10d0cab1b85e07f2fbf67 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-18 14:59:22 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-18 14:59:22 +0900 test/ruby/test_jit_debug.rb: Skip unsupported platforms commit 75f6d7064413851422de1782a6fdefcce6876aec Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-04-18 12:34:33 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-04-18 12:34:33 +0900 power_assert repository is transferred to ruby/power_assert commit 0511bef930f9a91aead9307e2db6257f18cb7e65 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-18 02:17:19 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-18 02:18:56 +0900 Remove invalid webhook config According to warnings on Travis, there's no such key. We handle this on webhook side anyway. commit f8b79ef567e4b91eb821886cd4dfa782caed05d3 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-18 02:11:39 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-18 02:11:47 +0900 Compilation error does not impact exit status We failed to ignore https://ci.appveyor.com/project/ruby/ruby/builds/32245902/job/xcfxw67uexxysvni commit 5257a530905a3ccd931577efc76ce09226ff1d06 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-04-17 17:39:42 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-04-17 17:40:57 +0900 Removed NIL/TRUE/FALSE from documents too This is follow up of 62554ca97812b454e78a0a9daf6e962ff7a2f589 commit 62554ca97812b454e78a0a9daf6e962ff7a2f589 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-17 17:35:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 17:35:17 +0900 Removed NIL/TRUE/FALSE Deprerecated constants which had been warned since 2.4. commit 3152977b31b64dde776724188bdaa927b07d524d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 01:29:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 14:25:20 +0900 Rescue EPIPE in _report Instead of letting callers rescue the error always. commit b5132d91c038dc4f7501ab049c31d0d1433addc2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 01:07:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 14:08:54 +0900 Refactored rb_readwrite_syserr_fail * renamed argument `writable` as `waiting` * hoisted out creating and raising exception * turned into a `switch` commit 00d927838768894eab84c76e72d44cb4d8b9cc3d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-17 14:07:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 14:07:14 +0900 fileutils now depends on rbconfig.rb due to JRuby support commit 75a0447c15a7ab017bd4240c2a9cc69b134b80b9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-17 08:14:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 09:24:46 +0900 Suppress C4267 "possible loss of data" warnings Just cast down explicitly. commit 36353b272852acdf951e4870286834a76e80b952 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-17 09:20:29 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-17 09:22:43 +0900 test/ruby/test_process.rb: Skip GID.from_name on Android The user management on Android seems very different https://rubyci.org/logs/rubyci.s3.amazonaws.com/android28-x86_64/ruby-master/log/20200416T234122Z.fail.html.gz commit c23efbaa99bf39800c32daf69b2424c9371b1f10 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2020-04-17 06:23:40 +0900 Commit: Sutou Kouhei <kou@clear-code.com> CommitDate: 2020-04-17 06:23:40 +0900 Remove lib/rss.rb This is a follow-up of 83240f315a10b42b53c3b62c1fbc428f97912665 . commit a0bc3f2a1c2c98f225612101cb4e1ea1a6813546 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-17 00:27:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 00:53:26 +0900 Suppress C4267 "possible loss of data" warnings commit 3cca0d1958a53a18b824af24801b9cbfa04691df Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 23:45:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 00:52:29 +0900 core_assertions.rb: fixed fd leak at timeout Notes: Merged: https://github.com/ruby/ruby/pull/3039 commit e231f8e8a8659bab7f8ef9992c6b36b8683fb8aa Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 23:44:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-17 00:52:29 +0900 envutil.rb: not try to close pipes twice Notes: Merged: https://github.com/ruby/ruby/pull/3039 commit fedc8075fe2a2bbbfa12c028c0879330d7db5596 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 20:40:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-16 20:50:08 +0900 Preserve encoding in error messages for invalid user/group name commit 748c7c7c0b4ce605c0cedf971e94f0076e0e77de Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 20:36:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-16 20:50:08 +0900 Added tests for Process::UID.from_name and Process::GID.from_name commit f57e2d7296fbdf09041bdb237c7423a12ef06621 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 20:40:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-16 20:50:07 +0900 Preserve encoding in error message for invalid env exec option commit 33aaa2aa15980f8ac0f330fc817f179e46daed55 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 18:47:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-16 20:38:11 +0900 Added test for invalid env exec option commit 693378f1051b6f32b1f4079b9133fb37a401b738 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 18:02:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-16 18:02:11 +0900 Moved noreturn call to end of noreturn function commit d4215dafeadc64df236e136d35f6a26835c34aa5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-16 17:59:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-16 17:59:55 +0900 Use UNREACHABLE_RETURN for non-void function commit 3eb05a8071815cfbb2500e624ad675f324cc72fa Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-16 17:00:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-16 17:19:37 +0900 fix compiler error on gcc 4.x It seems gcc prior to 5 suffered from preprocessor bug. We have to provide workarounds. See https://github.com/ruby/ruby/runs/591138012 ---- Here is something interesting. According to C99, strictly speaking, the gcc behaviour was in fact legal(!) and everything else were wrong. This was not a bug of gcc, rather a bug of the ISO C Standard. This defect was reported to the committee as DR#412, and fixed accordingly. All tested compilers now conform C17's updated preprocessor description. See http://www.open-std.org/JTC1/SC22/WG14/www/docs/dr_412.htm commit 48273534c7aa6552c9155366a39f54ce10653c5a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-16 14:17:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-16 14:22:15 +0900 Support for FreeBSD <sys/cdefs.h> FreeBSD's <sys/cdefs.h> is broken. Cygwin is also affected by that. We need to avoid using them. See also: https://github.com/freebsd/freebsd/commit/d1c67819db000c02d3a9c79f3651c10aeedad1a0 https://sourceware.org/git/?p=newlib-cygwin.git;a=commit;f=newlib/libc/include/sys/cdefs.h;h=44d6d53977e6bc82c2b1e6dbe8ae7f310b260604 commit 155f64e3c4ba23f0e85e8d69facceb21a487dccd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 01:25:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 21:05:39 +0900 Raise EPIPE at broken pipe for the backward compatibility Instead of SignalException for SIGPIPE, raise `Errno::EPIPE` with instance variable `signo` and re-send that signal at exit. [Feature #14413] Notes: Merged: https://github.com/ruby/ruby/pull/3035 commit d72fd1e45b192ab507f8170ceec1328c2aae7bb1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 00:59:23 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 21:00:53 +0900 Added rb_syserr_new_path Similar to rb_syserr_fail_path, but just returns the created exception instance instead of raising it. Notes: Merged: https://github.com/ruby/ruby/pull/3035 commit 69b3e0ac59f99bbd7e9a76af283f0be1991a3bde Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 12:57:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 16:06:48 +0900 Create succ_index_table as a part of `iseq_setup` With compiling `CPDEBUG >= 2`, `rb_iseq_disasm` segfaults if this table has not been created. Also `ibf_load_iseq_each` calls `rb_iseq_insns_info_encode_positions`. Notes: Merged: https://github.com/ruby/ruby/pull/3033 commit a9567cc2bfad37cc22b3efe0971ba85bd9c1df34 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 14:27:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 16:06:48 +0900 Added test for `debug_level:` option of `RubyVM::InstructionSequence.compile` Notes: Merged: https://github.com/ruby/ruby/pull/3033 commit 1dad9fa5e1303ce0ba38f55ae81b87ab3857df62 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-15 15:59:02 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-15 15:59:29 +0900 This test is not testing attr_writer commit 79f3403be0cdbec814be29308c0583599ca5824f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-15 15:49:28 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-15 15:49:29 +0900 Invalidate fastpath when calling attr_reader by super The same bug as 8355a99883 existed in attr_reader too. commit 8355a998839f17ff214a89062821a0a4287f6a54 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-15 15:24:50 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-15 15:32:13 +0900 Invalidate fastpath when calling attr_writer by super We started to use fastpath on invokesuper when a method is not refinements since 5c27681813, but we shouldn't have used fastpath for attr_writer either. `cc->aux_.attr_index` is for an actual receiver class, while we store its superclass in `cc->klass` and therefore there's no way to properly invalidate attr_writer's inline cache when it's called by super. [Bug #16785] I suspect the same bug also exists in attr_reader. I'll address that in another commit. commit 2c12d111cb6efb110caa72b0e5314d3affbefb6e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 12:29:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 12:34:40 +0900 Disassemble nop-inserted list commit de2afcbf0c4c058732997065fa8e6bcaebee9890 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 12:28:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 12:28:31 +0900 Show heading for update_catch_except_flags commit f9822d173842d758d7ec4180be7addba30422e40 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 12:17:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 12:17:45 +0900 Shrink disassembled result string commit 478135f480b4580d068d236f491b2a32048bc193 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-15 10:32:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-15 10:33:11 +0900 Disallow line-continuation before R-assign commit a520ee476382c713d1a6649704fe10a155b71199 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-14 19:47:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-14 19:47:17 +0900 Removed duplicate value_expr checks `arg_rhs` has the same check and is always a non-void value expression. commit f88862655270f47e4ffd84c3eb5a4d62bd99eab1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-14 15:48:39 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-14 15:48:40 +0900 Fix logic to detect vs120 MJIT_CC seems not defined https://ci.appveyor.com/project/ruby/ruby/builds/32161572/job/u5sw8yn4in87heki commit 7a85d31c298a4585bed9f20214dfe0af48e4ec1f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-14 14:49:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-14 15:13:40 +0900 [ruby/date] Suppress -Wchar-subscripts warnings by Cygwin gcc 9.3.0 https://github.com/ruby/date/commit/9968eb69f0 commit e667750364acde6db8a27108cf88ff83b63cf53a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-14 15:11:44 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-14 15:11:51 +0900 Add missing call in 70b7304f03 commit 70b7304f036a55d526e3c67fe31ad3ce949ae13f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-14 15:08:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-14 15:08:25 +0900 Ignore AppVeyor vs120's pdb corruption We tried to fix this like https://github.com/ruby/ruby/pull/3029, but it didn't work. The failure has never been helpful for developing MJIT, and currently it's not prioritized to be fixed. Until we try to figure out the root cause on AppVeyor vs120, let's optionally disable testing when the random corruption happens. commit f883d6219e107554ebde5dff6d2f8383857f7518 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-14 13:37:42 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-14 13:37:42 +0900 Unify vm benchmark prefixes to vm_ (#3028) The vm1_ prefix and vm2_ had had special meaning until 820ad9cb1d72d0897b73dae282df3793814b27e8 and 12068aa4e980ab32a0438408a519030e65dabf5e. AFAIK there's no special meaning in vm3_ prefix. As they have confused people (like "In `benchmark` what is difference between `vm1_`, `vm2_` and `vm3_`"), I'd like to remove the obsoleted prefix as we obviated that two years ago. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 310ef9f40b350957a1a6d6236ce453ff9f73e81d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-14 12:32:59 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-14 12:32:59 +0900 Make vm_call_cfunc_with_frame a fastpath (#3027) when there's no need to call CALLER_SETUP_ARG and CALLER_REMOVE_EMPTY_KW_SPLAT (i.e. !rb_splat_or_kwargs_p(ci) && !calling->kw_splat). Micro benchmark: ``` $ benchmark-driver -v --rbenv 'before;after' benchmark/vm_send_cfunc.yml --repeat-count=4 before: ruby 2.8.0dev (2020-04-13T23:45:05Z master b9d3ceee8f) [x86_64-linux] after: ruby 2.8.0dev (2020-04-14T00:48:52Z no-splat-fastpath 418d363722) [x86_64-linux] Calculating ------------------------------------- before after vm_send_cfunc 69.585M 88.724M i/s - 100.000M times in 1.437097s 1.127096s Comparison: vm_send_cfunc after: 88723605.2 i/s before: 69584737.1 i/s - 1.28x slower ``` Optcarrot: ``` $ benchmark-driver -v --rbenv 'before;after' benchmark.yml --repeat-count=12 --output=all before: ruby 2.8.0dev (2020-04-13T23:45:05Z master b9d3ceee8f) [x86_64-linux] after: ruby 2.8.0dev (2020-04-14T00:48:52Z no-splat-fastpath 418d363722) [x86_64-linux] Calculating ------------------------------------- before after Optcarrot Lan_Master.nes 50.76119601545175 42.73858236484051 fps 50.76388649761503 51.04211379912850 50.80930672252514 51.39455790755538 50.90236000778749 51.75656936556145 51.01744746340430 51.86875277356489 51.06495279015112 51.88692482485558 51.07785337168974 51.93429603190578 51.20163525187862 51.95768145071314 51.34671771913112 52.45577266040274 51.35918340835583 52.53163888762858 51.46641337418146 52.62172484121034 51.50835463462257 52.85064021113239 ``` Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit b9d3ceee8f8e4fade1eddc0c18abee59f9c1eee7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-14 04:17:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-14 08:45:05 +0900 Unwrap vm_call_cfunc indirection on JIT for VM_METHOD_TYPE_CFUNC. This has been known to decrease optcarrot fps: ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark.yml --repeat-count=24 --output=all before --jit: ruby 2.8.0dev (2020-04-13T16:25:13Z master fb40495cd9) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-04-13T23:23:11Z mjit-inline-c bdcd06d159) +JIT [x86_64-linux] Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 66.38132676191719 67.41369177299630 fps 69.42728743772243 68.90327567263054 72.16028300263211 69.62605130880686 72.46631319102777 70.48818243767207 73.37078877002490 70.79522887347566 73.69422431217367 70.99021920193194 74.01471487018695 74.69931965402584 75.48685183295630 74.86714575949016 75.54445264507932 75.97864419721677 77.28089738169756 76.48908637569581 78.04183397891302 76.54320932488021 78.36807984096562 76.59407262898067 78.92898762543574 77.31316743361343 78.93576483233765 77.97153484180480 79.13754917503078 77.98478782102325 79.62648945850653 78.02263322726446 79.86334213878064 78.26333724045934 80.05100635898518 78.60056756355614 80.26186843769584 78.91082645644468 80.34205717020330 79.01226659142263 80.62286066044338 79.32733939423721 80.95883033058557 79.63793060542024 80.97376819251613 79.73108936622778 81.23050939202896 80.18280109433088 ``` and I deleted this capability in an early stage of YARV-MJIT development: https://github.com/k0kubun/yarv-mjit/commit/0ab130feeefc2b9078a1077e4fec93b3f5e45d07 I suspect either of the following things could be the cause: * Directly calling vm_call_cfunc requires more optimization effort in GCC, resulting in 30ms-ish compilation time increase for such methods and decreasing the number of methods compiled in a benchmarked period. * Code size increase => icache miss hit These hypotheses could be verified by some methodologies. However, I'd like to introduce this regardless of the result because this blocks inlining C method's definition. I may revert this commit when I give up to implement inlining C method definition, which requires this change. Microbenchmark-wise, this gives slight performance improvement: ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_send_cfunc.yml --repeat-count=4 before --jit: ruby 2.8.0dev (2020-04-13T16:25:13Z master fb40495cd9) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-04-13T23:23:11Z mjit-inline-c bdcd06d159) +JIT [x86_64-linux] Calculating ------------------------------------- before --jit after --jit mjit_send_cfunc 41.961M 56.489M i/s - 100.000M times in 2.383143s 1.770244s Comparison: mjit_send_cfunc after --jit: 56489372.5 i/s before --jit: 41961388.1 i/s - 1.35x slower ``` commit a6f7458ea81e084f6ebe7dc5c8cb5b7cb70fe2be Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-14 01:23:39 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-04-14 01:23:39 +0900 Add a a list of cases for which clock_getres() has been observed to be inaccurate * See [Bug #16740] commit c28e230ab5865df55399431239c5fdd9b54206d6 Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-04-13 22:57:10 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-13 22:57:10 +0900 Improve Hash documentation. Notes: Merged: https://github.com/ruby/ruby/pull/3002 Merged-By: ioquatix <samuel@codeotaku.com> commit 67bcac879a2e0ddfb4e7bbd7cb5e5401422de76a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-13 18:44:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-13 21:51:34 +0900 Allow simple R-assign in endless def Notes: Merged: https://github.com/ruby/ruby/pull/3025 commit 5dc6080cb8bebdc7109bd6048e28aee656c3bb4f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-13 16:38:22 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-13 16:38:22 +0900 delete CACHELINE Since https://github.com/ruby/ruby/pull/2888 this macro is no longer used in any place. commit c37a357c13b399b79fb1ef197738f60cae472dbf Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-12 15:42:45 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-13 16:06:00 +0900 include what you use. This reverts commit 443389effc37308ce1a3c3a840082a344fc6af56. This reverts commit d94960f22ec2de3a3855305cb51343806d2b46c7. Inclusion of header files must be explicit. Every file shall directly include what is necessary. https://github.com/include-what-you-use/include-what-you-use says: > When every file includes what it uses, then it is possible to edit any > file and remove unused headers, without fear of accidentally breaking > the upwards dependencies of that file. It also becomes easy to > automatically track and update dependencies in the source code. Though we don't use iwyu itself, the principle quoted above is a good thing that we can agree. Now that include guards were added to every and all of the headers inside of our project this changeset does not increase compile time, at least on my machine. Notes: Merged: https://github.com/ruby/ruby/pull/3023 commit 4ff3f205408ff8bb413d69151105d301858136ba Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-10 14:11:40 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-13 16:06:00 +0900 add #include guard hack According to MSVC manual (*1), cl.exe can skip including a header file when that: - contains #pragma once, or - starts with #ifndef, or - starts with #if ! defined. GCC has a similar trick (*2), but it acts more stricter (e. g. there must be _no tokens_ outside of #ifndef...#endif). Sun C lacked #pragma once for a looong time. Oracle Developer Studio 12.5 finally implemented it, but we cannot assume such recent version. This changeset modifies header files so that each of them include strictly one #ifndef...#endif. I believe this is the most portable way to trigger compiler optimizations. [Bug #16770] *1: https://docs.microsoft.com/en-us/cpp/preprocessor/once *2: https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html Notes: Merged: https://github.com/ruby/ruby/pull/3023 commit a3f6f67967644f34226b4424227d2eec52fedd45 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-13 15:10:22 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-13 15:10:28 +0900 Add MJIT_COUNTER macro to dump total_calls commit 82fdffc5ec0ecffc2e49128775d7c09ed43ba59d Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-04-13 04:19:06 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-13 04:19:06 +0900 Avoid UB with flexible array member Accessing past the end of an array is technically UB. Use C99 flexible array member instead to avoid the UB and simplify allocation size calculation. See also: DCL38-C in the SEI CERT C Coding Standard Notes: Merged: https://github.com/ruby/ruby/pull/3017 Merged-By: XrXr commit 4c8e3f1241e1cc4904e476900bb5309622ba7304 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-12 23:29:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-12 23:29:22 +0900 Make rb_scan_args implementations same between rb_scan_args_set and rb_scan_args_assign + rb_scan_args_result. commit a07cbacd233982da00f67b356a832602123b3708 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-12 13:00:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-12 14:58:13 +0900 Honor COLUMNS [Feature #16754] Notes: Merged: https://github.com/ruby/ruby/pull/3000 commit cc68d2fbd05938bee4c524591a0f17474bc60e17 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-27 23:18:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-12 14:58:13 +0900 Hightlight usage [Feature #16754] Notes: Merged: https://github.com/ruby/ruby/pull/3000 commit 3825662d777ae406136fa7d720b60fe04c6eafd2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-12 12:56:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-12 14:58:13 +0900 Set up environment variable for pager [Feature #16754] Notes: Merged: https://github.com/ruby/ruby/pull/3000 commit e6551d835febe00fce6c6a3b12c4e394d2a05bd6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-04 11:28:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-12 14:58:13 +0900 PAGER without fork&exec too [Feature #16754] Notes: Merged: https://github.com/ruby/ruby/pull/3000 commit f22c4ff359498ab342e4b6d6feb21af6004ee270 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-04 09:47:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-12 14:58:13 +0900 View the help message with PAGER [Feature #16754] View the help message wth pager designed by RUBY_PAGER or PAGER environment variable, unless that value is empty. Notes: Merged: https://github.com/ruby/ruby/pull/3000 commit 5c2768181382bf84137759efea66f3aaf212665d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-12 12:45:22 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-12 12:45:22 +0900 Enable fastpath on invokesuper (#3021) Fastpath has not been used for invokesuper since it has set vm_call_super_method on every invocation. Because it seems to be blocked only by refinements, try enabling fastpath on invokesuper when cme is not for refinements. While this patch itself should be helpful for VM performance, a part of this patch's motivation is to unblock inlining invokesuper on JIT. $ benchmark-driver -v --rbenv 'before;after' benchmark/vm2_super.yml --repeat-count=4 before: ruby 2.8.0dev (2020-04-11T15:19:58Z master a01bda5949) [x86_64-linux] after: ruby 2.8.0dev (2020-04-12T02:00:08Z invokesuper-fastpath c171984ee3) [x86_64-linux] Calculating ------------------------------------- before after vm2_super 20.031M 32.860M i/s - 6.000M times in 0.299534s 0.182593s Comparison: vm2_super after: 32859885.2 i/s before: 20031097.3 i/s - 1.64x slower Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 022c7bbea98ef41556941a21ef6f0656bb49c75f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-12 00:07:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-12 00:07:57 +0900 Relaxed of R-assign value to arg commit 93edbb4c08856d6d10d0e2676cc2e36eef839a7d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-11 17:12:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-11 17:12:24 +0900 Support version ranges for MSVC [Feature #16763] commit e56e089b1f92dbc55d3239b6843dd0786be9000e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-11 12:06:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-11 12:59:45 +0900 Assertions for basic use of `encoding:` option Notes: Merged: https://github.com/ruby/ruby/pull/3018 commit bae16b427765d237aabd8939557325f1530d623b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-11 12:00:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-11 12:59:26 +0900 Assertions for enumerators of Dir Notes: Merged: https://github.com/ruby/ruby/pull/3018 commit aade69eaf8f3b08f228f4ac3fbe9c3667f106f4d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-11 11:58:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-11 11:58:49 +0900 Removed unnecessary `to_a` call `Dir.entries` returns an array. Notes: Merged: https://github.com/ruby/ruby/pull/3018 commit abe2e7de4d1f2d5861d7c9ab9c7e778f2ee1dcd2 Author: Andreas Schwab <schwab@suse.de> AuthorDate: 2020-04-10 22:34:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-11 11:19:50 +0900 Don't require sub-word atomics On some architectures (like RISC-V) sub-word atomics are only available when linking against -latomic, but the configure script doesn't do that, causing the atomic checks to fail and the resulting ruby binary is non-functional. Ruby does not use sub-word atomic operations, rb_atomic_t is defined to unsigned int, so use unsigned int when checking for atomic operations. Notes: Merged: https://github.com/ruby/ruby/pull/3016 commit 6f28ebd585fba1aff1c9591ced08ed11b68ba9e3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-11 09:30:19 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-11 09:30:19 +0900 Silence broken pipe error messages on STDOUT [Feature #14413] Raise `SignalException` for SIGPIPE to abort when EPIPE occurs. Notes: Merged: https://github.com/ruby/ruby/pull/3013 Merged-By: nobu <nobu@ruby-lang.org> commit 87bcb3c47c7369fe285b2c7c670476a8d4553d82 Author: Tanaka Akira <akr@fsij.org> AuthorDate: 2020-04-11 02:32:23 +0900 Commit: Tanaka Akira <akr@fsij.org> CommitDate: 2020-04-11 02:32:23 +0900 Fix articles. commit 6abd08c0b451b9ef9c8bcd99e58ebc7097ac9547 Author: Tanaka Akira <akr@fsij.org> AuthorDate: 2020-04-11 02:09:18 +0900 Commit: Tanaka Akira <akr@fsij.org> CommitDate: 2020-04-11 02:09:18 +0900 Replace Fixnum by Integer in a document. commit 108d392efd6166216b67250e5246d6cd3a90c50c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-10 23:07:23 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 23:07:23 +0900 RUBY3_HAS_ATTRIBUTE: fix fallbacks Same as 133ae0807d661eac174b59c6e91c11a40975baea commit b18a6b648e3c74a3b7360d2557015b05aa8b0390 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-10 22:03:03 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 22:12:19 +0900 include/ruby/3: do not skip RUBY3_UNREACHABLE_RETURN Revert "Revert "include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler"" Revert "include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler" Revert "include/ruby/3: Skip RUBY3_UNREACHABLE_RETURN for icc" Revert "include/ruby/3: Stop RUBY3_UNREACHABLE_RETURN to suppress a SunC warning" This reverts commit b965e7e05e4307e3c4b396673e63dbc493ef2f20. This reverts commit d2bb2e066b5a914283dd3ea473fc1762183af013. This reverts commit 8ab4c55e7a70f5a5bd041d93f425eeef4a47c01e. This reverts commit 78eec3cdc5ff0664b421e041f4f70a814542b914. After https://github.com/ruby/ruby/pull/3011, we no longer need these ifdef guards. commit c9b3aa84be6577a9df8a0a1ee12715b114a10d9b Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-10 21:32:32 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-04-10 21:42:14 +0900 Warn about Process#clock_getres being unreliable in documentation * [Bug #16740] * Remove the GETTIMEOFDAY_BASED_CLOCK_REALTIME example because the caveat applies to all clock ids, not just the Symbol clock ids. commit e8f53692ca7d65c92bde6d5bc6a1aea492915d9f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-01 23:58:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-10 18:02:15 +0900 Endless method definition [Feature #16746] Notes: Merged: https://github.com/ruby/ruby/pull/2996 commit 900e83b50115afda3f79712310e4cb95e4508972 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-28 07:08:52 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-04-10 16:29:05 +0900 Turn class variable warnings into exceptions This changes the following warnings: * warning: class variable access from toplevel * warning: class variable @foo of D is overtaken by C into RuntimeErrors. Handle defined?(@@foo) at toplevel by returning nil instead of raising an exception (the previous behavior warned before returning nil when defined? was used). Refactor the specs to avoid the warnings even in older versions. The specs were checking for the warnings, but the purpose of the related specs as evidenced from their description is to test for behavior, not for warnings. Fixes [Bug #14541] Notes: Merged: https://github.com/ruby/ruby/pull/2987 commit defc0ee9d172c2caa8742cc682a8aa389942d6ef Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-10 13:55:08 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 ext/-test-/cxxanyargs: add #pragma for icc. Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit 4e7d84cf8778b397fd08730def354dca3ba6d76f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-09 12:22:54 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 ruby3_rstring_getmem: suppres warning icc warns at this line. > include/ruby/3/core/rstring.h(126): warning #413: variable "retval" has an uninitialized const field > struct RString retval; > ^ This must not be a problem because uninitialized const field is not used at all. But the warnings are annoying. Let us suppress them. Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit 3e92785fd6ec4bf584128fcd255b01ff4448ea2b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-09 16:07:29 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 RUBY3_ASSUME: suppress warnings on icc icc warns side effects for RUBY3_ASSUME like this: > ./include/ruby/3/value_type.h(202): warning #2261: __assume expression with side effects discarded > RUBY3_ASSUME(RB_FLONUM_P(obj)); > ^ Which is a false positive (RB_FLONUM_P has no side effect). It seems there is no way for us to tell icc that a functin is safe inside of __assume. Just suppress the warning instead. Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit d69c5326856b8e5df35688cd12c15a7cbdf89f1c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-10 10:23:17 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 configure: suppress SunPro warning To this date there is no way for Oracle developer Studio to suppress warnings about unreachable codes (12.6 manual says it implemented __builtin_unreachable "as a no-op to C++. It might be added to C.") There is no way but globally kill the warning. Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit 75802bcff1b941818832f0145071f7ce9c843d8d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-09 16:25:17 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 configure: suppress icc warnings Every time a pointer to/from VALUE conversion happens, these two warnings are issued: - warning #1684: conversion from pointer to same-sized integral type (potential portability problem) - warning #2312: pointer cast involving 64-bit pointed-to type Thank you, but we are well aware of the "potential portability problem". Let us ignore them all. Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit e43237b115e648d69b5035c196851fb4a98698d8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-10 10:19:39 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 configure: always check for __builtin_unreachable Non-gcc compilers tend to have this intrinsic these days (e.g. icc). Better check it regardless of $GCC. Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit 133ae0807d661eac174b59c6e91c11a40975baea Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-09 15:55:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 RUBY3_HAS_BUILTIN: fix __builtin_unreachable This macro has to be truthy, otherwise the `+0` trick above evalues RUBY3_HAS_BUILTIN(__builtin_unreachable) to be always false. Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit 4b853932eaa7fa4acf8a0f0c9b7c695bb4f5e76d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-09 15:47:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-10 16:17:30 +0900 mjit_worker: __GNUC__ is too lax Namely icc defines __GNUC__, but doesn't have -Wdeprecated-declarations Notes: Merged: https://github.com/ruby/ruby/pull/3011 commit 1b2d351b216661e03d497dfdce216e0d51474664 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-06-11 22:57:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-10 15:03:58 +0900 Rightward-assign by ASSOC [Feature #15921] Notes: Merged: https://github.com/ruby/ruby/pull/3012 commit d94960f22ec2de3a3855305cb51343806d2b46c7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-04-10 13:33:52 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-04-10 14:53:25 +0900 update dependencies Notes: Merged: https://github.com/ruby/ruby/pull/3010 commit 443389effc37308ce1a3c3a840082a344fc6af56 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-04-10 11:20:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-04-10 14:53:25 +0900 reduce duplicate include. Without this patch, 20k files are opened (openat syscall) because of duplicate includes. This patch reduced it to 3k and build time was reduced compile time of range.o from 15sec -> 3sec on my machine. [Bug #16772] Notes: Merged: https://github.com/ruby/ruby/pull/3010 commit 63a5412db7138297a2e7513067ef80dad7a3b4b4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-10 10:52:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-10 10:52:33 +0900 Make `#inspect` interruptible in `Kernel#p` Only writing the inspected result and a newline is uninterruptible. commit 614d816a1fab911ae29d8741526475d1f21484df Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-10 10:37:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-10 10:37:15 +0900 Constified writev function family commit 55a5a4bc03de1027dca359d50e23ee57c2224353 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-09 18:23:49 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-09 18:23:49 +0900 Fixed to initialize ruby-core repository when it has no master branch commit 7a26021d1d288912b123447847bc389acac5290e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-09 16:34:25 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-09 16:34:25 +0900 Support one repository for updating the latest commits commit b965e7e05e4307e3c4b396673e63dbc493ef2f20 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-09 14:24:23 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-09 14:24:23 +0900 Revert "include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler" This reverts commit d2bb2e066b5a914283dd3ea473fc1762183af013. It didn't work: https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200409T050004Z.log.html.gz#end ``` In file included from ../../.././include/ruby/3/core.h(32), from ../../.././include/ruby/ruby.h(28), from ../../.././include/ruby.h(33), from init.c(1): ../../.././include/ruby/3/core/rtypeddata.h(164): warning #967: conversion from "int" to "const struct rb_data_type_struct *"; sizes do not match RUBY3_UNREACHABLE_RETURN(0); ``` commit fd0222caedf1be56faa004656bbf145522abbe68 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-04-09 04:45:49 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-04-09 12:51:51 +0900 should check pending interrupts correctly. rb_uninterruptible() disables any interrupts using handle_interrupt feature (This function is used by `p`). After this function, pending interrupts should be checked correctly, however there is no chance to setup interrupt flag of working threads, it means that nobody checks pending interrupts. For example, it ignores terminate signal delivered at the end of main thread and program can't stop. This patch set interrupt flag if there are pending interrupts. commit d2bb2e066b5a914283dd3ea473fc1762183af013 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-09 12:50:15 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-09 12:50:53 +0900 include/ruby/3/core/rtypeddata.h: Use 0 instead of NULL for C++ compiler NULL in C++ is esoteric commit 97f73bd0e2ace86183956f042f93a0eadd81e515 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-09 12:23:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-09 12:23:15 +0900 Ignore upper bits of pw_change on macOS too commit f099bb040c26708ecdb4f5e552843717caaba70b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-09 09:24:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-09 09:44:18 +0900 Ignore upper bits of pw_expire on macOS `pw_expire` is declared as `time_t`, but actually not, and `getpwuid` returns a garbage there. Also the declaration of `struct passwd` in pwd.h and the manual page contradict each other, interal `pw_fields` is mentioned only in the latter. Maybe there is a confusion. commit 9af3469b84d6220ef30ffc2b3709806f90edaf41 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-09 09:38:57 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-09 09:38:57 +0900 internal/bits.h: Suppress "uninitialized variable" Coverity Scan says "Using uninitialized value c.fixnum when calling __builtin_mul_overflow_p." commit 1a4f33e84e0633e8f953ee3cb06b42dcc952444a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-09 09:14:02 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-09 09:14:02 +0900 numeric.c: Remove unreachable code b cannot be <= 0 here. Found by Coverity Scan commit cdd613b2997944cd0d82f8d41071440779c19a99 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-09 08:55:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-09 08:55:46 +0900 configure.ac: Skip C++ compiler of Sun OpenStudio It fails to compile ext/-test-/cxxanyargs/cxxanyargs.cpp. Need work to support it. Contribution is welcome. commit 8ab4c55e7a70f5a5bd041d93f425eeef4a47c01e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-09 08:19:00 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-09 08:19:00 +0900 include/ruby/3: Skip RUBY3_UNREACHABLE_RETURN for icc I'm unsure why, but it fails on icc. https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200408T220004Z.log.html.gz ``` In file included from ../../.././include/ruby/3/core.h(32), from ../../.././include/ruby/ruby.h(28), from cxxanyargs.cpp(1): ../../.././include/ruby/3/core/rtypeddata.h(163): error: return value type does not match the function type RUBY3_UNREACHABLE_RETURN(NULL); ``` commit 78eec3cdc5ff0664b421e041f4f70a814542b914 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-04-09 07:37:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-04-09 07:37:53 +0900 include/ruby/3: Stop RUBY3_UNREACHABLE_RETURN to suppress a SunC warning I don't find how to suppress a false positive "unreachable" warning of the Sun compiler: ``` "./include/ruby/3/core/rtypeddata.h", line 163: warning: statement not reached "./include/ruby/3/memory.h", line 256: warning: statement not reached ``` This warnings make mkmf test fail: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-sunc/ruby-master/log/20200408T170004Z.fail.html.gz ``` 1) Failure: TestMkmf::TestConvertible#test_typeof_builtin [/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/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 ... "cc -I. -I/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/.ext/include/sparc-solaris2.10 -I/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include -I./test -I/opt/csw/include -D_XOPEN_SOURCE=600 -DFFI_NO_RAW_API -g -c conftest.c" "/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include/ruby/3/core/rtypeddata.h", line 163: warning: statement not reached "/export/home/users/chkbuild/cb-sunc/tmp/build/20200408T170004Z/ruby/include/ruby/3/memory.h", line 256: warning: statement not reached checked program was: /* begin */ 1: #include "ruby.h" 2: 3: typedef signed short rbcv_typedef_; 4: 5: extern rbcv_typedef_ foo(); 6: extern short foo(); /* end */ ``` commit e7128aa772787a9c9e95708e2d2534484861a765 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-08 22:37:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-08 22:41:34 +0900 Disable deprecation error on mingw commit dd04b8034bf08243fc14763c2b4fb5490da626d7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-08 22:32:02 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-08 22:32:02 +0900 RARRAY_EMBED_LEN/RSTRING_EMBED_LEN: add RUBY3_CAST RUBY3_CAST is a macro to suppress g++/clang++ warnings about C-style casts. Though Ruby core don't have to bother C++ situations, extension libraries can benefit from this. commit ec1b3464da9ed2d891beb344efc5881532f2ac3a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-08 22:27:50 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-08 22:30:14 +0900 RUBY3_HAS_BUILTIN: icc has broken __has_builtin It turned out that compilation errors in icc were due to their having broken __has_builtin. Let's just skip such situations. commit 8d622a58c6fb6b64d7eb193aaff4f1a2ab01826c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-26 19:39:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-08 18:33:00 +0900 [ruby/weakref] Update TODO on README https://github.com/ruby/weakref/commit/a67073856e commit 11d5a8318dd5e30bb3ecab80e2f2177bcdef3e34 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-08 18:03:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-08 18:03:46 +0900 Suppress C4244 "possible loss of data" warnings commit d8720eb7de9cd9d874b621f214c27022e17cc941 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-08 16:06:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-08 16:28:38 +0900 Suppress -Wshorten-64-to-32 warnings commit 6163a4e1b33ed7df27d0c37e835ce04407857a16 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-08 16:18:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-04-08 16:18:59 +0900 RUBY3_HAS_BUILTIN: fix for nonexistent builtin Trying to fix icc breakage: https://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20200408T050004Z.fail.html.gz It seems the macro had problems when a builtin does not exist for the target compiler. Force evaluete to 0 then, by adding 0 to the expression. commit ba3b99b96a4e2421a90a7d57ade5ef016aec73d0 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-08 15:59:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-08 15:59:55 +0900 The current net-http is only works with Ruby 2.6+ commit 3e8e4c05059b9e74dbad1f6ee129ba168be716fb Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-08 15:42:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-08 15:51:18 +0900 [ruby/net-ftp] Added guard condition for the old ruby versions https://github.com/ruby/net-ftp/commit/a56ba121ee commit 0c131fb7ff0b927d8d7bf5824dcb19ed2efc926d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-26 19:24:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-08 15:50:48 +0900 [ruby/net-ftp] Guard with under the Ruby 2.6 https://github.com/ruby/net-ftp/commit/bed4bc31db commit 484ed0d2a506dd89219a47cd6823875d86ab6ffa Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-08 14:52:59 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-08 15:20:44 +0900 The current tempfile.rb is only works with Ruby 2.5+ commit e474c189da8314f44659eadcbf9ca3c7d4393bfb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-08 15:13:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-08 15:13:37 +0900 Suppress -Wswitch warnings commit 3b1029f89417c10cf1293e1106780d1f3263d9f4 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-08 14:33:22 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-08 14:33:22 +0900 Update the latest gemspec of prime. * prime gem didn't use `version.rb` file. * Removed development_dependency because they are handled by Gemfile. commit 393789f320cd8d920619252240e81faf67f14400 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-04-08 14:21:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-04-08 14:21:14 +0900 Update the version of published gemspec. * It couldn't use `English` because `english` is already reserved. * Bump version to 0.7.0 because versions < 0.7 are reserved. commit 9e6e39c3512f7a962c44dc3729c98a0f8be90341 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-04-08 13:28:13 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-04-08 13:28:13 +0900 Merge pull request #2991 from shyouhei/ruby.h Split ruby.h Notes: Merged-By: shyouhei <shyouhei@ruby-lang.org> commit 5ac4bf2cd87e1eb5779ca5ae7f96a1a22e8436d9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-08 11:53:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-08 12:28:32 +0900 [win32] Moved `MSC_VER` to verconf.mk and reduce running CPP commit 8c8e64a295bab083e67075f6f7a20172405081ae Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-08 11:51:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-08 11:51:27 +0900 [win32] Removed useless macro name that isn't expanded in `#error` commit 2f1895fa15386fb3cdc91c5604171290828b9da8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-08 01:13:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-08 01:13:03 +0900 Fixed formatted substring expansion [Bug #16767] commit 927308108cced69cae478798004524b9a5d2f252 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-07 21:35:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-07 21:35:28 +0900 Fix source location of autoloaded constant [Bug #16764] Notes: Merged: https://github.com/ruby/ruby/pull/3009 commit ce608213872d4efe80708f872ee2e32c547dd734 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-07 20:20:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-07 20:20:34 +0900 Removed unnecessary cast Notes: Merged: https://github.com/ruby/ruby/pull/3009 commit bc646e6715bc0113e800f4d7f4dec7bb34123cc1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-07 13:59:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-07 13:59:38 +0900 [DOC] get rid of parsing as TIDYLINK unintentionally commit e73e4b3e9fa696926217b56b26c030570a3686c5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-07 13:01:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-07 13:01:19 +0900 Bundler is not documented in RDoc, but something different commit 67f616c523023080c037784ff49739c76f108741 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-07 12:43:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-07 12:49:33 +0900 Show the deprecated name in the warning Fixed up a58bbd6a512d95ca010d8bebae4fe590400c1413. commit 827e88119ce9be18b491502a7b54c5c549eed2a9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-25 00:53:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-06 22:22:25 +0900 Moved `Dir.[]` to dir.rb Notes: Merged: https://github.com/ruby/ruby/pull/3006 commit 60e25e37d4db86249d3c25e03d96875eb98d9e43 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-24 23:18:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-06 22:22:25 +0900 Moved `Dir.glob` to dir.rb Notes: Merged: https://github.com/ruby/ruby/pull/3006 commit 310054b240a511f888ec5092eb32fed29e4109c9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-18 13:59:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-06 22:22:25 +0900 Moved `Dir.open` and `Dir#initialize` to dir.rb Notes: Merged: https://github.com/ruby/ruby/pull/3006 commit a58bbd6a512d95ca010d8bebae4fe590400c1413 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-06 21:37:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-06 21:43:32 +0900 Use `rb_warn_deprecated` for `File.exists?` and `Dir.exists?` commit b66d7d9be56c27bc1b6ff5a6d8f0ca23de7ed28a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-06 18:00:22 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-06 18:00:23 +0900 Remove unused variable stack_size _mjit_compile_send.erb doesn't use _mjit_compile_insn_body.erb commit 3194cd36e284bc761b378cbe065538c8d94da8df Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-06 17:49:05 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-06 17:55:18 +0900 Delay definition of pc_moved_p to unify the duplicated declarations and to make sure it's not used until set properly. Also changed it from legacy TRUE/FALSE to stdbool. commit 928bb17770ca0648d4098a7c941e4cc4ec22e004 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-06 17:50:12 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-06 17:50:12 +0900 Fix -Wshorten-64-to-32 in 4f802828f4 commit 4f802828f4a5ba4c92b78faa6ecf61fb76a1c900 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-06 17:42:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-06 17:42:32 +0900 Refactor `argc` in mjit_compile_send using sp_inc_of_sendish for consistency and to make it easier to understand commit 1a33845215add07671679c5da88f638a3e8329f7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-06 17:31:10 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-06 17:31:11 +0900 Update outdated comments in mjit_compile_send and simplify `v` variable references a little. There's no CALL_METHOD anymore, and the original code lives in vm_sendish instead of insns.def now. commit f984975c4dc0dab8b1fec771e6d91a734b8e2fb0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-06 16:45:42 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-06 16:45:43 +0900 Collapse `if` conditions to decrease indentation in mjit_compile_send to clarify it's not that deeply branched. commit ba3eccd9b5e99ce893ae06bada5c279962c5c232 Author: Derek Argueta <deargueta@tesla.com> AuthorDate: 2020-04-06 05:56:11 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-04-06 08:29:12 +0900 fix typo in documentation Notes: Merged: https://github.com/ruby/ruby/pull/3005 commit 0e02c3b7c246ca3d6fca10654431f9811b5aeaa0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-05 21:20:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-05 21:27:16 +0900 [Doc] Exclude bundler vendored libraries directory The document in these external libraries may not be written in RDoc, ignore the whole directory. commit 6e76f0a16f51e1bd038354cc6d5b4935889776ec Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-05 19:00:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-05 19:01:13 +0900 Exclude bundler vendored libraries These libraries may not be written in RDoc. commit b25ef4bf7051e747548ee664df6f8b544051ac51 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-04-05 18:24:59 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-04-05 18:24:59 +0900 Suppress warnings: reserved for numbered parameter commit cab9788e0ca2c41a13e482a4a9924b5a968284fe Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-04-05 12:15:18 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-04-05 12:15:18 +0900 Fix typos commit ec03d137428f83f7d8819e13cb788fbd7d4e75c7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-05 11:49:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-05 11:58:31 +0900 Fallback if Pathname#relative_path_from fails It can fail due to different prefixes, e.g., drive letters or UNC paths on DOSish platform. commit df275179bde5eef92b701789b99e88ae038cdae2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-05 11:53:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-05 11:53:07 +0900 Revert "Moved aclocal.m4 to macro directory" This reverts commit 4a6571dbc14ee4e88c12cd9931f7695077a3ee6e, because chkbuild does not follow. commit 4f938ffa35f5770af73d55e679f9524e032cbfc3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-05 10:56:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-05 10:56:28 +0900 Use toodir also in configure.ac commit 4a6571dbc14ee4e88c12cd9931f7695077a3ee6e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-05 04:30:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-05 09:26:57 +0900 Moved aclocal.m4 to macro directory Notes: Merged: https://github.com/ruby/ruby/pull/3003 commit 21d0b40de2897ac2e98104cb3d33cd374a4402ee Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-05 03:57:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-05 09:26:57 +0900 Added tooldir variable Notes: Merged: https://github.com/ruby/ruby/pull/3003 commit 33260d404f56e27bb6fccc36e91a34d165c13bb1 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-03-08 23:30:40 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-04-04 23:16:49 +0900 Enhance pattern matching introduction Notes: Merged: https://github.com/ruby/ruby/pull/2952 commit 11fa1dcc23264c7c28caca03c2c7446fe55df871 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-04 12:37:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-04 12:38:00 +0900 Also scan `rescue` clauses commit 146330906f0f1cada9179b2b57501e2b64aa5eed Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-29 00:14:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-04 11:18:25 +0900 Fixed the location of the shared library On platform where searches shared libraries by `PATH` environment variable (i.e., Windows), the shared library is installed in `bindir`. On other platforms, the library directory is directed by `libdirname` indirectly. commit 4a716455652d9924d8ef9b0a1527cb0bef90ee2f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-28 22:19:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-04 11:18:23 +0900 rbconfig_spec.rb: removed needless windows guard This reverts commit 34b0a7be0ed2fd4ca4d1d509a22964b5e61dfe34. commit 7f82c8cd470b5e262749c455f6e0cef055b365bb Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-04 08:02:53 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-04-04 08:02:53 +0900 Update to ruby/spec@7289ea3 commit da5a128991e8c3c2fbd6c100653f4277f47e54a0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-04 08:02:50 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-04-04 08:02:50 +0900 Update to ruby/mspec@fad32a5 commit f70ca6a1f9cb5c7ef6e628aa8af0ed7841203b70 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-04-04 00:35:51 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-04-04 00:35:51 +0900 Remove unnecessary escape commit ca0f68260ee930100dc39f8c4647ce56663f17fe Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-03 09:47:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-03 09:47:19 +0900 Use `platform_is` guard Notes: Merged: https://github.com/ruby/ruby/pull/2997 commit 18f7d3c9a647f31f11e182d900b88edf5e34ea4b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-03 09:44:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-03 09:44:40 +0900 Refined "Drop support for ruby 2.4 from ruby/spec" By using spec/mspec/tool/remove_old_guards.rb. Notes: Merged: https://github.com/ruby/ruby/pull/2997 commit f49a24201c8bbcf9fcb4349174e468a673d14b98 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-03 09:42:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-03 09:44:32 +0900 Refined spec/mspec/tool/remove_old_guards.rb * Allow spaces around `...` * Matches quotes more precisely * Matches 0 teeny Notes: Merged: https://github.com/ruby/ruby/pull/2997 commit da05c1552ee519d8f180b48d97148d28501acb35 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-03 05:39:28 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-04-03 05:39:28 +0900 Update to ruby/spec@cc7b9e5 commit 4ec32f869f5d4cdd4a3048f7a10258b3779bf388 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-04-03 05:39:26 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-04-03 05:39:26 +0900 Update to ruby/mspec@b9fe8d6 commit 2a4049b23c081eb5509490bac0414ac40e83c5c4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-03 01:06:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-03 01:16:57 +0900 Bail out before pushing unexpected object commit 2544bf9452b5208a450509aa219bc33aeffbd292 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-03 01:04:30 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-03 01:16:57 +0900 New macro `NEW_RIPPER` instead of `NEW_CDECL` commit 242e58db2f34c3e35265fc393cd7c5c792e65754 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-03 01:16:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-03 01:16:57 +0900 Removed obsolete names commit 0f57d66f9e1e7bf4419d9d3a70132bbc4006f9fe Author: Sorah Fukumori <her@sorah.jp> AuthorDate: 2020-04-03 00:49:12 +0900 Commit: Sorah Fukumori <her@sorah.jp> CommitDate: 2020-04-03 00:49:12 +0900 webrick/ssl: More keyUsage for self-signed certs Chrome 75+ started to strictly enforce X.509 keyUsage against TLS server certificates. Webrick supports generating instant self-signed certificates for debugging purpose and these certificates lacks required keyUsage for modern TLS. So adding the following keyUsages: - digitalSignature (for server authentication) - keyAgreement (for DH key exchange) - dataEncipherment (for data encryption) References: - https://tools.ietf.org/html/rfc5280#section-4.2.1.3 - https://crbug.com/795089 - https://boringssl-review.googlesource.com/c/34604 commit 9ddf1472375a590d1b1c3856f90fedf151fe30a3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-02 22:53:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-02 22:53:26 +0900 Export `rb_deprecate_constant` commit 0540df3ed71d0d595f06e9b62e5931c14b9b4fb3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-02 22:30:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-02 22:30:17 +0900 Ensure the cache directory to be shared exists commit 78b6eb9f9f0590d5b66b3578363e2afa70353962 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-01 15:18:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-02 22:01:01 +0900 [ruby/etc] Deprecate names under `Struct` https://github.com/ruby/etc/commit/25c538120c commit bd0a7d8dd5a9e5e445c5efa7c7155850092889dc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-02 22:00:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-02 22:00:00 +0900 Revert "[ruby/etc] Deprecate names under `Struct`" This reverts commit 69f698d85ada116db5747873e53c597991bedff8. Again. commit 11ddfd4c91c32d1011805feeadb214c194a12646 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-02 21:59:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-02 21:59:33 +0900 Revert "[ruby/etc] Hack to get rid of linking against static library" This reverts commit 5885550c8cb80fb8784598d3af1d90823f4f6604. It didn't work without `--enable-shared`. commit 5885550c8cb80fb8784598d3af1d90823f4f6604 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-02 21:32:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-02 21:32:36 +0900 [ruby/etc] Hack to get rid of linking against static library commit 69f698d85ada116db5747873e53c597991bedff8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-01 15:18:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-02 21:20:58 +0900 [ruby/etc] Deprecate names under `Struct` https://github.com/ruby/etc/commit/25c538120c commit fad0a1451b6396c488b0876d05a64de844096292 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-01 19:29:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-01 19:29:39 +0900 Revert "[ruby/etc] Deprecate names under `Struct`" This reverts commit 919b175afc389f8df6a3caa05ffdd28f5fc4bfca. Since 604689628dc64d050a68f1ebe5e06f9105474936, to let `try_run` work before LIBRUBY_SO is installed, `try_link` links against the static library which defines even symbols unexported in the shared library. commit 919b175afc389f8df6a3caa05ffdd28f5fc4bfca Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-01 15:18:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-01 18:34:25 +0900 [ruby/etc] Deprecate names under `Struct` https://github.com/ruby/etc/commit/25c538120c commit 552f05ef273d99dabd5c463de69aac6290dec119 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-01 15:34:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-01 18:34:25 +0900 [ruby/etc] Drop binary gems support Revert "Added build:mingw" e1674c18f5a0faf881b362363f428d139baef3b4. https://github.com/ruby/etc/commit/d8f1dd85d3 commit 826f44834fe11f3f9c52343443a15b6c83466889 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-08 19:43:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-01 15:36:20 +0900 Drop support for ruby 2.4 from ruby/spec Notes: Merged: https://github.com/ruby/ruby/pull/2892 commit 3a2073e61b6ccce6d07d31ebd89d4c385b9a55f2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-09 11:07:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-01 15:36:20 +0900 Use FrozenError instead of frozen_error_class Notes: Merged: https://github.com/ruby/ruby/pull/2892 commit 151f8be40d385ada2ebf7feb84210ed7db7ef4df Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-04-01 13:58:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-04-01 14:10:16 +0900 Make JIT-ed leave insn leaf to eliminate sp / pc moves by cancelling JIT execution on interrupts. $ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all before --jit: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-04-01T04:58:01Z master 39beb26a27) +JIT [x86_64-linux] Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 75.06409603894944 76.06422026555558 fps 75.12025067279242 78.48161731616810 77.42020273492177 79.78958240950033 79.07253675128945 79.88645902325614 79.99179109732327 80.33743931749331 80.07633091008627 80.53790081529166 80.15450942667547 80.99048270668010 80.48372803283709 81.70497146081003 80.57410149187352 82.79494539467382 81.80449157081202 82.85797792223954 82.24629397834902 83.00603891515506 82.63708148686703 83.23221006969828 $ benchmark-driver -v --rbenv 'before;before --jit;after --jit' benchmark/mjit_leave.yml --repeat-count=4 before: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) [x86_64-linux] before --jit: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-04-01T04:58:01Z master 39beb26a27) +JIT [x86_64-linux] Calculating ------------------------------------- before before --jit after --jit mjit_leave 106.656M 82.786M 91.635M i/s - 200.000M times in 1.875183s 2.415881s 2.182569s Comparison: mjit_leave before: 106656239.9 i/s after --jit: 91635143.7 i/s - 1.16x slower before --jit: 82785537.2 i/s - 1.29x slower commit 5a81562dfed2d5839e28b654d4f0f69de632aa8e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-04-01 12:37:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-04-01 12:48:56 +0900 `Dir.glob` always returns an array It is not needed to test itself, but the element should be tested instead. commit 3e386d76c2d2f4a38ddf7101344178bff84c824f Author: Paul Jordan <paullj1@gmail.com> AuthorDate: 2020-04-01 10:18:23 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-04-01 11:49:02 +0900 Fix helper to not assume glibc Notes: Merged: https://github.com/ruby/ruby/pull/2995 commit 0091fac1d8de07e86fef8315ba77609bed9dd7f5 Author: Paul Jordan <paullj1@gmail.com> AuthorDate: 2020-04-01 10:15:20 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-04-01 11:49:02 +0900 Patch assembly so that it aligns properly Notes: Merged: https://github.com/ruby/ruby/pull/2995 commit 519a69b55c7c4a8c4f234f4d6ac7e4d018d3c42a Author: Paul Jordan <paullj1@gmail.com> AuthorDate: 2020-04-01 10:13:49 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-04-01 11:49:02 +0900 ucontext doesn't exist in a musl-libc env; use native assembly Notes: Merged: https://github.com/ruby/ruby/pull/2995 commit 61b7f86248bd121be2e83768be71ef289e8e5b90 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-31 20:18:21 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-31 20:19:00 +0900 ext/socket/init.c: do not return uninitialized buffer Resize string buffer only if some data is received in BasicSocket#read_nonblock and some methods. Co-Authored-By: Samuel Williams <samuel.williams@oriontransfer.co.nz> commit 03ca90c732d4e2369d907d3b1b8d641ff4345f5a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-31 17:36:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-31 17:36:52 +0900 Share download cache with bundler commit dad110d068960a22f3cadfeaf4d235e2585a143b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-31 15:18:06 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-31 15:30:08 +0900 Remove an unused pragma It originally had a string literal, but it no longer has one. commit b736ea63bd4ce4e2fc81dfa73938b39fa70f659c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-31 14:27:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-31 15:16:35 +0900 Optimize exivar access on JIT-ed getivar JIT support of dd723771c11. $ benchmark-driver -v --rbenv 'before;before --jit;after --jit' benchmark/mjit_exivar.yml --repeat-count=4 before: ruby 2.8.0dev (2020-03-30T12:32:26Z master e5db3da9d3) [x86_64-linux] before --jit: ruby 2.8.0dev (2020-03-30T12:32:26Z master e5db3da9d3) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-03-31T05:57:24Z mjit-exivar 128625baec) +JIT [x86_64-linux] Calculating ------------------------------------- before before --jit after --jit mjit_exivar 57.944M 53.579M 54.471M i/s - 200.000M times in 3.451588s 3.732772s 3.671687s Comparison: mjit_exivar before: 57944345.1 i/s after --jit: 54470876.7 i/s - 1.06x slower before --jit: 53579483.4 i/s - 1.08x slower commit e5db3da9d34f0a7595208863301c044b612adbed Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-30 21:32:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 21:32:26 +0900 Migrate {assert,refute}_patch_exits for compatibility with Minitest5 commit 7a2177ea507c3137acb961cbc6fb976999b7af67 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-03-30 17:35:49 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-03-30 18:47:41 +0900 Use `--depth` on pull request `--shallow-since=yesterday` for COMMIT_NUMBER_OF_DAY of `tool/actions-commit-info.sh`. COMMIT_NUMBER_OF_DAY is mainly for master branch. And `--shallow-since=yesterday` may fail on pull request. So this revert to `--depth` on pull request. Notes: Merged: https://github.com/ruby/ruby/pull/2992 commit f2807f4ec0e58329bd215d03c6c1e0e296a833a7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-30 16:03:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-30 16:03:38 +0900 Refresh revision.h by after-update commit 293c6d9b6154edb5190ea7a8577effd257bf4732 Author: Ellen Marie Dash <me@duckie.co> AuthorDate: 2020-03-27 05:43:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:57:00 +0900 [rubygems/rubygems] Remove deprecated + broken rubygems/source_local. It has been deprecated for 3 years, and has been broken for that entire period. (It required itself, instead of `rubygems/source/local`.) Closes #3158. https://github.com/rubygems/rubygems/commit/2f01a272d0 commit 9d5e7d6c67b084649a6966c69032dd35b1e16b79 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-22 20:50:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:54:58 +0900 [rubygems/rubygems] Revert "Remove Gem::DependencyInstaller#find_gems_with_sources" This reverts commit 04c79d3eb9d9803d9fae78575b125b325b97206e. Final removal is postponed until next year until we find a better way to manage deprecations. https://github.com/rubygems/rubygems/commit/3e1cf918a5 commit 7f8f33ebb9a8eba3d6721e24eac248ff75e2c615 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 02:43:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:49:34 +0900 [rubygems/rubygems] Remove misleading comment That line means that the class supports both `URI`'s and `String`'s being passed to `initialize`. I don't see how that's related to 1.8. https://github.com/rubygems/rubygems/commit/77aeff4515 commit 7e1e60b0445bc2329e60642e2cc2c14c1668352a Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 02:42:48 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:49:24 +0900 [rubygems/rubygems] Remove ruby 1.8 leftovers https://github.com/rubygems/rubygems/commit/84c89275b8 commit 061add792e658878c839887682716737d9f6d677 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2019-05-04 02:56:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:48:23 +0900 [rubygems/rubygems] Enable `Style/ExtraSpacing` and auto-correct https://github.com/rubygems/rubygems/commit/6fa0b1b679 commit c16815cca7c223698c11b4c520b75caeb0499f93 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 21:49:55 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:48:18 +0900 [rubygems/rubygems] Remove weird spacing from error messages https://github.com/rubygems/rubygems/commit/9e21fe7f58 commit 4cd90c7bc01a128f239fe9329e05ae774429286d Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 21:49:17 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:48:13 +0900 [rubygems/rubygems] Remove weird spacing between receiver and method https://github.com/rubygems/rubygems/commit/d45cd34a67 commit b34721aa04e9de4e42c502b2a7ffe4f0a792d8d6 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-27 21:47:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:48:06 +0900 [rubygems/rubygems] Consistently left align tokenizer test columns Makes it easier to rubocop. https://github.com/rubygems/rubygems/commit/26b31248ae commit ba9dcdab3669f11b2e265712ceb43227c366fc3b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-25 03:51:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-30 12:42:10 +0900 [rubygems/rubygems] Enable Style/PercentLiteralDelimiters cop in rubygems So it matches the style used by bundler. https://github.com/rubygems/rubygems/commit/ab0580fd65 commit b385f7670ffa420790bc548747fa4b58c4c5d8f6 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-03-11 23:37:14 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-03-30 12:41:19 +0900 Clear all trace events during teardown Since 0c2d81dada, not all trace events are cleared during VM teardown. This causes a crash when there is a tracepoint for `RUBY_INTERNAL_EVENT_GC_EXIT` active during teardown. The commit looks like a refactoring commit so I think this change was unintentional. [Bug #16682] Notes: Merged: https://github.com/ruby/ruby/pull/2959 commit 2a3f45bdb39c750e6f55525151cf3f9a5d727617 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-29 17:43:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-29 17:43:24 +0900 Set `gnumake` in GNUmakefile for cygwin It was moved from defs/gmake.mk at 88f4ebac83a, for use in dependency rule lines. commit 87aebecdc23d4da2130af586bafa360973cef479 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-29 10:06:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-29 10:06:53 +0900 spec/ruby/core/time/: Use near time for timezone test `time_with_zone.zone.should == (time_with_zone - 60*60).zone` fails when the time is immediately before the change of summer time. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-master/log/20200328T232504Z.fail.html.gz ``` 1) Time#+ preserves time zone FAILED Expected "CET" == "CEST" to be truthy but was false ``` It is acceptable as it fails at most twice per year, but it would be good to use near time objects to reduce the possibility. commit 6379c6af4d424fe20a6e4d05f5aba7229ade48ec Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-29 09:09:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-29 09:09:46 +0900 spec/bundler/other/platform_spec.rb: skip an attempt to simulate JRuby commit cf191872fdeade823b4c49b53ec9b28d66a5c402 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-29 07:23:28 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-29 07:23:30 +0900 Increase the number of Process.times attempts CI of 5806c54447439f2ba22892e4045e78dd80f96f0c did not succeed https://travis-ci.org/github/ruby/ruby/jobs/668072714 commit 92c25114ab954643dc80f3a1765b53e87ce38d4c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-29 07:19:06 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-29 07:19:09 +0900 Clean up /tmp leftovers in ci.rvm.jp commit 2b6848af0e93dab08af2721454a4318d13a5313b Author: Charles Oliver Nutter <headius@headius.com> AuthorDate: 2020-03-28 11:15:01 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-29 04:44:53 +0900 [ruby/irb] Require jruby lib to get JRuby.compile_ir https://github.com/ruby/irb/commit/dc59afe4f6 commit f432b5e5cd831be9a2594ebb8d6654204a846998 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-28 22:15:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-28 23:31:32 +0900 Fixed relative paths for test-spec Notes: Merged: https://github.com/ruby/ruby/pull/2988 commit 5806c54447439f2ba22892e4045e78dd80f96f0c Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 22:39:01 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 22:39:01 +0900 Improve reliability of the Process.times spec commit 6413a26b6c90aeb6768cc1fa1dcf69de8e6bf36f Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 22:32:22 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 22:32:22 +0900 Do not check that #stime changes in Process.times spec * Since the spec might not spend any time in system calls. commit 11a381940b1cc546661fabc37c23c35404fc9a88 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 22:27:13 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 22:27:13 +0900 Remove debugging code commit 5fa12dafa8cb8f7158452356611967880745bba5 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 21:03:17 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 21:03:17 +0900 The last argument of rb_rescue2() should always be (VALUE)0 * Otherwise it might segfault, since C has no idea of the type of varargs, and the C code must assume all varargs are VALUE. commit 5b48686691c2443d8d7113e593494c4d9302da0e Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 20:49:28 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 20:49:28 +0900 Remove Process.clock_getres "matches the resolution in practice" specs * Almost all platforms return incorrect values for Process.clock_getres, it should be removed: https://bugs.ruby-lang.org/issues/16740 commit 282c9d1bbe9057c6dfd6694a82c9264354f3f23b Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 20:34:45 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 20:34:45 +0900 Remove spec which is an incorrect usage of rb_rescue2() * It segfaults on MRI. commit 34b0a7be0ed2fd4ca4d1d509a22964b5e61dfe34 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-28 19:31:11 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-28 19:31:11 +0900 spec/ruby/library/rbconfig/rbconfig_spec.rb: restore "not windows" guard https://github.com/ruby/ruby/runs/541455267 ``` 1) RbConfig::CONFIG libdir/LIBRUBY_SO is the path to libruby and it exists if and only if ENABLE_SHARED FAILED Expected File.exist? "d:/Ruby26-x64/lib/x64-msvcrt-ruby260.dll" to be truthy but was false D:/a/ruby/ruby/src/spec/ruby/library/rbconfig/rbconfig_spec.rb:46:in `block (3 levels) in <top (required)>' D:/a/ruby/ruby/src/spec/ruby/library/rbconfig/rbconfig_spec.rb:4:in `<top (required)>' ``` commit 476ac00e493d5c3635c02c4fd4dac6167634b5e4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-28 17:24:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-28 18:09:27 +0900 Deal with bundled gems by BASERUBY As the currently released/snapshot tarballs should contain the bundled gems extracted already, RUNRUBY is not required when building from them with GNU make. commit 8c80922c820c7cb1eddfdb8c06a067793955f09c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-28 16:10:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-28 16:27:01 +0900 Fixed RbConfig spec for multiarch commit 7072e0324ec7c083c46b7e6f566efa6a74206a07 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-28 14:57:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-28 14:57:17 +0900 Guard RbConfig spec unless installed commit 6eb3820aad1668b6b09c68929840dff2cfda04c0 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-28 11:12:30 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-28 11:12:30 +0900 spec/ruby/optional/capi/kernel_spec.rb: stop a spec that causes SEGV I think the wrong terminating argument cannot work. To stop the noisy CI failures, the spec is tentatively suspended. commit f234d51eaba861edea925eabb564a0bee41b96a0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 08:22:51 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 08:22:51 +0900 Update to ruby/spec@ec84479 commit 296f68816cf575b3ff920f92aec8a4109a7d81d4 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-03-28 08:22:48 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-03-28 08:22:48 +0900 Update to ruby/mspec@16b5a0a commit e1e4ea8fa91a0c62dea69977d989d0bb2b526b64 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-28 02:29:00 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-28 03:31:19 +0900 Set external encoding correctly for File.open('f', FILE::BINARY) on Windows Previously, the external encoding was only set correctly for File::BINARY if keyword arguments were provided. This copies the logic for the keyword arguments case to the no keyword arguments case. Possibly it should be refactored into a separate function. Fixes [Bug #16737] Notes: Merged: https://github.com/ruby/ruby/pull/2985 commit 3486a460ea3e450982a6aee7456e5128c7aa1f0e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-27 00:49:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-27 19:04:03 +0900 [ruby/reline] Suppress $/ warnings https://github.com/ruby/reline/commit/f4eac8c76f commit 16c90f0678751e96cd8ddfa426ecdabfde10a28c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-27 15:31:14 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-27 15:32:52 +0900 test/digest/test_digest.rb: Apply EnvUtil.apply_timeout_scale to timeout The test seems to fail sometimes due to a warning message of circular require on very slow machine. ``` 1) Failure: TestDigest::TestDigestParen#test_race_mixed [/export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/test/digest/test_digest.rb:263]: assert_separately failed with error message pid 12458 exit 0 | /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17: warning: /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17: warning: loading in progress, circular require considered harmful - /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/test/digest/digest/foo.rb | from -:10:in `block (2 levels) in <main>' | from /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17:in `const_missing' | from /export/home/rubyci/unstable10s/tmp/build/20200326T091911Z/ruby/.ext/common/digest.rb:17:in `require' | ``` https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-master/log/20200326T091911Z.fail.html.gz commit 0d5db771164e0eb65bc5e74c7ef8e7d9dbc0a563 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-03-27 02:14:23 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-27 02:14:23 +0900 Fix AppVeyor pull request CI (#2983) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit b94f50ed9138b9dec04f2df6d1dcf47983985c66 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-26 20:27:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-26 20:28:01 +0900 Added implictily require for URI::HTTP commit 9e8d75e8819972377dc1457fc0d0e489bb9c533b Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-13 18:54:57 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-26 18:06:14 +0900 [ruby/uri] Remove RCS keywords https://github.com/ruby/uri/commit/1bcb1203ad commit 5e9e16292ac18c9f163309991dc837c33acffe7c Author: Matt Muller <mamuller@amazon.com> AuthorDate: 2020-02-27 03:10:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-26 18:06:14 +0900 [ruby/uri] Remove revision lines from comments https://github.com/ruby/uri/commit/f1c133a7d6 commit 92a238a21caa6e8c9e4823b8bee67e37a362a9f8 Author: Matt Muller <mamuller@amazon.com> AuthorDate: 2020-02-22 06:55:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-26 18:06:14 +0900 [ruby/uri] Add support for WebSockets https://github.com/ruby/uri/commit/805a95786a commit 844ff7ea45b79e95eaed4b725fd0cf5c33874058 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2019-12-28 07:36:41 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-26 18:06:14 +0900 [ruby/uri] Simplify construction of URI instances using parser interface. https://github.com/ruby/uri/commit/c145017dd7 commit e460c2d033b1e7a95417aa93cb4a3cd5cf57b25c Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2019-12-06 00:12:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-26 18:06:13 +0900 [ruby/uri] Prefer `require_relative` for loading internal code So that we don't need to search the LOAD_PATH, given that we know which files we want to load in advance. https://github.com/ruby/uri/commit/cbecefb788 commit 69cd27c98eafd8711056825cf6c378eee282ffaa Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-03-24 13:56:22 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/reline] Suppress error when check ambiguous char width in LANG=C https://github.com/ruby/reline/commit/623dffdd75 commit 8911b3d3e8073970ba0d3b605be8503ee7367e89 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-03-21 18:41:14 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/reline] Add a comment why rescue yamatanooroti loading error on the test https://github.com/ruby/reline/commit/2a8061daec commit 467b665a8be2f823256b28661e7819f7e8337709 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-03-21 18:40:15 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/reline] Rename test suite name of yamatanooroti test https://github.com/ruby/reline/commit/b0f32f5de4 commit 9339a7d9d48fe5f7ed86b51a7a96e931742f8091 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-03-21 18:31:20 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/reline] Add yamatanooroti rendering test https://github.com/ruby/reline/commit/f092519525 commit 90913bfabe427993e82d4a72616739ee49e61a5d Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-03-21 18:13:50 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/reline] Suppress error in case INPUTRC env is empty https://github.com/ruby/reline/commit/bce7e7562b commit f245fb1ab8d893a89c8749a703efea0b16353028 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-23 12:35:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/reline] Work with wrong $/ value correctly https://github.com/ruby/reline/commit/962ebf5a1b commit 22477128cd77e0d0dce7e78bc12f9cc8cccc1cb4 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-03-26 16:43:16 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/irb] Suppress crashing when EncodingError has occurred without lineno https://github.com/ruby/irb/commit/13572d8cdc commit ffbb162f1a052054ce2864d2971e83da10f8aa78 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-25 20:32:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/irb] Detect multiple lines output simplify The old implementation performance test code: require 'objspace' puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001) /\A.*\Z/ !~ ('abc' * 20_000_000) puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001) and run `time test.rb`: 2.5868 MB 62.226 MB real 0m1.307s user 0m0.452s sys 0m0.797s The new implementation performance test code: require 'objspace' puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001) ('abc' * 20_000_000).include?("\n") puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001) and run `time test.rb`: 2.5861 MB 62.226 MB real 0m0.132s user 0m0.088s sys 0m0.042s https://github.com/ruby/irb/commit/40d6610baf commit b08c1bea3632062d0689affac4e0e78523349af0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-30 12:08:37 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-26 17:41:21 +0900 [ruby/irb] Unnamed groups are not captured when named groups are used https://github.com/ruby/irb/commit/0a641a69b0 commit ba04678c9820613e19fc485e66363c62726e5797 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-26 14:52:51 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-26 14:54:23 +0900 Ignore test_getbinaryfile for --jit-wait To fix this properly, we'd need to configure timeout for the server and the client because waiting for compilation takes time. Until we figure out how to do it, let me skip this. commit ff98931daca1265e5bd33025d160c77e452c399e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-26 01:16:50 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-26 01:19:35 +0900 check flags passed to rb_nogvl() RB_NOGVL_UBF_ASYNC_SAFE is wrongly specified because flags is not checked. [Bug #15499] 23444302 commit 34d881cba299682d897a151e439f2edc9cf63c0e Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-03-25 19:40:52 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-25 23:32:49 +0900 Fix AppVeyor CI sometimes fail Notes: Merged: https://github.com/ruby/ruby/pull/2979 commit 4adb2d655dcd54b28366b4d17e86b21e2b622cd1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-25 22:00:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-25 22:09:28 +0900 Make RbConfig::CONFIG values mutable [Bug #16738] As `RbConfig.expand` modifies the argument and involved `CONFIG` values, its values should be mutable. commit 48a5c155fa850fd0c0ea8b5b9219967b6e7181f9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-25 21:39:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-25 21:39:03 +0900 Import racc-1.5.0 from upstream repository. commit c7d668801bd27f8245a15311da4e8e859ba28dec Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-25 01:23:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-25 01:23:03 +0900 Fixed crash when argument array is modified commit 1b3339528c0804aa0e673bd3f15be8b087d17bd8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-24 17:43:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-24 17:43:33 +0900 Skip a test that attempts to remove the current directory on Solaris commit 12a3671a9bfb6d6d9bd358ee453b3f21e66d3092 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-24 17:21:55 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-24 17:21:55 +0900 test/rubygems: Try not only /usr/bin/env but also /bin/env RubyGems chooses available one from the two: /usr/bin/env or /bin/env https://github.com/rubygems/rubygems/blob/20b0d609484df2b514954ba9ef890a7cbdd01d18/lib/rubygems/installer.rb#L38 So, it is good not to hard-code /usr/bin/env in tests. This is a retry of 65201c054a90c8e7beb8fe1e6d0006541ac33449 which was accidentally deleted by 96064e6f1ce100a37680dc8f9509f06b3350e9c8 commit 96064e6f1ce100a37680dc8f9509f06b3350e9c8 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-24 15:39:24 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-24 15:39:24 +0900 Sync rubygems with current master (#2889) Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit 930b012ad96bfb0bd12446b89407120744ef92eb Author: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> AuthorDate: 2020-03-24 15:36:53 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-24 15:36:53 +0900 Add rexml to fix rss of test-bundled-gems (#2976) Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit f6b6a7ad345c50eeb3f7206ceabdf41ba94b7d85 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-21 12:43:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-24 14:56:03 +0900 Show failed times commit eff0c5bf2ad47d10a440c5211be5eddb3bbf4028 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-24 14:53:53 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-24 14:53:54 +0900 Try to avoid random failures on clock_getres_spec.rb This spec fails too often https://github.com/ruby/ruby/runs/529546249 https://github.com/ruby/ruby/runs/524933256 commit 5c4847f191eee0dc519a92fcb56c3dc38f075816 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-24 14:42:50 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-24 14:44:57 +0900 Use miniruby to run tool/mjit_tabs.rb hoping to fix https://github.com/ruby/actions/runs/527422022 commit 5b3157a51177b56fd79d4f4e3cb08e0a6459944f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-24 14:31:38 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-24 14:33:01 +0900 Make file names and variable names consistent commit 6ab3664635aae9c35c207fb570e14740d8383444 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-24 13:46:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-24 13:46:00 +0900 Moved MJIT_WITHOUT_TABS default to configure.ac And then the environment variable. commit c565dfb09ad7d55fa671f65cea7088a914bf1931 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-24 10:45:52 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-24 10:45:52 +0900 test/json/test_helper.rb: Do not add a relative path to $LOAD_PATH ... because it conflicts with test/ruby/test_m17n.rb. An exception `incompatible character encodings: UTF-8 and UTF-16BE` occurs when: * a non-existence relative path is added to $LOAD_PATH, * ASCII-incompatible encoding is set to default_external, and * some file is loaded. ``` $LOAD_PATH << "no_existing_dir" Encoding.default_external = Encoding::UTF_16BE load "dummy.rb" #=> incompatible character encodings: UTF-8 and UTF-16BE ``` This issue can be actually observed by a combination of out-of-place build and the following command: make test-all TESTS="json ruby/m17n -n test_object_inspect_external" http://ci.rvm.jp/logfiles/brlog.trunk-test-random.20200322-221411 ASCII-incompatible default external encoding assumes that the cwd is the encoding, and it is attempted to beconcatenated with a non-existence relative LOAD_PATH UTF-8 string, which causes the exception. This changeset avoids a relative path. commit 13e9551b97d6bb9fcd09283692f6090f4c418059 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 15:15:50 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 15:15:50 +0900 Change the filename like make variable for consistency commit 3bd7d5617f9bf703d5199d5c091694594bbb5fc0 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 15:14:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 15:14:32 +0900 Make the first argument slightly more robust commit d578f1d3ea317ef8d899d0fd9a4440ba67821d17 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 15:07:09 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 15:12:54 +0900 Change the run_without_tabs switching to dedicated variable of make instead of d059714746 as requested. You can disable this like `make MJIT_WITHOUT_TABS=false` or `export MJIT_WITHOUT_TABS=false`. commit d059714746466b4062545719f2e81ca612aa22f3 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 12:20:26 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 12:20:27 +0900 Disable run_without_tabs when there's no -ggdb3 in debugflags, as requested by nobu I actually wanted to check debugflags directly rather than MJIT_DEBUGFLAGS because debugflags is always used but MJIT_DEBUGFLAGS may not be always used. But I couldn't find a better way to check debugflags. commit 21d8e6924844d592ff2d5a2e7309457eb92e66f6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-23 11:32:20 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-23 11:32:20 +0900 disable to show the maximum number of threads. On Deiban 9 environment, the thread tests failed and this maximum threads information can finish up the machine resources. To check it, I turned-off showing this information. commit 1d996fe72fc20fbc88f07b4b8d34b99aacc688f3 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-23 10:54:44 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-23 10:55:09 +0900 test/ruby/test_m17n.rb: Update the debugging code to get C stacktrace commit c4e3d9e95390c934f7ebb185da69dad477183730 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 08:36:54 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 08:37:19 +0900 Expand tabs of include/ruby/ruby.h in MJIT header rb_class_of is indented with tabs commit 3cf3427c991eb621cb670e24331a239cf9f010e4 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 07:49:47 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 07:49:55 +0900 Try asserting no static decl rather than warning This didn't exist in my machine, but it may exist in some CI environments. commit a55f670757c1387aa60d999b3882267816ce7b64 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 07:46:52 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 07:46:53 +0900 Reduce the number of lines used by transform_mjit_header commit dec0f582e41c84fd24be7b0f1633bf8979ee2db7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 04:18:46 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-23 04:19:24 +0900 Workaround an encoding problem in run_without_tabs It's to be fixed properly later. But this should be able to avoid the failure. https://travis-ci.org/github/ruby/ruby/jobs/665580361 https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200322T190003Z.fail.html.gz commit 9ebf74fd7843c34eda59f228fc34ab73f2cc458d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-23 03:50:45 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-23 03:50:45 +0900 Expand tabs for rb_mjit_header.h (#2975) This is necessary to avoid converting a hard tab to just 1 space in preprocessor to generate rb_mjit_header.h, which is helpful when using gdb or perf report. See also: [Misc #16112] This reverts commit 91acdd17c4b4bb69a8fa3ada46e09dad46b9362e. Fixed permission failure on Travis, encoding, and added SKIPPED_FILES. Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 1c056829298479168cf4db8f1ebdd248149fef70 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-23 02:13:28 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-23 02:13:28 +0900 test/ruby/test_m17n.rb: Make the debugging code print to stderr The test is executed with -j8, so printing something to stdout may break. commit adecd43197d5ea2a62a618a5c9be653bcf009c62 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-23 01:30:20 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-23 01:30:20 +0900 Merge pull request #2721 from jeremyevans/method-inspect-chain-alias-11188 Correctly show defined class for aliases of aliases Notes: Merged-By: jeremyevans <code@jeremyevans.net> commit 4f7b435c955792af780fe9e94f98d3dde839e056 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-09-24 08:03:15 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-23 01:30:07 +0900 Support obj.clone(freeze: true) for freezing clone This freezes the clone even if the receiver is not frozen. It is only for consistency with freeze: false not freezing the clone even if the receiver is frozen. Because Object#clone is now partially implemented in Ruby and not fully implemented in C, freeze: nil must be supported to provide the default behavior of only freezing the clone if the receiver is frozen. This requires modifying delegate and set, to set freeze: nil instead of freeze: true as the keyword parameter for initialize_clone. Those are the two libraries in stdlib that override initialize_clone. Implements [Feature #16175] Notes: Merged: https://github.com/ruby/ruby/pull/2969 commit 095e9f57af30fc286ba66557d86f080003ab6d5a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-22 22:34:49 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-22 22:34:49 +0900 test/ruby/test_m17n.rb: Add a temporal code for debugging http://ci.rvm.jp/logfiles/brlog.trunk-test-random.20200322-221411 ``` I, [2020-03-22T22:15:50.761950 #23076] INFO -- : 1) Error: I, [2020-03-22T22:15:50.761963 #23076] INFO -- : TestM17N#test_object_inspect_external: I, [2020-03-22T22:15:50.761974 #23076] INFO -- : Encoding::CompatibilityError: incompatible character encodings: UTF-8 and UTF-16BE ``` commit 6ab7d439f8d43234004e1760aa88a98c29129006 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-22 21:58:18 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-22 21:58:18 +0900 test/ruby/test_fiber.rb (test_many_fibers_with_threads): relax timeout This test takes 40..50 seconds under Solaris 11, so the timeout (60 seconds) was too strict. This change increases it to 180 seconds. https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200322T100007Z.fail.html.gz ``` 1) Error: TestFiber#test_many_fibers_with_threads: Timeout::Error: execution of assert_normal_exit expired timeout (60 sec) ``` commit 91acdd17c4b4bb69a8fa3ada46e09dad46b9362e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-22 16:53:05 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-22 16:53:05 +0900 Revert "Expand tabs for rb_mjit_header.h" This reverts commit 57119dd561418c917b885db5f5af7f129a96d1ec. Temporarily reverting for Travis failures commit 57119dd561418c917b885db5f5af7f129a96d1ec Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-22 16:12:21 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-22 16:37:31 +0900 Expand tabs for rb_mjit_header.h I can't live without this when using gdb or perf report. See also: [Misc #16112] commit 355c27d2b0f8f765354df0f4f1ea12977a661d8c Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-03-22 13:07:05 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-03-22 13:07:05 +0900 Update power_assert to 1.1.7 This update fixes test-bundled-gems failures: https://github.com/ruby/actions/actions/runs/60272820 https://github.com/ruby/actions/actions/runs/60273425 commit 5908914ea2dcb666e099747006e4de262b46ed77 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-21 23:05:45 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-21 23:09:17 +0900 test/net/http/test_http.rb: relax open_timeout limit The test fails randomly on the CI of OpenCSW SPARC Solaris 10: https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-master/log/20200321T091909Z.fail.html.gz ``` 1) Failure: TestNetHTTP_v1_2_chunked#test_timeout_during_HTTP_session [/export/home/rubyci/unstable10s/tmp/build/20200321T091909Z/ruby/test/net/http/test_http.rb:575]: [Net::ReadTimeout] exception expected, not #<Net::OpenTimeout: execution expired>. ``` The environment uses RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE=20, so the open timeout 0.1 sec. means 2.0 sec. for the environment, but it seems too strict because the environment is painfully slow. commit 5b287481befe03cc3e3dbc4b5571e21dbc523bae Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-21 16:59:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-21 16:59:55 +0900 Removed non-RUBY_INTEGER_UNIFICATION code commit 6f0446785b537994bceb9fc8574cdaa9b59cbef6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-21 16:42:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-21 16:42:19 +0900 Leave power cache table initialized as Qfalse commit 318be1cb2f9c6f04403c063a5618c6267012ee51 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-21 16:33:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-21 16:38:29 +0900 Show libffi version only if set commit be76e86e69106c6906322dc30aa75c3ff65da63c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-21 15:46:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-21 15:46:33 +0900 test/openssl/test_ssl.rb: ignore SSLError when the connection is closed "test_close_after_socket_close" checks if ssl.close is no-op even after the wrapped socket is closed. The test itself is fair, but the other endpoint that is reading the SSL connection may fail with SSLError: "SSL_read: unexpected eof while reading" in some environments: https://github.com/ruby/ruby/actions/runs/60085389 (MinGW) https://rubyci.org/logs/rubyci.s3.amazonaws.com/android28-x86_64/ruby-master/log/20200321T034442Z.fail.html.gz ``` 1) Failure: OpenSSL::TestSSL#test_close_after_socket_close [D:/a/ruby/ruby/src/test/openssl/utils.rb:299]: exceptions on 1 threads: SSL_read: unexpected eof while reading ``` This changeset rescues and ignores the SSLError in the test. commit 86ca640287eccc8426b87903cac1ec428d7ede8b Author: Jun Aruga <jaruga@redhat.com> AuthorDate: 2020-03-18 22:31:11 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-21 11:51:32 +0900 Enablie IPv6 on Travis s390s case again. It seems the issue was fixed by Travis. See https://travis-ci.community/t/6719/5 . Notes: Merged: https://github.com/ruby/ruby/pull/2970 commit b6833ff50d2c7188e615839284263cf58cca48b7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-19 13:25:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-19 13:25:53 +0900 Get rid of redefinition of `rb_execution_context_t` Regardless of the order to include "vm_core.h" and "builtin.h". commit eeb178dc1fe69b5fbf7194d75c0f6ac7e02d4de1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-03-19 10:48:00 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-19 10:48:32 +0900 .travis.yml: allow arm64-linux to fail Ditto for a833eb29f7eaced61919b7ed19e830a3905e8a8b commit 79b4aca94cb3307ff49135114fca2db7c9b5331d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-19 10:38:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-19 10:38:31 +0900 Ignore TestJITDebug in mswin RubyCI for now It's still pending to be implemented. To be enabled later when it's implemented. commit a833eb29f7eaced61919b7ed19e830a3905e8a8b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-03-19 10:20:02 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-19 10:20:02 +0900 .travis.yml: allow arm32-linux to fail It seems fragile now, seemingly due to environmental issues. Lets allow it to fail for a while. Reported by Jun Agura <jaruga@redhat.com> [ruby-core:97540] commit d2c41b1bff1f3102544bb0d03d4e82356d034d33 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-02-25 05:05:07 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-18 04:09:43 +0900 Reduce allocations for keyword argument hashes Previously, passing a keyword splat to a method always allocated a hash on the caller side, and accepting arbitrary keywords in a method allocated a separate hash on the callee side. Passing explicit keywords to a method that accepted a keyword splat did not allocate a hash on the caller side, but resulted in two hashes allocated on the callee side. This commit makes passing a single keyword splat to a method not allocate a hash on the caller side. Passing multiple keyword splats or a mix of explicit keywords and a keyword splat still generates a hash on the caller side. On the callee side, if arbitrary keywords are not accepted, it does not allocate a hash. If arbitrary keywords are accepted, it will allocate a hash, but this commit uses a callinfo flag to indicate whether the caller already allocated a hash, and if so, the callee can use the passed hash without duplicating it. So this commit should make it so that a maximum of a single hash is allocated during method calls. To set the callinfo flag appropriately, method call argument compilation checks if only a single keyword splat is given. If only one keyword splat is given, the VM_CALL_KW_SPLAT_MUT callinfo flag is not set, since in that case the keyword splat is passed directly and not mutable. If more than one splat is used, a new hash needs to be generated on the caller side, and in that case the callinfo flag is set, indicating the keyword splat is mutable by the callee. In compile_hash, used for both hash and keyword argument compilation, if compiling keyword arguments and only a single keyword splat is used, pass the argument directly. On the caller side, in vm_args.c, the callinfo flag needs to be recognized and handled. Because the keyword splat argument may not be a hash, it needs to be converted to a hash first if not. Then, unless the callinfo flag is set, the hash needs to be duplicated. The temporary copy of the callinfo flag, kw_flag, is updated if a hash was duplicated, to prevent the need to duplicate it again. If we are converting to a hash or duplicating a hash, we need to update the argument array, which can including duplicating the positional splat array if one was passed. CALLER_SETUP_ARG and a couple other places needs to be modified to handle similar issues for other types of calls. This includes fairly comprehensive tests for different ways keywords are handled internally, checking that you get equal results but that keyword splats on the caller side result in distinct objects for keyword rest parameters. Included are benchmarks for keyword argument calls. Brief results when compiled without optimization: def kw(a: 1) a end def kws(**kw) kw end h = {a: 1} kw(a: 1) # about same kw(**h) # 2.37x faster kws(a: 1) # 1.30x faster kws(**h) # 2.19x faster kw(a: 1, **h) # 1.03x slower kw(**h, **h) # about same kws(a: 1, **h) # 1.16x faster kws(**h, **h) # 1.14x faster Notes: Merged: https://github.com/ruby/ruby/pull/2945 commit ac04b778c12120ab91986822b71edf16fea61465 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-02-28 04:15:04 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-18 04:09:43 +0900 Make {**{}} return unfrozen empty hash Previously, method call keyword splats and hash keyword splats were compiled exactly the same. This is because parse-wise, they operate on identical nodes when it comes to compiling the **{}. Fix this by using an ugly hack of temporarily modifying the nd_brace flag in the method call keyword splat case. Inside compile_hash, only optimize the **{} case for hashes where the nd_brace flag has been modified to reflect we are in the method call keyword splat case and it is safe to do so. Since compile_keyword_args is only called in one place, move the keyword_node_p call out of that method to the single caller to avoid duplicating the code. Notes: Merged: https://github.com/ruby/ruby/pull/2945 commit 3325194ac0fd9e14ab5535c80b3a9b329d030e76 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-17 19:47:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-17 19:47:45 +0900 Get rid of bogus warning by VC ``` c:\projects\ruby\mjit_worker.c(1219) : warning C4090: 'function' : different 'const' qualifiers ``` It seems confused by passing "pointer to pointer to const object", not "pointer to const object". commit 165e4572363f964e28cfdc51fe26de6728a5c174 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-17 19:46:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-17 19:46:03 +0900 Check if `freeze` option is given commit 290d608637e37323bb6eeda1b1466519f16308a5 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-03-17 19:37:07 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-17 19:37:07 +0900 support builtin for Kernel#clone Notes: Merged: https://github.com/ruby/ruby/pull/2954 Merged-By: nobu <nobu@ruby-lang.org> commit d514ba8e17106c6d159c3902ac5456d6269731f8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-16 23:32:55 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-16 23:38:26 +0900 `Proc` made by `Hash#to_proc` should be a lambda [Bug #12671] Like `Symbol#to_proc` (f0b815dc670b61eba1daaa67a8613ac431d32b16) commit 47141797bed55eb10932c9a722a5132f50d4f3d8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-16 23:03:22 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-16 23:17:12 +0900 hash.c: Do not use the fast path (rb_yield_values) for lambda blocks As a semantics, Hash#each yields a 2-element array (pairs of keys and values). So, `{ a: 1 }.each(&->(k, v) { })` should raise an exception due to lambda's arity check. However, the optimization that avoids Array allocation by using rb_yield_values for blocks whose arity is more than 1 (introduced at b9d29603375d17c3d1d609d9662f50beaec61fa1 and some commits), seemed to overlook the lambda case, and wrongly allowed the code above to work. This change experimentally attempts to make it strict; now the code above raises an ArgumentError. This is an incompatible change; if the compatibility issue is bigger than our expectation, it may be reverted (until Ruby 3.0 release). [Bug #12706] commit 4be2a891cce920d2e2c2ece572c66e5aabe98eaa Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-16 19:28:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-16 19:28:52 +0900 The upstream repository of bundler was changed rubygems/rubygems now. https://github.com/rubygems/rubygems/pull/3166 commit 8a6ba10f9dd456cf54de800203cf04bbe42271fb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-16 17:26:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-16 17:26:10 +0900 Do not make disabled directories at installation [Bug #12392] commit ad10760b0580fdcac2e9fe9be4bd82515cc58484 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-16 11:00:32 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-16 11:01:08 +0900 proc.c: Remove non-sense /* fall through */ commit 713dc619f5372a645b66bef9dacee217c4101cb4 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-03-14 09:59:55 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-03-16 07:11:52 +0900 Add missing write barrier for Hash#transform_values{,!} 21994b7fd686f263544fcac1616ecf3189fb78b3 removed the write barrier that was present in rb_hash_aset(). Re-insert it to not crash during GC. [Bug #16689] Notes: Merged: https://github.com/ruby/ruby/pull/2964 commit f14409c9bb65451618b5f2da82ab9b138ec77469 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-15 22:20:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-15 22:21:23 +0900 Enclosed version constant commit 1ad9b231ca6b86fe6a2f186022ad3854d2c31743 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-15 22:15:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-15 22:15:39 +0900 Added guard against [Bug #16497] commit a8ced388fd6770fad16c40e819590ba84488bd80 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-15 22:09:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-15 22:13:23 +0900 [ruby/stringio] Bump version to 0.1.1 https://github.com/ruby/stringio/commit/05d75e5e66 commit e257c08f2ec27e2d66cdfa7e2415deb492522e22 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-03-12 21:55:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-15 18:43:01 +0900 [ruby/stringio] StringIO#initialize default to the source string encoding [Bug #16497] https://github.com/ruby/stringio/commit/4958a5ccab commit d79890cbfaa32444e3bab60835d7f09abf3d9469 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-15 18:25:46 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-15 18:25:47 +0900 Avoid doubly showing debug counters when RubyVM.show_debug_counters is explicitly called. According to the original description in 70fd099220446e39bb80eb0bb32870ce12134619, I think it's not intended to use the exit counter at all, and I'd like to skip it when I need to explicitly call this. commit f6a54e6e461e3689d0d9068d33f986ce2d458bef Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-15 16:24:15 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-15 16:24:18 +0900 Add debug counter for unload_units changing add_iseq_to_process's debug counter name as well for comparison commit 67fbc122fb71fab9b148faedfb2159ad38d965ac Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-15 13:03:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-15 13:13:31 +0900 Resurrect test_jit_debug.rb Revert "Temporarily drop test_jit_debug.rb" This reverts commit 5437d7c879585fbdb0c294298eb76cc563e01c69. Skipped some CIs which were failing previously. commit 6e405b26116f7fe48761fe550c58f76a0f6534a2 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-15 12:54:38 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-15 13:02:09 +0900 Use a human-readable funcname with --jit-debug for perf output like: Samples: 100K of event 'cycles:ppp', Event count (approx.): 1007750000 Children Self Command Shared Object Symbol + 81.58% 1.47% ruby ruby [.] rb_vm_exec + 81.06% 7.61% ruby ruby [.] vm_exec_core + 80.16% 0.00% ruby ruby [.] vm_sendish (inlined) + 75.03% 0.00% ruby ruby [.] mjit_exec (inlined) + 74.37% 0.00% ruby ruby [.] mjit_exec (inlined) + 73.42% 0.22% ruby _ruby_mjit_p11277u42.so [.] _mjit42_rack_method_override_rb_call + 73.25% 0.10% ruby _ruby_mjit_p11277u41.so [.] _mjit41_sinatra_show_exceptions_rb_call + 73.19% 0.22% ruby _ruby_mjit_p11277u44.so [.] _mjit44_rack_head_rb_call + 73.03% 0.15% ruby _ruby_mjit_p11277u45.so [.] _mjit45_sinatra_base_rb_call + 72.87% 0.26% ruby _ruby_mjit_p11277u49.so [.] _mjit49_rack_logger_rb_call + 70.56% 0.11% ruby _ruby_mjit_p11277u40.so [.] _mjit40_sinatra_base_rb_call + 68.70% 0.11% ruby _ruby_mjit_p11277u39.so [.] _mjit39_sinatra_base_rb_call + 68.39% 0.29% ruby _ruby_mjit_p11277u56.so [.] _mjit56_rack_protection_frame_options_rb_call + 67.89% 0.18% ruby _ruby_mjit_p11277u37.so [.] _mjit37_sinatra_base_rb_block_in_call + 67.04% 0.16% ruby _ruby_mjit_p11277u34.so [.] _mjit34_sinatra_base_rb_synchronize Reverting deb1c7b97d, fixing `sprint_funcname`'s argument in `compact_all_jit_code`. Also updating common.mk. commit deb1c7b97d204016256a11bfa069ddb3e8fab9ea Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-15 12:50:53 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-15 12:51:12 +0900 Revert "Use a human-readable funcname with --jit-debug" This reverts commit cecebf55c476ae936f3e880477dfb62149143c46. debugging test failure... commit cecebf55c476ae936f3e880477dfb62149143c46 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-15 12:38:48 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-15 12:42:47 +0900 Use a human-readable funcname with --jit-debug for perf output like: Samples: 100K of event 'cycles:ppp', Event count (approx.): 1007750000 Children Self Command Shared Object Symbol + 81.58% 1.47% ruby ruby [.] rb_vm_exec + 81.06% 7.61% ruby ruby [.] vm_exec_core + 80.16% 0.00% ruby ruby [.] vm_sendish (inlined) + 75.03% 0.00% ruby ruby [.] mjit_exec (inlined) + 74.37% 0.00% ruby ruby [.] mjit_exec (inlined) + 73.42% 0.22% ruby _ruby_mjit_p11277u42.so [.] _mjit42_rack_method_override_rb_call + 73.25% 0.10% ruby _ruby_mjit_p11277u41.so [.] _mjit41_sinatra_show_exceptions_rb_call + 73.19% 0.22% ruby _ruby_mjit_p11277u44.so [.] _mjit44_rack_head_rb_call + 73.03% 0.15% ruby _ruby_mjit_p11277u45.so [.] _mjit45_sinatra_base_rb_call + 72.87% 0.26% ruby _ruby_mjit_p11277u49.so [.] _mjit49_rack_logger_rb_call + 70.56% 0.11% ruby _ruby_mjit_p11277u40.so [.] _mjit40_sinatra_base_rb_call + 68.70% 0.11% ruby _ruby_mjit_p11277u39.so [.] _mjit39_sinatra_base_rb_call + 68.39% 0.29% ruby _ruby_mjit_p11277u56.so [.] _mjit56_rack_protection_frame_options_rb_call + 67.89% 0.18% ruby _ruby_mjit_p11277u37.so [.] _mjit37_sinatra_base_rb_block_in_call + 67.04% 0.16% ruby _ruby_mjit_p11277u34.so [.] _mjit34_sinatra_base_rb_synchronize commit 459670d47f8528db8f5d4f28aeac191b1af66d81 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-08 18:21:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-14 18:16:47 +0900 Fix bundled gems installation on a fresh clone Notes: Merged: https://github.com/ruby/ruby/pull/2951 commit 956e220ae280bbd3426bfb2bb80edb6e69ad3f98 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-13 18:40:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-14 18:16:47 +0900 Use new `prepare-gems` target when possible Notes: Merged: https://github.com/ruby/ruby/pull/2951 commit de15a26e9e297c9cc3171b1d40ef7776ca5838df Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-03-13 22:27:54 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-03-13 22:27:54 +0900 tool/redmine-backporter.rb: fix typo commit 88f4ebac83a77f933e9da099eabdf05004767de9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-13 15:31:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-13 15:34:50 +0900 Update and extract for each gem commit 0cd7be99e9a15f649970559e43e3edb704568670 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-13 14:51:33 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-13 14:51:34 +0900 Avoid referring to an old value of realloc OpenBSD RubyCI has failed with SEGV since 4bcd5981e80d3e1852c8723741a0069779464128. https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20200312T223005Z.fail.html.gz This was because `status->cc_entries` could be stale after `realloc` call for inlined iseqs. commit 43e18c68f4d53767db7aae232ca46c2b400148cd Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-13 14:23:48 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-13 14:23:51 +0900 Mark all cc_entries associated to compiled_iseq commit 8562bfd1501a69aa736ba4f699a77940b2cdd9b1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-13 14:21:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-13 14:21:32 +0900 Move code to mark jit_unit's cc_entries to mjit.c commit a90117c8c90134994bac3146d282a6f73dd17416 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-13 10:43:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-13 10:43:03 +0900 Skip test_abort_tls with --jit-wait for now Perhaps the server blocks for an unexpectedly long time by waiting for JIT. As it's usually passing, I don't think it's detecting a bug. commit 00dc8c024616d0cb495de5ef71e38b34e18cf79b Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-13 07:45:03 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-13 07:45:03 +0900 Correctly detect whether strict alignment is needed on OpenBSD From Stefan Sperling <stsp@apache.org> commit 46f4cfb1624c372b1be9205cb2a1ead840cc813a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-12 23:38:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-13 00:27:19 +0900 `update-gems` should wait for `update-bundled_gems` commit 289bdb64d97a4a7eb626ce6ebc4e609d4bdc0ee0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-12 22:58:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-12 22:58:04 +0900 Add prepare-gems to download and extract bundled gems commit de10631dcf6dc4ddf5d869a8f9a7dd2ff6a749c6 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-03-12 19:13:24 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-03-12 19:17:08 +0900 Add workaround for test-bundler failure https://github.com/ruby/actions/runs/500526558?check_suite_focus=true#step:16:127 ``` Failures: 1) Bundler.setup when Bundler is bundled doesn't blow up Failure/Error: expect(err).to be_empty expected `"fatal: not a git repository (or any of the parent directories): .git\nfatal: not a git repository (o...the parent directories): .git\nfatal: not a git repository (or any of the parent directories): .git".empty?` to return true, got false Commands: $ /home/runner/work/actions/actions/snapshot-master/ruby \ -I/home/runner/work/actions/actions/snapshot-master/lib:/home/runner/work/actions/actions/snapshot-master/spec/bundler \ -rsupport/hax -rsupport/artifice/fail \ /home/runner/work/actions/actions/snapshot-master/libexec/bundle install --retry 0 Resolving dependencies... Using bundler 2.1.4 Bundle complete! 1 Gemfile dependency, 1 gem now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git # $? => 0 $ /home/runner/work/actions/actions/snapshot-master/ruby \ -I/home/runner/work/actions/actions/snapshot-master/lib:/home/runner/work/actions/actions/snapshot-master/spec/bundler \ -rsupport/hax -rsupport/artifice/fail \ /home/runner/work/actions/actions/snapshot-master/libexec/bundle exec ruby -e \ require\ \'bundler\'\;\ Bundler.setup fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git fatal: not a git repository (or any of the parent directories): .git # $? => 0 # ./spec/bundler/runtime/setup_spec.rb:1056:in `block (3 levels) in <top (required)>' # ./spec/bundler/spec_helper.rb:111:in `block (3 levels) in <top (required)>' # ./spec/bundler/spec_helper.rb:111:in `block (2 levels) in <top (required)>' # ./spec/bundler/spec_helper.rb:78:in `block (2 levels) in <top (required)>' make: *** [yes-test-bundler] Error 1 ``` commit 83e9d6b3f40971bf054ba83ba175227b262bcd14 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-12 17:09:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-12 17:26:52 +0900 Pass keyword argument by RB_PASS_KEYWORDS To pass `false` as `freeze:` keyword argument, `kw_splat` argument should be true. Also `rb_keyword_given_p()` should return true here as `false` has been given as a keyword argument. commit c6633f21a49c90ab7c37076d79c286bbf3438c1f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-12 15:30:20 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-12 15:30:20 +0900 Update some syslog tests to absurb the format change of FreeBSD syslog FreeBSD ``` $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }' rubyspec 78462 - - Hello ``` Linux ``` $ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }' rubyspec: Hello ``` https://github.com/freebsd/freebsd/commit/591ef7c8076109cff3c41f9bb50da996a34121e9 commit f020d340f4eceb2fc809499e3e57924eac4bb75b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-11 18:11:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-11 18:13:40 +0900 parse.y: hoisted out new_nil_at new_nil_at: create NEW_NIL node with zero-width location. commit 276859e03e8e1adfdd445ce1e1aba2794ee0debe Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-10 23:19:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-11 18:13:29 +0900 parse.y: unified kwrest and no-kwrest commit da4b97a0e3914f0dbb9983229b266bb4761a28d3 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-11 16:54:18 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-11 16:59:34 +0900 Pin and inline cme in JIT-ed method calls ``` $ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all before --jit: ruby 2.8.0dev (2020-03-11T07:43:12Z master e89ebdcb87) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-03-11T07:54:18Z master 143776a0da) +JIT [x86_64-linux] Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 73.86976729561439 77.20184819316513 fps 74.46997176460742 78.43493030231805 77.59686308754307 78.55714131655935 78.53693921126656 79.08984255596820 80.10158944910573 79.17751731838183 80.12254974411167 79.60853122429181 80.28678655204945 79.74674066871896 80.38690681095379 79.90624544440300 80.79223498756919 80.57881084206193 80.82857188422419 80.70677614429169 81.06447745878245 81.03868541295149 81.21620802278490 82.16354660940607 ``` commit e89ebdcb87f23a71ad97581541bb2eaeee5e83e9 Author: K.Takata <kentkt@csc.jp> AuthorDate: 2020-03-11 16:43:12 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-11 16:43:12 +0900 Fix typos (#2958) * Fix a typo * Fix typos in st.[ch] Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 9511b4c8facf583073ed8ecfd3d84710565572a6 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-11 15:18:45 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-11 15:29:50 +0900 Optimize away call data refs in JIT-ed method calls According to ko1, `cd->cc != cc` was for GC.compact guard. As we pin cc by rb_gc_mark(), we don't need the check. ``` $ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all before --jit: ruby 2.8.0dev (2020-03-11T05:36:48Z master da6948753e) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-03-11T06:26:34Z master 36b20b8b4a) +JIT [x86_64-linux] Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 74.03480698689405 71.63404803273507 fps 74.15085286586992 73.43923328104295 75.51738277744781 75.75465268365384 76.24922600109410 76.74071607861318 76.45513422802325 77.47521029238116 76.86617230739330 78.14759496269018 77.71509137131933 79.14051571125866 77.72839157096146 79.35884822673313 78.25218904561633 79.92538876408051 78.72521071333249 79.98075556706726 78.79950460165091 80.51747831497875 79.43884960720381 80.97973166525254 ``` commit d05455d08374b795b079f3ceaf034f2be1f11a08 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-11 02:55:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-11 02:55:07 +0900 fix type cast commit 2943ff9d4441485a18773aa745bab7f47767dde2 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-11 02:45:49 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-11 02:50:44 +0900 fix bug on method cache invalidation. To invalidate cached method entry, existing method entry (ment) is marked as invalidated and replace with copied ment. However, complemented method entry (method entries in Module) should not be set to Module's m_tbl. [Bug #16669] commit ec78b8b62a84fd57eb93d7b5de5b83ea517ad7c4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-11 02:43:28 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-11 02:50:44 +0900 show method entry with iseq details commit d9135743c0ae464f39330684b8c6d35917fd6b22 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-11 00:23:56 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-11 02:50:44 +0900 add debug method RubyVM::mtbl2 (disabled) commit bf9abc477261a7a0c21e22634f1ece0ba64793f3 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-03-10 22:20:18 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-03-10 22:20:18 +0900 Use URL instead of relative path commit 2fd779fcd99fbbd7c6622d266116f6fc21ce14c7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-10 21:47:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-10 21:47:18 +0900 Added version guard for OpenSSL::Config commit e4a26cd4f8e74e5d29de10a3a0ce5829829301b0 Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-03-09 18:26:19 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-03-10 17:41:01 +0900 openssl: sync with upstream repository Import current master (2c43241dc0ed) of ruby/openssl.git. Below are the commits that were made since the last batch at commit b99775b163ce (ruby/openssl.git commit f49e7110ca1e). Note that some of them have been applied already. ---------------------------------------------------------------- Benoit Daloze (1): Remove redundant and ignored workflow file DBL-Lee (1): add support for SHA512_256/SHA512_224 Hiroshi SHIBATA (2): Guard for OpenSSL::PKey::EC::Group::Error with unsupported platforms Fixed inconsistency directory structure with ruby/ruby repo Jeremy Evans (2): Fix keyword argument separation issues in OpenSSL::SSL::SSLSocket#sys{read,write}_nonblock Remove taint support Kazuki Yamaguchi (26): config: support .include directive random: make OpenSSL::Random.pseudo_bytes alias of .random_bytes extconf.rb: get rid of -Werror=deprecated-declarations test/openssl/test_ssl: skip test_fallback_scsv if necessary ts: simplify OpenSSL::Timestamp::Request#algorithm History.md: add missing references to GitHub issues config: deprecate OpenSSL::Config#add_value and #[]= test/openssl/test_ssl: remove sleep from test_finished_messages test/openssl/test_ssl: fix random failure in SSLSocket.open test test/openssl/test_ssl: avoid explicitly-sized private keys test/openssl/test_ssl: remove commented-out test case test/openssl/test_ssl: allow kRSA tests to fail ssl: avoid declarations after statements engine: revert OpenSSL::Engine.load changes for cloudhsm engine: remove really outdated static engines engine: do not check for ENGINE_load_builtin_engines() engine: fix guards for 'dynamic' and 'cryptodev' engines lib/openssl.rb: require openssl/version.rb x509: add error code and verify flags constants ssl: set verify error code in the case of verify_hostname failure .github/workflows: merge CI jobs into a single workflow .github/workflows: test against different OpenSSL versions .travis.yml: fully migrate to GitHub Actions ssl: suppress test failure with SSLContext#add_certificate_chain_file ssl: remove test case test_puts_meta from test_pair Revert "Use version.rb in gemspec" MSP-Greg (2): .travis.yml - remove 2.3/1.0.2, 2.5/1.1.1, head/1.0.2 Use version.rb in gemspec Samuel Williams (1): Restore compatibility with older versions of Ruby. Yusuke Endoh (1): Make OpenSSL::OSSL#test_memcmp_timing robust commit 61cfd6da84e9cbf02c2e3ff5fae476fec92a1cec Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-03-10 17:24:47 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-03-10 17:41:01 +0900 tool/sync_default_gems.rb: update paths for openssl Now ruby/openssl has a different directory structure. The test suite is moved from /test/test_* to /test/openssl/test_*. commit 28f3e038805a4f396f228c6884c531677c075867 Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-03-09 15:23:32 +0900 Commit: Kazuki Yamaguchi <k@rhe.jp> CommitDate: 2020-03-10 17:41:01 +0900 digest: do not depend on ext/openssl/deprecation.rb ext/openssl/deprecation.rb has been removed in ext/openssl upstream[1]. It was originally introduced to detect and prevent linking against Apple's bundled (and very outdated) version of OpenSSL. It is long gone and the header files do not exist in current versions of macOS. The dependency in ext/digest was introduced by commit 26e258c807c2. Note that the original issue[2] is resolved without this dependency. The commit also added the pkg_config("openss") call to match what ext/openssl does. [1] https://github.com/ruby/openssl/pull/333 [2] https://bugs.ruby-lang.org/issues/6379 commit aa3a7d6d74f1beb4feaf6a2334b67ecf6ca00cc8 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-10 17:32:44 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-10 17:33:38 +0900 Remove an unnecessary TODO comment Fixing https://github.com/ruby/ruby/blob/4bcd5981e80d3e1852c8723741a0069779464128/mjit.c#L338 should be the right solution for this. We may not be able to free the cc immediately. Plus, we're not copying cc but just holding references to be marked. cc should be GC-ed once jit_unit is freed. commit 4bcd5981e80d3e1852c8723741a0069779464128 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-10 16:19:19 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-10 16:53:35 +0900 Capture inlined iseq's cc entries in root iseq's jit_unit to avoid marking wrong cc entries when inlined iseq is compiled multiple times, resolving the TODO added by daf7c48d88. This obviates pseudo jit_unit in inlined iseq introduced by 7ec2359374 and fixes memory leak of the adhoc unit. commit 4015f27a4d032c163411e0fa0caa3a1507769040 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-10 14:31:50 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-10 14:39:19 +0900 Drop direct Slack notification from CIs All Slack alerts have been migrated to a bot made by mame-san commit e02bd0e713ef920e6d12c27f16548f48ec5c2cf0 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-09 23:57:16 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-09 23:57:16 +0900 Don't display singleton class in Method#inspect unless method defined there Previously, if an object has a singleton class, and you call Object#method on the object, the resulting string would include the object's singleton class, even though the method was not defined in the singleton class. Change this so the we only show the singleton class if the method is defined in the singleton class. Fixes [Bug #15608] Notes: Merged: https://github.com/ruby/ruby/pull/2949 Merged-By: jeremyevans <code@jeremyevans.net> commit ecef163cf9bbdffcf1466addc39daa92084d6b53 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-09 13:01:04 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-09 22:39:42 +0900 Remove Float::ROUNDS Fixes [Bug #16044] Notes: Merged: https://github.com/ruby/ruby/pull/2953 commit d019cac08a3eb77d71bbe47f9b651088ff07ac19 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-03-08 17:44:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-09 22:28:33 +0900 Clarify Time::at documentation for in: argument Notes: Merged: https://github.com/ruby/ruby/pull/2950 commit d8fcc67642318b1840ff782cdb75af9b7b928301 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-09 14:34:09 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-09 14:34:33 +0900 Skip test_06_timeout for --jit-wait CI This test has been too unstable on trunk-mjit-wait http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2782206 commit 544ebc669b6b15c730d21053cc1b2f6173be2b8a Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-09 13:38:05 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-09 13:39:23 +0900 Use https for downloading Unicode data. Retry with 90de118a75921a08497b41de2950971073b3c924 [Bug #13962][ruby-core:83074] commit f4394bbca361c2bb500f586ba0bf1bef8b919910 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-09-28 05:35:29 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-09 12:49:09 +0900 Do not autosplat when calling procs that accept rest and keywords When providing a single array to a block that takes a splat, pass the array as one argument of the splat instead of as the splat itself, even if the block also accepts keyword arguments. Previously, this behavior was only used for blocks that did not accept keywords. Implements [Feature#16166] Notes: Merged: https://github.com/ruby/ruby/pull/2502 commit 040cfc89b9a110cd0fb2abdcd35e8215b4a71f60 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-03-09 09:47:48 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-03-09 09:47:48 +0900 Do not set USE_FFI_CLOSURE_ALLOC=1 in fiddle on OpenBSD On OpenBSD, USE_FFI_CLOSURE_ALLOC was always set to 0 previously. In 633a1f15d8228236094ddee12e4e169d655ec49e, the code was modified in a way that it ended up being set to 1 on OpenBSD. However, that results in SIGABRT when running make test-all, inside ffi_closure_free. Setting USE_FFI_CLOSURE_ALLOC back to 0 fixes the issue. commit dff69bb46204cf9d0d1abfe9d6e76a1768fb9734 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-09 02:53:46 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-09 02:53:46 +0900 Cast properly for shift operand `(int) << RHASH_LEV_SHIFT` can be negative integer. commit daa04c556238729256b77ccabbd56a9ebdbd7e46 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-08 17:39:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-08 17:39:22 +0900 Word array instead of splitting commit 2b7409a2f2aaab1368c57e1cd03c12b2b8972fa9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-08 17:38:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-08 17:38:37 +0900 Specify explicit separator not to be affected by $; commit 2b6ec768fc227650db6ad9eb9af7c4aaea06d986 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-03-08 10:18:53 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-03-08 10:18:53 +0900 Fix rbinstall bugs (#2930) * Fix incorrect calls to `Gem.ensure_gem_subdirectories` This method doesn't take keyword args. * Remove stuff no longer necessary Now `Gem.ensure_gem_subdirectories` is doing its job, so some stuff is no longer needed. * Use the proper method for default gems * Respect DESTDIR when creating rubygems folder layout * Use `Gem.default_specifications_dir` Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit 47a1872cd8b901b8aab6dedce7fa3807c97d290d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-07 20:42:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-07 20:45:09 +0900 Use osuosl instead of GitHub releases Because the package provided by GitHub releases is different from sourceware. commit 86022167461dc90b70164e2bb23316959bbfd6ba Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-03-07 19:57:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-07 19:57:28 +0900 Switch to download libffi source package to github releases from sourceware.org commit ada2f71c70bb11f1d71485e2090ce36872608217 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-03-07 18:58:58 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-07 19:06:10 +0900 rb_check_safe_obj no longer exists Commit e91c39f1c0f7d5e670266d9593d533fd444957f6 deleted definition of it. Though I'm not sure if we can delete public API like this, it no longer works nonetheless. Having declaration without definition is worse than having nothing at all. Just delete the declaration too. commit f9f3510e64ca0f82f673f78a2279f654ba9fbe63 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-07 17:34:41 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-07 17:34:41 +0900 Hook an experimental alert from Actions commit b9d45d3ac0dea776c563b3308e91945b3b4d4fe8 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-07 17:16:21 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-07 17:21:39 +0900 Hook an experimental alert from Travis commit 108f7536b3fe9a05343a6c36541c5d96153c7f1d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-07 16:41:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-07 17:04:37 +0900 Removed unnecessary `chomp` As `String#split` with the default argument drops trailing newline as a separator, preceding `String#chomp` is futile. commit 65aa68b009ef088ddb38fc58159bff9183dfe473 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-07 16:46:55 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-07 16:46:55 +0900 Hook an experimental alert from AppVeyor commit fcd605020b5e103c687954787045363052ef899b Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-03-07 13:49:28 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-03-07 13:49:28 +0900 Fix a typo commit 9745e90197f129708986803e8913fb151862478a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-07 13:19:56 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-07 13:19:56 +0900 Propagate JIT skip to all tests commit c3584dfacce4d0f2058d8403de6fdce4fd4d686b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-07 03:55:54 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-07 03:55:54 +0900 check ar_table first. RHASH_AR_TABLE_SIZE() has assertion that it is a ar_table. The last commit breaks this assumption so check ar_table first. commit 4c019f5a626523e99e2827ed917802e3097c380d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-07 03:32:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-07 03:34:17 +0900 check ar_table after `#hash` call ar_table can be converted to st_table just after `ar_do_hash()` function which calls `#hash` method. We need to check the representation to detect this mutation. [Bug #16676] commit 87ad5ea729735ff6b8f1ac0bb3aad2aedd6f716e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-03-07 02:38:55 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-03-07 02:38:55 +0900 Skip jit_test on some new RubyCI envs for now commit 0256e4f0f5e10f0a15cbba2cd64e252dfa864e4a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-06 21:32:42 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-06 21:41:34 +0900 thread_pthread.c: allocate sigaltstack before pthread_create A new (not-initialized-yet) pthread attempts to allocate sigaltstack by using xmalloc. It may cause GC, but because the thread is not initialized yet, ruby_native_thread_p() returns false, which leads to "[FATAL] failed to allocate memory" and exit. In fact, we can observe the error message in the log of OpenBSD CI: https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20200306T083005Z.log.html.gz This changeset allocates sigaltstack before pthread is created. commit baaf6815704ef36160e45244b844b633ed51c3b4 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2019-12-28 04:19:37 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-06 20:55:22 +0900 Improve docs for Prime.{prime_division,int_from_prime_division} (#8) Move explanation for the decomposition array from the Example section to the method description. Mention the term "multiplicity". Use examples that also demonstrate factors with multiplicity other than 1, and avoid factors/multiplicities with the same value. Also add the decomposition written as simple mathematical expression. This also fixes missing syntax highlighting for the code examples due to verbatim blocks that did not only include Ruby code. commit e92fbaf6090fbc60081654cb36da47fc352000ce Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2019-12-28 03:47:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-06 20:54:45 +0900 [ruby/prime] Fix typo https://github.com/ruby/prime/commit/549c1b86f1 commit f236f6082cf2d95c913c2d16c9a9a0ad554f627f Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2019-12-26 04:01:03 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-06 20:54:38 +0900 [ruby/prime] Improve docs for Prime.include? (https://github.com/ruby/prime/pull/7) https://github.com/ruby/prime/commit/230a5af325 commit e79fc05a4ca672816c6b737d00a85fea4aa6c2b7 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-08-12 05:14:38 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-03-06 20:54:33 +0900 [ruby/prime] Fix Prime.include? Previously, it would be an infinite loop if passed a non-prime integer. Also, Prime.include? should also provide similar results to Module#include? if passed a Module, so handle that. For consistency with Enumerable#include?, return false if passed other object types. Fixes Ruby Bug 10167. https://github.com/ruby/prime/commit/55dda6aa7f commit e57dd8c2b52557f5564b9a1d9d38df66e4d090c9 Author: Charles Oliver Nutter <headius@headius.com> AuthorDate: 2020-03-06 07:48:52 +0900 Commit: Charles Oliver Nutter <headius@headius.com> CommitDate: 2020-03-06 07:49:27 +0900 Mask RubyVM-specific test commit 17d5efa4fefdceee0e0d3c810b9fee1cee2e2628 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-05 18:24:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-05 18:25:47 +0900 spec/ruby/core/process/exec_spec.rb: remove a guard for openbsd openbsd current seems to behave the same as other OSs. https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20200305T063005Z.fail.html.gz commit 7d05f98a8481f3835eb1c4568e243d1eea9fd4c6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-03 17:58:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-05 17:19:17 +0900 Renamed `lex_flags` as `lex_context` commit e4a9e926f0fe0acf2fbe61da6e075a95d34be066 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-05 13:31:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-05 13:31:25 +0900 Fixed a typo commit 43a3c88187dcd54ba008834a865e50eb28a78de9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-05 12:00:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-05 12:03:39 +0900 [win32] get rid of redefinition of reserved macro ``` warning C4117: macro name '_INTEGRAL_MAX_BITS' is reserved, '#define' ignored ``` commit 261569d4aac440f25de588cca365163ecf1124a2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-05 11:31:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-05 11:31:08 +0900 [ruby/fiddle] always use ffi_closure_alloc on Windows commit f08cd708b11dd5b293986b92bb5e227731665b36 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-04 23:26:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-04 23:26:57 +0900 Fixed FD leak commit 528a3a17977aa1843a26630c96635c3cb161e729 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-04 23:13:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-04 23:19:35 +0900 [ruby/fiddle] use ffi_closure_alloc only with 3.2 or later commit 5bb80b76b093130be14161bb0c8d05f6fea749f3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-04 23:13:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-04 23:13:18 +0900 [win32] suppress false warning by mingw gcc commit 364526cd70764e3f8f9137d7782ae36d5d8fe448 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-04 21:02:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-04 21:02:24 +0900 [win32] suppress false warning by MSVC commit 502d9bcd36a6cd31e925de00bbae861bfe3f78fd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-04 21:00:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-04 21:00:17 +0900 Fixed never-defined symbol name commit 95f387f61a4a4ea92635da760b7de5b1e09bb84e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-04 18:41:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-04 18:41:47 +0900 [ruby/fiddle] ffi_closure_free is available in the bundled libffi commit 633a1f15d8228236094ddee12e4e169d655ec49e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-04 18:13:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-04 18:14:18 +0900 [ruby/fiddle] Use ffi_closure_free if available commit d732bc51bdbfe7d66038731d42e01a511d13b5f8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-04 17:28:21 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-04 17:28:21 +0900 Revert "Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)""" This reverts commit 87f6154bb4c67ca77ee353bb1fe25a922036c0e5. It turned out that the change fails to build on macOS https://rubyci.org/logs/rubyci.s3.amazonaws.com/osx1014/ruby-master/log/20200304T074503Z.fail.html.gz ``` + make 'TESTS=--hide-skip -v fiddle' RUBYOPT=-w test-all dyld: lazy symbol binding failed: Symbol not found: _ffi_closure_alloc Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle Expected in: flat namespace dyld: Symbol not found: _ffi_closure_alloc Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle Expected in: flat namespace make: *** [yes-test-all] Abort trap: 6 ``` commit 87f6154bb4c67ca77ee353bb1fe25a922036c0e5 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-04 15:46:26 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-04 15:46:26 +0900 Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)"" This reverts commit efd641ffab34e433a8d8a7d78914576f2425aa90. This changeset seems to be needed to suppress a warning on Ubuntu 20.04 https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20200304T033004Z.log.html.gz ``` closure.c:264:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations] 264 | result = ffi_prep_closure(pcl, cif, callback, (void *)self); | ^~~~~~ ``` I guess there was a reason why the commit was reverted (maybe some CIs failed?), so try it again. commit 16415fefc14e1419d5587288fb6a69fe5ccf94ba Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-04 12:31:11 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-04 12:31:55 +0900 test/lib/jit_support.rb: The path to icc was changed commit aa44b29030208106e75c12c3325350ebad4161b8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-20 14:02:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-04 12:30:42 +0900 suppress uninitialized variable warnings Starting GCC 7, warnings about uninitialized variables are issued around them. Such warnings could be false positives (all versions of clang do not warn), but adding initializers there could never be bad things. commit f7048f9d55bb6c5ad656950a5e0c3550465d08c4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-03-02 15:50:22 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-04 12:30:42 +0900 tool/lib/test/unit: support TESTS='-- -ext-' again There is a test directory named test/-ext-. Because this directry starts with a hyphen, we have to cheat test/unit in order for it to run the tests underneath. TESTS='-- -ext' worked for a long time. Let's not break that maneuver. commit f12b9a33382bf1f54b4f599f00fa83efa8b1a245 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 11:45:29 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-04 12:30:42 +0900 %p is for void * See also 35eb12c06397e770392a41343cbffc4b204e15c9 6f5eb285077d9abf8f97056531996c58674b570c 687308cf0dab0af675e40da2b6ab8ccd5f77c072 b6a2d63eb3dbc31e110e8cb95e054dd71d49a611 commit 2325017477e0ee9f557b07a73f187a83ae5036a4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-25 12:42:00 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-04 12:30:42 +0900 fix compile error w/ -DUSE_TRANSIENT_HEAP=0 rb_transient_heap_managed_ptr_p is available only when USE_TRANSIENT_HEAP. Need #if guards. commit 97fa6468dc3b2e8be4a95caebbad54d5ddacec86 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-03-02 11:20:50 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-04 12:30:42 +0900 fix compile error w/ -DCALC_EXACT_MALLOC_SIZE commit ce586107d8da0d6dff1a62d500be1bc2c1cbe9b4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-04 11:36:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-04 11:36:34 +0900 fix 6e271e4cbbe6a8bc4d4f75dc553ce054eae7af00 commit 02705b27be207fce57bd0253251f81108c7ed57b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-04 11:33:55 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-04 11:33:55 +0900 Run major GC to make sure the minor GC reason GC.latest_gc_info[:major_by] can return `oldmalloc` because of last GC status. commit 6e271e4cbbe6a8bc4d4f75dc553ce054eae7af00 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-04 11:31:07 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-04 11:31:07 +0900 Run major GC to make sure the minor GC next time. `GC.start(full_mark: false)` can run full GC because of last GC status. Just after major GC, the possibility to run major GC next time is too small (not a zero, but too small possibility). commit cf52f37caec8cd1955af4ccb32933828aa330854 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-04 11:25:43 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-04 11:25:43 +0900 Narrow the check target. Call GC.verify_internal_consistency only for Gem related test on i386-solaris. commit 03f9e8746e42a4835583678af217cdf4c417bd05 Author: Charles Oliver Nutter <headius@headius.com> AuthorDate: 2020-02-24 05:49:26 +0900 Commit: Charles Oliver Nutter <headius@headius.com> CommitDate: 2020-03-03 23:42:25 +0900 Don't tweak RubyVM compile options if it's not defined commit 43ed4eb6d1cbbd31de2c98ae515630ee8f988c1e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-03 21:00:03 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-03 21:00:03 +0900 Limit the debug code condition so that it runs only under i386-solaris commit 501f2c44e6ae79c02a5c4d0f872fc7fa77258fcf Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-03 20:54:31 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-03 20:54:31 +0900 Suppress an "assigned but unused variable" warning commit c8d0bf0156878df03a71fffc97c44abf7333d5d7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-03 15:48:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-03 16:19:49 +0900 Preserve `kwarg` flag and fix up f5c904c2a9 commit 1ad9364440f6685d2df3b855f5e22f644e9f1f43 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-03 15:51:42 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-03 15:53:46 +0900 add debug code for Solaris Check heap consistency after each test to debug. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-master/log/20200303T012406Z.fail.html.gz commit aa9a38c0ed114edded28a2a26e8dd507f7e1547f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-03 15:27:23 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-03 15:27:23 +0900 Ignore incompatible convert of symbols commit 91440ff13fbf3b14dc6ac6c1e0a33bc5a1e3237c Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-03-03 14:40:45 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-03-03 14:43:14 +0900 Convert incompatible encoding symbol names commit 91de0daaa239e9ceb40f1a69b04b373b71477b43 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-03 02:32:45 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-03 02:44:02 +0900 method_missing_reason should be set. send() has special method launcher in VM and it has special method_missing caller. This path doesn't set ec->method_missing_reason which is used at exception creation, so setup this information. Without this setting, NoMethodError exception becomes NameError. This patch will fix: http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/2761643 commit 65dd50fc25f6522536d5c4749055384bde1f9371 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-03-02 22:37:04 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-03-02 22:37:04 +0900 Suppress "assigned but unused variable" warnings commit 85620ffaa634e0a0a8467c5b159819a736b69fad Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-02 16:45:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-02 16:45:46 +0900 Reduced parser stack usage by merging non-result actions commit 20a2ab0825b7e441e303002f0feeb1b643198ffc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-02 16:08:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-02 16:34:33 +0900 Packed stacked bit flags into one struct commit f5c904c2a907013e22ff74bc3686952c5448d493 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-03-02 15:49:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-03-02 15:49:03 +0900 Allow newlines inside braced pattern commit 0711ceeb376deba69e35c9ecf088b9fb254c54ce Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-03-02 10:59:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .github/workflows: name the configure runs Explicit `name:` entry was requested by @nobu. Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit 2bfa1025a91679a5e1d513255d298126af32099d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 13:17:08 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .github: let "make leaked-globals" run in parallel This target can be a build matrix. Also it does not make sense to test it on mjit. Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit 888e736524ad66369a7cbc065af4a1b5ed591c6a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 13:12:46 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .github: make use of working-directory One can specify working directory of a step, no by `cd foo` inside of the run. See also https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit e06ad731f03ab83b72c15f951d7a5a3c8ac4323c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 12:52:07 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .github: less verbose on: specifier The `branch:` specifier was necessary before, to prevent double-testing master and trunk. Now that we no longer have trunk, we can slim the expressions. See also: https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#on Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit bdf2d9132651c09f99f2ebb6ff82f47bbcad226d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 12:41:33 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .travis.yml, .github: delete environmental dumps They were necessary when developing YAMLs, but not useful any longer. Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit f4a3830ff2909c19074979a93af17b43f945b634 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 13:20:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .travis.yml: favor >- over |- and backslash Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit 01fc48c26fb335c6c782caf08e2b139a6d151336 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 12:39:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .travis.yml: mandate UBSAN It seems UBSAN is quite stable now. Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit 9086f6bfc885e45384feea2966f93a1ba61fb579 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 12:33:43 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .travis.yml delete darwin debug code Darwin is no longer tested using Travis CI. See also commit 91aa8bfff8a9f9c0af96915c120d863fc474e8d5 Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit cdf8471aec08fc405a3e71bb0c62b0e6d0a2a49c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 12:31:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-03-02 14:53:05 +0900 .travis.yml: ruby_2_7 is travis ready. Notes: Merged: https://github.com/ruby/ruby/pull/2927 commit 648eb31b9ae1c8adc0acaf192ba1d033d16a308b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-02 14:42:33 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-02 14:42:33 +0900 Reset Reline.point TestRelineAsReadline#test_insert_text expects Readline.point == 0 at the beginning of the test, but a test violate this assumption. commit 4fd51f848a59b999427d3b941d8777ec00f0431c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-02 14:25:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-02 14:25:35 +0900 vm_cc_fill() need to clear aux. vm_cc_fill() fills CC information into stack allocated memory so it is not cleared. So we need to clear CC->aux. commit d348b4adefd0f570686640335e183d8a96d626c6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-02 13:42:35 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-02 13:42:35 +0900 skip test unless Reline.completion_proc is nil. Some other tests can set Reline.completion_proc, so unless it is nil, simply skip this test. commit fb377e8f3a9ddd89099248ee4b512023451935c4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-02 13:16:10 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-02 13:16:10 +0900 Revert "show debug info." This reverts commit 0bfee2397ba59112902d2b49f08461db3a637b46. commit 31c55b672501a843d3db88e7a792f0edbb646607 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-02 13:13:24 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-02 13:14:38 +0900 need to restore $stdin. commit 0bfee2397ba59112902d2b49f08461db3a637b46 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-02 11:43:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-02 11:43:17 +0900 show debug info. https://gist.github.com/ko1/a71f7cbcfbd61ba004bffdfedab9f5f2#file-brlog-trunk-random0-20200302-020213-L2127 commit d25a4f413dce6ad3a8baaf61591415b9a8cce082 Author: Kazuki Tsujimoto <kazuki@callcc.net> AuthorDate: 2020-03-01 14:23:51 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-03-01 14:35:48 +0900 Allow trailing comma in hash pattern commit 356e032e1a622c9e34c1c48b516861db10b3b31b Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-01 04:54:51 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-01 04:59:27 +0900 require enc/trans/single_byte in advance. enc/trans/single_byte is needed to run some tests, however it will fail to require because $: is empty. commit 413c98003bc936dd29e40aebad68b43fbe6a527f Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-03-01 03:02:05 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-03-01 03:02:05 +0900 show backtrace. assert_nothing_raised doesn't show the backtrace if an exception is thrown in a block. This patch shows this backtrace. commit af1863734ca6e68f5a1746f2962567c010b3fc92 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-29 21:42:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-29 21:42:38 +0900 Adjust types commit 403675e8dc0f4b9e6b79ace649db1851e7cbba51 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-29 20:52:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-29 21:42:38 +0900 Named `tLABEL` token commit adcf0316d1ecedae2a9157ad941550e0c0fb510b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-29 16:58:33 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-02-29 16:58:33 +0900 Prevent unloading methods used in root_fiber while calling another Fiber (#2939) Fixing SEGVs like: http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744905 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744420 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2741400 Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit a8dcab723316997d9e01c89d6df969edce75bdca Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-29 16:20:44 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-29 16:20:44 +0900 Avoid infinite loop on --jit-wait commit 5e897227ff3d37a36be96bb2c082370d437058ea Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-29 15:41:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-29 15:42:24 +0900 Added more benchmarks for String commit 7da11ed738cf238029ce5c152e9a66f247e55b25 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-29 14:04:53 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-29 14:05:08 +0900 Suppress security alerts https://github.com/advisories/GHSA-jppv-gw3r-w3q8 commit b3983c68dd74ba013f7ac41a3df67ad2e4fdcc23 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-29 04:20:13 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-29 04:22:17 +0900 should not expose hidden object. Hidden object (T_CLASS) can be exposed (BUG). Also rename rb_mInternalObjectWrapper to rb_cInternalObjectWrapper because it is a class. commit b621c9abd167ac0641ac81b0a233d0f3d6892bea Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-29 03:24:12 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-29 03:32:36 +0900 Set Readline.completion_append_character = nil always GNU Readline add a white space when Readline.completion_append_character is not initialized. commit a0f5ff4c3cd05f8717be2bf1d79f0817f288d398 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-02-29 03:07:17 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-02-29 03:07:17 +0900 Update to ruby/spec@41bf282 commit 5d210501825e1682e68cbfc2be424fc339f382fa Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-02-29 03:07:14 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-02-29 03:07:14 +0900 Update to ruby/mspec@a514ad7 commit cb681c20c09431d1cd441328fd7b27abdec93299 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-29 00:43:41 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-29 00:43:41 +0900 restore server[:DocumentRootOptions] setting. Surprisingly (at least for me), `server[:DocumentRootOptions]` on Webrick is global information and it affect the result of test_short_filename. Random order test fails because of global information change. I doubt it is bug, but to fix random order test, I restore the value. commit f7be85a2b7b2f1e3485c6da8fb990ac47059ae12 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-28 23:28:24 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-28 23:32:56 +0900 support random order test. test_readline: HISTORY should be empty. test_using_quoting_detection_proc: test_using_quoting_detection_proc_with_multibyte_input: Readline.completer_quote_characters= and Readline.completer_word_break_characters= doesn't accept nil, so skip if previous values are nil. commit 72c02aa4b79731c7f25c9267f74b347f1946c704 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-28 21:15:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-28 21:15:37 +0900 Moved not-implemented method tests [Bug #16662] Test not-implemented method with the dedicated methods, instead of platform dependent features. commit 07f27383b77b966a84aacc6b568c67c019320187 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-28 15:38:14 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-28 20:10:46 +0900 Refined argument name commit 6df8cfb77198aef998cb05f04d1d6e9a6fe0ad49 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-28 19:28:11 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-28 19:28:11 +0900 Omit test_using_quoting_detection_proc_with_multibyte_input temporarily for random order test commit 6787ccf23837c50e51cb82813bb713fda052131e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-28 17:57:45 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-28 17:58:30 +0900 setup Other class. Some tests need to setup Other class with OtherSetup proc. commit 28399e4e0f8036b03d7e626b0071de0f59ac7bc0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-27 10:49:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-28 17:44:23 +0900 respect --test-order=random Now --test-order=random is simply ignored. This patch respect this option. Notes: Merged: https://github.com/ruby/ruby/pull/2932 commit 9bede6e942e7726d320d734fead741672d060625 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2020-02-27 15:35:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-28 14:32:20 +0900 Fix wrong RegExp. The missing `\` in PR #2922 causes the default gems to be installed from the .gem packages instead from the expanded sources. Notes: Merged: https://github.com/ruby/ruby/pull/2933 commit 3556a834a2847e52162d1d3302d4c64390df1694 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-07 09:41:03 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-02-28 04:03:13 +0900 Make Module#include affect the iclasses of the module When calling Module#include, if the receiver is a module, walk the subclasses list and include the argument module in each iclass. This does not affect Module#prepend, as fixing that is significantly more involved. Fixes [Bug #9573] Notes: Merged: https://github.com/ruby/ruby/pull/2936 commit 54499d78109037d7c37bc09a8c3ffa0050da5aca Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-08-26 03:25:41 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-02-28 03:17:54 +0900 Remove support for passing nil to IO#ungetc Fixes [Bug #13675] Notes: Merged: https://github.com/ruby/ruby/pull/2935 commit 229ba1215fa7c8181b9296dff22807fb17442c74 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-27 13:33:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-27 13:33:51 +0900 Merge racc from upstream repository. * Support Ruby 2.4's frozen string literals. * Remove VCS revisions headers. commit 18674aef0d8199958dbda21eff5167dfc4a5de9a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-27 10:47:23 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-27 10:50:20 +0900 check imemo_type check imemo_type to debug http://ci.rvm.jp/results/trunk-vm-asserts@silicon-docker/2744755 commit 1d81baf3c1507cbe5e75b08a833761122e68444b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-27 09:49:24 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-27 09:49:24 +0900 st.c: remove variables that are no longer used to suppress a warning "variable 'check' set but not used" commit 6b30638bdb729c73a05190587123e43e2ffd69f3 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-27 04:06:28 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-27 04:06:28 +0900 MiniTest::Unit.options has default :seed MiniTest::Unit (superclass of Test::Unit::Runner) does not has default seed parameter, but assigned after initializing. However some tests use MiniTest::Unit without setup of seed option and it cases unexpected test failures. To solve this issue, add default seed parameter 42. commit 14f179080713012251e1faecccefebf2f33ecd86 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-27 03:47:41 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-27 03:47:41 +0900 `srand($seed)` at the beginning of each test To avoid `srand(0)` effect in the other tests, call `srand($seed)` at the beginning of each test (setup). [Feature #16655] commit f9d314245b1b088555253f5b653a801031cdc1e6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-27 02:44:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-27 02:45:09 +0900 Revert "`srand($seed)` at the beginning of each test" This reverts commit 7c1553e91db07fed4fed3287b50304f1c69a685d. It breaks some tests. commit 7c1553e91db07fed4fed3287b50304f1c69a685d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-27 02:29:57 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-27 02:29:57 +0900 `srand($seed)` at the beginning of each test To avoid `srand(0)` effect in the other tests, call `srand($seed)` at the beginning of each test (setup). [Feature #16655] commit 116c6320956ce80efcb1db849a190ebd7f8c8ad3 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-27 02:26:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-27 02:26:14 +0900 don't ignore `--seed` option `--seed N` option is just ignored so respect this option. [Feature #16655] Also making "Run options" display pretty. commit 83705c42cedd9489596859827d7201c59feccebd Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-26 17:37:35 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-26 17:37:37 +0900 Add missing free on cc_entries Looks like an oversight in b9007b6c548f91e88fd3f2ffa23de740431fa969 and 7ec23593746c8ccabd6c005cc34dde77d564c6c9. commit 33b78b89ac1901fe9000d03bcb3cdf79193a75a1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-26 17:34:01 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-26 17:34:02 +0900 Eliminate unnecessary mjit_iseq_cc_entries calls just in case. commit 69f377a3d62b29bc927da7fdae99bcb5e7d096fe Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-26 17:27:28 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-26 17:27:29 +0900 Internalize rb_mjit_unit definition again Fixed a TODO in b9007b6c548f91e88fd3f2ffa23de740431fa969 commit 8dab71b9d0e9d2054dfb8d703656d4e6712a9efd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-26 12:43:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 16:45:35 +0900 Simplified single script case Simply use `File.basename` to remove the directory name (and suffix), instead of `gsub` which can replace unintended parts. commit eb75f0d1346c5f3f74ad91e4e9bbc1eb7ea697f6 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-26 16:24:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-26 16:24:25 +0900 Remove an unused declaration It was unnecessary in b9007b6c548f91e88fd3f2ffa23de740431fa969 commit fbd7f08e922cdf1a4be7a71aa056659971c81dab Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-26 10:35:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-26 16:00:57 +0900 kill ST_DEBUG [Bug #16521] This compile-time option has been broken for years (at least since commit 4663c224fa6c925ce54af32fd1c1cbac9508f5ec, according to git bisect). Let's delete codes that no longer work. Notes: Merged: https://github.com/ruby/ruby/pull/2926 commit 62c2b8c74e47652fc5bbaf6150f4acd092dfd72b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-25 14:36:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-26 16:00:10 +0900 kill USE_RGENGC=0 This compile-time option has been broken for years (at least since commit 49369ef17316cd5d5819b038f286e1d951972b52, according to git bisect). Let's delete codes that no longer works. Notes: Merged: https://github.com/ruby/ruby/pull/2925 commit e7bcb416af64b6a935ff4ff18476aea606d12ab9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-25 11:29:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-26 16:00:10 +0900 avoid #if inside of rb_str_new_cstr ISO/IEC 9899:1999 section 6.10.3 paragraph 11 explicitly states that "If there are sequences of preprocessing tokens within the list of arguments that would otherwise act as preprocessing directives, the behavior is undefined." rb_str_new_cstr is in fact a macro. We cannot do this. Notes: Merged: https://github.com/ruby/ruby/pull/2925 commit 9d6d531527f8ca0d2f40ab99f6a5989934b9bd02 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-10-15 22:15:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 11:04:52 +0900 Cache destination dir. It is not necessary to strip the `destdir` prefix every iteration, when it can be done just once. Notes: Merged: https://github.com/ruby/ruby/pull/2515 commit b8a8fdba637589ff17f98cee4ea955667e3f0b1b Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-10-15 01:28:37 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 11:04:52 +0900 Properly detect mode for binaries. .gemspec files specifies not just `bin`, but also other directories. Notes: Merged: https://github.com/ruby/ruby/pull/2515 commit e087b029e54776afe2b120974932dd707fee6874 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-10-12 00:56:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 11:04:52 +0900 Use class variable `@src_dir` instead of local `path`. The local `path` variable does not provide any additional value and was kept around just for clarity for easier review of the `extrac_files` method move. Notes: Merged: https://github.com/ruby/ruby/pull/2515 commit c9fab1ac06b83679b265c011481c80387c008735 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-10-01 19:39:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 11:04:52 +0900 Use local `{dir,prog,data}_mode` variables instead of globals. This just gets the `RbInstall::DirPackage` closer by functionality to `Gem::Package`. Notes: Merged: https://github.com/ruby/ruby/pull/2515 commit 6609940a5e5c46dcc96d2bd3c228a951df6240ce Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-10-01 19:25:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 11:04:52 +0900 Use `$script_mode` instead of `$prog_mode` for gem inistallation. rbinstall is using `$script_mode` and `$prog_mode`. However, the `$script_mode` fallbacks to `$prog_mode` if not provided. However, RubyGems do not distinguish between `$script_mode` and `$prog_mode`: https://github.com/rubygems/rubygems/blame/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L196 https://github.com/rubygems/rubygems/blame/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L515 https://github.com/rubygems/rubygems/blame/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L543 Comparing the usage of `$script_mode` and `$prog_mode`, it seems that the `$script_mode` should be used where RubyGems expects `$prog_mode`. Notes: Merged: https://github.com/ruby/ruby/pull/2515 commit e960ef6f18a25c637c54f00c75bb6c24f8ab55d0 Author: Vít Ondruch <vondruch@redhat.com> AuthorDate: 2019-10-01 19:03:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 11:04:52 +0900 Use `Gem::Package` like object instead of monkey patching. 1. This is similar to what RubyGems does and it is less magic [[1]]. 2. It avoids deprecated code paths in RubyGems [[2]]. [1]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L151 [2]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb#L187 Notes: Merged: https://github.com/ruby/ruby/pull/2515 commit 0686e4181d04dd911316a227753ceaa96d8c6533 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-26 10:16:32 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-26 10:16:32 +0900 Fixed for older versions Fix up 66d1900423e6fb9774c2fe72dba8c2968b54d7ab, `RubyVM::MJIT` is available since ruby 2.6. commit 66d1900423e6fb9774c2fe72dba8c2968b54d7ab Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-26 02:27:11 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-26 02:27:24 +0900 Increase timeout for CSV test with --jit-wait To prevent CI failures like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2739995 commit 55bf0ef1aa7c936b564b883196de1ace4be4cc7e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-23 17:59:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-25 20:40:36 +0900 Share extracted bundled gems with gems for bundler Extract bundled gems under ".bundle/gems" and get rid of duplication which cause constant redefinition warnings at `test-all` after `extract-gems` and `test-bundler`. Notes: Merged: https://github.com/ruby/ruby/pull/2922 commit a504535dd4044bc8b2daf73076e01028da5ad58a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-25 17:47:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-25 17:47:17 +0900 Prefer dedicated assertion method commit 0febd07c698c242109d0171b4ddb8c6722b5df0d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-25 13:37:32 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-25 13:39:46 +0900 ext/-test-/cxxanyargs: use try_link instead We would like to skip this extension library when libstdc++ is missing. To avoid such situation let's use try_link instead of try_compile. commit 84d1a99a3fc76b4bcd5fc382e5b30a466b124493 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-25 13:37:52 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-25 13:37:52 +0900 should be initialize jit_unit->cc_entries. GC can invoke just after allocation of jit_unit->cc_entries so it should be zero-cleared. commit 670b7be6c5fb9c3438fb6e36070401f25806f725 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-25 13:12:53 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-25 13:12:53 +0900 should count only string. This code can generate CC objects so we only need to count existing String objects. commit 7ec23593746c8ccabd6c005cc34dde77d564c6c9 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-25 11:03:17 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-25 12:57:10 +0900 prevent GC from mjit worker. ALLOC_N() can causes GC. Sometimes `mjit_copy_job_handler()` can be called by mjit_worker thread which is not a Ruby thread, so we need to prevent GC in this function. This patch has some issues, but I introduce it to pass the tests. commit fa1ec60424a80286a96dc746339be5a37df82def Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-02-24 16:37:33 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-02-25 12:53:35 +0900 Fix wrong documentation for return value of Pathname#fnmatch Notes: Merged: https://github.com/ruby/ruby/pull/2923 commit 8b6e2685a4b7c7de905f7ed60c02ef85e0724754 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-24 15:33:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-24 15:37:52 +0900 Fixed symbol misused as ID `rb_funcallv_public` and `rb_respond_to` require an `ID`, not a `Symbol`. [Bug #16649] commit f8401732dea7b22c849cefc722d7d7f41f2ddd1b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-24 12:40:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-24 12:40:34 +0900 Try with and without "v" prefix for numeric tag commit 116b9e6a16c72276e92578b761846d05eaa3eff6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-24 12:32:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-24 12:33:16 +0900 Retry checking out the version rss 0.2.9 is tagged without the "v" prefix. commit 6f92c62084b283820f80a4facda9c16e1408fdca Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-24 12:27:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-24 12:27:36 +0900 Update bundled gems commit 281b3500580f9ec93ee17679c648eaeb4a47f8b6 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2019-12-26 03:39:42 +0900 Commit: Kazuki Tsujimoto <kazuki@callcc.net> CommitDate: 2020-02-24 00:28:13 +0900 Add pattern matching documentation Add separate doc/syntax/pattern_matching.rdoc, add link to control_expressions.rdoc. The documentation is "reverse-engineered" from Ruby 2.7 behavior and early preview presentations, and corrected by pattern-matching feature author @k-tsj. Notes: Merged: https://github.com/ruby/ruby/pull/2786 commit 8a7e0aaaef3b19f90d6debe6781e4b3031f56237 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-21 08:37:44 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-23 13:37:40 +0900 Warn non-nil `$/` [Feature #14240] Notes: Merged: https://github.com/ruby/ruby/pull/2920 commit 6298ec2875a6f1a1e75698c96ceac94362f20bcf Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-20 17:53:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-23 13:37:40 +0900 Warn non-nil `$\` [Feature #14240] Notes: Merged: https://github.com/ruby/ruby/pull/2920 commit 588a86e32c9e646823e1436e53ffe1c37206abd3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-20 17:28:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-23 13:37:40 +0900 Warn non-nil `$,` in `IO#print` too Notes: Merged: https://github.com/ruby/ruby/pull/2920 commit 0ed3384fd463ff80f5e55f7d4c62338fb15337d5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-23 13:31:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-23 13:31:56 +0900 Revert "Prefer `exe/ruby` to execute from it" This reverts commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0, as an example in bundler expects untouch PATH. commit 77dcc2c8228f6a69e7cd4c4d72f4ac6c4116d27c Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-02-23 00:32:37 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-02-23 00:32:37 +0900 hash.c: [DOC] fix examples for ENV.merge! commit 4aebb491536ad9c7bca6c0e264604aa90e701ef0 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-02-22 22:43:52 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-02-22 22:43:52 +0900 Expand Symbol#to_proc specs to be clearer commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-22 15:03:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-22 16:01:38 +0900 Prefer `exe/ruby` to execute from it commit f744d80106ad236cb517c3a6eae5e591562e2377 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-22 11:23:30 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-22 11:54:19 +0900 check USE_MJIT iseq->body->jit_unit is not available if USE_MJIT==0 . commit 5b29ea0845c14092abd866ce0183c52635bade4c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-22 10:40:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-22 10:49:59 +0900 Proc from Symbol needs a receiver So its arity should be -2 instead of -1. [Bug #16640] https://bugs.ruby-lang.org/issues/16640#change-84337 commit 31748e69c84894ac8f042a67d1320db8593c9ce1 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-22 10:26:15 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-22 10:27:44 +0900 CI can be NULL. Unused CI (introduced from peephole optimization, etc) can be NULL so introduce NULL check. commit da310356874ae30f793911223562ece2449a05e7 Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2020-02-19 23:11:32 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-22 10:01:09 +0900 test/readline - allow ENV control of test class creation In ruby/ruby, the tests run on both readline & reline by creating four test classes: ``` TestReadline TestReadlineHistory TestRelineAsReadline TestRelineAsReadlineHistory ``` Reline inports the test files and uses them in its CI. Adding the ENV control allows it to only run the `TestRelineAsReadline` classes. Notes: Merged: https://github.com/ruby/ruby/pull/2916 commit b9007b6c548f91e88fd3f2ffa23de740431fa969 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-08 16:14:01 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-22 09:58:59 +0900 Introduce disposable call-cache. This patch contains several ideas: (1) Disposable inline method cache (IMC) for race-free inline method cache * Making call-cache (CC) as a RVALUE (GC target object) and allocate new CC on cache miss. * This technique allows race-free access from parallel processing elements like RCU. (2) Introduce per-Class method cache (pCMC) * Instead of fixed-size global method cache (GMC), pCMC allows flexible cache size. * Caching CCs reduces CC allocation and allow sharing CC's fast-path between same call-info (CI) call-sites. (3) Invalidate an inline method cache by invalidating corresponding method entries (MEs) * Instead of using class serials, we set "invalidated" flag for method entry itself to represent cache invalidation. * Compare with using class serials, the impact of method modification (add/overwrite/delete) is small. * Updating class serials invalidate all method caches of the class and sub-classes. * Proposed approach only invalidate the method cache of only one ME. See [Feature #16614] for more details. Notes: Merged: https://github.com/ruby/ruby/pull/2888 commit f2286925f08406bc857f7b03ad6779a5d61443ae Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-08 08:20:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-22 09:58:59 +0900 VALUE size packed callinfo (ci). Now, rb_call_info contains how to call the method with tuple of (mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and mid+argc+flags only requires 64bits. So this patch packed rb_call_info to VALUE (1 word) on such cases. If we can not represent it in VALUE, then use imemo_callinfo which contains conventional callinfo (rb_callinfo, renamed from rb_call_info). iseq->body->ci_kw_size is removed because all of callinfo is VALUE size (packed ci or a pointer to imemo_callinfo). To access ci information, we need to use these functions: vm_ci_mid(ci), _flag(ci), _argc(ci), _kwarg(ci). struct rb_call_info_kw_arg is renamed to rb_callinfo_kwarg. rb_funcallv_with_cc() and rb_method_basic_definition_p_with_cc() is temporary removed because cd->ci should be marked. Notes: Merged: https://github.com/ruby/ruby/pull/2888 commit a1eb1fabef1bca0696449cd358d93f5a644d5914 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-22 02:59:46 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-22 02:59:46 +0900 use RUBY_FUNCTION_NAME_STRING instead of __func__ for rp() commit 8c5ca318cbe57269f144a4d0822c5283c1fd4e1a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-22 00:32:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-22 00:45:05 +0900 `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260] With refinements, too. commit 5cab86f3b0725457be3c50d3cab43b04bea53290 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-22 00:30:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-22 00:30:55 +0900 `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260] commit 5e7322b866c9052662b4365667a64560b7464d5a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-19 19:27:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-21 23:16:15 +0900 [ruby/irb] `yield` outside method definition is a syntax error https://github.com/ruby/irb/commit/dbc7b059c7 commit 8d3b7f0fda491b076965fc37e2f56bd141cedee7 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-21 21:30:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-21 21:30:04 +0900 Fixed net-pop, smtp, protocol and imap task for sync tool commit e7f8724fb223bbae8c467d854e4b4babe9273e62 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-21 21:25:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-21 21:25:43 +0900 Fixed net-ftp sync task and resync from standalone repo commit fa1cf777dbe3c484331864d44c33bc30f2044c76 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-21 21:23:16 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-21 21:23:16 +0900 Move an entry of net-ftp to the default gems section commit 9cb1ffaa5c3a4b6921eaf748ffdef5dbd1c07877 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-21 21:21:14 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-21 21:21:14 +0900 Promote net-http to the default gems. test/net/http/test_https.rb: rename fixture methods to read_fixture because it conflicts with test-unit gem. commit a294ec162235cb9a0ed62ede0bbf9d2f11b30592 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-21 19:56:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-21 19:56:15 +0900 Move an entry of net-ftp to the default gems section commit f08d8e5e85ef2c44ca29261244c7b397ea968b94 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-21 19:09:21 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-21 19:09:21 +0900 Promote net-ftp to default gems commit 59c2a115f02e4e2ded528975fa3edde2c0c3f0b6 Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-02-21 13:27:13 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-02-21 13:31:15 +0900 Fix typo in NEWS-2.7.0 Notes: Merged: https://github.com/ruby/ruby/pull/2918 commit df26d36e5ba0edc7ad031be9fb2047d68cd686c7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-20 22:36:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-20 22:36:53 +0900 Prefer alignas() over _Alignas() to allow Intel C++ compiler to read ruby.h. This is similar to 9930481a239fa7182429f3c3942ea033fb9b0320 commit 3e12b658613a534f11a50b4a415c7c3e165bcfd1 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-20 21:32:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-20 21:32:27 +0900 Fallback to load version file in ruby core repository commit a326b4b0b80d6e35c37f96be239145044b594c4f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-20 21:24:51 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-20 21:24:51 +0900 Move an entry of net-imap to the default gems section commit e9d872a06e0847c72edda793e21b116ce269d854 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-20 21:22:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-20 21:24:19 +0900 Promote net-imap to the default gems commit f5abcf767edcd475263ca9d8c06d0bb32a417ba9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-13 14:06:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-20 18:06:19 +0900 [ruby/rdoc] Removed `RDoc::Context::Section#sequence` It has been deprecated since 2011. https://github.com/ruby/rdoc/commit/5c2aa0f77d commit 56d33b3ea8cd2f8360ec891da10552d708522ab7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-20 13:39:27 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-20 13:39:27 +0900 Fixed missing `return` Get rid of double writing. commit 75863554233a40f74d40138b7a88f07c010281a1 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-13 15:10:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 comma at the end of enum is a C++11ism Comma at the end of enum is allowed in C since C99. We can use them internally. However when it comes to extension libraries, they could be written in different C++ versions. We cannot assume sometihng. Public headers shall keep compatibilities. commit 49bb2e64ccca130f8e1a0b6ad36d442c1ad44ed7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-15 18:30:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 avoid defining inline Recent (since 2012 maybe?) MSVC ships a header named xkeycheck.h, which (kindly!) aborts compilation on redefinition of C++ keywords. Let's not define this in case of C++. commit 4e6bae47c833cd82942172712f30ac23ab06c9fe Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-13 13:59:41 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 ext/-test-/cxxanyargs: prevent have_devel check The `cxx.try_compile` command in this file kicks `cxx.have_devel?` internally, which recursively calls `cxx.try_link` with a different source code. We don't want that happen (the source code compiled in this file must be the first one). We need to fake the system. commit 7aa3f1fe697f03fc38989d72d2decd5037b8882c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-13 13:33:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 printf can be a macro Namely glibc has this macro on -DFORTIFY_SOURCE. We have to prevent macro redefinition with different macro body. commit 8920e2040a8980fdceeb9b629b0ef79fac380960 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-15 18:56:44 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 hide vm_ep_in_heap_p_ `make leaked-globals` points out that this function is leaked. This has not been detected in our CI because it is defined only when VM_CHECK_MODE is nonzero. Just make it static and everytihng goes well. commit c7e6dbd5ab488a42f2d1a8f3503480b92cd0aa88 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-13 12:53:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 fix arity mismatch This is a ruby method with arity zero. Which means, this function takes one argument (that is self). commit 984e0233fe0c60fb5c6c5f937c214e30c1b7c6f0 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-17 16:57:45 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 TestTime#test_memsize: skip when on GC_DEBUG GC_DEBUG=1 makes this test fail because it changes the size of struct RVALUE. I don't think the test is useful then. Let's just skip. commit 6788c375b15232e684dbd4b993b508413f2c74a9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-18 12:39:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-20 11:46:54 +0900 suppress clang warnings Starting clang 11, casts between pointer and (narrower-than-pointer) int are now warned. However all such thing in our repository are guaranteed safe. Let's suppress the warnings. commit eed7235e33ab55209c33bf255949be4f26b8c7e2 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-02-20 04:59:21 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-02-20 04:59:21 +0900 hash.c: [DOC] fix typos commit 97e8212a767689c2acb201d3da365ba4d599cf96 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-02-20 04:57:38 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-02-20 04:57:38 +0900 doc/make_cheatsheet.md: fix typos commit 57c26231ddaee50608aa1c97084b3f3394204612 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-02-20 00:13:44 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-02-20 00:13:44 +0900 Use `brew upgrade` instead of `brew update` commit c4794ed73ad348a61a7cfbe3da0a7eb49ba46eb9 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-02-19 16:16:19 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-02-19 16:19:06 +0900 Avoid jumping to a wrong destination when the next insn is already compiled by former branches. commit f0b815dc670b61eba1daaa67a8613ac431d32b16 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-11-28 12:18:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-19 15:46:26 +0900 `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260] commit 5fd5666dcc32fea9bfc46cd4efea1959ffa9ad69 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-02-19 08:43:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-19 13:47:33 +0900 support multi-run test for test_readline.rb Notes: Merged: https://github.com/ruby/ruby/pull/2914 commit 041c2932e336b509b0ddc1fdbd9f160bce8d4893 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-18 14:34:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-18 14:35:46 +0900 Pass keyword arguments to IOs properly [Bug #16639] commit 2115a3937d0e2cf845d092aec1f6c25292ddd6ce Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-18 11:34:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-18 11:34:38 +0900 [ruby/io-console] bump up to 0.5.6 commit 5ef383552dfc4e0e3c76d3be2ebab71f8c0f59d4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-17 15:24:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-18 11:33:06 +0900 [ruby/io-console] Just ignore the extension on other than CRuby https://github.com/ruby/io-console/commit/41b6f09574 commit dcb05179a969a024bbd3b7622f67468ddf07638c Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-15 23:05:36 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-17 23:31:59 +0900 [ruby/irb] Version 1.2.3 https://github.com/ruby/irb/commit/dd56e06df5 commit c42c6a5950963a6840dcd09f68cad9896b6bf9b3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-17 22:16:13 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-17 22:16:13 +0900 Move the entry of net-protocol on docs commit 0ae9780352319e527454ec49a6f88b5b6b007195 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-17 22:15:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-17 22:15:20 +0900 Promote net-protocol to default gems commit 2032432dadcfc564daf4bc7570f589d023a30c6a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-17 20:51:46 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-17 20:53:19 +0900 Partially revert "test/openssl/test_ssl.rb: skip OpenSSL::TestSSL#test_fallback_scsv" A skip guard for test_fallback_scsv has been added in upstream repository. commit 8f91dc712ad66a41edcfb8e5f55193d8de370c66 Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-02-17 17:14:47 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-17 20:51:27 +0900 [ruby/openssl] test/openssl/test_ssl: skip test_fallback_scsv if necessary Run the test case only when the OpenSSL supports both TLS 1.1 and TLS 1.2. Note that the fallback SCSV mechanism is for TLS 1.2 or older and not for 1.3. Fixes: https://github.com/ruby/openssl/issues/336 https://github.com/ruby/openssl/commit/6f2e6d7cf7 commit 99b191d83f96dd7f56b673bb1b7dbf96b68dc3e6 Author: Kazuki Yamaguchi <k@rhe.jp> AuthorDate: 2020-02-17 17:28:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-17 20:50:47 +0900 [ruby/openssl] ts: simplify OpenSSL::Timestamp::Request#algorithm Stop the special treatment of invalid hashAlgorithm of the message imprint. Those invalid values can only appear after the object is instantiated, before the user sets an actual message digest algorithm. OpenSSL::Timestamp::TokenInfo#algorithm already does the same. Also, remove the test case "test_create_request" since it does not make much sense. Those fields are to be set by the user after creation of the object and checking the initial value is pointless. Fixes: https://github.com/ruby/openssl/issues/335 https://github.com/ruby/openssl/commit/890a6476fa commit 3fbcdac3e40f68667a9a1b5a2efed215762260c0 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-17 13:20:51 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-17 13:20:51 +0900 test/openssl/test_ssl.rb: skip OpenSSL::TestSSL#test_fallback_scsv on OpenSSL 1.1.1d or later. https://github.com/ruby/openssl/issues/336 commit dec802d8b59900e57e18fa6712caf95f12324aea Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-17 12:02:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-17 12:05:09 +0900 [ruby/io-console] [DOC] Improved about `intr:` https://github.com/ruby/io-console/commit/82b630cd79 commit a9e10d3b8e72658cc4c3a26d8926595dbdc9d8a5 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-02-17 05:00:49 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-02-17 05:00:49 +0900 NEWS.md: add missing ticket links commit 6ca0a62d21d4c4961db009f84b9a2b4f6520803b Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-02-17 05:00:41 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-02-17 05:00:41 +0900 NEWS.md: improve language; markup as list item commit 1126f58c6208c5e5e071724c32d55dbebbcd1051 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-02-17 05:00:34 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-02-17 05:00:34 +0900 NEWS.md: remove leading whitespace commit 3281f70d7cd1e97f7540a4bf9e11f97a83d904f2 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-02-17 05:00:27 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-02-17 05:00:27 +0900 NEWS.md: fix method references; remove surplus brackets commit 331755c5e97ff1a5c0a4a3ceed9c26ea2c580768 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-16 22:16:22 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-16 22:16:22 +0900 Revert "test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9" This reverts commit a6d007c70b3aa5b55c9ca774446130356bd36eac. Unfortunately, the test fails on armv7l https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20200216T091708Z.fail.html.gz commit a6d007c70b3aa5b55c9ca774446130356bd36eac Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-16 21:20:09 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-16 21:20:09 +0900 test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9 CentOS 6.9 will be EOL at Nov. Ruby 3.0 (or 2.8) release version will not support CentOS 6.9, so I'll remove the environment after it become green. commit e37e0bfa989bccf219e82ad7a73d415a8b7add80 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-16 20:48:40 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-16 20:48:40 +0900 test/openssl/test_ssl.rb: skip a test on OpenSSL 1.1.d or later It fails due to "error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small". This is a tentative measurement to avoid the failure. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20200216T093010Z.fail.html.gz test/openssl/fixture/chain/server.key should be longer. It should be documented how to create the files. BTW, it would be a good idea to dynamically create a key during test instead of fixed files. commit 01138f5853a16068fb5a45ea39d3fc35fe664cb7 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-16 19:55:19 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-16 19:55:19 +0900 Make OpenSSL::OSSL#test_memcmp_timing robust The test was too fragile. Actually, it fails on one of our CIs immediately after it was merged to ruby/ruby. https://gist.github.com/ko1/7ea4a5826641f79e2f9e041d83e45dba#file-brlog-trunk_clang_40-20200216-101730-L532-L535 https://gist.github.com/ko1/1c657746092b871359d8bf9e0ad28921#file-brlog-trunk-test4-20200216-104518-L473-L476 * Two measurements, a-b and a-c, must be interative instead of sequential; the execution time will be easily affected by disturbance (say, cron job or some external process invoked during measurement) * The comparison of the two results must be relative instead of absolute; slow machine may take several tens of seconds for each execution, and one delta second is too small. The test cases of a, b, and c are very extreme, so if the target method has a bug, the two execution times would be very different. So I think it is enough to check if the difference is less than 10 times. This change is the same as https://github.com/ruby/openssl/pull/332 commit 0b55f8a14f28b070177ee0ddcd76edb46af9a395 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-16 19:14:23 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-16 19:14:23 +0900 ext/openssl/extconf.rb: avoid -Werror=deprecated-declarations It fails to build on Solaris: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200216T090008Z.log.html.gz ``` ossl_cipher.c: 関数 ‘ossl_cipher_init’ 内: ossl_cipher.c:228:2: エラー: ‘EVP_md5’ is deprecated [-Werror=deprecated-declarations] 228 | EVP_BytesToKey(EVP_CIPHER_CTX_cipher(ctx), EVP_md5(), iv, | ^~~~~~~~~~~~~~ In file included from /usr/include/openssl/x509.h:73, from /usr/include/openssl/x509v3.h:63, from ossl.h:23, from ossl_cipher.c:10: /usr/include/openssl/evp.h:732:26: 備考: ここで宣言されています 732 | DEPRECATED const EVP_MD *EVP_md5(void); | ^~~~~~~ ``` commit 301457480039a7087129f291578a872f6e653ab6 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-16 16:08:43 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-16 16:08:43 +0900 Guard for OpenSSL::PKey::EC::Group::Error with unsupported platforms commit b99775b163ce44079c1f8727ce9b4ed8bb03489d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-16 15:21:29 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-02-16 15:21:29 +0900 Import openssl-2.2.0 (#2693) Import the master branch of ruby/openssl for preparing to release openssl-2.2.0 Notes: Merged-By: hsbt <hsbt@ruby-lang.org> commit 0bfa479c52963b95a47ceab3d453f21b646366a2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-16 13:47:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-16 13:47:18 +0900 Split the optimizable range item conditions commit 527829423088f09cf2f708be12bb4337d640dc69 Author: Masataka Pocke Kuwabara <kuwabara@pocke.me> AuthorDate: 2020-02-16 00:09:39 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-16 02:37:12 +0900 Reduce begin-less/end-less range allocation ``` $ cat test.yaml prelude: | def endless 1.. end def beginless ..1 end def endless_substr(str) str[1..] end benchmark: endless: endless beginless: beginless endless_substr: "endless_substr('foo')" $ RBENV_VERSION=trunk ruby -v ruby 2.8.0dev (2020-02-15T12:52:03Z master 961630126b) [x86_64-linux] $ RBENV_VERSION=patched ruby -v ruby 2.8.0dev (2020-02-15T12:52:03Z origin/master 961630126b) [x86_64-linux] $ benchmark-driver test.yaml --rbenv 'patched;trunk' Warming up -------------------------------------- endless 45.948M i/s - 46.076M times in 1.002782s (21.76ns/i, 26clocks/i) beginless 49.986M i/s - 50.237M times in 1.005037s (20.01ns/i, 24clocks/i) endless_substr 8.067M i/s - 8.187M times in 1.014936s (123.96ns/i, 148clocks/i) Calculating ------------------------------------- patched trunk endless 115.679M 21.500M i/s - 137.843M times in 1.191597s 6.411398s beginless 112.599M 22.060M i/s - 149.957M times in 1.331778s 6.797768s endless_substr 8.888M 6.760M i/s - 24.201M times in 2.722995s 3.580038s Comparison: endless patched: 115679391.9 i/s trunk: 21499711.2 i/s - 5.38x slower beginless patched: 112598731.5 i/s trunk: 22059673.0 i/s - 5.10x slower endless_substr patched: 8887513.1 i/s trunk: 6759886.2 i/s - 1.31x slower ``` Notes: Merged: https://github.com/ruby/ruby/pull/2910 commit 961630126b8081ea57b57cde3184e9ecfd86ff96 Author: Nobuhiro IMAI <nov@yo.rim.or.jp> AuthorDate: 2020-02-12 19:16:12 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-15 21:52:03 +0900 [ruby/irb] fix reserved words and completion for them https://github.com/ruby/irb/commit/6184b227ad commit 38f1e84c37b91ddf9e61428d298eb27bee3bd2bc Author: Nick Lewis <nick@puppet.com> AuthorDate: 2020-02-15 07:30:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-15 21:52:03 +0900 [ruby/irb] Include easter-egg.rb in gemspec `irb` doesn't run because this file isn't included in the gem. https://github.com/ruby/irb/commit/73cda56d25 commit 8749a678ab0f5ccf41b855e13575c9bacd8c2f7a Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-14 22:51:58 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-15 21:52:03 +0900 [ruby/irb] Version 1.2.2 https://github.com/ruby/irb/commit/a71753f15a commit 12ae7b3369485eea1f556dfc766a040ac1a5a77a Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-14 22:53:49 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-15 21:52:03 +0900 [ruby/reline] Version 0.1.3 https://github.com/ruby/reline/commit/ea2b182466 commit 05485868cbd1e7a59063d5b4be2ee2313ac9fa25 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-15 20:28:29 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-15 21:20:25 +0900 Workaround for bison provided by scoop on mswin environment Notes: Merged: https://github.com/ruby/ruby/pull/2909 commit fb472ca7adbaceb35aae1b3a6b948720ffc9eb53 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-15 16:27:03 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-15 16:27:03 +0900 lib/drb/drb.rb: Use ruby2_keywords for keyword separation [Bug #16634] commit 2efb38e766b6fc304bb933d696c7500425d178a1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-14 22:34:56 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-14 22:47:27 +0900 [ruby/reline] Use IO#write instead of IO#print IO#print always adds a string of $\ automatically. https://github.com/ruby/reline/commit/a93119c847 commit 78282d4655c05348ce7df24058623d3e868a08e6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-14 15:59:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-14 20:30:34 +0900 [ruby/io-console] Prefer keyword arguments https://github.com/ruby/io-console/commit/5facbfc4c8 commit 1df2c8cefb4bb9a36f5241b407ebb13f7550669f Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-14 19:57:07 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-14 19:57:07 +0900 Revert "MinGW - rename OpenSSL dll's in system32 directory" This reverts commit 95c58d33cc6925f08d45c00b88367c702f61f428. commit 95c58d33cc6925f08d45c00b88367c702f61f428 Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2020-02-06 10:57:18 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-14 19:39:30 +0900 MinGW - rename OpenSSL dll's in system32 directory Notes: Merged: https://github.com/ruby/ruby/pull/2886 commit 9bc815aa5fd14f26d62ff1d6189157d7f09e23cb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-14 15:38:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-14 15:56:37 +0900 Hoisted out `rb_scan_args_result` commit 0742585e7eaf9ccc292cc077caa38f7cf584de9e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-14 15:31:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-14 15:56:37 +0900 Consitified `rb_scan_args_set` commit b9129dac215735c5091658cfa3596ca0388f171f Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-02-14 14:18:48 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-02-14 14:18:48 +0900 Enhanced doc for ENV * More on ENV examples Notes: Merged: https://github.com/ruby/ruby/pull/2905 Merged-By: nobu <nobu@ruby-lang.org> commit fad98c6c61688d9ca7772bbfdef5a9d832529f16 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-14 00:07:28 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-14 00:07:28 +0900 test/irb/test_completion.rb: suppress a warning: unused literal ignored commit 6bfc576271ead85f905b21ef9268e6e8ba5bb85f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:16:10 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:16:10 +0900 spec/ruby/library/socket/constants/constants_spec.rb: skip on Android IP_MAX_MEMBERSHIPS seems not to be defined on Android commit bbc67993344830c18b15f5d90febc7dec9c87b3c Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:13:17 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:13:17 +0900 spec/ruby/library/socket/addrinfo/getnameinfo_spec.rb: skip on Android FreeBSD's GETNAMEINFO(3) says: > If a link-layer address or UNIX-domain address is passed to > getnameinfo(), its ASCII representation will be stored in host. The > string pointed to by serv will be set to the empty string if non-NULL; > flags will always be ignored. Android seems to behave like FreeBSD. commit 09a042ae0445472d42f35b9fd50c21d6564b0ece Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:11:28 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:11:28 +0900 spec/ruby/library/etc/: skip the specs related to group on Android User/group system on Android seems different from normal Linux. commit db8c8c0916c5e0feaad5767ac7cd3fe30b86e964 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:10:03 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:10:03 +0900 spec/ruby/library/socket/addrinfo: skip the specs that uses SOCK_SEQPACKET on Android SOCK_SEQPACKET seems not to be supported on Android commit 89bfad17d5911b7295063b85e9c003e2a837493a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:08:31 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:08:31 +0900 spec/ruby/library/syslog: skip the specs that use LOG_PERROR on Android LOG_PERROR is defined on Android, but not implemented yet. See also f3c4e620ac612eab6370b1fb82feaa4e651542bb. commit c6ebbbd38b997f8a8d6968e683e29db1e299b5aa Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:06:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:06:33 +0900 spec/ruby: skip the specs that use /etc/passwd on Android There is no /etc/passwd on Android commit ca53ab581b414ba86cfb5a6d51ca9a372c4ffcf8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:04:15 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:04:15 +0900 spec/ruby/library/etc/confstr_spec.rb: skip on Android There seems to be no _CS_PATH on Android. commit 02233e171ce7a5243f19746148c3d59e1ad7dd33 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:03:07 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:03:07 +0900 spec/ruby/core/process/spawn_spec.rb: Use / instead of /tmp because there is no /tmp on Android. commit ed549f80b645aafd62376f65c3a27b66bafa2a38 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 23:00:30 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:00:30 +0900 spec/ruby/core/process/clock_getres_spec.rb: skip on Android in the same way as FreeBSD and OpenBSD. I guess that the spec makes too strong assumption. commit 022268ae009bd87b13e1f5ee46011b7142987d57 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 22:58:15 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 23:00:03 +0900 spec/ruby/core/encoding/locale_charmap_spec.rb: locale_charmap is UTF-8 on Android nl_langinfo(CODESET) always returns UTF-8 on Android, regardless to LC_ALL=C. commit a11fa7d8cd424e60b34a1c03cc18abee17203576 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 22:56:42 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 22:56:42 +0900 spec/ruby/core/dir/home_spec.rb: exclude Android I couldn't find a robust way to get the home path except ENV["HOME"] on Android Termux. commit 4a2b99795aa33bd39876742cc6fc524024e6bbac Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-13 20:36:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-13 20:36:44 +0900 Move the English entries to the default gems at docs commit 2c5764ec223d976e0d0da1494596a1519104be3e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-13 20:35:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-13 20:35:34 +0900 Promote English to the default gems. commit aeddffafc828adad838479d0861db6111b98b4d2 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-02-13 11:46:16 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-02-13 13:54:24 +0900 Add "test-all TESTS=--repeat-count=2" to test_task Notes: Merged: https://github.com/ruby/ruby/pull/2906 commit fce667ed08f25fa7ce43c9b07be170f341a04c4e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-13 09:34:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-13 12:46:48 +0900 Get rid of warnings/exceptions at cleanup After the encoding index instance variable is removed when all instance variables are removed in `obj_free`, then `rb_str_free` causes uninitialized instance variable warning and nil-to-integer conversion exception. Both cases result in object allocation during GC, and crashes. commit b1b155ff03634ade5cc0e724529841d354d54033 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-02-09 18:34:47 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-13 11:07:38 +0900 support multi-run test for test/did_you_mean/test_verbose_formatter.rb Notes: Merged: https://github.com/ruby/ruby/pull/2894 commit 778c3973103651faa7a50d58bddbb8ea89202ee4 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-02-09 18:25:23 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-13 11:01:15 +0900 Fix remove warning & support multi-run test for test/psych/visitors/test_to_ruby.rb Notes: Merged: https://github.com/ruby/ruby/pull/2893 commit 572d9b93bbad90455dc54a270c0eacc033dc762f Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-02-10 12:09:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-13 10:37:40 +0900 support multi-run test for test/webrick/test_filehandler.rb Notes: Merged: https://github.com/ruby/ruby/pull/2896 commit 377c63366f6d06236d6e846722acf84deee8026f Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-13 10:15:24 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-13 10:16:04 +0900 test/rubygems/test_gem_commands_setup_command.rb: Allow /bin/env Follow up of 65201c054a90c8e7beb8fe1e6d0006541ac33449 commit 53a8b1486b0e020858aa04f004aa22f4396a1bd0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-13 04:20:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-13 04:20:22 +0900 skip SEGV test if RUBY_ON_BUG is specified commit 99a8742067ba262eb324615bfac770d1aea53b07 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-13 03:28:40 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-13 03:30:22 +0900 should be compared with called_id me->called_id and me->def->original_id can be different sometimes so we should compare with called_id, which is mtbl's key. (fix GH-PR #2869) commit ed7b46b66be671165b6f38abd21d7638f4dfdcea Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2020-01-19 11:18:00 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-13 00:14:55 +0900 Use inline cache for super calls Notes: Merged: https://github.com/ruby/ruby/pull/2869 commit a91ce05046b1bddc60a3dafcea59a4366359dffa Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-12 20:34:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-12 20:34:19 +0900 Move the entries of tempfile on docs commit bbd1ed626f8246d8003e0060aacd7f18c1a28246 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-12 20:07:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-12 20:34:19 +0900 Promote tmpdir to the default gems commit 160d3165eb095d81ae6e156f832a99728c853b01 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-12 20:09:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-12 20:09:57 +0900 Copy non-inlined encoding index commit bdf3032e3542b318c6f52dbe20d1c97cca3d7067 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-12 19:29:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-12 19:58:22 +0900 Make temporary lock string encoding free As a temporary lock string is hidden, it can not have instance variables, including non-inlined encoding index. commit 1b219f1fb26d15d69d4a0cb628f856f6f850eac5 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-12 19:47:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-12 19:47:31 +0900 Move the entries of tempfile on docs commit b8e7bd9f44c36cfa458b4f5878d4489097891516 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-12 19:39:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-12 19:46:34 +0900 Promote tempfile to the default gems. commit 15cacf1f5588e34f1745790f7405bde845b2ac08 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-12 19:40:10 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-12 19:40:10 +0900 Add test_complete_symbol The previous version of the test method used a symbol, ":abcdefg" to complete but longer symbols that can be completed are defined by other test methods of other libs. commit 775e31c801eb954b500e7638cff27cde2210d18d Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-02-12 17:40:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-12 17:46:58 +0900 Add array.rb to .document Notes: Merged: https://github.com/ruby/ruby/pull/2904 commit 65201c054a90c8e7beb8fe1e6d0006541ac33449 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-12 17:33:41 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-12 17:33:41 +0900 test/rubygems: Try not only /usr/bin/env but also /bin/env RubyGems chooses available one from the two https://github.com/rubygems/rubygems/blob/20b0d609484df2b514954ba9ef890a7cbdd01d18/lib/rubygems/installer.rb#L38 So, it is good not to hard-code /usr/bin/env in tests. commit 2090011dbd66e64916488c7b0e04e316b57d5cee Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-12 17:28:29 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-12 17:28:29 +0900 test/etc/test_etc.rb: skip some tests on Android Android user management seems different from normal Unix system. commit 52cdf400efaecc0f5e1d1f70f22dc45212e03c4c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-11 11:28:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-12 15:05:29 +0900 Workaround of instance variable on hidden object Since 9d9aea7fe50f6340829faa105d9ffe08ebaee658, generic instance variables need `iv_index_tbl` in the object's class. As hidden objects, however, have no class, access to the variables causes a segfault. Get rid of that segfault by raising an exception, for the time being. commit 921916ff9e2940f28d932af84c5b2a2e222219d0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-11 13:09:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-12 14:50:46 +0900 Isolate the test for Encoding#replicate It has global side effect which cannot be reverted. commit 166c4a6a2838995e3465ab3ce263bf0b5239ddde Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-12 14:38:40 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-12 14:38:40 +0900 Revert "[ruby/irb] Add test_complete_symbol" This reverts commit 3af3431c2c145134996e66f3d8d9ade8ad81bde0. commit 16f5d63bad783ac202a0533249f06deab436aded Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-03 01:18:50 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-12 13:14:28 +0900 [ruby/irb] Use 0.step instead of (..0).each for Ruby 2.5 https://github.com/ruby/irb/commit/5d628ca40e commit 8b8cc01229c2849236e7b43e1b5b5d33ccfb6b1e Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-11 02:11:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-12 13:14:28 +0900 [ruby/irb] Fix auto indent with closed brace A closed brace in auto-indent shouldn't affect the next brace in the same line, but it behaves like below: p() { } It's a bug. https://github.com/ruby/irb/commit/fbe59e344f commit 0719e1be11f4e3411b78f5e1d4de553f30f29bb0 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-10 23:22:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-12 13:14:28 +0900 [ruby/irb] Check doc namespace correctly IRB::InputCompletor::PerfectMatchedProc crashes when doc not found because a variable name was incorrect. https://github.com/ruby/irb/commit/889fd4928f commit 3af3431c2c145134996e66f3d8d9ade8ad81bde0 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-10 23:15:13 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-12 13:14:28 +0900 [ruby/irb] Add test_complete_symbol https://github.com/ruby/irb/commit/dbbf086c1f commit 985d1b9ec42e89e39aafadb8ffe68b0b877a7f93 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-12 11:53:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-12 11:58:56 +0900 Fixed a potential memory leak `rb_str_new_cstr` can raise a `NoMemoryError`. commit 155ab9caa6bbdeae2377bd9c18f11fc83d938217 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-12 11:47:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-12 11:58:34 +0900 Removed unnecessary conversion Paths in `rb_execarg_t` should have been converted already. commit 7a288df7b85d3565f369b305f225c2cd5baa5905 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-02-12 04:56:34 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-02-12 05:44:23 +0900 Make yield in singleton class definitions in methods a SyntaxError This behavior was deprecated in 2.7 and scheduled to be removed in 3.0. Calling yield in a class definition outside a method is now a SyntaxError instead of a LocalJumpError, as well. Notes: Merged: https://github.com/ruby/ruby/pull/2901 commit 50065dad7f955cd069e43a83793a7ca3cff96b26 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-02-10 12:06:57 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-02-12 01:46:44 +0900 Remove rb_eval_cmd This was related to $SAFE, and was deprecated in 2.7. I missed it earlier when removing the other $SAFE-related code. Notes: Merged: https://github.com/ruby/ruby/pull/2899 commit de3883e7823c89ce90d7661ef5bb3b7eb60968db Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-11 15:52:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-11 15:55:10 +0900 Restart timer thread even after preparation failed If the timer thread is left stopped, memory crash or segfault can happen. commit f905f694ccc1f97c77af78d8d7881aa7c9ddabd3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-11 14:14:58 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-11 14:27:15 +0900 Monitor is extension library now commit 3e788241eaf5ff1c6d8ea12e24cbef76550b7229 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-11 14:10:49 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-11 14:10:49 +0900 Update the documentation for weakref commit 66e636ab24fb980a7d59221bb147a88944e2b3d3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-11 14:05:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-11 14:05:34 +0900 ignore revision.tmp with in-place build commit 56f6973b682f7be6ba8a27ea1516f35be09b0574 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-11 14:05:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-11 14:05:04 +0900 Promote weakref to the default gems commit 9b2e671944a035af6a079ba91628b04687374377 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-11 11:32:08 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-11 13:29:23 +0900 Expose assert_no_memory_leak for weakref Notes: Merged: https://github.com/ruby/ruby/pull/2900 commit a5d7b8e13d8a648175ec106a1127b4baca2d801d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-11 10:50:32 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-11 13:29:23 +0900 Expose assert_normal_exit for weakref Notes: Merged: https://github.com/ruby/ruby/pull/2900 commit d83d61c98b2d6d80a0ffc9aa012a40d2dc39f9b3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-11 11:08:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-11 11:08:02 +0900 Removed unused variable `generic_iv_tbl_compat` has not been utilized since 14d61a94ff01. commit 2dea81f47728b9a28831dd91fc14dafcc3d29271 Author: Tanaka Akira <akr@fsij.org> AuthorDate: 2020-02-10 21:41:15 +0900 Commit: Tanaka Akira <akr@fsij.org> CommitDate: 2020-02-10 21:41:15 +0900 Don't refer Date in the document for Time. commit 2d1cb93d40e45972ace391c5479d8f581501d483 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-10 20:50:31 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-10 20:51:06 +0900 Update readline-ext entry at docs commit 6891fd15805fa0fe1f7e815bfdbf60696b7120ea Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-10 19:41:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-10 19:41:07 +0900 Don't use upstream ext/readline/depend commit 8474e6ae1f327acb3e137c191078a522682cc946 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-02-10 16:00:51 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-02-10 16:49:16 +0900 Use github.run_id in notification payload URL Notes: Merged: https://github.com/ruby/ruby/pull/2898 commit 912ef0b5593a1e4edca3a0bad8164f66e05e6662 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-10 14:13:48 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-10 14:13:48 +0900 Revert "gc.c: make the stack overflow detection earlier under s390x" This reverts commit a28c166f787710227c6aac54befd72778f041485. This change didn't help. According to odaira, the issue was fixed by increasing `ulimit -s`. commit 6e6844320de989cb88a154e2ac75066ccea1bba2 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-10 12:15:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-10 14:00:40 +0900 Fixed duplicated warning As `command_rhs` is always a "value expression", `command_asgn` does not need the same check. Notes: Merged: https://github.com/ruby/ruby/pull/2897 commit 442c6de5546b233364c295155953cd0bc17e99e3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-10 13:28:54 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-10 13:28:54 +0900 Added commands of test-bundler to cheatsheet. commit f83781c8c109b7f0b8cd6604d8fed6b8c13b8fd3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-10 12:10:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-10 12:19:30 +0900 rb_enc_str_asciionly_p expects T_STRING This `str2` variable can be non-string (regexp etc.) but the previous code passed it directly to rb_enc_str_asciionly_p(), which expects its argument be a string. Let's enforce that constraint. commit a2845adb4958db33e3e190716c2a4a94365f94f2 Author: NagayamaRyoga <nagayama15@sec.is.kit.ac.jp> AuthorDate: 2020-02-06 21:49:13 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-02-10 01:33:38 +0900 compile.c: Drop obj_list from ibf_dump [Feature #16505] Notes: Merged: https://github.com/ruby/ruby/pull/2835 commit e443f23576686edac795e076ba964cbe1beef62f Author: NagayamaRyoga <nagayama15@sec.is.kit.ac.jp> AuthorDate: 2020-02-06 21:31:28 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-02-10 01:33:38 +0900 compile.c: Drop iseq_list from ibf_dump [Feature #16505] Notes: Merged: https://github.com/ruby/ruby/pull/2835 commit 6e5e6a40c4c35aee1cfb7d0effa47354f80baa9e Author: NagayamaRyoga <nagayama15@sec.is.kit.ac.jp> AuthorDate: 2019-12-18 19:26:02 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-02-10 01:33:38 +0900 Deduplicate objects efficiently when dumping iseq to binary We were inefficient in cases where there are a lot of duplicates due to the use of linear search. Use a hash table instead. These cases are not that rare in the wild. [Feature #16505] Notes: Merged: https://github.com/ruby/ruby/pull/2835 commit 9c5a2fed85f50f1d593da23eea71437a41d5969e Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2020-02-10 01:12:50 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2020-02-10 01:27:32 +0900 Fix readline build dependency Notes: Merged: https://github.com/ruby/ruby/pull/2895 commit 6f04f0cc444b74f8fdde3e12bb1c949ba0674450 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-09 21:40:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-09 21:40:53 +0900 test/ruby/test_thread_queue.rb: add a wait to yield a thread On Arch, sending a signal in a loop seems hardly to yield the execution. ``` 1) Error: TestThreadQueue#test_queue_with_trap: Timeout::Error: execution of assert_in_out_err expired timeout (10 sec) ``` https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200209T120002Z.fail.html.gz This change allows the test to pass. commit 26532c7e7793ecb7bcfaf2ac71425d1f0a84abe5 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-09 21:40:16 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-09 21:40:16 +0900 doc/make_cheatsheet.md: add a memo about how to run one rubyspec file commit f3471174bb6e8c717c7b57e2a9b3f0e697eae183 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 20:14:32 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 20:22:12 +0900 [ruby/readline-ext] Use rake/extensiokntask to build https://github.com/ruby/readline-ext/commit/b0b5f709bd commit 108a2880793867b9270931c508143d6757d6a0f9 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 20:00:58 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 20:22:12 +0900 [ruby/readline-ext] Add spec.extensions https://github.com/ruby/readline-ext/commit/8c33abb13c commit fd6746c7a651d4a504073726d56be610e1081b78 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 17:18:41 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 20:22:12 +0900 [ruby/readline-ext] Use require check instead of DONT_RUN_RELINE_TEST env https://github.com/ruby/readline-ext/commit/1df99d1481 commit a629f147cd255b9887ce05a803431e243b925d08 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 17:06:17 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 20:22:12 +0900 [ruby/readline-ext] The ruby/assert.h is adopted by Ruby 2.7 or later https://github.com/ruby/readline-ext/commit/106c31fc1b commit ac0658e72095a2e70f70635a0e2d8c908e54c41e Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 16:41:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 20:22:12 +0900 [ruby/readline-ext] Check TestRelineAsReadline existence https://github.com/ruby/readline-ext/commit/c0a6303168 commit 05711adfb4eb30975860749225ddee3484336654 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 15:33:28 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 20:22:12 +0900 [ruby/readline-ext] Remove unnecessary -I$(top_srcdir) when it's an individual gem https://github.com/ruby/readline-ext/commit/efaca4a5f4 commit 9dcb324fbeaba2aeb51d8cfcf472b86704818f08 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 17:16:53 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 20:22:12 +0900 Revert "[ruby/readline-ext] Include ruby/assert.h in ruby/ruby.h so that assertions can be there" This reverts commit 425b2064d394639101854c83a061a0918b33b857. This cherry-pick was a mistake. commit e3e96e3faa1683c8ee832cb6da6f9f96d18b0d77 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-09 20:13:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-09 20:13:49 +0900 Check if bindable against the refined target [Bug #16617] commit 0f05b234fba2d961f1740c094a83f9831c15b210 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-09 16:41:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-09 17:15:55 +0900 Disable GC until VM objects get initialized [Bug #16616] commit aeaf0dc55595b8a5bfdd92007fb85ef13855c632 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-09 16:56:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-09 17:06:31 +0900 Separate objspace argument for rb_gc_disable and rb_gc_enable commit c47cd4be28840159251b4c66df71e10e979316a0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-09 15:43:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-09 16:00:18 +0900 Removed duplicated code commit b7e0831e8f1f84a9440e42a27b2d7b15c65ca9aa Author: Burdette Lamar <BurdetteLamar@Yahoo.com> AuthorDate: 2020-02-09 15:59:55 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-02-09 15:59:55 +0900 Enhance rdoc for ENV Notes: Merged: https://github.com/ruby/ruby/pull/2817 Merged-By: nobu <nobu@ruby-lang.org> commit e077a910b62ef448380c3f9607d740e5c98100b3 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-02-09 13:39:24 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-02-09 13:39:24 +0900 Fix message of ExceptionForMatrix::ErrOperationNotDefined ``` % RBENV_VERSION=2.6.5 ruby -r matrix -e 'Vector[1]*Vector[2] rescue p($!)' #<ExceptionForMatrix::ErrOperationNotDefined: Operation(*) can't be defined: Vector op Vector> % RBENV_VERSION=2.7.0 ruby -r matrix -e 'Vector[1]*Vector[2] rescue p($!)' #<ExceptionForMatrix::ErrOperationNotDefined: Operation(*) can\'t be defined: Vector op Vector> % RBENV_VERSION=master ruby -r matrix -e 'Vector[1]*Vector[2] rescue p($!)' #<ExceptionForMatrix::ErrOperationNotDefined: Operation(*) can't be defined: Vector op Vector> ``` commit a28c166f787710227c6aac54befd72778f041485 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-09 12:53:18 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-09 12:55:44 +0900 gc.c: make the stack overflow detection earlier under s390x On s390x, TestFiber#test_stack_size fails with SEGV. https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20200205T223421Z.fail.html.gz ``` TestFiber#test_stack_size [/home/chkbuild/build/20200205T223421Z/ruby/test/ruby/test_fiber.rb:356]: pid 23844 killed by SIGABRT (signal 6) (core dumped) | -e:1:in `times': stack level too deep (SystemStackError) | from -e:1:in `rec' | from -e:1:in `block (3 levels) in rec' | from -e:1:in `times' | from -e:1:in `block (2 levels) in rec' | from -e:1:in `times' | from -e:1:in `block in rec' | from -e:1:in `times' | from -e:1:in `rec' | ... 172 levels... | from -e:1:in `block in rec' | from -e:1:in `times' | from -e:1:in `rec' | from -e:1:in `block in <main>' | -e: [BUG] Segmentation fault at 0x0000000000000000 ``` This change tries a similar fix with ef64ab917eec02491f6bf7233a4031a8c35385e3 and 3ddbba84b5b1f001cd575a48cec56d7ce8e5fbb2. commit 92c86e39de30e5cd4ec1298204a5c2de52994165 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-09 12:12:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-09 12:13:28 +0900 Removed a useless guard MSpec requires Ruby 2.4 or more recent. commit 2173ae7801c90ef5837b388a7b3f832732785aea Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-09 11:04:53 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-09 11:13:06 +0900 spec/ruby/core/file/utime_spec.rb: far future timestamp may be truncated Under some Ext4 filesystem settings, a timestamp is limited up to 0x37fffffff (2446-05-10). https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Timestamps > Therefore, timestamps should not overflow until May 2446. Actually the spec fails under one of our CI environments, like: ``` 1) File.utime allows Time instances in the far future to set mtime and atime FAILED Expected 2446 == 559444 to be truthy but was false ``` https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200208T180002Z.fail.html.gz commit 97b583d68b9a26f835cedee3355a07c1452a52b3 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-09 02:52:47 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-09 02:54:41 +0900 [ruby/reline] Organize special keys escape sequences https://github.com/ruby/reline/commit/41deb1a3d9 commit b76a21aa45fff75909a66f8b20fc5856705f7862 Author: S-H-GAMELINKS <gamelinks007@gmail.com> AuthorDate: 2020-02-04 17:45:11 +0900 Commit: Yuki Nishijima <yk.nishijima@gmail.com> CommitDate: 2020-02-07 23:30:43 +0900 support multi-run test for test/did_you_mean/spell_checking/test_class_name_check.rb Notes: Merged: https://github.com/ruby/ruby/pull/2880 commit 59a40feec27790cbe07955eb00f1bc125c8d95e8 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-02-07 19:36:11 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-02-07 19:36:10 +0900 remove warning & support multi-run test for test/psych_test_yaml.rb (#2887) Notes: Merged-By: nurse <naruse@airemix.jp> commit 38ed8cbb5f77d0fd67ae4aadc6a978b303d3c0e9 Author: S.H <gamelinks007@gmail.com> AuthorDate: 2020-02-07 19:35:52 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-02-07 19:35:52 +0900 remove warning & support multi-run test for test/psych/visitors/test_to_ruby.rb (#2881) Notes: Merged-By: nurse <naruse@airemix.jp> commit b64b0f3433b1dafa50ecd12b86567e3df863d57a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-07 18:10:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-07 18:10:36 +0900 Show unmatched sequence on failure commit 115fec062ccf7c6d72c8d5f64b7a5d84c9fb2dd8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-07 14:14:05 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-07 14:24:19 +0900 more on NULL versus functions. Function pointers are not void*. See also ce4ea956d24eab5089a143bba38126f2b11b55b6 8427fca49bd85205f5a8766292dd893f003c0e48 commit 6ed1a5e0e62bbdadcf3d0c61fcfe0c5f8d01789b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-07 13:50:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-07 13:52:53 +0900 Made a test more robust Against changes of the `assert_separately` prologue code. commit aece5baa751b340f0d1527e3941bc2a755f0b1f9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-07 13:44:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-07 13:44:34 +0900 Removed useless empty lines commit a3fb97465df3a4b6a7f56a1a915c6239a2a303b9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-07 12:44:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-07 13:43:50 +0900 Stop auto runner Auto runner should not run in forked processes in separated tests. commit 3d21a75c72586baee75ab9b9c5335c755ee76793 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-07 11:09:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-07 11:09:19 +0900 No crafted backtrace for SystemExit As SystemExit is ignored, it is just useless. commit 8c67080381166f97a1153f092f40df699d020a53 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-06 22:07:39 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-06 22:07:39 +0900 Revert "[rubygems/rubygems] Fix require issue with file extension priority" This reverts commit d767da428c28b7b9fec56b383bb32f6f76c6ad26. It fails with spec/ruby/core/kernel/require_spec.rb:5 commit bd0a02d1433b6d9a9dcde38eb9fb2dbc3b1071e9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-06 21:54:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-06 21:57:18 +0900 Revert to remove the query command of rubygems. The original commit was https://github.com/rubygems/rubygems/pull/3119 commit d767da428c28b7b9fec56b383bb32f6f76c6ad26 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-02-05 01:26:28 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-06 21:57:18 +0900 [rubygems/rubygems] Fix require issue with file extension priority If `require "a"` is run when two folders have been specified in the -I option including a "a.rb" file and a "a.so" file respectively, the ruby spec says that the ".rb" file should always be preferred. However, the logic we added in https://github.com/rubygems/rubygems/commit/6b81076d9 to make the -I option always beat default gems does not respect this spec, creating a difference from the original ruby-core's require. [the ruby spec says]: https://github.com/ruby/spec/blob/d80a6e2b221d4f17a8cadcac75ef950c59cba901/core/kernel/shared/require.rb#L234-L246 https://github.com/rubygems/rubygems/commit/b3944384f4 commit c6b5881eae28fa1a76514b2de00ef0155c348170 Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-02-05 01:25:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-06 21:57:17 +0900 [rubygems/rubygems] Make non "test_" method private https://github.com/rubygems/rubygems/commit/912d141a35 commit 054d99d95bc9d3c9481be3ea97dd16b39a4ba5bd Author: David Rodríguez <deivid.rodriguez@riseup.net> AuthorDate: 2020-02-04 02:48:44 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-06 21:57:17 +0900 [rubygems/rubygems] Allow releasing with a rubygems pre version This condition is too restrictive in my opinion. If a user has a pre version of rubygems installed, she should be fully responsible for it, and we shouldn't restrict any functionality. Also, why is a new prerelease disallowed but an old prelease allowed, or why is 2.0.0.rc2 explicitly whitelisted? I believe this kind of exceptions are one more reason to actually permit this. https://github.com/rubygems/rubygems/commit/7f77a77620 commit e323f50a9c71da2804f66ba6345ef071def60e1e Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-06 21:19:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-06 21:20:20 +0900 Fix readline-ext sync commit 5fac54a594b475e7b7a07e925c0353e18c685f2b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-06 20:53:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-06 20:53:11 +0900 Fixed the output from separated test in parallel test Redirect the output of separated child process to `MiniTest::Unit.output`. commit f1c230f18ba651ce7bd8e8c621ba4282c5b445db Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-06 20:52:25 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-06 20:52:25 +0900 Add separated assertion count commit 739fdb7ff0767ae4a666ca83f61e807c0c6c7115 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-06 15:42:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-06 15:42:36 +0900 [ruby/spec] Don't care about return values RDoc says nothing about them. Added an example that ConditionVariable#wait can be woken up by ConditionVariable#signal, instead. commit 32adae431d3f58e4103ca7ea507ee110c18e19c4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-06 15:40:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-06 15:42:16 +0900 [ruby/spec] Just test that sleep completes commit 3d83e641b1a6e13e0e0a59c19536e1dde96891f4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-06 13:36:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-06 14:50:32 +0900 [ruby/spec] Check by Thread#stop? Check if threads are stopped by Thread#stop? instead of the status name. commit 34f8e75f9305b0da4ef1b0d4fe9ea3c3f31dcc22 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-31 16:15:28 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 11:46:51 +0900 rb_vm_t::postponed_job_index shall be rb_atomic_t Pointer to this field is passed to ATOMIC_CAS. We have to use rb_atomic_t for that purpose. Notes: Merged: https://github.com/ruby/ruby/pull/2885 commit ce4ea956d24eab5089a143bba38126f2b11b55b6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-31 15:53:03 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 11:46:51 +0900 function pointers are not void* The same as 8427fca49bd85205f5a8766292dd893f003c0e48. Notes: Merged: https://github.com/ruby/ruby/pull/2885 commit b223a78a71b9f000315d70987d600661420f9475 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-31 15:25:09 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 11:46:51 +0900 this ternary operator is an undefined behaviour Let me quote ISO/IEC 9899:2018 section 6.5.15: > Constraints > > The first operand shall have scalar type. > One of the following shall hold for the second and third operands: > — both operands have arithmetic type; > — both operands have the same structure or union type; > — both operands have void type; (snip) Here, `*option` is a const struct rb_compile_option_struct. OTOH `COMPILE_OPTION_DEFAULT` is a struct rb_compile_option_struct, without const. These two are _not_ the "same structure or union type". Hence the expression renders undefined behaviour. COMPILE_OPTION_DEFAULT is not a const because `RubyVM::InstructionSequence.compile_option=` touches its internals on-the-fly. There is no way to meet the constraints quoted above. Using ternary operator here was a mistake at the first place. Let's just replace it with a normal `if` statement. Notes: Merged: https://github.com/ruby/ruby/pull/2885 commit 34fd7241e445764837ec9fc700af65a0f73e8ce5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-31 15:07:40 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 11:46:51 +0900 fine-grained #ifdef guard for Sparc systems There are cases when sizeof(int) == sizeof(long) == sizeof(size_t). On such cases however int and long are incompatible types in theory. We should not assume typedef long size_t, because on Solaris size_t is actually a typedef of int. This reduces compiler warnings on such situations. Notes: Merged: https://github.com/ruby/ruby/pull/2885 commit 72bbf60f3a6b87a36bebc6b10ae867d8bcb9cadd Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-30 17:49:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 11:46:51 +0900 do not assume GCC for __builtin_setjmp Namely recent Sun C compiler has this function, and is not a GCC. Meanwhile the code without RUBY_JMP_BUF assumes GCC. We have to define the macro when we detect __builtin_setjmp for non-GCC compilers. Notes: Merged: https://github.com/ruby/ruby/pull/2885 commit 3b69552a5ca1fb814fd7279edd970be458a907f2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-21 17:14:20 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 11:46:51 +0900 add predefined macros for Doxygen Predefined macros are practices not very well recommended, but can be better than having no documents at all. Without those predefined macros, Doxygen confused for instace PUREFUNC(int foo()) to be a declaration of PUREFUNC, not foo. Notes: Merged: https://github.com/ruby/ruby/pull/2885 commit 7c20a2c83cc50ef33d1095be8806ddacb0f8b321 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-04 11:47:04 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 11:46:51 +0900 emacs mode addition Now that we have C++ header files, why not let their indents follow our way. Notes: Merged: https://github.com/ruby/ruby/pull/2885 commit 26ffd6e409fad94b3a24420156ab4b2897732cbc Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-01-15 22:40:01 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-06 10:38:21 +0900 Increase the frozen_strings table initial size It was set to 1000 in a4a2b9be7a55bb61d17cf9673ed0d2a93bb52d31. However on ruby-2.7.0p0, there are much more than 1k frozen string right after boot: ``` $ ruby -robjspace -e 'p ObjectSpace.each_object(String).select { |s| s.frozen? && ObjectSpace.dump(s).include?(%{"fstring":true})}.uniq.count' 5948 ``` Notes: Merged: https://github.com/ruby/ruby/pull/2841 commit 0226d72e953733759414aa3ffbecfe7eed195858 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-05 09:35:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-05 09:39:14 +0900 Fixed the output from separated test in parallel test To output to the STDOUT of the parent process according to the parallel test protocol, should send to the `MiniTest::Unit.output` instead of each own STDOUT. commit 6fe44576b90c846b763fb46b1d22b4a664a5066e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-05 09:30:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-05 09:30:12 +0900 Fixed FD leaks commit c6cd4206df516da1c6b1935f045e22e0ef7f0709 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-05 08:47:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-05 08:53:21 +0900 Get rid of nested string interpolations to be editor-friendly commit 390a9d3b725a4ea7852f2cabf066b78855869472 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-02-04 21:51:57 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-02-04 21:51:57 +0900 just use STDOUT commit 3c7a09ece8f5ddab2a0e71918dc976cd1cd0ec92 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-02-04 20:54:20 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-02-04 20:56:13 +0900 Add call-seq to Pathname#open from File.open before: ``` open(p1 = v1, p2 = v2, p3 = v3) ``` commit 9b9a621ae35bd6aefe78ff8a22874d8036ddd883 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-02-04 20:54:48 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-02-04 20:54:48 +0900 On Windows it cannot receive fd except 0..2 commit 0529fead361c05754550e39daaa54076a04df6a3 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-02-04 19:29:27 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-02-04 19:30:11 +0900 assert_separately uses their own pipe instead of stdout commit 7d6903dc476f982e7b432adbeef3a3d9372a309f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-04 15:21:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-04 16:10:39 +0900 Add the loaded feature after no exception raised Retrying after rescued `require` should try to load the same library again. [Bug #16607] Notes: Merged: https://github.com/ruby/ruby/pull/2879 commit 9cdc964d075fc3d21b8ce8456ac88f57a5183ec0 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-04 14:41:52 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-04 14:41:52 +0900 Do not warn CR inside string literal commit 7a51d979cf9c98209b7c1b1d54016348e8124904 Author: Lars Kanis <kanis@comcard.de> AuthorDate: 2020-01-27 21:15:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-04 08:24:59 +0900 Fix inaccuracy in encoding tests These tests assume Encoding.find('locale') == Encoding.find('external') and fail if they are distinct. commit 7c165bd7d9451cc5c9fc833807ca071d7012e138 Author: Mikhail Novosyolov <m.novosyolov@rosalinux.ru> AuthorDate: 2020-01-26 22:37:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-04 08:04:13 +0900 Fix linkage of popen_deadlock test DEBUG: BUILDSTDERR: /usr/bin/ld: infinite_loop_dlsym.o: in function `native_loop_dlsym': DEBUG: BUILDSTDERR: /builddir/build/BUILD/ruby-2.7.0/ext/-test-/popen_deadlock/infinite_loop_dlsym.c:16: undefined reference to `dlsym' DEBUG: BUILDSTDERR: collect2: error: ld returned 1 exit status Ruby was built with LibreSSL. Notes: Merged: https://github.com/ruby/ruby/pull/2862 commit a4fca28b805cc8714cad1107424d97b822bf6414 Author: Lars Kanis <kanis@comcard.de> AuthorDate: 2020-01-29 23:23:03 +0900 Commit: Aaron Patterson <tenderlove@github.com> CommitDate: 2020-02-04 01:42:01 +0900 Fix description of Encoding.default_(in|ex)ternal Data written to files is not transcoded per default, but only when default_internal is set. The default for default_internal is nil and doesn't depend on the source file encoding. Notes: Merged: https://github.com/ruby/ruby/pull/2878 commit f2552216d43040cd42bbb9fd484eab6c70856fe6 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-02-03 20:29:37 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-02-04 01:16:22 +0900 Fix SimpleDelegator respond_to? regression In 2.6, SimpleDelegator would always use the target `respond_to?` In 2.7.0 it doesn't if the target does not inherit from Object. This breaks compatibility for delegated objects that inherit from BasicObject and redefine `respond_to?`. Notes: Merged: https://github.com/ruby/ruby/pull/2875 commit 11963da9e8e98821860fbb0c0f2adc118860c814 Author: Seiei Miyagi <hanachin@gmail.com> AuthorDate: 2020-02-03 17:43:03 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-03 17:54:44 +0900 Check type of empty keyword [Bug #16603] Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/2874 commit a635c93fdebeda6347b8654af1a191e214ad7ccf Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-02-03 16:57:41 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-02-03 16:57:41 +0900 support MJIT with debug option. VM_CHECK_MODE > 0 with optflags=-O0 can not run JIT tests because of link problems. This patch fix them. commit db69c5098781087c954e5fc0aaf3079a66f6d6d5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-03 14:19:02 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-03 14:19:02 +0900 Parenthesized macro arguments commit 0ab7f2f2220cb40aa4c25f858b60eb9b4e9cb477 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-03 13:07:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-03 13:07:34 +0900 Make `rb_scan_args_kw` inline too commit 48c851f86846b273fba0692d5eae1eadf8bf9445 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-03 10:49:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-03 12:48:41 +0900 Moved runtime assignments Separate assignments of dynamically given runtime values in `rb_scan_args_assign` from parsing statically given format in `rb_scan_args_parse`. commit 0fa43b0c1b0126ed714733486eb20f70bec953f8 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-03 11:51:10 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-03 11:51:10 +0900 test/rubygems/test_gem_remote_fetcher.rb: Remove a duplicated test https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu1604/ruby-master/log/20200203T003005Z.log.html.gz ``` /home/hsbt/chkbuild/tmp/build/20200203T003005Z/ruby/test/rubygems/test_gem_remote_fetcher.rb:485: warning: method redefined; discarding old test_fetch_path_socket_error /home/hsbt/chkbuild/tmp/build/20200203T003005Z/ruby/test/rubygems/test_gem_remote_fetcher.rb:167: warning: previous definition of test_fetch_path_socket_error was here ``` commit 9a446fd7ba73d9b74765a04fa745798af50c6d2e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-03 08:44:51 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-03 08:44:51 +0900 `struct rb_scan_args_t::vargs` is never used commit fae537259da3dd61fb62ae65d382a0ddc7c215dc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-02 23:09:25 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-02-02 23:09:25 +0900 Removed no longer used variable `last_hash` 1. By substituting `n_var` with its initializer, `0 < n_var` is equivalent to `argc > argi + n_trail`. 2. As `argi` is non-negative, so `argi + n_trail >= n_trail`, and the above expression is equivalent to `argc > n_trail`. 3. Therefore, `f_last` is always false, and `last_hash` is no longer used. Notes: Merged: https://github.com/ruby/ruby/pull/2873 Merged-By: nobu <nobu@ruby-lang.org> commit 06c37fa5b4834c81470213a04dc73a63e69e9776 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-02-01 02:59:46 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-02 03:28:20 +0900 [ruby/reline] Bypass cursor down when a char is rendered at eol on Windows A newline is automatically inserted if a character is rendered at eol on Windows command prompt. https://github.com/ruby/reline/commit/4bfea07e4a commit 16d4774da1f0c5f5a78dff752780e77ebdf9b2f8 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-31 04:24:44 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-02 03:28:07 +0900 [ruby/reline] Fix Reline::Windows#scroll_down I mistook Right and Bottom. https://github.com/ruby/reline/commit/8be401c5f5 commit ac1f4fa469cfcced9639dd1b148abe37a957c8e7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-01 16:27:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-02 03:25:33 +0900 [ruby/irb] Exclude useless files from RDoc https://github.com/ruby/irb/commit/8f1ab2400c commit 7e2ed7d1aaee74b6d1df82f8f97677c513b3878b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-29 00:21:25 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-02-02 03:22:51 +0900 [ruby/irb] Add a new easter egg: dancing ruby https://github.com/ruby/irb/commit/e37dc7e58e commit a7e1e310dc828b209852af5535d3a38b704de2c9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-02-01 17:03:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-02-01 17:03:59 +0900 [ruby/irb] Exclude useless files from RDoc commit 7cff2f458575237bc9f673a2001f56b5924920c8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-02-01 14:02:05 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-02-01 14:02:59 +0900 fix delete unnecessary return Was my mistake to put return here. commit 563f177aa41519db655359576386d438e3694c48 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-01 11:31:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-01 11:31:46 +0900 UnpackedInstaller on rbinstall.rb is inherited from Gem::Installer. It also needs to explicitly convert from String to Gem::Package with initialization. commit f8df531bbf4ae662fe6de2cf210a274c97d76bf3 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-01 11:23:34 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-01 11:23:34 +0900 Gem::Installer.new(String, options) is obsoleted. Explicitly converted to Gem::Package from String instance. commit 600a715c9bde99fe2e9a669465d78833445273e8 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-02-01 11:14:04 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-02-01 11:14:57 +0900 Merge the current master branch of rubygems/rubygems. Just started to develop RubyGems 3.2.0. commit fac4385f01bdd389f336b8c34cb72cd031658bd3 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-02-01 00:04:45 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-02-01 00:04:45 +0900 compile.c: remove a unused variable commit 05229cef45fe04ed2bd0effd35eef271f7599879 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-31 16:53:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-31 17:12:05 +0900 Improve `String#slice!` performance Instead of searching twice to extract and to delete, extract and delete the found position at the first search. This makes faster nearly twice, for regexps and strings. | |compare-ruby|built-ruby| |:-------------|-----------:|---------:| |regexp-short | 2.143M| 3.918M| |regexp-long | 105.162k| 205.410k| |string-short | 3.789M| 7.964M| |string-long | 1.301M| 2.457M| Notes: Merged: https://github.com/ruby/ruby/pull/2871 commit 0dd6f020fcffd26cb89ee9eda59b15483e160f45 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-31 14:24:07 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-31 14:24:07 +0900 Make `empty_string` a fake string commit cdd75d4e7f0402a0537c516b7331a036347b0fa9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-31 12:01:39 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-31 13:01:52 +0900 support C++ std::nullptr_t C++ keyword `nullptr` represents a null pointer (note also that NULL is an integer in C++ due to its design flaw). Its type is `std::nullptr_t`, defined in <cstddef> standard header. Why not support it when the backend implementation can take a null pointer as an argument. commit 4942adf68cd2d8ab0a3ca64a787bdf55e119b337 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-31 12:52:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-31 12:52:22 +0900 Return the makefile content Block for `create_makefile` is expected to return the content of the makefile. commit 0c4bbb46f10451b8c29db9ae310e7dd6822d7c95 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-31 12:11:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-31 12:13:00 +0900 Removed type-punning pointer casts around `st_data_t` commit 52dc0632faa8450af90e37ef3c2c9f30d06951a1 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2020-01-27 22:47:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-31 09:22:20 +0900 Avoid allocating a temporary empty string in String#slice! Notes: Merged: https://github.com/ruby/ruby/pull/2863 commit ca2888fb3d23d702738873f5c0f956575fd3c5d3 Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-01-31 08:00:56 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-01-31 08:00:56 +0900 Move .IGNORE in extconf.rb commit 9aed421d70df65dcada8f529197166166f50357e Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-01-31 06:34:49 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-01-31 06:47:55 +0900 Support nmake commit 39a1959d289ecba5e61431deaef239123c3f0fcc Author: Florian Heinle <florian.heinle@xbav.de> AuthorDate: 2020-01-30 20:45:21 +0900 Commit: Aaron Patterson <tenderlove@github.com> CommitDate: 2020-01-31 05:35:15 +0900 Fix wrong return value in proc documentation. Notes: Merged: https://github.com/ruby/ruby/pull/2868 commit 53adb53c9aea5da98ed3e470983b2cbfe367cb7d Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-01-31 02:46:05 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-01-31 03:05:51 +0900 Ignore expected errors on compiling C++ source [Bug #16331] BSD make can run parallel more aggressively than GNU make. It communicate with other make process through -J option in MAKEFLAGS environment variable to notify a build failure happened in an other pararell make process. https://www.freebsd.org/cgi/man.cgi?make It usually works well but ext/-test-/cxxanyargs/Makefile has two targets which are expected to fail (failure.o and failurem1.o). Additional note: To test and debug this issue, following command will speed up it. `make -f exts.mk -j8 clean all` commit 18e7f9000dc3695b9db02ae153d41bd1efa01d6e Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2020-01-30 10:24:39 +0900 Commit: Aaron Patterson <tenderlove@ruby-lang.org> CommitDate: 2020-01-31 01:23:07 +0900 Use `rb_gc_mark` when marking globals I think global references should either be 0 or valid heap pointers. `rb_gc_mark_maybe` checks to see if the pointer is a valid heap pointer, but I believe we already know they are valid addresses commit 9bcf4f3db26249772c983896ebbc9ff41f4614db Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-21 11:47:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-30 22:13:29 +0900 delegate.rb: fixed keyword arguments in DelegateClass `Delegator.delegating_block` should delegate keyword arguments separately. [ruby-core:96949] Notes: Merged: https://github.com/ruby/ruby/pull/2852 commit 3893a8dd42fb3bbd71750648c3c0de118955a6ea Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-30 17:47:09 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-30 17:47:09 +0900 Optimized branches in pattern matching commit e6334fd45064cb720399bf6aa75116ec62a88357 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-30 12:04:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-30 12:05:18 +0900 Unnamed groups are not captured when named groups are used commit f7f8dc5fd47bcd79e8e46cd321ad0dec9e0ec5cd Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-30 11:31:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-30 11:31:48 +0900 Unnamed groups are not captured when named groups are used commit 5d124a3b68982e779946804b5b9578c403c6bdf2 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-28 03:21:02 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-29 15:11:59 +0900 [ruby/reline] Support GNOME style Home/End key sequences [Bug #16510] https://github.com/ruby/reline/commit/788f0df845 commit d142b37bdc05986f5caec8981550e97cfb7b1ce0 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-29 14:58:43 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-29 15:00:03 +0900 Add more debug print https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11s-sunc/ruby-master/log/20200129T022510Z.fail.html.gz commit 7b4b01424fe7448133c63e9415edf075a3c760b9 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-29 14:01:00 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-29 14:01:00 +0900 skip SEGV (BUG) tests if ENV['RUBY_ON_BUG'] is given. This environment variable can show additional message on BUG. commit 46173eeb64245ff533dafddd3d74338763c0bb35 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-29 13:07:56 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-29 13:08:40 +0900 support multi-run for test/ruby/enc/test_regex_casefold.rb should not mutate test data. commit 98f6c74b429f9e8afccb000da4a50920479dffd6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-29 10:12:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-29 10:14:15 +0900 Isolate the PRNG for tmpdir/tempfile To get rid of conflicts affected by `srand`. commit 7d02441f0d6e5c9d0a73a024519eba4f69e36dce Author: Alan Wu <alanwu@ruby-lang.org> AuthorDate: 2020-01-29 06:11:53 +0900 Commit: Alan Wu <alanwu@ruby-lang.org> CommitDate: 2020-01-29 06:11:53 +0900 Fix file dependency in make commit 809f0b8a1357f14f9645210d4812f4400c8d397e Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-01-29 04:47:48 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-01-29 04:47:48 +0900 Update to ruby/spec@f8a2d54 commit ed377cc9aaf1ccbede19ddc6c464f5fbf3cabc34 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-01-29 04:47:46 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-01-29 04:47:46 +0900 Update to ruby/mspec@9bce874 commit 6321a685826f6459a6ef4aeaa18080f07494ee99 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-01-29 02:37:42 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-01-29 02:37:42 +0900 Run specs on Ruby 2.7 too to make sure they keep passing * With keyword argument changes, it's more likely to break only 2.7 and not other versions. * A few specs were broken on 2.7.0 recently, this should catch them earlier. commit 766f8a7a60f32ab27c2faaa9120f47f00a5e646d Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-29 02:26:02 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-29 02:26:02 +0900 Fix some spec breakage on 2.7 related to keyword arguments These specs were probably added in the commit to fully separate keyword arguments after the release of 2.7.0, but apparently not tested on 2.7 before hand. The enclosing ruby_version guard for these specs limits them to 2.7. commit fe8573f31ab4b48d0c3214dbf15ba66a192c078a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-01-29 02:12:24 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-01-29 02:12:24 +0900 Run specs against the latest release of 2.4 commit 0ad0e638872a07eafb87989681b05d24d9e0c87f Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-01-29 02:01:59 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-01-29 02:01:59 +0900 Fix version guard in __dir__ spec commit 534536c7cc69970fead43df048d55efe518a03f3 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-29 01:26:51 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-29 01:27:17 +0900 fix test cleanup. should remove pathname. commit 650f152d2f5ed929c76cd7e7cf17270e53ac346c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-29 00:55:27 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-29 00:56:51 +0900 Revert "srand() should not run in tests." This reverts commit 4d132fa130e16eeb4af4177cfaccc00e05e2f864. There are discussions about using srand() in tests. I'll write a ticket about it and continue to discuss. commit 0cfba9cdd9c18b0245b088ed5b460f0d6f90d586 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-29 00:55:11 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-29 00:55:11 +0900 Revert "remove debug code." This reverts commit 65768c80beb64a14c3e918f8ed5e41e9349025d0. commit e7571f163b791d8ca5df389ba97e7d4acadbf480 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-29 00:50:25 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-29 00:54:05 +0900 restore $LOADED_FEATURES. Dir.tmpdir can return same directory because of rand() value, so we shouldn't rely on different name. commit 7882c43fc306c1100be8e1648f3d1caa48d50a8a Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-29 00:49:53 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-29 00:54:05 +0900 refactoring: use Proc and Constant. commit 29e31e72fb5a14194a78ec974c4ba56c33ad8d45 Author: Tanaka Akira <akr@fsij.org> AuthorDate: 2020-01-29 00:01:57 +0900 Commit: Tanaka Akira <akr@fsij.org> CommitDate: 2020-01-29 00:01:57 +0900 ruby_reset_timezone resets leap_second_info. [Bug #15177] commit 338c5b8c1dc061e9f8d21f6d9f5ac053c4497383 Author: Tanaka Akira <akr@fsij.org> AuthorDate: 2020-01-28 23:40:25 +0900 Commit: Tanaka Akira <akr@fsij.org> CommitDate: 2020-01-28 23:40:25 +0900 Extract a function, ruby_reset_timezone(). Initial implementation of ruby_reset_timezone() assigns ruby_tz_uptodate_p to false. commit 17715153e5cb651b91eab097c561add7ffd2eb97 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-28 22:22:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-28 22:28:45 +0900 Revert "Added RDoc files to parse [Bug #16596]" This reverts commit 10842daeb571126a090cb10dedf0cda8c2b7f9a8, because it has no effect and the rdoc file has been installed to lib/racc/rdoc directory. commit 65768c80beb64a14c3e918f8ed5e41e9349025d0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 18:29:42 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 18:29:42 +0900 remove debug code. commit 4d132fa130e16eeb4af4177cfaccc00e05e2f864 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 17:56:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 18:24:05 +0900 srand() should not run in tests. test_rand.rb calls srand() several times, however it change global rand-sequence (and --seeds doesn't have meaning). This patch makes such tests run in other processes. Notes: Merged: https://github.com/ruby/ruby/pull/2865 commit 471a9693118d0e6897b50dbbd935a237ad637398 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 18:20:06 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 18:20:06 +0900 use Minitest::Unit.current_repeat_count to skip multi-run. commit dd64c34682bfcb976ec6fb0c6182fb09d9d790d3 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 18:15:14 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 18:15:14 +0900 support multi-run for test/ruby/test_time.rb ruby/test_time_tz.rb (not sure only this file affects) changes TZ and it seems to change internal state. This internal state change fails test_2038 and test_timegm on 2nd time execution. At this time I have no idea how to fix this issue, so I skips these tests on 2nd trial. You can try this failure with the following command without this patch. $ make test-all TESTS='--repeat-count=2 ruby/require ruby/time ruby/time_tz' commit 20c1c240145b7db66014020e233b23d12574efae Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 18:13:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 18:13:58 +0900 Minitest::Unit.current_repeat_count This method returns loop counter for multi-run (0 start). commit 151533e4bc9dff8efefb251dd25b1d57d3082d19 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 17:53:20 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 17:55:18 +0900 support multi-run for test/ruby/test_autoload.rb Another test defines Object::A, but it will fail 2nd test. commit 83d6487ae5c5df6c463373b36ccf1bee3f91d386 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 17:20:16 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 17:29:57 +0900 fix rb_define_global_function to take const VALUE* It was unable for rb_define_global_function to take VALUE(*)(int argc, const VLAUE *argv, VALUE self) -style function. Test added. commit bbe3420cce30de74b8c4a4f21adecf57a7d52395 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 17:08:20 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 17:09:42 +0900 add test for rb_define_global_function was missing. commit 16592d6b69dc2538f419edcbd4c91ebb917db5ac Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 17:05:43 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 17:09:42 +0900 add test for rb_define_method_id was missing. commit 3c3eb418f9ce05740e5ca506b9cd5fe5cabc4bb6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 17:02:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 17:09:42 +0900 improved support for rb_f_notimplement rb_f_notimplement should be accepted for all possible arities. Test provided for that. commit 7cf5d547e422134d506d37a179f64be9e98b105c Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 16:52:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 17:09:42 +0900 delete duplicated function overload The `using engine<...snip...>::define;` line already defines this function. We don't have to repeat. commit 03df02e8716fa698c3dbc3fae0af80baa2096ddf Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 16:49:00 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 17:09:42 +0900 fix typo Add missing `*`. commit 0a2e0db483883b5fe24233d6f83d38fd7c6db657 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 13:54:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 15:42:57 +0900 delete RB_METHOD_DEFINITION_DECL_1 This macro is no longer useful. Just expand it. Notes: Merged: https://github.com/ruby/ruby/pull/2864 commit 31fc34c969e2342e24fa52519d7b0a3b950a43e9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 13:29:13 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 15:42:57 +0900 delete unreachable branch Case of __cplusplus is handled in cxxanyargs.hpp now. These deleted codes no longer reachable. Notes: Merged: https://github.com/ruby/ruby/pull/2864 commit 01825e8bffde9f4517e60878f8a829f91c361d68 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-28 11:43:33 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 15:42:57 +0900 template metaprogramming instead of macros C++ (and myself) hates macros. If we could do the same thing in both preprocessor and template, we shall choose template. This particular part of the ruby header is one of such situations. Notes: Merged: https://github.com/ruby/ruby/pull/2864 commit ab33b3d6915fe40734cdeaac5f2104fa8792c8a9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-27 14:34:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-28 15:42:57 +0900 move macros around Would like to edit them in forthcoming commit. Notes: Merged: https://github.com/ruby/ruby/pull/2864 commit 9552262bb2e293efa6e8f535d68623f2ecd13360 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 15:21:26 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:52 +0900 support multi-run for test/ruby/test_struct.rb Remove Structs to avoid redefinition warnings. commit 4df0819c5d8b7d11e3fa1d2ba45fe7da68a0e064 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 15:15:19 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_settracefunc.rb need to remove Constants. commit 0f03c1433ef6a17acd64f4dc4a539b4630e975aa Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 14:44:12 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_primitive.rb need to redefine some classes. commit 9b65bfdc9e5eb8a36fdd464ed7534ed2a9557ea7 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 14:35:38 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_refinement.rb Give up to support multi-run: * test_method_should_use_refinements * test_instance_method_should_use_refinements I hope someone can revisit it. commit 56b0300f24bc2bce6309279e2c07e8a1f08044e4 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 14:21:44 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_proc.rb Mysterious error: `remove_method(:foo) if method_defined?(:foo)` raise an exception `method `foo' not defined in #<Class:#<TestProc:0x000055d12ff154e0>>` This patch rename the method name foo to foo_arity to solve it. commit 1bc731cb65cfd9baae718b9a8588e668dd1c75e0 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 14:16:06 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_module.rb add cleanup code in some tests. commit cc2fe6936c0e9b815d43a942d2bb7dff0363ccf6 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 13:58:01 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_method.rb need to restore a method. commit ac2b945bc0182859ea538dc6b02ad6945a5cf212 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 13:48:36 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_marshal.rb need to remove Constants. commit 251930cea0e935494b1e8cbbe851e63b978dbc80 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 13:43:30 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_iseq.rb need to remove a Constant. commit 962c7abb1373ee1ff7d5ce443b2872deac452b9d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 13:39:50 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_eval.rb need to remove a Constant. commit 5f7be6243a5b0cdbf1abc8967a512e48c2f1489e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 13:36:46 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for test/ruby/test_encoding.rb Unique encoding name is required. commit 14759e6907eaecc86ab06a3ddf107426c00cb2c5 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 13:31:22 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for ruby/test_const.rb need to redef Constants. commit 501e7f4959a1193c82adc1b661a85621952121b8 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 12:01:26 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for ruby/test_basicinstructions.rb cvar should be initialized at first. commit b17bab7472a0491071c7da9e8b41305d3687a341 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 11:58:09 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multi-run for ruby/test_autoload.rb It requires more cleanup. commit 8dbd5c76a0ed26d4adb440fee97c3f25ee6bdcf9 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-28 11:43:01 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-28 15:23:51 +0900 support multiple run for test/ruby/test_array. test-all supports multiple run with option --repeat-count=2 but test_equal_resize doesn't support it. commit 10842daeb571126a090cb10dedf0cda8c2b7f9a8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-28 10:01:22 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-28 10:04:25 +0900 Added RDoc files to parse [Bug #16596] commit 33d02e6bc7502c5a3f09c59908a8c9f08a474b8d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-28 09:18:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-28 10:04:25 +0900 Skip empty directories to install [Bug #16596] commit 1ddc719a562b1ee4c3ae6cf4d1f6c386e142b087 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-27 16:12:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-27 16:12:15 +0900 Check the encoding of `half:` option commit af899503a646f20d63d4aa2f358894b98f85dab7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-27 10:46:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-27 10:52:37 +0900 Moved `GC.verify_compaction_references` to gc.rb And fixed a segfault by coercion of `Qundef`, when any keyword argument without `toward:` option is given. commit 9b55a9649fb1973180559a067cfee0d6f234fef8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-27 10:10:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-27 10:19:09 +0900 Removed useless "spec"s It is not specific to particular methods that keyword option arguments are coerced to `Hash`es using `to_hash` method. commit e710e9e886c5b56a6c5f6a034748a498114fc3db Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-27 10:07:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-27 10:07:46 +0900 Fixed missing dependency on array.rb commit 838fa941f157537ebaa98150fab7664bf602f356 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-26 19:52:16 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-26 20:03:27 +0900 Add more debug print https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-master/log/20200125T032406Z.fail.html.gz ``` IMAPTest#test_connection_closed_without_greeting [/export/home/rubyci/chkbuild-tmp/tmp/build/20200125T032406Z/ruby/test/net/imap/test_imap.rb:485]: [Net::IMAP::Error] exception expected, not #<RuntimeError: {:"server before close"=>"#<TCPServer:fd 10, AF_INET6, ::1, 48515>", :sock_addr=>["AF_INET6", 48515, "::1", "::1"], :sock_peeraddr=>["AF_INET6", 35223, "::1", "::1"], :e=>#<Errno::EINVAL: Invalid argument - connect(2) for [::1]:48515>, :server=>#<TCPServer:(closed)>, :port=>48515, :server_addr=>"::1"}>. ``` commit d4e1d4e94e866d498ead1f370236df216917a6c7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-26 18:34:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-26 19:45:58 +0900 Moved Array#sample to rbinc commit 29eb1b16028928139dcaa236beb6d351c85f434c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-26 18:27:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-26 19:40:34 +0900 Moved Array#shuffle and Array#shuffle! to rbinc commit 0aa5195262d4193d3accf3e6b9bad236238b816b Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-26 12:58:25 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-26 12:58:25 +0900 Use test_mode on Reline::History::Test for encoding commit c257d811862b9e29ccff4305d836077835091112 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-26 12:55:13 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-26 12:57:13 +0900 Always use UTF-8 for Reline::GeneralIO on Windows commit 8f4beec15291b1fae80be42685c61a6e5f9ce369 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-25 23:50:10 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-26 12:50:11 +0900 Always refer to Reline::IOGate.encoding commit aacd918340e20e4556a6369c3f5933226b0bb093 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-26 07:40:56 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-26 07:40:56 +0900 Do not use `git pull` because origin/master was already fetched. commit da2d6ca8f180a1d88f08fa09812ab3b333cc5c9d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-26 07:37:50 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-26 07:38:20 +0900 Show the repository name before update task commit 4396ced07dca5599c022a7e86e8f046915982087 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-25 19:48:10 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-25 19:48:10 +0900 spec/ruby/core/process/times_spec.rb: add an output code for debugging commit b4711a0fa0d0a8d9a01ac4f9ac1051f192b93cf2 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-25 14:14:05 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-25 14:14:05 +0900 test/rinda/test_rinda.rb: Increase the timeout Attempts to fix a occasional failure on Solaris with sunc https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20200124T160008Z.fail.html.gz ``` 1) Error: Rinda::TestRingServer#test_do_reply: Timeout::Error: timeout ``` commit 0c436bbfbf3b28fab8abfcbda9b8f388fa22290a Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-20 00:41:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-25 14:06:38 +0900 Recheck array length after `to_str` conversion https://hackerone.com/reports/244787 commit 2b2821acd39530c6c786e34f304e9e018a31e5c4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-20 00:29:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-25 13:57:33 +0900 Recheck elements type after `to_str` conversion https://hackerone.com/reports/244786 commit c1d8829ef515ee51fadeadd7dd022b5c47a71cdd Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-25 05:13:41 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-25 06:04:14 +0900 Do not autosplat when calling proc with empty keyword splat With the removal of the splatted argument when using an empty keyword splat, the autosplat code considered an empty keyword splat the same as no argument at all. However, that results in autosplat behavior changing dependent on the content of the splatted hash, which is not what anyone would expect or want. This change always skips an autosplat if keywords were provided. Fixes [Bug #16560] Notes: Merged: https://github.com/ruby/ruby/pull/2861 commit 80bbc7f402ee641c06840e06ecc7184648ca8c2a Author: NARUSE, Yui <naruse@airemix.jp> AuthorDate: 2020-01-24 15:16:13 +0900 Commit: NARUSE, Yui <naruse@airemix.jp> CommitDate: 2020-01-24 15:17:02 +0900 Add #verify_hostname= and #verify_hostname to skip hostname verification [Feature #16555] https://github.com/ruby/ruby/pull/2858 commit a19228f878d955eaf2cce086bcf53f46fdf894b9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-23 15:33:42 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-24 10:49:35 +0900 brace the fact that lchmod(2) can EOPNOTSUPP Musl libc has this function as a tiny wrapper of fchmodat(3posix). On the other hand Linux kernel does not support changing modes of a symlink. The operation always fails with EOPNOTSUPP. This fchmodat behaviour is defined in POSIX. We have to take care of such exceptions. commit 50925b64099df2021f7cdf652f7e807808cb1482 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-23 12:14:19 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-24 10:49:35 +0900 reroute musl unistd.h weirdness Musl is (of course) not glibc. Its confstr(3) does not understand _CS_GNU_LIBC_VERSION. That's fair. Problem is, its unistd.h has that constant defined for unknown reason. We cannot blindly say the libc is glibc by looking at it. Instead we have to kick it, then see if it quacks like a duck. See https://git.musl-libc.org/cgit/musl/tree/include/unistd.h commit 3b9f36d6c6a4e02bf6c9bc99e953d5e558ee2fe6 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-23 11:59:37 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-24 10:49:35 +0900 pass appropriate libc path The same as https://github.com/ruby/ruby/pull/2686, but for musl libc. Musl is not named as libc.so.6 so the `ldd` hack implemented some lines below does not work. commit db82c680cdc1cf282e5792ca682ed719ae5879db Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-24 10:29:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-24 10:29:33 +0900 doc/make-cheetsheet.md: Added commit f8a8f055123bc81fc13fa295b936504196df0da4 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-23 11:12:34 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-24 02:30:29 +0900 Remove empty keyword splats when calling even when using ruby2_keywords Keeping empty keyword splats for ruby2_keywords methods was necessary in 2.7 to prevent the final positional hash being treated as keywords. Now that keyword argument separation has been committed, the final positional hash is never treated as keywords, so there is no need to keep empty keyword splats when using ruby2_keywords. Notes: Merged: https://github.com/ruby/ruby/pull/2857 commit 2bde7919a0a8302c344e9bb9ddc217958fcbd3c7 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-01-19 20:49:15 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-24 02:22:38 +0900 Clarify const_source_location docs Notes: Merged: https://github.com/ruby/ruby/pull/2850 commit 109183c2c0902a0af735b2660737e1724307b264 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-23 22:03:13 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-23 22:03:13 +0900 Guarded the examples for deprecated "taint" commit 27ac1c615d2a2884435a162403e2833716abf436 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-23 21:49:58 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-23 21:49:58 +0900 Revert pathname, rb_warn_deprecated* are not public API commit aefb13eb631cc5cd784fe2fc10f1f333a2c5e68c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-23 21:42:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-23 21:42:15 +0900 Added rb_warn_deprecated_to_remove Warn the deprecation and future removal, with obeying the warning flag. commit 0ea759eac9234afc47e8fb1bcacfe9ee12c8ffb6 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2020-01-23 18:59:26 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2020-01-23 18:59:26 +0900 Add more direct test for pp with a ruby2_keywords Hash commit be6931f7f7d2eed46226f0cc452de64cdeec0dab Author: Yuta Iwama <ganmacs@gmail.com> AuthorDate: 2020-01-23 17:23:17 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2020-01-23 17:23:17 +0900 Add #verify_hostname= and #verify_hostname to skip hostname verification (#2858) According to https://github.com/ruby/openssl/pull/60, > Currently an user who wants to do the hostname verification needs to call SSLSocket#post_connection_check explicitly after the TLS connection is established. if an user who wants to skip the hostname verification, SSLSocket#post_connection_check doesn't need to be called https://bugs.ruby-lang.org/issues/16555 commit 890200e85e5237d9656a6b72e792effbcaa5460a Author: aycabta <aycabta@gmail.com> AuthorDate: 2019-12-03 12:54:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-23 13:35:45 +0900 Check DONT_RUN_RELINE_TEST envvar commit 0d3e4b8a79dcbc25ab63819e1c05f31424560835 Author: aycabta <aycabta@gmail.com> AuthorDate: 2019-12-03 12:46:55 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-23 13:31:19 +0900 Use omit instead of skip commit f09c1cf0e932095cd507e68126427a773713a92f Author: aycabta <aycabta@gmail.com> AuthorDate: 2019-12-03 12:46:14 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-23 13:31:19 +0900 Skip a test that uses assert_ruby_status if it doesn't exist commit a737f0cea5dd3a26389c0042d312ff7252de88bb Author: aycabta <aycabta@gmail.com> AuthorDate: 2019-12-03 12:36:01 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-23 13:31:19 +0900 Stop using minitest dependent methods commit 425b2064d394639101854c83a061a0918b33b857 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-07-14 13:06:22 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-23 13:31:19 +0900 [ruby/readline-ext] Include ruby/assert.h in ruby/ruby.h so that assertions can be there https://github.com/ruby/readline-ext/commit/4d44c12832 commit e18b817b1f0a4c318f1f0fe54fceaa5cbc85e8ab Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-23 02:18:08 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-23 04:19:13 +0900 Make taint warnings non-verbose instead of verbose Notes: Merged: https://github.com/ruby/ruby/pull/2856 commit 28d31ead34baff1c4abc0d7d902ef4bc1d576fb2 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-22 09:14:10 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-23 03:27:02 +0900 Fix pp when passed a empty ruby2_keywords-flagged hash as array element This causes problems because the hash is passed to a block not accepting keywords. Because the hash is empty and keyword flagged, it is removed before calling the block. This doesn't cause an ArgumentError because it is a block and not a lambda. Just like any other block not passed required arguments, arguments not passed are set to nil. Issues like this are a strong reason not to have ruby2_keywords by default. Fixes [Bug #16519] Notes: Merged: https://github.com/ruby/ruby/pull/2855 commit e91c39f1c0f7d5e670266d9593d533fd444957f6 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-18 04:36:52 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-23 02:09:47 +0900 Remove special handling of $SAFE and related C-APIs These were all deprecated in Ruby 2.7. Notes: Merged: https://github.com/ruby/ruby/pull/2845 commit 461db352c22c0ffb5c0db295238f97f44168e6cc Author: 0x005c <52650857+0x005c@users.noreply.github.com> AuthorDate: 2020-01-08 20:40:08 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-01-22 20:11:03 +0900 Rename RUBY_MARK_NO_PIN_UNLESS_NULL to RUBY_MARK_MOVABLE_UNLESS_NULL Notes: Merged: https://github.com/ruby/ruby/pull/2823 commit c90fc55a1f4630aae862e2d409c933edea3a5d5d Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-22 16:04:38 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-22 16:04:38 +0900 Drop executable bit of *.{yml,h,mk.tmpl} commit 9e3bfed53ced0ce2970710338863f811759c8d67 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-22 16:02:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-22 16:02:10 +0900 Added usage documentation for sync_default_gems commit cdaae38f79345bfb4604c98f915c6e12593b6a57 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-22 13:44:41 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-22 13:44:49 +0900 Use gem name to specify commit 913dc64eb6bbc85a05c67f341da2b596f678f09f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-22 08:54:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-22 08:54:49 +0900 Drop executable bit set by 25f2005a638570cce832d218a451072057610f06 commit 5798d35ff66e468ebf296c4069ede275d7fb0ec9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-21 22:45:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-21 22:45:10 +0900 Also check EWOULDBLOCK as well as EAGAIN commit 25f2005a638570cce832d218a451072057610f06 Author: Xia Xionjun <xxjapp@gmail.com> AuthorDate: 2020-01-21 22:41:45 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-21 22:41:45 +0900 fix load error with EAGAIN This is a fix related to the following issue. rails/rails#33464 Not only in rails apps, some little ruby app with only 2 or 3 ruby files reproduce the problem during many years. When I edit linux ruby files by vs code via samba on windows, and then I execute the ruby files on linux, "require_relative" will sometimes not work properly. My solution is to wait a monument if the required relative file is busy. Notes: Merged: https://github.com/ruby/ruby/pull/2702 commit b0ca1fc21bbb9dac65a3b3f7b5935e691ece1501 Author: Lars Kanis <lars@greiz-reinsdorf.de> AuthorDate: 2020-01-19 05:22:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-21 21:26:58 +0900 Reline: Fix changed test results due to change to UTF-8 on Windows In commit f8ea2860b0cac1aec79978e6c44168802958e8af the Reline encoding for native windows console was changed to hardcoded UTF-8. This caused failures in reline and readline tests, but they were hidden, because parallel ruby tests incorrectly used Reline::ANSI as IOGate. Tests failures were raised in single process mode, but not with -j switch. This patch corrects encodings on native Windows console. Notes: Merged: https://github.com/ruby/ruby/pull/2848 commit d1166c6d3942303b812c475129a84f1025b1db1f Author: Lars Kanis <lars@greiz-reinsdorf.de> AuthorDate: 2020-01-19 02:46:37 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-21 21:26:58 +0900 Reline: Use a more robust detection of MinTTY The previous detection per get_screen_size fails when stdout is passed to a pipe. That is the case when running ruby tests in parallel ("-j" switch). In this case Reline believes that it's running on MinTTY and the tests are running with ANSI IOGate instead of the Windows adapter on MINGW. So parallel test results were different to that of a single process. This commit fixes these differences. The code is taken from git sources and translated to ruby. NtQueryObject() is replaced by GetFileInformationByHandleEx(), because NtQueryObject() is undocumented and is more difficult to use: https://github.com/git-for-windows/git/blob/c5a03b1e29c69f3f06c8fabd92493edb73469176/compat/winansi.c#L558 Notes: Merged: https://github.com/ruby/ruby/pull/2848 commit 1de7941ff845ade36cc17c1325dc3453dab75f90 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-21 18:04:20 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-21 18:13:54 +0900 DocumentRoot is optional since 2.3.0 https://github.com/ruby/ruby/commit/0b9d86f29be8e3d4fa0958bf3db41907e21ad1a0 commit 8113f3fee4a962321b6107e58496afc6733c299c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-21 16:58:00 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-21 16:58:00 +0900 add default break points commit 97d75639a9970ce3868ba91a57be1856a3957711 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-21 14:21:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-21 14:21:15 +0900 VALUE is narrower than rb_serial_t VALUE and rb_serial_t do not agree with their width. We have to be consistent. Assigning an rb_serial_t value to a VALUE variable is practically a problem on a ILP32 environment. commit 2943ebd240bba9c50b1f2a245a9f9186c2255706 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-21 09:30:30 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-21 09:52:32 +0900 [ruby/reline] Implement vi_change_meta https://github.com/ruby/reline/commit/8538e0e10f commit 93ca212ddac5ac49134f2058c24db3948b6695c6 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-01-20 09:38:52 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-21 09:51:26 +0900 [ruby/irb] [ruby/irb] Rewrite an expression to detect multiline https://github.com/ruby/irb/commit/ed5cf375a6 https://github.com/ruby/irb/commit/5b7bbf9c34 commit 51a8055d7db8a6ae35a9f624700c0910ec20aeb8 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-01-16 13:13:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-21 09:51:16 +0900 [ruby/irb] Add newline_before_multiline_output https://github.com/ruby/irb/commit/9eb1801a66 commit f451bb5406878e1ac9ce9d37952f171837d0cb09 Author: Lars Kanis <lars@greiz-reinsdorf.de> AuthorDate: 2020-01-18 03:30:28 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-20 19:13:19 +0900 [ruby/irb] Fix compatibility with rails before 5.2 Rails before 5.2 added Array#append as an alias to Array#<< , so that it expects only one argument. However ruby-2.5 added Array#append as an alias to Array#push which takes any number of arguments. If irb completion is used in `rails c` (for example "IO.<tab>") it fails with: irb/completion.rb:206:in `<<': wrong number of arguments (given 3, expected 1) (ArgumentError) Using Array#push instead of Array#append fixes compatibility. https://github.com/ruby/irb/commit/5b7bbf9c34 commit 3b407abe9b8da640dc07617d3dacac0057ca597f Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-17 20:17:23 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-20 19:13:19 +0900 [ruby/reline] Implement vi_prev_char and vi_to_prev_char https://github.com/ruby/reline/commit/0ad3ee63fa commit b17797a6940cb196c9893edc088828b49772554c Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-17 13:44:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-20 19:13:19 +0900 [ruby/reline] Implement vi_to_next_char https://github.com/ruby/reline/commit/066ecb0a21 commit 9f99760dafac6eaa53287470b8ff59b1be0bf6d6 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-20 16:53:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-20 16:58:58 +0900 Get rid of use of special variables Use `"\n"` and `IO#fileno` instead of `$/` and `$.` respectively. [Feature #14240] commit bdef392ec66168578053fabf8a81de48fd9e980c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-20 09:30:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-20 09:49:27 +0900 Fixed double closedir In the case that shinking the entries buffer to the exact size failed, `dirp` is already closed. Found by mame with Coverity Scan. commit 2f1081a451f21ca017cc9fdc585883e5c6ebf618 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-18 00:21:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-19 14:46:01 +0900 Sort globbed results by default [Feature #8709] Sort the results which matched single wildcard or character set in binary ascending order, unless `sort: false` is given. The order of an Array of pattern strings and braces are not affected. Notes: Merged: https://github.com/ruby/ruby/pull/2846 commit af6563f0242487781038f6e5304fb375102aff66 Author: Ryuta Kamizono <kamipo@gmail.com> AuthorDate: 2020-01-19 12:49:40 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-19 13:06:27 +0900 Fix typo s/test_ruby2_keywords_hash!/test_ruby2_keywords_hash/ In #2818, `Hash.ruby2_keywords!` has renamed to `Hash.ruby2_keywords_hash`. Notes: Merged: https://github.com/ruby/ruby/pull/2849 commit edf2cedc9c54c48a16f2e6e7cc44d02df8c0603c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-19 11:02:18 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-19 11:56:39 +0900 Allow rexml to fail on macOS of Github Actions And revert "Stop test-bundled-gems on macOS for now", 28b290f7f4cb332dab3ddf3132e1916d413ea65c. Notes: Merged: https://github.com/ruby/ruby/pull/2847 commit 496f295f91bc7cd1d15ff05fd593b5a3cf56d726 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-18 20:46:55 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-19 11:35:10 +0900 Test bundled gems with timeout commit 28b290f7f4cb332dab3ddf3132e1916d413ea65c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-19 09:48:33 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-19 09:48:33 +0900 Stop test-bundled-gems on macOS for now commit 979b32d76bfdd4ccf7ef708f2a120f47d5c563ec Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-18 18:46:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-18 18:46:19 +0900 Removed useless sorts of lists generated from literals commit eb96e4e98150435f1473afcef20d231f80724b47 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-18 18:14:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-18 18:14:47 +0900 Made glob option keyword IDs static commit 199d829a513fc2750c4b6027b07d82b665e7ccb7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-18 00:17:05 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-18 00:17:05 +0900 [ruby/io-console] bump up to 0.5.5 commit 4e56ec4ef74cf77dbcb4ce7c669e0595cd0d12fa Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-17 23:49:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-18 00:15:02 +0900 [ruby/io-console] Set `OPOST` when `intr` is true To enable implementation-defined output processing, for the compatibility with readline. [Bug #16509] https://bugs.ruby-lang.org/issues/16509 https://github.com/ruby/io-console/commit/8c8b0b6757 commit 569f56e0f74e29924a63579e77e3e60411dc0479 Author: Charles Oliver Nutter <headius@headius.com> AuthorDate: 2020-01-14 04:42:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-18 00:15:00 +0900 [ruby/io-console] Filter Ruby engine name rather than just /ruby/ This breaks tests using this path on JRuby because the `jruby` executable turns into `jjruby` after the sub. https://github.com/ruby/io-console/commit/e5951aa34c commit 4e1a7678cdb9c14c0299d893673d9cb07293b78d Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2019-12-23 12:14:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-18 00:14:58 +0900 [ruby/io-console] Update the minimum requirement of Ruby version https://github.com/ruby/io-console/commit/73e7b6318a commit 09271acdaf8816562c882780d45306b3155152a1 Author: Adam Isom <adam.r.isom@gmail.com> AuthorDate: 2020-01-17 06:42:36 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-17 19:50:39 +0900 Update documentation for Array/Hash Argument section of methods.rdoc Notes: Merged: https://github.com/ruby/ruby/pull/2844 commit 3344f811074e1e6119eec23684013457dab4f8b0 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-17 17:25:05 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-17 17:25:05 +0900 .github/workflows/cygwin.yml: Removed There is no active maintainer for cygwin. The CI failure is too noisy. [Misc #16407] commit 7cfe93c028fbf7aa0022ca8a4ac6a66d0103337a Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-06 18:22:43 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-17 17:20:38 +0900 hash.c: Add a feature to manipulate ruby2_keywords flag It was found that a feature to check and add ruby2_keywords flag to an existing Hash is needed when arguments are serialized and deserialized. It is possible to do the same without explicit APIs, but it would be good to provide them as a core feature. https://github.com/rails/rails/pull/38105#discussion_r361863767 Hash.ruby2_keywords_hash?(hash) checks if hash is flagged or not. Hash.ruby2_keywords_hash(hash) returns a duplicated hash that has a ruby2_keywords flag, [Bug #16486] Notes: Merged: https://github.com/ruby/ruby/pull/2818 commit b23fd59cbb3f097bcd559d0c85a86ff7a1eeeb7e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-11 15:04:44 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-17 17:20:19 +0900 marshal.c: Support dump and load of a Hash with the ruby2_keywords flag It is useful for a program that dumps and load arguments (like drb). In future, they should deal with both positional arguments and keyword ones explicitly, but until ruby2_keywords is deprecated, it is good to support the flag in marshal. The implementation is similar to String's encoding; it is dumped as a hidden instance variable. [Feature #16501] Notes: Merged: https://github.com/ruby/ruby/pull/2830 commit c98c492578d898dc07a04b8240d8d5b1508ffafa Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-17 16:56:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-17 16:56:53 +0900 Added test for f38b3e8c707ebdcad05aa9485cf1760640b74fbb commit f9788ca7fe645be50f9248264253b453820d1d35 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-17 16:41:46 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-17 16:41:46 +0900 Update dependencies internal/rational.h needs internal/warnings.h with Apple clang, for `UNALIGNED_MEMBER_ACCESS`. commit 4e6bcac23e927bb0ede0935d62491b6c32cbc621 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-17 11:19:01 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-17 11:19:01 +0900 Update dependencies in makefiles again patch from https://travis-ci.org/ruby/ruby/jobs/638231960 commit 5275d8bf4c43db9f057d24a26cf33ecd69f8b345 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-01-17 10:47:20 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-01-17 10:57:51 +0900 rb_rational_raw: convert num and den by to_int commit 47465ab1ccf48d2c905dbcf3b676e30b61cc41ca Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-01-17 10:41:03 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-01-17 10:57:21 +0900 rb_rational_raw: make a denominator always positive commit 73618d84e807b4157e0ba44e9a09e4c643de6c2c Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-17 10:25:00 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-17 10:25:00 +0900 Update dependencies in makefiles patch from https://travis-ci.org/ruby/ruby/jobs/638226493 commit 07ce51c5aaf25a5a184a35074a40138256a0c099 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-01-17 09:55:50 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-01-17 10:06:58 +0900 internal/rational.h: insert assertions in RATIONAL_SET_{NUM,DEN} commit fbc00c2d863f6cdeb65203e798b08157997cf786 Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-01-17 09:45:10 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-01-17 10:06:19 +0900 rational.c: remove nurat_s_new commit 019a0ed0c78ccd0eb694d09c6a226761261ec15d Author: Kenta Murata <mrkn@mrkn.jp> AuthorDate: 2020-01-17 09:05:17 +0900 Commit: Kenta Murata <mrkn@mrkn.jp> CommitDate: 2020-01-17 10:04:19 +0900 Make RATIONAL_SET_{NUM,DEN} static inline functions commit 800c2a8e4c4b644aca4bede913d492c25ba304c1 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-17 01:35:13 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-17 01:37:01 +0900 Implement vi_insert_at_bol and vi_add_at_eol commit ec0b366a5c6eadab1315a8f2681a0ef6de20be75 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-16 20:26:50 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-17 01:37:01 +0900 Add tests for vi_insert and vi_add commit c171ab23e376b6c7f1094a77f137d916b0a403e6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-16 18:38:48 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-16 18:38:48 +0900 Separate numbered parameter scope in eval [Feature #16432] commit f38b3e8c707ebdcad05aa9485cf1760640b74fbb Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-16 18:34:31 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-16 18:34:31 +0900 Fixed the location of args node with numbered parameter commit 62baad9fe17077f8881e8512234cf55563aa9fca Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-16 16:56:53 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-16 16:56:53 +0900 Removed xmlrpc and net-telnet from the bundled gems. [Feature #16484][ruby-core:96682] commit fce54a5404139a77bd0b7d6f82901083fcb16f1e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-16 15:36:38 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-16 15:36:38 +0900 Fix `String#partition` Split with the matched part when the separator matches the empty part at the beginning. [Bug #11014] commit 4f19666e8b144600e959e4673f79d63f98bd637d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-16 11:25:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-16 11:32:11 +0900 `Regexp` in `MatchData` can be `nil` `String#sub` with a string pattern defers creating a `Regexp` until `MatchData#regexp` creates a `Regexp` from the matched string. `Regexp#last_match(group_name)` accessed its content without creating the `Regexp` though. [Bug #16508] commit 815807d2ab9e87b5543d6837234952fd6cd481a3 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-15 12:43:49 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-15 12:43:49 +0900 NEWS.md: mention "Freeze Regexp literals" [Feature #8948] commit 9feca5ceb924858e54e312da4b1ba097f72c5582 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-15 12:42:47 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-15 12:42:47 +0900 NEWS.md: converted from NEWS and NEWS is deleted commit ac93cf4ff85ef195e8f6f151091a86f449a0be7a Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-15 10:50:53 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-15 10:50:53 +0900 Update version guard fix up 98ef38ada43338c073f50a0093196f0356284625 commit 98ef38ada43338c073f50a0093196f0356284625 Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2019-11-27 20:40:18 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-15 10:38:47 +0900 Freeze Regexp literals [Feature #8948] [Feature #16377] Since Regexp literals always reference the same instance, allowing to mutate them can lead to state leak. Notes: Merged: https://github.com/ruby/ruby/pull/2705 commit eb4c86a698e1be9fa2a79f4edb1c891396e6074e Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-15 10:20:19 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-15 10:20:19 +0900 Add option hash doc for GC stats. Add a description about optional hash objects for GC.stat and GC.latest_gc_info. [Bug #14408] The patch is provided by sho-h (Sho Hashimoto). Thank you so much. commit 8c3efa494091e6e0001f4a708fb7568c242387b9 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-14 15:40:03 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-14 15:40:38 +0900 Use Reline.encoding_system_needs if exists commit a2638c0d87106c6ba023a321eea502f35131753e Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-13 18:26:32 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-14 15:40:38 +0900 Remove an unused setting variable commit f8ea2860b0cac1aec79978e6c44168802958e8af Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-12 22:24:17 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-14 15:40:38 +0900 Introduce an abstracted structure about the encoding of Reline The command prompt on Windows always uses Unicode to take input and print output but most Reline implementation depends on Encoding.default_external. This commit introduces an abstracted structure about the encoding of Reline. commit c94025b63091be5b5e83a2f5ab5dc8d6c6147b84 Author: Ben <kanobt61@gmail.com> AuthorDate: 2020-01-06 04:44:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-14 15:40:38 +0900 [ruby/irb] Fix crashing when multiple open braces per line https://github.com/ruby/irb/issues/55 If we had put multiple open braces on a line the with no closing brace spaces_of_nest array keeps getting '0' added to it. This means that when we pop off of this array we are saying that we should be in position zero for the next line. This is an issue because we don't always want to be in position 0 after a closing brace. Example: ``` [[[ ] ] ] ``` In the above example the 'spaces_of_nest' array looks like this after the first line is entered: [0,0,0]. We really want to be indented 4 spaces for the 1st closing brace 2 for the 2nd and 0 for the 3rd. i.e. we want it to be: [0,2,4]. We also saw this issue with a heredoc inside of an array. ``` [<<FOO] hello FOO ``` https://github.com/ruby/irb/commit/80c69c8272 commit 9994eb8a5e72ff68ee2a13ddeff8d9307ba7cd84 Author: Ben <kanobt61@gmail.com> AuthorDate: 2019-12-31 01:18:05 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-14 15:40:38 +0900 [ruby/irb] Fix newline depth with multiple braces This commit fixes the check_newline_depth_difference method to multiple open braces on one line into account. Before this change we were subtracting from the depth in check_newline_depth_difference on every open brace. This is the right thing to do if the opening and closing brace are on the same line. For example in a method definition we have an opening and closing parentheses we want to add 1 to our depth, and then remove it. ``` def foo() end ``` However this isn't the correct behavior when the brace spans multiple lines. If a brace spans multiple lines we don't want to subtract from check_newline_depth_difference and we want to treat the braces the same way as we do `end` and allow check_corresponding_token_depth to pop the correct depth. Example of bad behavior: ``` def foo() [ ] puts 'bar' end ``` Example of desired behavior: ``` def foo() [ ] puts 'bar' end ``` https://github.com/ruby/irb/commit/7dc8af01e0 commit 440013b2fa73d12aeb4027bb8d8d237ea8700099 Author: Jun Aruga <jaruga@redhat.com> AuthorDate: 2020-01-14 02:00:33 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-14 09:46:52 +0900 Remove s390x from allow_failures Notes: Merged: https://github.com/ruby/ruby/pull/2837 commit 91601dcc6a608cb6f9a124959c738755091dfbd9 Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2020-01-03 04:48:03 +0900 Commit: Aaron Patterson <tenderlove@github.com> CommitDate: 2020-01-14 06:58:23 +0900 Simplify obj2ubits checks If this value is less than zero, then the mask check is guaranteed to fail as well, so we might as well rely on that. Notes: Merged: https://github.com/ruby/ruby/pull/2808 commit 5f3189474c3ee3e11b6588acfbb026e119522092 Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2020-01-03 04:48:03 +0900 Commit: Aaron Patterson <tenderlove@github.com> CommitDate: 2020-01-14 06:58:23 +0900 Avoid rb_check_string_type in month_arg This will usually receive a fixnum so we should check that first instead of the more expensive rb_check_string_type check. Notes: Merged: https://github.com/ruby/ruby/pull/2808 commit c2e45422f7abc9836d3b68bb94e527b3aad9bfd7 Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2020-01-03 04:48:02 +0900 Commit: Aaron Patterson <tenderlove@github.com> CommitDate: 2020-01-14 06:58:23 +0900 Store "UTC" and "" fstring as globals in time.c Notes: Merged: https://github.com/ruby/ruby/pull/2808 commit 5aa0e6bee916f454ecf886252e1b025d824f7bd8 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-13 21:22:22 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-13 21:22:22 +0900 Mention new feature of Hash#transform_keys [Feature #16274] ref b25e27277dc39f25cfca4db8452d254f6cc8046e commit f43940633d176464c395ba1342195bf3b2090fbc Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-13 12:27:24 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-13 12:27:24 +0900 test-bundled-gems.rb: Use real paths for symlinks commit c9b1969fa30c7e86e8d134d2a9bf412796dacdad Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-13 10:02:04 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-13 10:31:53 +0900 Checkout with git on cygwin for EOL code `shell: bash` runs bash on msys which prefers git on msys too, then checked out in CRLF mode. Cygwin sed doesn't consider the CR a part of EOL code, though. commit 61ff5cd5fd43ef2a88752b569050d7e24077e827 Author: Lourens Naudé <lourens@bearmetal.eu> AuthorDate: 2020-01-12 19:36:15 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-13 08:03:01 +0900 Fix syntax error in obj_free with hash size debug counter when USE_DEBUG_COUNTER is enabled Notes: Merged: https://github.com/ruby/ruby/pull/2834 commit 350dafd56a9cff58d36303aeb7515ab41c5dbbb3 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-13 03:36:47 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-13 03:36:47 +0900 reload AR table body for transient heap. ar_talbe (Hash representation for <=8 size) can use transient heap and the memory area can move. So we need to restore `pair' ptr after `func` call (which can run any programs) because of moving. commit b34f39e86004e0155960dc15685b61a020de7c45 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-12 19:43:59 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-12 19:43:59 +0900 vcs.rb: Allow to empty a part in commit log commit cccfc66760fe479692852adf62167857243b4847 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-12 19:39:00 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-12 19:39:00 +0900 Added make target to export the ChangeLog file commit ca6546704a3035cefff82fe91c8d307df4f2d3be Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-12 09:59:10 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-12 12:28:29 +0900 Allow failures with rss tests on test-bundled-gems Notes: Merged: https://github.com/ruby/ruby/pull/2832 commit c7ef7d8a7387e427c394c3c0d03b8dd102e97b29 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-12 09:15:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-12 12:28:29 +0900 Also ignored cve_2014_8080_spec Notes: Merged: https://github.com/ruby/ruby/pull/2832 commit e61cab3a367c4040a2a487dd893c7be9a37889a9 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-12 08:14:26 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-12 12:28:29 +0900 Ignore rexml examples on ruby/spec Notes: Merged: https://github.com/ruby/ruby/pull/2832 commit 83240f315a10b42b53c3b62c1fbc428f97912665 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-11 21:48:06 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-12 12:28:29 +0900 Make rss library the bundle gems [Feature #16485][ruby-core:96683] Notes: Merged: https://github.com/ruby/ruby/pull/2832 commit c3ccf23d5807f2ff20127bf5e42df0977bf672fb Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-11 21:37:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-12 12:28:29 +0900 Make rexml library the bundle gems [Feature #16485][ruby-core:96683] Notes: Merged: https://github.com/ruby/ruby/pull/2832 commit 012f297311817ecb19f78c55854b033bb4b0397c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-11 16:32:56 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-11 20:19:58 +0900 Get rid of use of magic number 'E' commit e62aead26909e83f2c8b940186047f0a88b9f2d6 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-11 16:24:16 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-11 16:24:16 +0900 Add branch option to checkout on push commit 7584853cfed9eaeaf6e932578362db0ffa74bcac Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-11 10:43:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-11 10:43:39 +0900 st_delete_wrap is no longer used commit eb737916b1e435ff8212913c03e5798089b0d3fe Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-11 10:19:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-11 10:42:22 +0900 Warn when :newline precedes other newline options commit 8bb24712de04cfa8bb1dbfc0c3cee3de6eb4b40d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-11 10:14:53 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-11 10:42:21 +0900 Added assertions for newline decorators commit 40c57ad4a13898760b81a99dac181e5bf61afe47 Author: Lourens Naudé <lourens@bearmetal.eu> AuthorDate: 2020-01-04 09:45:58 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2020-01-11 10:40:36 +0900 Let execution context local storage be an ID table Notes: Merged: https://github.com/ruby/ruby/pull/2814 commit b53d8230f1fed0f99a8a852d853bbd9b5c353fed Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-10 22:57:20 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-10 22:57:20 +0900 Fixed the wrong url for benchmark commit e04366056af5fb55db1e3d38a39fbe3316b13e9c Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-10 22:56:46 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-10 22:56:46 +0900 Update the upstream repository of bundler commit 7693897a1153c83cb2bdc147552e2fa2aa47f0c7 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-10 21:48:20 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-10 21:48:20 +0900 Reduced duplicate code commit 1b4d406e3a04032b6d01e92b6d184a16945c6ac3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-10 21:26:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-10 21:44:38 +0900 Hash#transform_values should return a plain new Hash [Bug #16498] commit 135b533e84ea04d0a494422efba635e5c9f2bfb2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-10 20:29:24 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-10 21:17:15 +0900 add missing #include Notes: Merged: https://github.com/ruby/ruby/pull/2824 commit 13064fe5db237872fcb9dfafb05cbdf2ddd07e07 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-09 16:50:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-10 21:17:15 +0900 avoid undefined behaviour when n==0 ISO/IEC 9899:1999 section 6.5.7 states that "If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined". So we have to take care of such situations. This has not been a problem because contemporary C compilers are extraordinary smart to compile the series of shifts into a single ROTLQ/ROTRQ machine instruction. In contrast to what C says those instructions have fully defined behaviour for all possible inputs. Hence it has been quite difficult to observe the undefined-ness of such situations. But undefined is undefined. We should not rely on such target-specific assumptions. We are fixing the situation by carefully avoiding shifts with out-of- range values. At least GCC since 4.6.3 and Clang since 8.0 can issue the exact same instructions like before the changeset. Also in case of Intel processors, there supposedly be intrinsics named _rotr/_rotl that do exactly what we need. They, in practice, are absent on Clang before 9.x so we cannot blindly use. But we can at least save MSVC. See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157 https://bugs.llvm.org/show_bug.cgi?id=17332 Notes: Merged: https://github.com/ruby/ruby/pull/2824 commit 79dcd26aecaba5f9cff284ad6680e526e9c0f0d4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-09 15:13:52 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-10 21:17:15 +0900 more use of MSC_VERSION_SINCE Replaces `#ifdef _MSC_VER` with more accurate version checks. Also, `defined(_WIN64) && defined(__AVX2__)` is redundant because there is no such tihng like a 32bit AVX2 machine. Notes: Merged: https://github.com/ruby/ruby/pull/2824 commit 7fed7eb50b2b95ac4eeb3d29af3ce7b7d500032a Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-10 19:24:59 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-10 21:17:15 +0900 fix Windows breakage Fixing typo revealed that _BitScanReverse is BSR, which behaves differently than LZCNT. What we want here is LZCNT so we have to emulate. Notes: Merged: https://github.com/ruby/ruby/pull/2824 commit db0398dc04a5eb1e76955f6a80fcfe3041782371 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2020-01-10 15:16:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2020-01-10 21:17:15 +0900 fix typos Notes: Merged: https://github.com/ruby/ruby/pull/2824 commit 0a67c214010d6b77cf1f5e520933052c5368fb7d Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-09 00:27:29 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-10 10:28:49 +0900 Ensure seed data to be cleared To prevent from leaking the seed data. Notes: Merged: https://github.com/ruby/ruby/pull/2826 commit 499de0a0f684e4bf766bac09b02806391f62c2f3 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-08 23:21:42 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-10 10:28:49 +0900 Fill siphash salt directly with random data Expanding less random data with MT is not needed when it succeeded. Notes: Merged: https://github.com/ruby/ruby/pull/2826 commit 54e31f4a5f29b076960fa6ebdd189369af982d49 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-10 09:09:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-10 09:09:51 +0900 Update dependencies for c6b26f5ccf9296f7fbb23c055401c4f55d32efa0 commit d3b28ebc7ac527724831a9fb9ec2f963235f9a21 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2020-01-10 06:09:06 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-10 06:09:06 +0900 Fix warnings for URI.encode and URI.decode Use __callee__ to display the called method. Fixes [Bug #16469] commit c6b26f5ccf9296f7fbb23c055401c4f55d32efa0 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-09 23:52:01 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-09 23:57:46 +0900 io.c, ruby.c: include internal/variable.h for rb_gvar_readonly_setter Same as 053f78e13988e9253d1f207bf5e23d9505112b32. emscripten requires a prototype declaration of rb_gvar_readonly_setter if it is referred as a function pointer. commit 4c5eac73238a203830d43bccf22eee27d242616f Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-09 21:39:12 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-09 21:41:17 +0900 Renamed `init_seed` as `init_hash_salt` too commit 661e07c97e1cc742290d045dc5102e5fbdbae6a1 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-09 19:08:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-09 21:32:26 +0900 Moved the definition of `rb_define_method_if_constexpr` Inside the block where `RB_METHOD_DEFINITION_DECL` family are defined. commit 23fbee0311d34da4f623a828bf0c015a90d8edc9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-09 17:26:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-09 17:26:29 +0900 Renamed `seed` as `hash_salt` The role of this is a so-called "salt" but not "seed", rename to get rid of confusion with other "seed" of PRNG. Notes: Merged: https://github.com/ruby/ruby/pull/2825 commit 97485302db2d8c66e7f6a61e38e9d5dd32d1a8c9 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-08 23:55:40 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-09 16:00:04 +0900 Also clear MT to initialize the siphash seed commit b0e9db65c3f05e1443c2d8f4ca139182a771500c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-09 15:57:10 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-09 15:58:46 +0900 Include the standard `id` command output On macOS, GNU coreutils `id` is limited to NGROUPS_MAX groups, because of the backward compatibility of getgroups(2). commit b369f5e8a2c1e4bc90c561365d42dc5674f83d6e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-09 10:13:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-09 10:13:08 +0900 Fixed up 0eeed5bcc5530edb0af2af2ccff09d067c59e8f9 `Binding#source_location` returns the `__FILE__` when created, and may not be an absolute or real path. And in the `eval` context with an explicit file name, `__dir__` also returns that name. On the other hand, `__FILE__` in `require`d script file has been expanded at searching the library. commit d254d5563e0e599f25aca9507683ee0abb9e18de Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-08 21:39:39 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-09 10:04:22 +0900 vcs.rb: Get rid of Kernel#open commit 65c2c75e162ebc8c4b35b0823967eeb132c00749 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-09 08:21:42 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-09 08:21:42 +0900 lib/net/imap.rb: use `&blk` instead of Kernel#proc with no block [Bug #16488] commit 1d09acd82bc90c0794c0409e330ecc71a912d1b3 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-01-09 04:53:31 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-01-09 04:53:31 +0900 [DOC] Improve docs for String#match Fix invalid code to make it syntax highlighted; other small fixes. commit f74021e12ba3b067934271ab193ed8dc694ceb04 Author: Marcus Stollsteimer <sto.mar@web.de> AuthorDate: 2020-01-09 04:47:10 +0900 Commit: Marcus Stollsteimer <sto.mar@web.de> CommitDate: 2020-01-09 04:47:10 +0900 Improve docs for String#=~ Move existing example to the corresponding paragraph and add an example for `string =~ regexp` vs. `regexp =~ string`; avoid using the receiver's identifier from the call-seq because it does not appear in rendered HTML docs; mention deprecation of Object#=~; fix some markup and typos. commit 23218d4ab287c63e67314e33079fba56593af4c8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-08 18:35:21 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-08 18:35:21 +0900 config.status should be newer than config.cache if exists commit 5b06dd3a4237114aac093e560abe24f87536b621 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-08 18:13:35 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-08 18:14:04 +0900 Hoisted out call_default_proc commit 592d7ceeebb380d197876400efdb18a27d5192b5 Author: Lourens Naudé <lourens@bearmetal.eu> AuthorDate: 2020-01-08 09:19:26 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-08 18:09:52 +0900 Speeds up fallback to Hash#default_proc in rb_hash_aref by removing a method call Notes: Merged: https://github.com/ruby/ruby/pull/2821 commit 13f4f07f215ca66cc727c75e0c3d77389c261e14 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-08 16:11:52 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-08 18:00:32 +0900 Merge bundler-2.1.4 Notes: Merged: https://github.com/ruby/ruby/pull/2822 commit beb59c3b4574e2bd6de3484a6cbcbdf6bd8aac48 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-08 12:26:48 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-08 12:26:48 +0900 Add GC guard Try to fix infrequent error: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-sunc/ruby-master/log/20200108T010004Z.fail.html.gz ``` 1) Error: DRbTests::TestDRbSSLCore#test_02_basic_object: RangeError: "348" is recycled object (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `_id2ref' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:366:in `to_obj' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1537:in `to_obj' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1856:in `to_obj' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:620:in `recv_request' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:931:in `recv_request' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1665:in `init_with_client' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1677:in `setup_message' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1641:in `perform' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1734:in `block (2 levels) in main_loop' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `loop' (drbssl://localhost:58371) /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/lib/drb/drb.rb:1730:in `block in main_loop' /export/home/users/chkbuild/cb-sunc/tmp/build/20200108T010004Z/ruby/test/drb/drbtest.rb:163:in `test_02_basic_object' ``` commit f132825ffa1c225b0055ce6b0aa0d8428fba2623 Author: Jun Aruga <junaruga@users.noreply.github.com> AuthorDate: 2020-01-07 12:23:04 +0900 Commit: NARUSE, Yui <nurse@users.noreply.github.com> CommitDate: 2020-01-07 12:23:04 +0900 Disable IPv6 on Travis s390x case. (#2819) This fixes following error that sometimes happens once in a few times on Travis s390x environment. ``` $ tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" + sudo -E apt-add-repository -y ppa:ubuntu-toolchain-r/test Error: retrieving gpg key timed out. ``` commit b0bf654c3164e9c6b5b38aa6fe23bd76d28a38d2 Author: Aaron Patterson <tenderlove@ruby-lang.org> AuthorDate: 2019-07-02 18:33:40 +0900 Commit: Aaron Patterson <tenderlove@github.com> CommitDate: 2020-01-07 05:41:33 +0900 always expand ivar arrays to max width If the instance variable table hasn't been "expanded", allocate the maximum size of the ivar table. This operates under the assumption that most objects will eventually expand their ivar array to the maximum width anyway, so we may as well avoid realloc calls. Notes: Merged: https://github.com/ruby/ruby/pull/2820 commit e92bebb0c562a2a7829914b5e34c63ba7d2b7e04 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-07 01:33:30 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-07 01:33:30 +0900 Suppress some warnings ``` .../ruby/test/ruby/test_keyword.rb:3509: warning: assigned but unused variable - bug8993 .../ruby/test/ruby/test_object.rb:83: warning: assigned but unused variable - f .../ruby/test/ruby/test_object.rb:95: warning: method redefined; discarding old initialize_clone .../ruby/test/ruby/test_object.rb:84: warning: previous definition of initialize_clone was here ``` commit 7392083c2ffa2dc5449ec0aa529f4a792fb1d2b4 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-06 21:50:48 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-06 21:50:48 +0900 Support history-size in .inputrc correctly commit e3aca289708845771052b698dac35e31c0254452 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-06 18:45:47 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-06 18:45:52 +0900 Support running Actions on a fork Since 8c9450e7b875db846b19cc631af0d7fee66db5c6, we increased the chance to run GitHub Actions on a fork, as we usually use a topic branch instead of master when filing a pull request. This patch makes it possible to reuse the same GitHub Actions config on a fork repository. commit 8cd292f5195be094d67096174e688504897663b7 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-06 18:42:30 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-06 18:42:31 +0900 Directly refer to GitHub events instead of unnecessarily defining env vars commit 7f1e3a7b7ceb6e5bdfee13da50588d855156b7e0 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2018-03-09 03:32:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-06 15:13:50 +0900 [flori/json] Add :nodoc: for GeneratorMethods https://github.com/flori/json/commit/2f3f44c180 commit 41ef6df8c93039aa1cd4a37e380a13cbfbc4d62f Author: zverok <zverok.offline@gmail.com> AuthorDate: 2019-12-30 05:55:23 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-06 15:13:35 +0900 [flori/json] Fix examples syntax https://github.com/flori/json/commit/3845491d92 commit 2e5ef30cb9f56e5a7a8139e0f1d75bbcf5ee8362 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2018-03-09 00:32:36 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-06 15:13:15 +0900 [flori/json] Enhance generic JSON and #generate docs https://github.com/flori/json/commit/4ede0a7d19 commit 1658e6b5db0380c39d2423281e10acc5b6c6a8bd Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-08-26 09:21:02 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-06 15:09:55 +0900 [flori/json] Remove invalid JSON.generate description from JSON module rdoc This text used to be true in older versions of json, but has not been true for a number of years (since json version 2 I think). https://github.com/flori/json/commit/373b633f38 commit 33d866558b4792d877e7735d2239b1337d334c6c Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-06 15:06:03 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-06 15:06:03 +0900 support RUBY_ON_BUG envval on assert failure. Check RUBY_ON_BUG env val also on rb_assert_failure(). commit ce072fe5689184cba5e4a86968367c525cb22a72 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-06 11:36:51 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-06 11:36:51 +0900 script_compiled event on compile error. script_compiled event for TracePoint should not be invoked on compile error (SyntaxError) because it is not "compiled". [Bug #16459] commit 439e1ccd088a2b8d7b965a46db0212db24b40fc4 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-06 01:20:24 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-06 01:20:24 +0900 Complete indented and quoted string correctly def foo ''.upca[TAB] This will be completed to be: def foo ''.upcase The indent was gone. This commit fixes the bug. commit da028a4fbf879144a09192c5cc4a0020c69048e0 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-05 22:46:35 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-05 22:48:39 +0900 Rescue EOFError If C-d is pressed before IRB is ready, IRB crashes because EOFError occurs. commit 54fd50c951d7bee259bcbc491bf223fb992d12c9 Author: zverok <zverok.offline@gmail.com> AuthorDate: 2020-01-03 07:02:26 +0900 Commit: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> CommitDate: 2020-01-05 14:35:14 +0900 Fix OpenStructDocumentation In https://github.com/ruby/ruby/commit/9be3295d53b6fd9f8a3ad8157aa0655b1976d8ac, OpenStruct's documentation stopped to be rendered by RDoc (there should be no additional code between documentation comment and documented class). Fixing this. Notes: Merged: https://github.com/ruby/ruby/pull/2810 commit c7af1e432aed4c4586dd1e62b0431c14fa44289d Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-05 12:25:24 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-05 12:26:48 +0900 Remove unused tmp_buffer in class.c ref 44a164c26f5371519636585d8ba7aa59f489442e and beae6cbf0fd8b6619e5212552de98022d4c4d4d4 commit 787c6d591aa0a170d5f5b714df7aea6de6c5f0a2 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-05 11:52:39 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-05 12:26:37 +0900 Remove unused last_idx in class.c ref c7f01d889becbeffc4254e1b0b7faecb80ea3f3e and beae6cbf0fd8b6619e5212552de98022d4c4d4d4 commit 5b0c3754d8578564e12df7182fff4a36b0a29938 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-05 11:37:40 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-05 11:39:35 +0900 parse.y: fix a wrong sizeof argument for ruby_sized_xfree commit 44a164c26f5371519636585d8ba7aa59f489442e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-05 11:36:10 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-05 11:39:35 +0900 include/ruby/ruby.h: remove a variable tmp_buffer as it does not change It is no longer used due to beae6cbf0fd8b6619e5212552de98022d4c4d4d4. Coverity Scan found this. commit c7f01d889becbeffc4254e1b0b7faecb80ea3f3e Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2020-01-05 11:33:40 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2020-01-05 11:39:35 +0900 include/ruby/ruby.h: remove last_idx that is no longer variable Due to beae6cbf0fd8b6619e5212552de98022d4c4d4d4, the variable last_idx is no longer changed and always -1. This change simplifies the code by removing the variable. Coverity Scan pointed out this. commit 9b928fa4437139147602bc62b3aaabdc87f7ff0b Author: KOBAYASHI Shuji <shuujii@gmail.com> AuthorDate: 2019-12-27 13:41:22 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-05 11:28:01 +0900 [ruby/reline] Sort completion list #### Legacy mode: ```console $ irb --legacy irb(main):001:0> l[TAB][TAB] lambda load local_variables loop ``` #### Before this patch: ```console $ irb irb(main):001:0> l[TAB][TAB] local_variables loop lambda load ``` #### After this patch: ```console $ irb irb(main):001:0> l[TAB][TAB] lambda load local_variables loop ``` https://github.com/ruby/reline/commit/6074069c7d commit 04eb7c7e462d1fcbab9efc7022c1b43636ab878a Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-08-26 13:11:46 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-04 13:13:09 +0900 Call initialize_clone with freeze: false if clone called with freeze: false This makes it possible to initialize_clone to correctly not freeze internal state if the freeze: false keyword is passed to clone. If clone is called with freeze: true or no keyword, do not pass a second argument to initialize_clone to keep backwards compatibility. This makes it so that external libraries that override initialize_clone but do not support the freeze keyword will fail with ArgumentError if passing freeze: false to clone. I think that is better than the current behavior, which succeeds but results in an unfrozen object with frozen internals. Fix related issues in set and delegate in stdlib. Fixes [Bug #14266] Notes: Merged: https://github.com/ruby/ruby/pull/2816 commit 0eeed5bcc5530edb0af2af2ccff09d067c59e8f9 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-07-31 08:15:19 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-04 13:13:09 +0900 Make eval(code, binding) use (eval) as __FILE__ and 1 as __LINE__ This removes the warning that was added in 3802fb92ff8c83eed3e867db20f72c53932f542d, and switches the behavior so that the eval does not use the binding's __FILE__ and __LINE__ implicitly. Fixes [Bug #4352] Notes: Merged: https://github.com/ruby/ruby/pull/2816 commit 170f4dbb9bf9363c9fd012fc3f4e340ccda43273 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-03 14:53:25 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-03 14:53:25 +0900 Fix unused warnings http://ci.rvm.jp/results/trunk_gcc7@silicon-docker/2539622 ``` /tmp/ruby/v2/src/trunk_gcc7/class.c: In function 'rb_scan_args_parse': /tmp/ruby/v2/src/trunk_gcc7/class.c:1971:12: warning: unused variable 'tmp_buffer' [-Wunused-variable] VALUE *tmp_buffer = arg->tmp_buffer; ^~~~~~~~~~ ``` ``` In file included from /tmp/ruby/v2/src/trunk_gcc7/vm_insnhelper.c:1895:0, from /tmp/ruby/v2/src/trunk_gcc7/vm.c:349: /tmp/ruby/v2/src/trunk_gcc7/vm_args.c:212:1: warning: 'args_stored_kw_argv_to_hash' defined but not used [-Wunused-function] args_stored_kw_argv_to_hash(struct args_info *args) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` commit e014e6bf6685f681998238ff005f6d161d43ce51 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-10-07 01:26:58 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-03 11:40:45 +0900 Update specs for keyword argument separation Notes: Merged: https://github.com/ruby/ruby/pull/2794 commit ff96565686c05919bcae3ea77831879e95f67457 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-10-05 07:41:13 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-03 11:40:45 +0900 Update tests for full keyword argument separation Notes: Merged: https://github.com/ruby/ruby/pull/2794 commit beae6cbf0fd8b6619e5212552de98022d4c4d4d4 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-10-05 04:51:57 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2020-01-03 11:40:45 +0900 Fully separate positional arguments and keyword arguments This removes the warnings added in 2.7, and changes the behavior so that a final positional hash is not treated as keywords or vice-versa. To handle the arg_setup_block splat case correctly with keyword arguments, we need to check if we are taking a keyword hash. That case didn't have a test, but it affects real-world code, so add a test for it. This removes rb_empty_keyword_given_p() and related code, as that is not needed in Ruby 3. The empty keyword case is the same as the no keyword case in Ruby 3. This changes rb_scan_args to implement keyword argument separation for C functions when the : character is used. For backwards compatibility, it returns a duped hash. This is a bad idea for performance, but not duping the hash breaks at least Enumerator::ArithmeticSequence#inspect. Instead of having RB_PASS_CALLED_KEYWORDS be a number, simplify the code by just making it be rb_keyword_given_p(). Notes: Merged: https://github.com/ruby/ruby/pull/2794 commit 8ba261c7546e3cd12ff6870bb41dd0a0bee32ba8 Author: Lourens Naudé <lourens@bearmetal.eu> AuthorDate: 2020-01-03 07:26:20 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-03 07:26:20 +0900 Bump benchmark-driver to v0.15.7 (#2811) commit 9f460e017b341fc8378f00315b0776e300107ccd Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-03 04:46:51 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-03 04:46:51 +0900 move internal/debug.h definitions to internal.h Debug utilities should be accessible from any internal code. commit 6f5ee1f092414e4d60a403d82a57cf023b38c0b9 Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-03 04:39:34 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-03 04:39:34 +0900 modify MJIT_CC only on RUBY_DEBUG=ci Modify MJIT_CC (27fae1d4ad) only on CI environment. commit 27fae1d4adfef26d30d43f2d0d6653e99aaaba3d Author: Koichi Sasada <ko1@atdot.net> AuthorDate: 2020-01-03 02:00:58 +0900 Commit: Koichi Sasada <ko1@atdot.net> CommitDate: 2020-01-03 02:07:21 +0900 disable ccache if $CC is in /usr/lib/ccache/$CC. MJIT with ccache has a problem on docker environment, so we need to use original CC (/usr/bin/gcc, for example). Ubuntu system provides /usr/lib/ccache/gcc and so on to use gcc with ccache. It is easy to setup ccache by adding /usr/lib/ccache to $PATH. However we need to use /usr/bin/gcc (and so on) for MJIT_CC. We can specify MJIT_CC option at configure, but specifying them is troublesome. This patch choose original $CC (/usr/bin/gcc, for example) if $CC is /usr/lib/ccache/$CC. commit 34bc15c86b764e8fdd11d9af8ad3dc401f24b5c4 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2020-01-02 10:06:16 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2020-01-02 10:41:24 +0900 Check Module#ruby2_keywords arity It is considered a mistake, because calling this method with no arguments has no effect. Notes: Merged: https://github.com/ruby/ruby/pull/2806 commit 076f24c2278c9718c4e2b23bfb946b960fafa468 Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2020-01-01 22:55:12 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-01-01 22:55:12 +0900 bignum.c: extract bdigits_to_mpz and bdigits_from_mpz (#2805) Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit afd3f64f8cc4ff4fc956727d7e2da70597352008 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 15:06:18 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 15:06:19 +0900 Redmine /projects/ruby-trunk is now redirected to /projects/ruby-master commit 8c9450e7b875db846b19cc631af0d7fee66db5c6 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 15:03:07 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 15:03:21 +0900 Remove code to prevent double build on trunk trunk branch was deleted. commit eca964c24e94ceb9146bcf4c010d9abfc632637a Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 14:26:39 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 14:26:40 +0900 More consistent failure notifications The format is the same as Travis / AppVeyor now. commit ab9f56b61575617fa2c565543b7ce2afffd1c528 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 08:58:06 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 08:59:02 +0900 Do not notify AppVeyor on_build_status_changed Similar to 4fb6643f31cdee33184043ce17c42001274c4392. This is motivated by the lack of the same feature in GitHub Actions. commit 47c84c74d4d8c84fd8e58527069548c7b0c2ad3d Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 08:27:40 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 08:29:40 +0900 Make test run condition consistent with other jobs When `make all` fails, we should not run tests and output of such run is confusing. commit 69731b248f12f52c3897584db914cdf04a8ce5ac Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-01 07:53:27 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-01 07:53:27 +0900 Fixup a6864f6d2f39bcd1ff04516591cc18d4027ab186 commit a6864f6d2f39bcd1ff04516591cc18d4027ab186 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2020-01-01 07:42:42 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-01 07:42:42 +0900 Removed the old executables of racc [ruby-core:93516][Feature #15982] https://github.com/ruby/racc/pull/123 commit e1c363f847451a4dcf7db7c07dd00e02d9d71ad3 Author: Sutou Kouhei <kou@clear-code.com> AuthorDate: 2019-12-31 02:22:00 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2020-01-01 07:41:37 +0900 [bundler/bundler] Add ruby2_keywords https://github.com/bundler/bundler/commit/29d932d72d commit 74cb4148856230a10daee1d043a8700f6d798bdf Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 03:24:00 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 03:24:01 +0900 Run tests in the consistent order `make check` runs test -> test-all -> test-spec, and other CIs follow that too. commit 52c228604b06692f0afe578f8333eaf078eda8f3 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 02:37:03 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 02:37:03 +0900 Fix an outdated comment We're actually using it for PR :p commit 860753eabbf364a32f5f95af0809b4682b9f9fb2 Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2020-01-01 02:35:43 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2020-01-01 02:35:43 +0900 Actions MinGW - fix test-all (#2803) commit 139f0d90d98441ac54c6385acaf6d39eb61de63e Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2020-01-01 02:34:29 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2020-01-01 02:34:29 +0900 Use actions/checkout for PR (#2804) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit 049292e3021524bad531a82f5d9a51a22fb88640 Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-01 02:04:41 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-01 02:04:41 +0900 Add load path and require for ruby/ruby commit 66e6055c11be92a1227f2748b3343d408571c70a Author: aycabta <aycabta@gmail.com> AuthorDate: 2020-01-01 01:37:38 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2020-01-01 01:38:37 +0900 [ruby/irb] Fix lib name of OpenStruct https://github.com/ruby/irb/commit/1f3a84ab6b commit 1a1862236da60e21e51c66543e89bf577b6ed14a Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2020-01-01 00:02:01 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2020-01-01 00:02:01 +0900 Update GitHub Actions Badges - Generated by [npx github-actions-badge](https://github.com/azu/github-actions-badge) - Add MJIT commit 9deb9427154587549661bd8f51cbf382c1658111 Author: aycabta <aycabta@gmail.com> AuthorDate: 2019-12-31 23:31:51 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2019-12-31 23:32:24 +0900 Add "require 'openstruct'" what is forgotten commit a118bb805f022a915a4b075ddd9dd49c04e68591 Author: Ben <kanobt61@gmail.com> AuthorDate: 2019-12-28 03:17:02 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2019-12-31 23:32:24 +0900 [ruby/irb] Add tests for RubyLex The set_auto_indent method calculates the correct number of spaces for indenting a line. We think there might be a few bugs in this method so we are testing the current functionality to make sure nothing breaks when we address those bugs. Example test failure: ``` 1) Failure: TestIRB::TestRubyLex#test_auto_indent [/Users/Ben/Projects/irb/test/irb/test_ruby_lex.rb:75]: Calculated the wrong number of spaces for: def each_top_level_statement initialize_input catch(:TERM_INPUT) do loop do begin prompt unless l = lex throw :TERM_INPUT if @line == '' else . <10> expected but was <12>. ``` https://github.com/ruby/irb/commit/752d5597ab commit 337ba56aff37d34896c0dd091f1bcfb4a556126b Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2019-12-29 09:01:00 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2019-12-31 23:32:24 +0900 [ruby/reline] Degenerate the terminal size to [$LINES, $COLUMNS] if it is unknown This is a workaround for https://github.com/ruby/irb/issues/50 https://github.com/ruby/reline/commit/5725677d1a commit e082f41611755b0fde967fccf3174c90ecb8469e Author: Kenta Murata <mrkn@users.noreply.github.com> AuthorDate: 2019-12-31 22:48:23 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2019-12-31 22:48:23 +0900 Introduce BIGNUM_EMBED_P to check BIGNUM_EMBED_FLAG (#2802) * bignum.h: Add BIGNUM_EMBED_P * bignum.c: Use macros for handling BIGNUM_EMBED_FLAG Notes: Merged-By: mrkn <mrkn@ruby-lang.org> commit 4ce28b58cbf3f3b5ab0bcd3fa4479d4f6d427158 Author: Oleg Zubchenko <RedGreenBlueDiamond@gmail.com> AuthorDate: 2018-11-03 21:27:10 +0900 Commit: Akinori MUSHA <knu@idaemons.org> CommitDate: 2019-12-31 20:52:41 +0900 speed up set intersect Notes: Merged: https://github.com/ruby/ruby/pull/2003 commit 0cf75e38506a412a7b4acd39a93e32aff1e8016c Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-31 14:36:54 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-31 19:43:36 +0900 Split test_nomethod_error.rb Notes: Merged: https://github.com/ruby/ruby/pull/2800 commit a580a3757b162b8d1b2b19d91f5c246c7fc5dca8 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-31 14:33:03 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-31 19:43:36 +0900 Split test_name_error.rb Notes: Merged: https://github.com/ruby/ruby/pull/2800 commit ee4ead8098703959353cb81647e4d23bc62fa51b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-31 14:28:57 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-31 19:43:36 +0900 Split test_frozen_error.rb Notes: Merged: https://github.com/ruby/ruby/pull/2800 commit 8caeef7c1d70757b6196b8444991cb1ea61943ee Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-31 18:04:08 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-31 19:43:36 +0900 Fix the exception to be raised `NoMethodError` has been raised instead of `FrozenError`. Notes: Merged: https://github.com/ruby/ruby/pull/2800 commit 2e1fd4e2d70172fd91c9722aaa3b114ec6cf2ea1 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-31 18:49:08 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 18:49:17 +0900 Official actions/checkout is useless It died again https://github.com/ruby/ruby/runs/368837347 commit 918fe2ed7c6ec12beea3b925501a6782ecccd23d Author: Joao Fernandes <jfernandes@salsify.com> AuthorDate: 2019-12-30 23:07:35 +0900 Commit: Aaron Patterson <tenderlove@github.com> CommitDate: 2019-12-31 18:31:59 +0900 Fix Object#inspect documentation Starting from ruby 2.7.0, there's no longer a connection between the hexadecimal number that #inspect shows and the object's ID. Notes: Merged: https://github.com/ruby/ruby/pull/2797 commit db58b4a48d7a632550d67a5c8bc4ecc37819d6c9 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2019-12-31 18:18:21 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2019-12-31 18:18:21 +0900 Update NEWS for Ruby 2.8.0 (tentative; to be 3.0.0) commit 3096baec0e4c24e325885f7dcd4956e8c0421f73 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2019-12-31 18:16:21 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2019-12-31 18:16:21 +0900 Copy NEWS to doc/NEWS-2.7.0 commit 26ee0af4b34afc5f622ebcc66dcc17424ef2372e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-31 17:12:01 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-31 17:49:26 +0900 Test the bundled version minitest instead of master Minitest has the released tags now. Notes: Merged: https://github.com/ruby/ruby/pull/2801 commit d912393e09da82d096cbd18a138a106637ef10b7 Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2019-12-31 17:29:58 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 17:29:58 +0900 text/readline/test_readline.rb - fix skip on Reline (#2743) TestRelineAsReadline#test_input_metachar passes on MinGW commit 56a74659cc084b8a8e45cf076026be0a6d8660b0 Author: Prem Sichanugrist <s@sikac.hu> AuthorDate: 2019-12-31 17:27:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 17:27:24 +0900 Copy-editing NEWS file on "is now warned" messages (#2783) The phrase "[doing X] is now warned" is not grammatically correct in English as it is lacking an object. We can make these sentences read better by switching to "[doing X] will now display a warning" instead. commit 38c35dd22d0d792309873fb5232758646c1f8569 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-31 16:46:17 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 16:46:18 +0900 Make Slack notifications consistent commit 8136fec6e4d3acb19d5f40f539fd8b98d2d9b84b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-31 16:42:20 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 16:42:20 +0900 There's no such target commit f98650e9f8602bfcf8fbb9fe63c2e1bc08ded81f Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-31 16:30:34 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 16:30:35 +0900 Make all Actions job names consistent like "{platform} / make ({make target}, ...)" commit fe158e4c6536432fec4b3f236910c5fcd9689c29 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-31 16:23:25 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 16:23:25 +0900 Do not doubly build on trunk commit b00418732c89ce42c1c4cef57d08344659fbdd2b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-31 16:20:17 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 16:20:18 +0900 Drop MinGW build from AppVeyor in favor of #2791 commit eb2b4258214337f165eb994e2c5b9c2a3f6ae0a8 Author: MSP-Greg <MSP-Greg@users.noreply.github.com> AuthorDate: 2019-12-31 16:19:31 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 16:19:31 +0900 MinGW on Actions (#2791) * MinGW - skip spec in spec/ruby/optional/capi/thread_spec.rb 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 stops/freezes spec tests See https://bugs.ruby-lang.org/issues/16265 * MinGW - skip test test/resolv/test_dns.rb Test times out in CI (both AppVeyor & Actions), cannot repo locally * MinGW - skip test test/ruby/test_thread_queue.rb * Add Actions mingw.yml commit 79c420267672dbfde257d77eb9d94c996920f368 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-31 16:09:24 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-31 16:09:24 +0900 Revert "Remove TEST_BUNDLED_GEMS_ALLOW_FAILURES" This reverts commit 75e8dd58f69c190c9698d0133942032903fb2f07. We seem to randomly hit another issue these days: https://github.com/ruby/ruby/runs/368756135 https://github.com/ruby/ruby/runs/368756191 commit 179e402d8a17b7c909aa48b6327d60ca4a53bb3b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-31 11:12:11 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-31 11:14:19 +0900 Updated dependencies on internal/warnings.h Needed for `UNALIGNED_MEMBER_ACCESS` using `COMPILER_WARNING_`* macros. Notes: Merged: https://github.com/ruby/ruby/pull/2799 commit 3264a00958f56e1ba75a95c93e59fc9cccf323e8 Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2019-12-31 08:13:55 +0900 Commit: Alan Wu <XrXr@users.noreply.github.com> CommitDate: 2019-12-31 08:13:55 +0900 Fix Proc#<< spec [Bug #16406] commit 99c7b0b7ea789643bef60085ab59e4b62011ef8b Author: Alan Wu <XrXr@users.noreply.github.com> AuthorDate: 2019-12-31 07:47:58 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2019-12-31 07:47:58 +0900 Decide lambdaness of (f << g) using g (#2729) * Deciding lambdaness of (f << g) using g * Use version guards for spec changes Notes: Merged-By: XrXr commit 3e2418e2a64cadeb59e02d13b424b62b8d867ad5 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-30 17:38:28 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-30 17:38:28 +0900 [ruby/io-console] bump up to 0.5.4 commit e882187612512b13b9b3e009515211e8544079e5 Author: Vladimir Dementyev <dementiev.vm@gmail.com> AuthorDate: 2019-12-30 09:59:07 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-30 09:59:07 +0900 syntax.rdoc: remove "experimental" from refinements (#2796) commit 2ef8d5beeebf759c5dd0754bb99cbcfbad3f368e Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2019-12-29 22:09:15 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2019-12-29 22:09:15 +0900 ext/openssl/ossl_ssl.c: nodoc for private methods [Misc #11712][ruby-core:71565] commit 31e2f035121a4c07d6ea3b5eab69bc97749a022b Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-29 16:12:19 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-29 16:26:22 +0900 [ruby/io-console] Enable only interrupt bits on `intr: true` https://github.com/ruby/io-console/commit/baaf929041 commit e5c441a4a2885da61df9894ac17b69cb3c5811f2 Author: Ary Borenszweig <asterite@gmail.com> AuthorDate: 2019-11-30 05:59:47 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-29 13:12:42 +0900 Optimize Array#rotate!(n) for n = 1 and n = -1 For the most common cases of `rotate!` one place to the right or to the left, instead of doing some reversals of the array we just keep a single value in a temporary value, use memmove and then put the temporary value where it should be. Notes: Merged: https://github.com/ruby/ruby/pull/2710 commit a0d1fd16d156d289d5ea46327a98517a9b31f860 Author: Seiei Miyagi <hanachin@gmail.com> AuthorDate: 2019-12-25 21:55:49 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-29 12:59:23 +0900 Fix documentation of Dir#each_child Notes: Merged: https://github.com/ruby/ruby/pull/2785 commit d7bef803ac3546119b30e1d78af0097a9df9c907 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-29 10:07:17 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-29 12:34:55 +0900 Separate builtin initialization calls Notes: Merged: https://github.com/ruby/ruby/pull/2792 commit 8ce5d46e662f53a56cf21c47981bb99bcb5b73e6 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-29 08:19:43 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-29 08:19:43 +0900 Fixed an unavailable sanitizer feature commit a04c53596735f563a09d628530a2adae7ba26c7a Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-12-28 17:25:11 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2019-12-29 07:13:05 +0900 Use __func__ as rb_cv_function_name_string on OpenBSD The use of RUBY_WERROR_FLAG causes this test to fail on OpenBSD platforms that use the binutils linker (ld.bfd) instead of the llvm linker (ld.lld), due to warnings added to the binutils linker in OpenBSD. Removing the RUBY_WERROR_FLAG would probably also fix it, but that would affect other platforms. This should also be backported to Ruby 2.7. Analysis and similar fix recommended by George Koehler. Notes: Merged: https://github.com/ruby/ruby/pull/2790 commit bb5b8ace8d7e517ac3686497a819a2a52d32b342 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2019-12-28 21:09:52 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2019-12-28 21:10:08 +0900 Fix typo commit 4fb6643f31cdee33184043ce17c42001274c4392 Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-28 18:10:47 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2019-12-28 18:12:17 +0900 Do not notify Travis on_success We don't find it useful anymore, because notifications from many other CIs are mixed. commit a994b0aee73a78de1137f195fb252b3660199f0b Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2019-12-28 17:44:09 +0900 Commit: GitHub <noreply@github.com> CommitDate: 2019-12-28 17:44:09 +0900 Add VM insns counter like debug_counter (#2789) Notes: Merged-By: k0kubun <takashikkbn@gmail.com> commit bf04fe086bca47184c6ab13603e064b3c0e88d8e Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2019-12-28 08:45:37 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2019-12-28 08:45:37 +0900 Remove "All Rights Reserved." from Copyright statement. commit f96216df8dfd2d1e206150572912289f4dda7386 Author: Samuel Williams <samuel.williams@oriontransfer.co.nz> AuthorDate: 2019-12-28 08:41:47 +0900 Commit: Samuel Williams <samuel.williams@oriontransfer.co.nz> CommitDate: 2019-12-28 08:41:47 +0900 Remove "All Rights Reserved." from Copyright statement. commit f05416c91f4656db652ad9e63c5aa049dd5c0936 Author: Jeremy Evans <code@jeremyevans.net> AuthorDate: 2019-12-28 08:01:01 +0900 Commit: Jeremy Evans <code@jeremyevans.net> CommitDate: 2019-12-28 08:01:01 +0900 Fix coroutine copy implementation on OpenBSD OpenBSD is the only platform that uses this support by default, and it did not work because while OpenBSD supports alloca, it does not include alloca.h. This should be backported to Ruby 2.7. From George Koehler commit c74d30e7950f18fd9fadcfa404790e8fb0e891fd Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2019-12-28 01:36:07 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2019-12-28 01:36:07 +0900 Update to ruby/spec@7241f39 commit 74fdc1e60fb8ba03f5cdb09866c75bbe5dbce936 Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2019-12-28 01:36:04 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2019-12-28 01:36:04 +0900 Update to ruby/mspec@673fcab commit a2fac1d72c225192018f8f3f3dfcfcc46f66c08a Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2019-12-28 00:46:08 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2019-12-28 00:46:08 +0900 Update to ruby/spec@d419e74 commit 26a9f80c823a9f536a235d80d600aa9e03ed7a2f Author: Benoit Daloze <eregontp@gmail.com> AuthorDate: 2019-12-28 00:46:05 +0900 Commit: Benoit Daloze <eregontp@gmail.com> CommitDate: 2019-12-28 00:46:05 +0900 Update to ruby/mspec@1034afc commit 4db898284db1f02829abf412ae4f584220a2bcba Author: aycabta <aycabta@gmail.com> AuthorDate: 2019-12-27 16:07:30 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2019-12-27 16:07:52 +0900 Add test_completion_with_indent_and_completer_quote_characters This is for 8a705245e55575d4d310a2e956b89a36a5931971. commit 778634f778a029476fb85463462848c0341f8e6b Author: aycabta <aycabta@gmail.com> AuthorDate: 2019-12-27 16:02:07 +0900 Commit: aycabta <aycabta@gmail.com> CommitDate: 2019-12-27 16:02:30 +0900 Drop an invalid char as UTF-8 commit 729b7ce27058ed4b41d5facbb6b912b8e7c6a960 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2019-12-27 13:06:31 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2019-12-27 13:06:31 +0900 Add check_warning_flags to leakchecker commit 8c5430e2745b7dad698cfcc6e0d3ba6c71bfc39e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-27 10:17:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-27 10:17:06 +0900 reroute macro conflicts on OpenBSD OpenBSD's <sys/endian.h> has its own swap32() etc. We have to avoid name conflicts. See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20191226T210011Z.log.html.gz#miniruby commit 018769e291c223d82a7bc4d6a5a1bad247584c53 Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> AuthorDate: 2019-12-27 09:20:58 +0900 Commit: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> CommitDate: 2019-12-27 09:20:58 +0900 Try to fix error on Solaris commit baf37a5f9c34b660fdb0eb3f899df1303365c723 Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-27 00:46:50 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-27 00:46:59 +0900 Get rid of LIST_HEAD conflict with a system header on macOS commit 7bf44e9222dfe270ecfefad2b0cb6235732d50a9 Author: Yusuke Endoh <mame@ruby-lang.org> AuthorDate: 2019-12-26 21:20:50 +0900 Commit: Yusuke Endoh <mame@ruby-lang.org> CommitDate: 2019-12-26 21:20:50 +0900 `#include "internal/debug"` seems to be needed in assert mode http://ci.rvm.jp/results/trunk-theap-asserts@silicon-docker/2525210 commit 0c2d731ef210c9121e2a97cc5b0d7594a80389f3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-20 10:44:37 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 update dependencies Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 8184adabe5018ff930fde64456029471c1ebcd2e Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-25 13:40:10 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/stdbool.h rework Noticed that internal/stdbool.h and addr2line.c are the only two place where missing/stdbool.h is included. Why not delete the file so that we can merge internal/stdbool.h and missing/stdbool.h into one. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 5e22f873ed26092522f9bfc617d729bac88b284f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 17:16:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 decouple internal.h headers Saves comitters' daily life by avoid #include-ing everything from internal.h to make each file do so instead. This would significantly speed up incremental builds. We take the following inclusion order in this changeset: 1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very first thing among everything). 2. RUBY_EXTCONF_H if any. 3. Standard C headers, sorted alphabetically. 4. Other system headers, maybe guarded by #ifdef 5. Everything else, sorted alphabetically. Exceptions are those win32-related headers, which tend not be self- containing (headers have inclusion order dependencies). Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 33e9601938a79dae149caa88ff1bc06d376dd376 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 11:02:10 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 TIMESPEC_SEC_MAX might be bigger than 53 bits. The same as 41bc766763dba63ae2529f2f9070b8e26399745c. Read that commit for what is happening. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit bf53d6c7d19f877c821901b3288d7f80955ffbb7 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 14:47:38 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 other minior internal header tweaks These headers need no rewrite. Just add some minor tweaks, like addition of #include lines. Mainly cosmetic. TIMET_MAX_PLUS_ONE was deleted because the macro was used from only one place (directly write expression there). Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 3ae09b30f8ba5ff4dd148d358f51b99ae0ae6c38 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 16:42:30 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/vm.h rework Rearranged contents, then added MJIT_FUNC_EXPORTED function declarations. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit e0b1be01624be75d8ac41b163233186ae2a0db2f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 15:40:18 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/thread.h rework Rather trivial, added missed MJIT_FUNC_EXPORTED function declaration. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit ce2c97d738d6eb374e6dedf6e082b06a61ab6ef9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 14:15:46 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/symbol.h rework Some declatations are moved from internal/parse.h, to reflect the fact that they are defined in symbol.c. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 1a80d7bcdaa9a57f0feaf0a14ced8c9fb442d25d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 14:01:56 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/string.h rework Reduced the number of macros defined in the file. Also made it explicit for MJIT_FUNC_EXPORTTED functions to be so. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 797c46917e6a2f9faacba369b09132ddd3cc61cd Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 13:06:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/range.h rework Eliminate macros for better readability. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 719efe72b0707ed9b0e75a2bbf00e41ecc9ab451 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 12:30:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/process.h rework Eliminated the macro to convert into an inline function. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit c524df078044dfbf44215557e7b7a0faaa3bc3db Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 12:10:06 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/proc.h rework Annotated MJIT_FUNC_EXPORTED functions as such. Declaration of rb_sym_to_proc is moved into this file because the function is defined in proc.c rather than string.c. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit d0e0c884bb4277e529adbd8d82aae0a651f7edf2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 11:43:51 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/object.h rework Eliminated macros. As a side effect struct RBasicRaw is no longer required because we can now define anonymous structs inside of inline functions. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit c27bcd70574165d30bb3a9dc50a6b35fc419ab2b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 10:26:41 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/gc.h rework Improved readability by reducing the use of macros. Also moved some part of internal/compilers.h into this file, because it seems to be the right place for them. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit adc49f0f9a1106fc5a81b5aba684ec1578ac7d6d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 17:20:07 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/sanitizers.h rework Rearrange macro orders for better readability. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit ec6f6b53d88b47570c3c2b83cefee2cfd7b72ce3 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 17:06:37 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/error.h rework Reduce macros for readability. Also transplanted some part of internal/file.h into here because the declared functions are in fact defined in error.c. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 23c2a27bf6a36ed31171c681af2288ce3a02912b Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 16:12:39 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/compile.h rework This file contains other materials than in compile.c. I could perhaps split them into files, but felt overkill. Just add comments that describe the situations. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 0723db6c3972615ebce9e1ed03d4cb2a17d3fcf5 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 15:32:02 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/array.h rework Rearrange contents for better readability, reduce macros for the same reason, and mark MJIT_FUNC_EXPORTED functions as such. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit f3a229fe2d8b1b5dcc4fc4577341256743421f10 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 15:11:09 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/variable.h rework Eliminated macros. Also marked MJIT_FUNC_EXPORTED functions as such. Some of them are declared in constant.h so edited that file also. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 989068cf7087bf48f30c7f7c3f9acfa0bfd263ef Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 14:42:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/imemo.h rework Arrange contents and eliminate macros, to make them readable. Macro IFUNC_NEW was deleted because there was only one usage. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 63c9f620cf87fb5fa08cdb7b0b4cc70e787f5cb2 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 13:49:14 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/class.h rework This file has almost nothing to do. Added some #ifdef lines and rearranged file contents. Those macros are unable to translate into inline functions, because they are used as lvalues of assignments. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 7d71d916a225c87ab15d62512f0e9cebad16832f Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 13:18:53 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/struct.h rework Replace macros with inline functions of equivalent contents, for much improved readability. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit e72b8592d9b4daa079d85d0ceb60f466edaec94d Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 12:37:15 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/hash.h rework Reduce macros to make them inline functions, as well as mark MJIT_FUNC_EXPORTED functions explicitly as such. Definition of ar_hint_t is simplified. This has been the only possible definition so far. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit f0c02a094988f804a339e9180a5e206fa123b902 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 12:00:49 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/numeric.h rework Marked MJIT_FUNC_EXPORTED functions as such. Other changes are rather cosmetic. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 099778a6da8f0f2b32648f6d9b34233230ac6517 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 11:30:11 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/bignum.h rework Turn macros into inline functions for better readability. Also add rb_int128t2big declaration, which was missing. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit f6dc053faf6a8850c50638b5e06fca9e878de7ae Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-03 10:48:45 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/fixnum.h rework Add #include lines, move FIXNUM_POSITIVE_P etc. from numeric.h. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 68c0dc8d363675881d60b9fde15645d9ee14fafc Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-02 17:06:40 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/static_assert.h rework ISO/IEC 9899:2011 section 7.2 states that <assert.h> must define static_assert. Use it when available. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 6581db2187a1d5b6316fd1c942dccc6b6a3b9ca8 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-02 17:02:24 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/warnings.h rework Not a big rewrite. Just to make those macros readable. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 64ec438b5bbeb6b29dd0393df01cc6ae3f5564da Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-02 15:50:11 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 internal/bits.h rework Improving readability by converting some macros into inline functions. Also improved support for recent x86_64 processors, which have better instructions for the purposes. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 0958e19ffb047781fe1506760c7cbd8d7fe74e57 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-02 14:58:43 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 add several __has_something macro With these macros implemented we can write codes just like we can assume the compiler being clang. MSC_VERSION_SINCE is defined to implement those macros, but turned out to be handy for other places. The -fdeclspec compiler flag is necessary for clang to properly handle __has_declspec(). Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 863dbb21d8912c73e84fed47f2d3a1ac5d8275d4 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-02 14:48:42 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 assume C99 Now that we no longer support old compilers, we can safely delete several obsolete #ifdef gurads. Also because (as of writing) it is impossible to compile the program using C++ compilers, lets just entirely prohibit __cplusplus to reduce # of LOCs. Note however that we still cannot eliminate __STDC_VERSION__ checks, because MSVC does not define it, saying its C99 support is partial. See also https://social.msdn.microsoft.com/Forums/vstudio/en-US/53a4fd75-9f97-48b2-aa63-2e2e5a15efa3 Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit 1dd149d3b1e46f21b0c358fdf205e97ac009bb40 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-04 10:55:55 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 re-add io.h and encoding.h into internal.h This is tentative. For the sake of simplicity we partially revert commits e9cb552ec96, ee85a6e72b and 51edb300425. Will decouple them once again when we are ready. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit b739a63eb41f52d33c33f87ebc44dcf89762cc37 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-11-29 15:18:34 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 split internal.h into files One day, I could not resist the way it was written. I finally started to make the code clean. This changeset is the beginning of a series of housekeeping commits. It is a simple refactoring; split internal.h into files, so that we can divide and concur in the upcoming commits. No lines of codes are either added or removed, except the obvious file headers/footers. The generated binary is identical to the one before. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit ba78bf9778082795bdb4735ccd7b692b5c3769f9 Author: 卜部昌平 <shyouhei@ruby-lang.org> AuthorDate: 2019-12-25 14:19:48 +0900 Commit: 卜部昌平 <shyouhei@ruby-lang.org> CommitDate: 2019-12-26 20:45:12 +0900 debug_counter.h must be self-contained Include what is necessary. Notes: Merged: https://github.com/ruby/ruby/pull/2711 commit b25e27277dc39f25cfca4db8452d254f6cc8046e Author: Nobuyoshi Nakada <nobu@ruby-lang.org> AuthorDate: 2019-12-26 15:50:34 +0900 Commit: Nobuyoshi Nakada <nobu@ruby-lang.org> CommitDate: 2019-12-26 15:50:34 +0900 Transform hash keys by a hash [Feature #16274] commit 537a1cd5a97a8c5e93b64851abaab42812506f66 Author: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp> AuthorDate: 2019-12-26 10:55:58 +0900 Commit: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp> CommitDate: 2019-12-26 10:55:58 +0900 2.8.0 (tentative; to be 3.0.0) development has started.
| ver. 1.6 |
Github
|
.
| PHP 8.3.30 | Генерация страницы: 0.04 |
proxy
|
phpinfo
|
Настройка