diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 4995680930029b..fea715ff3aeb7e 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -93,7 +93,7 @@ jobs: arch: ${{ matrix.arch }} configure: ${{ matrix.configure }} run: >- - $SETARCH ../src/configure -C --disable-install-doc ${configure:-cppflags=-DRUBY_DEBUG} + $SETARCH ../src/configure -C --disable-install-doc ${configure:- --enable-debug-env cppflags=-DRUBY_DEBUG} ${arch:+--target=$arch-$OSTYPE --host=$arch-$OSTYPE} - run: $SETARCH make prepare-gems diff --git a/NEWS.md b/NEWS.md index f135262fe81ae2..33181ad34adeb7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -75,16 +75,17 @@ releases. ### The following default gems are updated. * RubyGems 4.1.0.dev - * 4.0.3 to [v4.0.4][RubyGems-v4.0.4], [v4.0.5][RubyGems-v4.0.5], [v4.0.6][RubyGems-v4.0.6], [v4.0.7][RubyGems-v4.0.7], [v4.0.8][RubyGems-v4.0.8], [v4.0.9][RubyGems-v4.0.9], [v4.0.10][RubyGems-v4.0.10] + * 4.0.3 to [v4.0.4][RubyGems-v4.0.4], [v4.0.5][RubyGems-v4.0.5], [v4.0.6][RubyGems-v4.0.6], [v4.0.7][RubyGems-v4.0.7], [v4.0.8][RubyGems-v4.0.8], [v4.0.9][RubyGems-v4.0.9], [v4.0.10][RubyGems-v4.0.10], [v4.0.11][RubyGems-v4.0.11] * bundler 4.1.0.dev - * 4.0.3 to [v4.0.4][bundler-v4.0.4], [v4.0.5][bundler-v4.0.5], [v4.0.6][bundler-v4.0.6], [v4.0.7][bundler-v4.0.7], [v4.0.8][bundler-v4.0.8], [v4.0.9][bundler-v4.0.9], [v4.0.10][bundler-v4.0.10] + * 4.0.3 to [v4.0.4][bundler-v4.0.4], [v4.0.5][bundler-v4.0.5], [v4.0.6][bundler-v4.0.6], [v4.0.7][bundler-v4.0.7], [v4.0.8][bundler-v4.0.8], [v4.0.9][bundler-v4.0.9], [v4.0.10][bundler-v4.0.10], [v4.0.11][bundler-v4.0.11] * erb 6.0.4 - * 6.0.1 to [v6.0.2][erb-v6.0.2], [v6.0.3][erb-v6.0.3] + * 6.0.1 to [v6.0.1.1][erb-v6.0.1.1], [v6.0.2][erb-v6.0.2], [v6.0.3][erb-v6.0.3], [v6.0.4][erb-v6.0.4] * ipaddr 1.2.9 + * 1.2.8 to [v1.2.9][ipaddr-v1.2.9] * json 2.19.5 - * 2.18.0 to [v2.18.1][json-v2.18.1], [v2.19.0][json-v2.19.0], [v2.19.1][json-v2.19.1], [v2.19.2][json-v2.19.2], [v2.19.3][json-v2.19.3], [v2.19.4][json-v2.19.4] + * 2.18.0 to [v2.18.1][json-v2.18.1], [v2.19.0][json-v2.19.0], [v2.19.1][json-v2.19.1], [v2.19.2][json-v2.19.2], [v2.19.3][json-v2.19.3], [v2.19.4][json-v2.19.4], [v2.19.5][json-v2.19.5] * openssl 4.0.2 - * 4.0.0 to [v4.0.1][openssl-v4.0.1] + * 4.0.0 to [v4.0.1][openssl-v4.0.1], [v4.0.2][openssl-v4.0.2] * prism 1.9.0 * 1.7.0 to [v1.8.0][prism-v1.8.0], [v1.8.1][prism-v1.8.1], [v1.9.0][prism-v1.9.0] * resolv 0.7.1 @@ -100,12 +101,12 @@ releases. ### The following bundled gems are updated. -* minitest 6.0.5 +* minitest 6.0.6 * rake 13.4.2 * 13.3.1 to [v13.4.0][rake-v13.4.0], [v13.4.1][rake-v13.4.1], [v13.4.2][rake-v13.4.2] * test-unit 3.7.7 * 3.7.5 to [3.7.6][test-unit-3.7.6], [3.7.7][test-unit-3.7.7] -* net-imap 0.6.3 +* net-imap 0.6.4 * 0.6.2 to [v0.6.3][net-imap-v0.6.3] * rbs 4.0.2 * 3.10.0 to [v3.10.1][rbs-v3.10.1], [v3.10.2][rbs-v3.10.2], [v3.10.3][rbs-v3.10.3], [v3.10.4][rbs-v3.10.4], [v4.0.0.dev.5][rbs-v4.0.0.dev.5], [v4.0.0][rbs-v4.0.0], [v4.0.2][rbs-v4.0.2] @@ -124,7 +125,7 @@ releases. * 7.0.3 to [v7.1.0][rdoc-v7.1.0], [v7.2.0][rdoc-v7.2.0] * win32ole 1.9.3 * 1.9.2 to [v1.9.3][win32ole-v1.9.3] -* irb 1.17.0 +* irb 1.18.0 * 1.16.0 to [v1.17.0][irb-v1.17.0] ### RubyGems and Bundler @@ -183,6 +184,7 @@ A lot of work has gone into making Ractors more stable, performant, and usable. [RubyGems-v4.0.8]: https://github.com/rubygems/rubygems/releases/tag/v4.0.8 [RubyGems-v4.0.9]: https://github.com/rubygems/rubygems/releases/tag/v4.0.9 [RubyGems-v4.0.10]: https://github.com/rubygems/rubygems/releases/tag/v4.0.10 +[RubyGems-v4.0.11]: https://github.com/rubygems/rubygems/releases/tag/v4.0.11 [bundler-v4.0.4]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.4 [bundler-v4.0.5]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.5 [bundler-v4.0.6]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.6 @@ -190,15 +192,21 @@ A lot of work has gone into making Ractors more stable, performant, and usable. [bundler-v4.0.8]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.8 [bundler-v4.0.9]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.9 [bundler-v4.0.10]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.10 +[bundler-v4.0.11]: https://github.com/rubygems/rubygems/releases/tag/bundler-v4.0.11 +[erb-v6.0.1.1]: https://github.com/ruby/erb/releases/tag/v6.0.1.1 [erb-v6.0.2]: https://github.com/ruby/erb/releases/tag/v6.0.2 [erb-v6.0.3]: https://github.com/ruby/erb/releases/tag/v6.0.3 +[erb-v6.0.4]: https://github.com/ruby/erb/releases/tag/v6.0.4 +[ipaddr-v1.2.9]: https://github.com/ruby/ipaddr/releases/tag/v1.2.9 [json-v2.18.1]: https://github.com/ruby/json/releases/tag/v2.18.1 [json-v2.19.0]: https://github.com/ruby/json/releases/tag/v2.19.0 [json-v2.19.1]: https://github.com/ruby/json/releases/tag/v2.19.1 [json-v2.19.2]: https://github.com/ruby/json/releases/tag/v2.19.2 [json-v2.19.3]: https://github.com/ruby/json/releases/tag/v2.19.3 [json-v2.19.4]: https://github.com/ruby/json/releases/tag/v2.19.4 +[json-v2.19.5]: https://github.com/ruby/json/releases/tag/v2.19.5 [openssl-v4.0.1]: https://github.com/ruby/openssl/releases/tag/v4.0.1 +[openssl-v4.0.2]: https://github.com/ruby/openssl/releases/tag/v4.0.2 [prism-v1.8.0]: https://github.com/ruby/prism/releases/tag/v1.8.0 [prism-v1.8.1]: https://github.com/ruby/prism/releases/tag/v1.8.1 [prism-v1.9.0]: https://github.com/ruby/prism/releases/tag/v1.9.0 diff --git a/gc/default/default.c b/gc/default/default.c index a08f6b79c8eab3..d186eeba366d7f 100644 --- a/gc/default/default.c +++ b/gc/default/default.c @@ -6415,13 +6415,13 @@ garbage_collect(rb_objspace_t *objspace, unsigned int reason) static int gc_start(rb_objspace_t *objspace, unsigned int reason) { - rb_gc_initialize_vm_context(&objspace->vm_context); - unsigned int do_full_mark = !!(reason & GPR_FLAG_FULL_MARK); if (!rb_darray_size(objspace->heap_pages.sorted)) return TRUE; /* heap is not ready */ if (!(reason & GPR_FLAG_METHOD) && !ready_to_gc(objspace)) return TRUE; /* GC is not allowed */ + rb_gc_initialize_vm_context(&objspace->vm_context); + GC_ASSERT(gc_mode(objspace) == gc_mode_none, "gc_mode is %s\n", gc_mode_name(gc_mode(objspace))); GC_ASSERT(!is_lazy_sweeping(objspace)); GC_ASSERT(!is_incremental_marking(objspace)); diff --git a/gems/bundled_gems b/gems/bundled_gems index 70f253f6b5f53a..b8fd507be46f1d 100644 --- a/gems/bundled_gems +++ b/gems/bundled_gems @@ -6,19 +6,19 @@ # - revision: revision in repository-url to test # if `revision` is not given, "v"+`version` or `version` will be used. -minitest 6.0.5 https://github.com/minitest/minitest +minitest 6.0.6 https://github.com/minitest/minitest power_assert 3.0.1 https://github.com/ruby/power_assert rake 13.4.2 https://github.com/ruby/rake test-unit 3.7.7 https://github.com/test-unit/test-unit rexml 3.4.4 https://github.com/ruby/rexml rss 0.3.2 https://github.com/ruby/rss -net-imap 0.6.3 https://github.com/ruby/net-imap +net-imap 0.6.4 https://github.com/ruby/net-imap net-smtp 0.5.1 https://github.com/ruby/net-smtp matrix 0.4.3 https://github.com/ruby/matrix prime 0.1.4 https://github.com/ruby/prime rbs 4.0.2 https://github.com/ruby/rbs 36a7e8e38df9efd33db83c3f30f0308bdeb84bd9 typeprof 0.31.1 https://github.com/ruby/typeprof -debug 1.11.1 https://github.com/ruby/debug 2897edad6d2c2eeb49ffe915192c54572dbe6c82 +debug 1.11.1 https://github.com/ruby/debug 9dc2024a5a05116b3d38afbc5579d9503d8913f3 racc 1.8.1 https://github.com/ruby/racc mutex_m 0.3.0 https://github.com/ruby/mutex_m getoptlong 0.2.1 https://github.com/ruby/getoptlong @@ -37,9 +37,9 @@ ostruct 0.6.3 https://github.com/ruby/ostruct pstore 0.2.1 https://github.com/ruby/pstore benchmark 0.5.0 https://github.com/ruby/benchmark logger 1.7.0 https://github.com/ruby/logger -rdoc 7.2.0 https://github.com/ruby/rdoc bc0baee787609f2205e8f1103f3e1d36b923184a +rdoc 7.2.0 https://github.com/ruby/rdoc 1f93543615928b6d45357432f16ec6006e2d8b1e win32ole 1.9.3 https://github.com/ruby/win32ole -irb 1.17.0 https://github.com/ruby/irb cfd0b917d3feb01adb7d413b19faeb0309900599 +irb 1.18.0 https://github.com/ruby/irb reline 0.6.3 https://github.com/ruby/reline readline 0.0.4 https://github.com/ruby/readline fiddle 1.1.8 https://github.com/ruby/fiddle diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb index 078f63ecd9345c..82199876ecf35f 100644 --- a/test/ruby/test_class.rb +++ b/test/ruby/test_class.rb @@ -442,9 +442,11 @@ def foo; TEST; end CloneTest1 = CloneTest.clone CloneTest2 = CloneTest.clone class CloneTest1 + remove_const :TEST TEST = :C1 end class CloneTest2 + remove_const :TEST TEST = :C2 end diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index 874c3ef1d9af91..047fd0a571e1cd 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb @@ -862,6 +862,18 @@ def load_plugin ensure $VERBOSE = verbose end + + def regenerate_plugins_for(spec, plugins_dir) + plugins = spec.plugins + return if plugins.empty? + dir = without_destdir(plugins_dir) + plugins.each do |plugin| + $installed_list.puts(File.join(dir, "#{spec.name}_plugin#{File.extname(plugin)}")) + end + unless $dryrun + super + end + end end end