<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ruby.git/spec/ruby, branch ruby_3_2</title>
<subtitle>github.com: ruby/ruby.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/'/>
<entry>
<title>merge revision(s) d2520b7b76759118071a16e6bca22726a5de9fb4: [Backport #19439]</title>
<updated>2023-03-08T05:46:30+00:00</updated>
<author>
<name>NARUSE, Yui</name>
<email>naruse@airemix.jp</email>
</author>
<published>2023-03-08T05:46:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=4e4a4e42b284d9309a7e51c97058093539e7a843'/>
<id>4e4a4e42b284d9309a7e51c97058093539e7a843</id>
<content type='text'>
	Marshal.load: restore instance variables on Regexp

	[Bug #19439]

	The instance variables were restore on the Regexp source,
	not the regexp itself.

	Unfortunately we have a bit of a chicken and egg problem.

	The source holds the encoding, and the encoding need to be set on
	the source to be able to instantiate the Regexp.

	So the instance variables have to be read on the `source`.
	To correct this we transfert the instance variables after
	instantiating the Regexp.

	The only way to avoid this would be to read the instance variable
	twice and rewind.
	---
	 marshal.c                             | 20 ++++++++++++++++++--
	 spec/ruby/core/marshal/shared/load.rb | 11 +++++++++++
	 2 files changed, 29 insertions(+), 2 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Marshal.load: restore instance variables on Regexp

	[Bug #19439]

	The instance variables were restore on the Regexp source,
	not the regexp itself.

	Unfortunately we have a bit of a chicken and egg problem.

	The source holds the encoding, and the encoding need to be set on
	the source to be able to instantiate the Regexp.

	So the instance variables have to be read on the `source`.
	To correct this we transfert the instance variables after
	instantiating the Regexp.

	The only way to avoid this would be to read the instance variable
	twice and rewind.
	---
	 marshal.c                             | 20 ++++++++++++++++++--
	 spec/ruby/core/marshal/shared/load.rb | 11 +++++++++++
	 2 files changed, 29 insertions(+), 2 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 8ce2fb9bbbaea14737c84385b1573f743a30f773,3a0f6ce1d31eefd8af01b50f3632a64d64e8f8c1: [Backport #19415]</title>
<updated>2023-03-02T00:29:38+00:00</updated>
<author>
<name>NARUSE, Yui</name>
<email>naruse@airemix.jp</email>
</author>
<published>2023-03-02T00:28:58+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=53f6173cfc085a7422b4a76c85e6c35969209327'/>
<id>53f6173cfc085a7422b4a76c85e6c35969209327</id>
<content type='text'>
	Only emit circular dependency warning for owned thread shields [Bug
	 #19415]

	If multiple threads attemps to load the same file concurrently
	it's not a circular dependency issue.

	So we check that the existing ThreadShield is owner by the current
	fiber before warning about circular dependencies.
	---
	 internal/thread.h                                     |  1 +
	 load.c                                                |  3 ++-
	 spec/ruby/core/kernel/shared/require.rb               | 11 +++++++++++
	 spec/ruby/fixtures/code/concurrent_require_fixture.rb |  4 ++++
	 test/ruby/test_require.rb                             |  3 ---
	 thread.c                                              | 11 +++++++++++
	 6 files changed, 29 insertions(+), 4 deletions(-)
	 create mode 100644 spec/ruby/fixtures/code/concurrent_require_fixture.rb

	Use Thread.pass until thread.stop? to wait for thread to block

	[Bug #19415]

	It should be more reliable
	---
	 spec/ruby/fixtures/code/concurrent_require_fixture.rb | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Only emit circular dependency warning for owned thread shields [Bug
	 #19415]

	If multiple threads attemps to load the same file concurrently
	it's not a circular dependency issue.

	So we check that the existing ThreadShield is owner by the current
	fiber before warning about circular dependencies.
	---
	 internal/thread.h                                     |  1 +
	 load.c                                                |  3 ++-
	 spec/ruby/core/kernel/shared/require.rb               | 11 +++++++++++
	 spec/ruby/fixtures/code/concurrent_require_fixture.rb |  4 ++++
	 test/ruby/test_require.rb                             |  3 ---
	 thread.c                                              | 11 +++++++++++
	 6 files changed, 29 insertions(+), 4 deletions(-)
	 create mode 100644 spec/ruby/fixtures/code/concurrent_require_fixture.rb

	Use Thread.pass until thread.stop? to wait for thread to block

	[Bug #19415]

	It should be more reliable
	---
	 spec/ruby/fixtures/code/concurrent_require_fixture.rb | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 2c93c554019ebdc394d3c51c6d925620d3005f84,f5ea43a2e61789357e9c4b374b4bc6756abeae17: [Backport #19360]</title>
<updated>2023-01-25T07:34:24+00:00</updated>
<author>
<name>NARUSE, Yui</name>
<email>naruse@airemix.jp</email>
</author>
<published>2023-01-25T07:34:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=fee5b8f263211faef10ed9f3e43c1e8b34548bbd'/>
<id>fee5b8f263211faef10ed9f3e43c1e8b34548bbd</id>
<content type='text'>
	Ensure main file has default coverage if required. (#7169)

	* Extract common code for coverage setup.
	---
	 iseq.c | 13 +++++++++++--
	 1 file changed, 11 insertions(+), 2 deletions(-)

	More coverage tests &amp; specs. (#7171)

	* Add spec for eval and line coverage.

	* Add test for main file coverage.
	---
	 spec/ruby/library/coverage/start_spec.rb | 8 +++++++-
	 test/coverage/autostart.rb               | 2 ++
	 test/coverage/main.rb                    | 1 +
	 test/coverage/test_coverage.rb           | 7 +++++++
	 4 files changed, 17 insertions(+), 1 deletion(-)
	 create mode 100644 test/coverage/autostart.rb
	 create mode 100644 test/coverage/main.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Ensure main file has default coverage if required. (#7169)

	* Extract common code for coverage setup.
	---
	 iseq.c | 13 +++++++++++--
	 1 file changed, 11 insertions(+), 2 deletions(-)

	More coverage tests &amp; specs. (#7171)

	* Add spec for eval and line coverage.

	* Add test for main file coverage.
	---
	 spec/ruby/library/coverage/start_spec.rb | 8 +++++++-
	 test/coverage/autostart.rb               | 2 ++
	 test/coverage/main.rb                    | 1 +
	 test/coverage/test_coverage.rb           | 7 +++++++
	 4 files changed, 17 insertions(+), 1 deletion(-)
	 create mode 100644 test/coverage/autostart.rb
	 create mode 100644 test/coverage/main.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>Windows: Prefer USERPROFILE over HOMEPATH</title>
<updated>2022-12-24T14:48:47+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2022-12-18T20:05:54+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=d0f5dc9eac78ecade459b740ed08795c8df6d129'/>
<id>d0f5dc9eac78ecade459b740ed08795c8df6d129</id>
<content type='text'>
HOMEPATH is set to "\WINDOWS\system32" when running per "runas" session.
This directory is not writable by ordinary users, leading to errors with many ruby tools.
Also config files in the home directory are not recognized.

Still keeping HOME at first which is not used by native Windows,
but by ruby specs and by MSYS2 environment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
HOMEPATH is set to "\WINDOWS\system32" when running per "runas" session.
This directory is not writable by ordinary users, leading to errors with many ruby tools.
Also config files in the home directory are not recognized.

Still keeping HOME at first which is not used by native Windows,
but by ruby specs and by MSYS2 environment.
</pre>
</div>
</content>
</entry>
<entry>
<title>Windows: Fix encoding of Dir.home</title>
<updated>2022-12-24T13:54:23+00:00</updated>
<author>
<name>Lars Kanis</name>
<email>lars@greiz-reinsdorf.de</email>
</author>
<published>2022-12-18T20:05:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=d6ce4180a5b4dacbac895c9911031a6df6c61136'/>
<id>d6ce4180a5b4dacbac895c9911031a6df6c61136</id>
<content type='text'>
Dir.home returns an UTF-8 string since ruby-3.0, but the actual
encoding of the bytes was CP_ACP or CP_OEMCP.
That led to invalid bytes when calling Dir.home with an unicode
username.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Dir.home returns an UTF-8 string since ruby-3.0, but the actual
encoding of the bytes was CP_ACP or CP_OEMCP.
That led to invalid bytes when calling Dir.home with an unicode
username.
</pre>
</div>
</content>
</entry>
<entry>
<title>Always issue deprecation warning when calling Regexp.new with 3rd positional argument</title>
<updated>2022-12-22T19:50:26+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2022-12-20T20:44:11+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=7e8fa06022a9e412e3f8e6c8b6f0ba1909f648d5'/>
<id>7e8fa06022a9e412e3f8e6c8b6f0ba1909f648d5</id>
<content type='text'>
Previously, only certain values of the 3rd argument triggered a
deprecation warning.

First step for fix for bug #18797.  Support for the 3rd argument
will be removed after the release of Ruby 3.2.

Fix minor fallout discovered by the tests.

Co-authored-by: Nobuyoshi Nakada &lt;nobu@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, only certain values of the 3rd argument triggered a
deprecation warning.

First step for fix for bug #18797.  Support for the 3rd argument
will be removed after the release of Ruby 3.2.

Fix minor fallout discovered by the tests.

Co-authored-by: Nobuyoshi Nakada &lt;nobu@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure Fiber storage is only accessed from the Fiber it belongs to</title>
<updated>2022-12-20T18:32:23+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2022-12-20T17:21:43+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=0efa36ac06a14a3e2e0aca395fee6530c790bdf1'/>
<id>0efa36ac06a14a3e2e0aca395fee6530c790bdf1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Never use the storage of another Fiber, that violates the whole design</title>
<updated>2022-12-20T18:32:23+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2022-12-20T16:59:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=45175962a6fd74ab2e9ba92f1280f3987af25494'/>
<id>45175962a6fd74ab2e9ba92f1280f3987af25494</id>
<content type='text'>
* See https://bugs.ruby-lang.org/issues/19078#note-30
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* See https://bugs.ruby-lang.org/issues/19078#note-30
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove `require 'io/wait'` where it's no longer necessary. (#6932)</title>
<updated>2022-12-14T22:37:01+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2022-12-14T22:37:01+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=d20bd06a97555a4493458d866590107da6cb21f4'/>
<id>d20bd06a97555a4493458d866590107da6cb21f4</id>
<content type='text'>
* Remove `require 'io/wait'` as it's part of core now.

* Update ruby specs using version gates.

* Add note about why it's conditional.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove `require 'io/wait'` as it's part of core now.

* Update ruby specs using version gates.

* Add note about why it's conditional.</pre>
</div>
</content>
</entry>
<entry>
<title>Add spec for fiber storage. (#6896)</title>
<updated>2022-12-10T00:54:53+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2022-12-10T00:54:53+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=22d391dc637dd756fdcdfc0ece4a71753b5b2ddb'/>
<id>22d391dc637dd756fdcdfc0ece4a71753b5b2ddb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
