<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/spec/ruby, branch ruby_3_1</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Pend some tests because these are not working with macOS 15 and Xcode 16</title>
<updated>2024-11-06T04:30:32+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-07-12T03:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e9cc29bb5db2099ceea43f6bb66914acd9d20f87'/>
<id>e9cc29bb5db2099ceea43f6bb66914acd9d20f87</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix previous commit</title>
<updated>2023-06-20T01:32:50+00:00</updated>
<author>
<name>U.Nakamura</name>
<email>usa@ruby-lang.org</email>
</author>
<published>2023-06-20T01:32:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=48b00c4d63db9d8361e6dd8d322bd253077e1d6a'/>
<id>48b00c4d63db9d8361e6dd8d322bd253077e1d6a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d2520b7b76759118071a16e6bca22726a5de9fb4: [Backport #19439]</title>
<updated>2023-06-19T11:49:09+00:00</updated>
<author>
<name>U.Nakamura</name>
<email>usa@ruby-lang.org</email>
</author>
<published>2023-06-19T11:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6302bf2ebe8d4807ede5ac9b8602c92ed336e5bd'/>
<id>6302bf2ebe8d4807ede5ac9b8602c92ed336e5bd</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) 8d1109c03bacc952b6218af2e4ae9b74c9855273:</title>
<updated>2023-03-25T07:04:53+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-03-25T07:04:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c8ca169d68519f6193ddd98960d5e1e699c74ad2'/>
<id>c8ca169d68519f6193ddd98960d5e1e699c74ad2</id>
<content type='text'>
	Added assertion values for Amazon Linux 2023

	---
	 spec/ruby/core/file/utime_spec.rb | 8 +++++---
	 1 file changed, 5 insertions(+), 3 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Added assertion values for Amazon Linux 2023

	---
	 spec/ruby/core/file/utime_spec.rb | 8 +++++---
	 1 file changed, 5 insertions(+), 3 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d6ce4180a5b4dacbac895c9911031a6df6c61136: [Backport #19243]</title>
<updated>2023-03-25T02:07:09+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-03-25T02:07:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=823835499539aa53128a025ab72eb00c288dfb09'/>
<id>823835499539aa53128a025ab72eb00c288dfb09</id>
<content type='text'>
	Windows: Fix encoding of Dir.home

	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.
	---
	 spec/ruby/core/dir/home_spec.rb | 11 +++++++++++
	 win32/file.c                    |  3 ++-
	 2 files changed, 13 insertions(+), 1 deletion(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Windows: Fix encoding of Dir.home

	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.
	---
	 spec/ruby/core/dir/home_spec.rb | 11 +++++++++++
	 win32/file.c                    |  3 ++-
	 2 files changed, 13 insertions(+), 1 deletion(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 8ce2fb9bbbaea14737c84385b1573f743a30f773,3a0f6ce1d31eefd8af01b50f3632a64d64e8f8c1: [Backport #19415]</title>
<updated>2023-03-21T06:32:44+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-03-21T06:32:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=26b3f0b6a9489860e1d312369d784495b080daa3'/>
<id>26b3f0b6a9489860e1d312369d784495b080daa3</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) 36f297e62108072b9377d927321928b994f66a93:</title>
<updated>2022-11-22T11:55:17+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2022-11-22T11:55:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8f2586f1985041b8be33358052fa647d02bf2aea'/>
<id>8f2586f1985041b8be33358052fa647d02bf2aea</id>
<content type='text'>
	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(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	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(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 54cad3123a07583c90e85bcfc55ebd87124c1250: [Backport #19004]</title>
<updated>2022-11-05T05:24:03+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2022-11-05T04:52:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=597ce7966c38e4f7fc7368a860ac2d056de794ba'/>
<id>597ce7966c38e4f7fc7368a860ac2d056de794ba</id>
<content type='text'>
	[Bug #19004] `Complex.polar` handles complex singular `abs` argument

	`Complex.polar` accepts Complex values as arguments for the polar form as long
	as the value of the complex has no imaginary part (ie it is 'real'). In
	`f_complex_polar` this is handled by extracting the real part of the arguments.
	However in the case `polar` is called with only a single argument, the absolute
	value (abs), then the Complex is created without applying a check on the type
	of abs, meaning it is possible to create a Complex where the real part is itself
	an instance of a Complex. This change removes the short circuit for the single
	argument case meaning the real part extraction is performed correctly
	(by f_complex_polar).

	Also adds an example to `spec/ruby/core/complex/polar_spec.rb` to check that
	the real part of a complex argument is correctly extracted and used in the
	resulting Complex real and imaginary parts.
	---
	 complex.c                            | 13 ++++++-------
	 spec/ruby/core/complex/polar_spec.rb | 16 ++++++++++++++++
	 2 files changed, 22 insertions(+), 7 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #19004] `Complex.polar` handles complex singular `abs` argument

	`Complex.polar` accepts Complex values as arguments for the polar form as long
	as the value of the complex has no imaginary part (ie it is 'real'). In
	`f_complex_polar` this is handled by extracting the real part of the arguments.
	However in the case `polar` is called with only a single argument, the absolute
	value (abs), then the Complex is created without applying a check on the type
	of abs, meaning it is possible to create a Complex where the real part is itself
	an instance of a Complex. This change removes the short circuit for the single
	argument case meaning the real part extraction is performed correctly
	(by f_complex_polar).

	Also adds an example to `spec/ruby/core/complex/polar_spec.rb` to check that
	the real part of a complex argument is correctly extracted and used in the
	resulting Complex real and imaginary parts.
	---
	 complex.c                            | 13 ++++++-------
	 spec/ruby/core/complex/polar_spec.rb | 16 ++++++++++++++++
	 2 files changed, 22 insertions(+), 7 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) bbe5ec78463f8d6ef2e1a3571f17357a3d9ec8e4: [Backport #18994]</title>
<updated>2022-10-23T10:11:45+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2022-10-23T10:11:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=941c888b041decb45034572d766120f9be34986e'/>
<id>941c888b041decb45034572d766120f9be34986e</id>
<content type='text'>
	rb_int_range_last: properly handle non-exclusive range

	[Bug #18994]
	---
	 range.c                           | 8 ++++----
	 spec/ruby/core/range/last_spec.rb | 6 ++++++
	 2 files changed, 10 insertions(+), 4 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	rb_int_range_last: properly handle non-exclusive range

	[Bug #18994]
	---
	 range.c                           | 8 ++++----
	 spec/ruby/core/range/last_spec.rb | 6 ++++++
	 2 files changed, 10 insertions(+), 4 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>Re-enable example for Europe/Amsterdam pre-1970 time</title>
<updated>2022-10-01T11:29:30+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-09-29T06:40:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=df1cf0a08b1c078ef37e8d2c1a2ac9b0c3fca8b3'/>
<id>df1cf0a08b1c078ef37e8d2c1a2ac9b0c3fca8b3</id>
<content type='text'>
  * https://github.com/ruby/spec/pull/939
  * https://github.com/ruby/ruby/pull/6393
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  * https://github.com/ruby/spec/pull/939
  * https://github.com/ruby/ruby/pull/6393
</pre>
</div>
</content>
</entry>
</feed>
