Activity
From 09/24/2020 to 09/30/2020
09/30/2020
-
11:55 PM Revision bc23216e (git): 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. -
11:23 PM Feature #16786: Light-weight scheduler for improved concurrency.
- @matz has said that he is happy with the current implementation, which is great news. However, there is still some discussion around naming, mostly that @ko1 said that `Thread#scheduler` is not meaningful enough.
So, I wanted to give so... -
10:56 PM Bug #17202: Backport for Apple Silicon
- ... and backported d732bc51bdbfe7d66038731d42e01a511d13b5f8,633a1f15d8228236094ddee12e4e169d655ec49e,95f387f61a4a4ea92635da760b7de5b1e09bb84e,528a3a17977aa1843a26630c96635c3cb161e729,261569d4aac440f25de588cca365163ecf1124a2,e4a9e926f0fe0...
-
10:25 AM Bug #17202: Backport for Apple Silicon
- ... and f96216df8dfd2d1e206150572912289f4dda7386, 0091fac1d8de07e86fef8315ba77609bed9dd7f5, 04c704c5c967ea9bded6bf645439fe59c7d9f7d6 too.
-
10:24 AM Bug #17202: Backport for Apple Silicon
- ruby_2_7 f46929833923d96e4dc706945fd537a1caaebe66 merged revision(s) f96216df8dfd2d1e206150572912289f4dda7386,0091fac1d8de07e86fef8315ba77609bed9dd7f5,04c704c5c967ea9bded6bf645439fe59c7d9f7d6,23655e6de5ee989feb8c65c7061fe9a71579dc54,7cb8...
-
09:57 AM Bug #17202: Backport for Apple Silicon
- I will try to backport the commits shown below.
https://github.com/ruby/ruby/commit/23655e6de5ee989feb8c65c7061fe9a71579dc54
https://github.com/ruby/ruby/commit/7cb8904a12c850ee30dcd67817fa2f9dc3fee813
https://github.com/ruby/ruby/c... -
10:53 PM Revision 229c041f (git): merge revision(s) d732bc51bdbfe7d66038731d42e01a511d13b5f8,633a1f15d8228236094ddee12e4e169d655ec49e,95f387f61a4a4ea92635da760b7de5b1e09bb84e,528a3a17977aa1843a26630c96635c3cb161e729,261569d4aac440f25de588cca365163ecf1124a2,e4a9e926f0fe0acf2fbe61da6e075a95d34be066,318be1cb2f9c6f04403c063a5618c6267012ee51,e1855100e46040e73630b378974c17764e0cccee,9cfa811b0f209d714f89fe0de6778c71f77556c7,b68dab866724aacc1cbc6b7d5e1f555dec092346: [Backport #17202]
- 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... - 10:11 PM Revision bb2ba72c (git): [ruby/ostruct] Tweak doc
- 10:11 PM Revision 152ba86b (git): [ruby/ostruct] Remove unused condition
- 10:11 PM Revision b36a45c0 (git): [ruby/ostruct] Improved YAML serialization.
- Patch adapted from Pietro Monteiro [Fixes bug#8382]
- 10:11 PM Revision 0e93118c (git): [ruby/ostruct] Update NEWS
- 10:11 PM Revision 09770401 (git): [ruby/ostruct] Add test that frozen OpenStructs are Ractor-shareable
- 10:11 PM Revision 083fa6e5 (git): [ruby/ostruct] Protect subclass' methods and our bang methods.
- Internally, use only bang methods
- 10:11 PM Revision df4d08c4 (git): [ruby/ostruct] Avoid calling initialize
- 10:11 PM Revision fb16c3dc (git): Remove trailing whitespace [doc]
- 07:58 PM Revision f4733b2c (git): * 2020-10-01 [ci skip]
-
07:58 PM Revision 4bc6190a (git): Enhanced RDoc for String#[] (#3607)
- * Enhanced RDoc for String#[]
-
07:57 PM Misc #16483: How about stopping new *.tar.bz2 releases?
- Not sure what to conclude from this article, but at least .xz should not be the only format: https://www.nongnu.org/lzip/xz_inadequate.html
Given the various issues, maybe it should not even be used for distribution? -
06:18 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
- IMHO hardcoding such knowledge in the pattern feels wrong (vs in the matching method like `Regexp#match?` which is fine).
It seems to me that it could cause confusing bugs, e.g. when using `/f` in the `case` above if a `when` clause sta... -
04:22 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
- znz (Kazuhiro NISHIYAMA) wrote in #note-1:
> What does `regexp_without_matchdata.match(string)` return when matched?
Thats what `when not explicitly needed by the method.` part was about: it returns `MatchData` in this case, as reque... -
03:58 PM Feature #17206: Introduce new Regexp option to avoid global MatchData allocations
- What does `regexp_without_matchdata.match(string)` return when matched?
-
03:42 PM Feature #17206 (Open): Introduce new Regexp option to avoid global MatchData allocations
- Originates from https://bugs.ruby-lang.org/issues/17030
When this option is specified, ruby will not create global `MatchData` objects, when not explicitly needed by the method.
If the new option is named `f`, we can write as `/o/f... -
03:12 PM Feature #17143: Improve support for warning categories
- I submitted the first pull request to add the `:deprecated` category to additional warnings, and to add warning categories for `:uninitialized_ivar` and `:redefine`: https://github.com/ruby/ruby/pull/3601
@matz Do you want to approve ... -
01:17 PM Bug #17205: Misleading error message when comparing NaN with numbers in array
- The closest issue I could find is this: https://bugs.ruby-lang.org/issues/10424
There is quite a lot of inconsistency when dealing with arrays containing `NaN`, dependent on 1) if comparing against an integer or a float, 2) order of c... -
01:14 PM Bug #17205 (Closed): Misleading error message when comparing NaN with numbers in array
- The closest issue I could find is this: https://bugs.ruby-lang.org/issues/10424
There is quite a lot of inconsistency when dealing with arrays containing `NaN`, dependent on 1) if comparing against an integer or a float, 2) order of c... -
01:15 PM Revision 7b2bea42 (git): Unfreeze string-literal-only interpolated string-literal
- [Feature #17104]
-
01:08 PM Feature #16986: Anonymous Struct literal
- mame (Yusuke Endoh) wrote in #note-36:
> Because method-name symbols are never GC'ed, so converting arbitrary external input to anonymous Struct is vulnerable against Symbol DoS.
Could that be solved?
In TruffleRuby methods don't ho... -
01:47 AM Feature #16986: Anonymous Struct literal
- mame (Yusuke Endoh) wrote in #note-51:
> As I said above, this is a bit dangerous API. Some users will write `Struct[**untrusted_user_input_hash]`, which is vulnerable against Symbol DoS.
Right, in the same way users can already do `Op... -
01:36 AM Feature #16986: Anonymous Struct literal
- tenderlovemaking (Aaron Patterson) wrote in #note-50:
> marcandre (Marc-Andre Lafortune) wrote in #note-49:
> ...
As I said above, this is a bit dangerous API. Some users will write `Struct[**untrusted_user_input_hash]`, which is vuln... -
11:43 AM Revision 65e8a293 (git): Update to ruby/spec@bfd843a
-
11:43 AM Revision bbecf1eb (git): Update to ruby/mspec@e154fa1
-
10:40 AM Revision 9501b34d (git): strip trailing spaces [ci skip]
-
10:39 AM Revision 8dab56ea (git): Update to ruby/spec@681e8cf
-
10:39 AM Revision 31636bbd (git): Update to ruby/mspec@4120a62
-
10:24 AM Revision f4692983 (git): merge revision(s) f96216df8dfd2d1e206150572912289f4dda7386,0091fac1d8de07e86fef8315ba77609bed9dd7f5,04c704c5c967ea9bded6bf645439fe59c7d9f7d6,23655e6de5ee989feb8c65c7061fe9a71579dc54,7cb8904a12c850ee30dcd67817fa2f9dc3fee813,41168f69fbeb32cfc88210911d62e419b8116589,87f6154bb4c67ca77ee353bb1fe25a922036c0e5: [Backport #17202]
- Remove "All Rights Reserved." from Copyright statement.
Patch assembly so that it aligns properly
Removed trailing spaces [ci skip]
Fix build error on Apple silicon macOS
This patch will fix following ... -
10:21 AM Revision 201d5016 (git): Update to ruby/spec@9277d27
-
10:19 AM Feature #17177: Include the current file name and the line number in the output of `p`
- What about extending `pp` to include the location when `$DEBUG` is true?
-
08:55 AM Bug #17204 (Closed): Segmentation fault in 2.7.1p83
- Got this in buildkite, re-built, it worked.
Thank you very much for your outstanding work!
```
-- Machine register context ------------------------------------------------
RIP: 0x00007f2b5105caa8 RBP: 0x0000561bd7600fa8 RS... -
07:21 AM Bug #17203: Logger::Formatter won't work with non main Ractor
- Eregon (Benoit Daloze) wrote in #note-1:
> Since `$$` returns a (read-only) Integer, it seems harmless to let Ractors read it.
I agree. it should be read from any ractors. -
06:55 AM Revision ce986b41 (git): Remove unneeded `begin` and `end`
-
06:41 AM Revision 30bb040e (git): 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: JSONCommonInte... -
04:37 AM Revision 1484b786 (git): 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-con... - 03:34 AM Revision 388281c5 (git): Fix order of operations during `rb_ec_finalize`.
-
02:24 AM Bug #17169: Bad value for range using infinity for Time
- Probably, since ruby 2.7, you can use begin-less/end-less ranges instead.
-
12:15 AM Revision 48b94b79 (git): Enhanced RDoc for String#upto (#3603)
- * Enhanced RDoc for String#upto
09/29/2020
-
10:50 PM Revision ea347990 (git): merge revision(s) 07786edd66f59a529d6febb2e0fe901782991755,1917afa34bca55ba1ea578234132b7e4479ea3c9,0c611d7f4fce67c64bee4815f263c55ef15561c4:
- 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.f... -
08:27 PM Feature #16986: Anonymous Struct literal
- marcandre (Marc-Andre Lafortune) wrote in #note-49:
> We could settle for `Struct.[]`:
> ...
I think that's pretty reasonable. `Struct.new.new` is not something I would do in a hot path. But maybe that's why we don't see more of it in... -
05:15 PM Feature #16986: Anonymous Struct literal
- tenderlovemaking (Aaron Patterson) wrote in #note-48:
> I frequently use `Struct.new().new()` in test cases where I need fakes.
> ...
Thanks for your reply and looking into the Rails codebase.
I actually think these examples might actua... -
04:15 PM Feature #16986: Anonymous Struct literal
- marcandre (Marc-Andre Lafortune) wrote in #note-47:
> esquinas (Enrique Esquinas) wrote in #note-46:
> ...
I frequently use `Struct.new().new()` in test cases where I need fakes. Here is some real code that I think `%struct{...}` woul... -
03:56 PM Feature #16986: Anonymous Struct literal
- esquinas (Enrique Esquinas) wrote in #note-46:
> Here `calculationOn3D` expects the `point` variable to implement the 3D interface and be accessed like `point.x`,`point.y`,`point.z` so it just works.
> ...
I don't find this example con... -
02:35 PM Feature #16986: Anonymous Struct literal
- duerst (Martin Dürst) wrote in #note-43:
> One more point: I haven't seen much examples of similar features in other languages. The only suggestion I saw was that of a similarity to Python tuples. But tuples are much closer to Arrays th... -
07:59 PM Bug #17186: Integer overflow in "chr" error message (out of char range)
- Looks great, thanks!
-
06:50 PM Revision 0fb1a67b (git): Reference process PID using the Process#pid
- This change will allow formatter to run from Ractors other than main.
-
05:27 PM Bug #17203: Logger::Formatter won't work with non main Ractor
- I tried to make an example why sharing a mutable object is problematic, but I think I just got more confused :D
```
ruby -e '$stdout.instance_variable_set(:@private, Object.new); p $stdout.object_id; p $stdout.instance_variables; Rac... -
05:10 PM Bug #17203: Logger::Formatter won't work with non main Ractor
- Since `$$` returns a (read-only) Integer, it seems harmless to let Ractors read it.
Although I think `Process.pid` is nicer than `$$` :)
`$stdout` OTOH should not be possible to access from non-main Ractor, no matter the access pat... -
03:17 PM Bug #17203 (Closed): Logger::Formatter won't work with non main Ractor
- ``` ruby
class Rogger < Ractor
def self.new
super do
# STDOUT cannot be referenced but $stdout can
logger = ::Logger.new($stdout)
# Run the requested operations on our logger instance
while data = ... -
05:08 PM Feature #17171: Why is the visibility of constants not affected by `private`?
- I am not quite as active on the bug-tracker as I used to be in the past, but I will comment on this particular issue since the reasoning given makes sense to me.
I will not comment on the backwards-incompatibility issue much at all, but... - 03:32 PM Revision c38605de (git): * 2020-09-30 [ci skip]
-
03:31 PM Revision f7bd9f07 (git): 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:
```
> ...
3000000000 out of char range (RangeError)
```
... -
03:30 PM Feature #13153: Inconsistent sprintf formatting for 0 value
- This behavior comes from ANSI-C, and same as printf(1).
I don't think this is a bug. -
02:04 PM Bug #15993: 'require' doesn't work if there are Cyrillic chars in the path to Ruby dir
- I think I have a similar problem originally reported at GitHub already:
https://github.com/rubygems/rubygems/issues/3853
I have a Ruby-based shell application which needs to require a library during startup. I'm using the followin... -
01:49 PM Revision cece71b4 (git): Add call-seq of [Feature #16274]
-
01:46 PM Revision 828c34e5 (git): merge revision(s) d23d2f3f6fbb5d787b0dd80675c489a692be23e2:
- [ruby/webrick] Make it more strict to interpret some headers
Some regexps were too tolerant.
https://github.com/ruby/webrick/commit/8946bb38b4 -
01:43 PM Feature #17000 (Closed): 2.7.2 turns off deprecation warnings by default
- Applied in changeset commit:git|df3f52a6331f1a47af9933b77311a8650727d8d1.
----------
merge revision(s) 996af2ce086249e904b2ce95ab2fcd1de7d757be: [Backport #16345] [Backport #17000]
Disable deprecation warning by the default [Fe... -
01:43 PM Revision df3f52a6 (git): merge revision(s) 996af2ce086249e904b2ce95ab2fcd1de7d757be: [Backport #16345] [Backport #17000]
- Disable deprecation warning by the default [Feature #16345]
And `-w` option turns it on. -
12:57 PM Bug #17175: Ruby 2.5: OpenSSL related test failures
- > And I am still seeing DRbSSL related errors after applying the patches. Do you know any idea to fix it?
I found the patch to fix the DRbSSL issue on ruby_2_6 branch.
lib/drb/ssl.rb
https://github.com/ruby/ruby/commit/fb0009cfdc2... -
11:44 AM Bug #17175: Ruby 2.5: OpenSSL related test failures
- Comparing ruby_2_5 branch not passing the tests with ruby_2_6 branch passing the tests, I found the differences, and if the following commits in ruby_2_6 are backported, the tests passes.
test/openssl/test_ssl.rb
https://github.com/r... -
12:36 PM Bug #17202: Backport for Apple Silicon
- I also confirmed to build the following patch and https://github.com/ruby/ruby/commit/87f6154bb4c67ca77ee353bb1fe25a922036c0e5 on ruby_2_6 branch.
```
diff --git a/configure.ac b/configure.ac
index 2c4d2888d2..e9bf833668 100644
---... -
12:23 PM Bug #17202 (Closed): Backport for Apple Silicon
- I confirmed to build with the following patch on ruby_2_7 branch for macOS Big Sur and ARM mac mini.
https://github.com/ruby/ruby/commit/23655e6de5ee989feb8c65c7061fe9a71579dc54
https://github.com/ruby/ruby/commit/87f6154bb4c67ca77ee... -
11:34 AM Bug #17181: Hash with default block breaks after transforming values
- ruby_2_7 665589cbdf7bf652067113dd1c0bc49012b990e0 merged revision(s) df14c758fc705c49c2aaf4c9276a8f7229438fbf.
-
11:33 AM Revision 665589cb (git): merge revision(s) df14c758fc705c49c2aaf4c9276a8f7229438fbf: [Backport #17181]
- 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] -
09:18 AM Feature #16937 (Assigned): Add DNS over HTTP to Resolv
- @akr How about this patch?
-
09:08 AM Bug #17201 (Closed): Backport webrick patch for CVE-2020-25613
- I created the patch sets for Ruby 2.5, 2.6 and 2.7 for CVE-2020-25613
-
07:40 AM Revision d23d2f3f (git): [ruby/webrick] Make it more strict to interpret some headers
- Some regexps were too tolerant.
https://github.com/ruby/webrick/commit/8946bb38b4 -
06:28 AM Revision dcb705ac (git): doc/syntax/literals.rdoc: explain `#@@foo` too [ci skip]
-
05:39 AM Revision 2e947bc1 (git): doc/syntax/literals.rdoc: explain `#@foo` and `#$foo`
-
04:47 AM Bug #17191 (Closed): 3.0.0-preview1 fails to install using BSD make
- Applied in changeset commit:git|a9ff39087092b21059fca046ace9ca87770692a4.
----------
Fixed installation failure [Bug #17191]
Try update and extract bundled gems only when baseruby is
available. It should be done only when installing f... -
04:41 AM Revision a9ff3908 (git): 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. -
04:14 AM Revision b971f141 (git): Fix up dependencies on internal/sanitizers.h
-
02:58 AM Revision 40a499db (git): 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
``` -
12:57 AM Revision 06099e4e (git): fix typo [ci skip]
- Reported by Mau Magnaguagno See: https://github.com/ruby/ruby/pull/3570#discussion_r495465903
09/28/2020
-
11:45 PM Revision 0a3099ae (git): bit table information when printing an object
-
11:24 PM Misc #17200 (Closed): DevelopersMeeting20201026Japan
- # The next dev meeting
**Date: 2020/10/26 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201026Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
11:24 PM Misc #17138 (Closed): DevelopersMeeting20200925Japan
-
09:59 PM Bug #17186: Integer overflow in "chr" error message (out of char range)
- Hey Semyon. Thanks for reporting the bug. I PR'd a patch that should fix the issue: https://github.com/ruby/ruby/pull/3602. Let me know how it looks!
-
08:57 PM Feature #16986: Anonymous Struct literal
- chrisseaton (Chris Seaton) wrote in #note-44:
> This will be very useful for pattern matching - I don't think you can usefully destructure a struct at the moment can you?
You can, like a hash...
```ruby
X = Struct.new(:foo, :bar, keywo... -
07:37 PM Feature #16986: Anonymous Struct literal
- This will be very useful for pattern matching - I don't think you can usefully destructure a struct at the moment can you? This leads me to do all my pattern matching code using Hash and Array which isn't ideal.
-
05:18 PM Revision 85e9cc2c (git): Unpoison THEAP header before reading
- Another ASAN fix. THEAP header is poisoned, so we need to un-poison
before reading -
04:58 PM Revision 0555bd84 (git): Enhanced RDoc for String#succ! (#3596)
- * Enhanced RDoc for String#succ!
-
04:45 PM Revision d598654c (git): 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 a... -
04:45 PM Revision 664eeda6 (git): 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 -
04:45 PM Revision 0767d387 (git): 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 -
03:53 PM Bug #17191: 3.0.0-preview1 fails to install using BSD make
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> That is just a workaround; `update-gems` should be skipped when building from tarballs, even if gem files are not downloaded.
> ...
I tested this and it works. Thank you! Can you please com... -
07:10 AM Bug #17191: 3.0.0-preview1 fails to install using BSD make
- jeremyevans0 (Jeremy Evans) wrote:
> There's obviously no need to update gems when installing 3.0.0-preview1 from the tarball as the gems are already included in the tarball.
This is the point.
> ...
That is just a workaround; `update-... -
03:38 PM Revision 346301e2 (git): 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 er... -
03:38 PM Revision 92c3ad9c (git): 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. -
03:34 PM Bug #15661 (Closed): Disallow concurrent Dir.chdir with block
- Applied in changeset commit:git|5d7953f86b7ae164017e2292dfb3c108e0e02527.
----------
Switch conflicting chdir warning to RuntimeError
The documentation already stated this was an error in one case
(when it was previously a warning). D... -
09:39 AM Bug #15661: Disallow concurrent Dir.chdir with block
- It's always been like that, there is no portable and fully reliable way to make cwd thread-local.
(using *at() functions are not enough, C extensions don't use them).
I guess Dir.chdir is even more problematic with Ractor where one m... -
12:07 AM Bug #15661: Disallow concurrent Dir.chdir with block
- I guess my bigger point here is that even with this fix the block form remains unsafe under concurrent use. At best this catches a few multithreading bugs. The construct is incompatible with multithreaded programming cause state leaks.
... -
03:34 PM Revision 5d7953f8 (git): 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] - 03:20 PM Revision 0164ac70 (git): * 2020-09-29 [ci skip]
-
03:20 PM Revision 0b0e2d88 (git): 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 -
03:20 PM Revision b9488acc (git): 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 -
03:20 PM Revision b328b830 (git): make ext/coverage ASAN friendly
-
03:20 PM Revision 18b3f0f5 (git): 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 -
02:45 PM Bug #17198: DateTime.parse with CAT timezone converts to -10:00 instead of +02:00
- You filed a pull request to change this in the date library: https://github.com/ruby/date/pull/25. In general, for default gems, you should only file the issues/pull requests in their GitHub repository, you don't need to also create a R...
-
10:37 AM Bug #17198 (Closed): DateTime.parse with CAT timezone converts to -10:00 instead of +02:00
- DateTime.parse with CAT timezone is incorrect
``` ruby
require 'date'
DateTime.parse("10:00AM CAT").zone
```
Expected: **+02:00**
Actual: **-10:00**
Reference: https://www.timeanddate.com/time/zones/cat
-
02:07 PM Revision ac414139 (git): Remove unnecessary executable bit [ci skip]
-
11:40 AM Misc #17199 (Open): id outputed by inspect and to_s output does not allow to find actual object_id and vice-versa
- Hello, here is my first ruby issue sorry in advance if it is incorrectly filled.
# Issue
The value returned by `#object_id` is not aligned anymore with displayed info in `#inspect` and `#to_s` methods.
## with ruby < 2.7
``` ... -
09:53 AM Revision 4de32b35 (git): Removed unused option on racc
-
09:53 AM Revision 87726143 (git): Fixed the wrong variable for --executable flag
-
09:29 AM Revision f2c6a351 (git): Clarify spec description for Hash#{each,each_pair}
-
09:28 AM Bug #17197: Some Hash methods still have arity 2 instead of 1
- `#map` is defined on Enumerable.
So this seems an unintended interaction between
Hash#each using `rb_block_pair_yield_optimizable()`:
https://github.com/ruby/ruby/blob/245ed57ddc93901e90388cf479968392299d1067/hash.c#L3158-L3159
and... -
09:13 AM Bug #17197: Some Hash methods still have arity 2 instead of 1
- marcandre (Marc-Andre Lafortune) wrote in #note-1:
> Also, as noted by @boblail, `Hash#map` accepts both arity 1 and 2; shouldn't it accept only arity 1?
Agreed, especially since Hash#each changed to always yield a single argument.
... -
02:30 AM Bug #17197: Some Hash methods still have arity 2 instead of 1
- Also, as noted by @boblail, `Hash#map` accepts both arity 1 and 2; shouldn't it accept only arity 1?
-
02:13 AM Bug #17197 (Rejected): Some Hash methods still have arity 2 instead of 1
- `Hash#each` was changed recently to have arity of 1.
All other methods of `Hash` should behave the same.
Much has been fixed since #14015, but some remains:
```ruby
# Some methods consistently have arity 2:
{a: 1}.select( &->(_kvp... - 09:08 AM Revision 245ed57d (git): [ruby/racc] Turn debugging off
- https://github.com/ruby/racc/commit/872f75cfa7
- 09:07 AM Revision 97d1a381 (git): [Fixes #137] Improve reporting
-
08:55 AM Revision 3da3c274 (git): fixup d6a94a0c4b416d4e4a5b25ab8d5482bad00f9765
-
08:39 AM Revision d6a94a0c (git): Removed useless RCS revisions
- 05:54 AM Revision 8863bfb1 (git): [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.c... -
05:54 AM Revision 18c642da (git): [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 - 05:54 AM Revision ac3f80a5 (git): [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 -
05:54 AM Revision c55b5f10 (git): [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 cha... -
05:54 AM Revision 91865230 (git): [rubygems/rubygems] Eval defaults with frozen_string_literal: true
- https://github.com/rubygems/rubygems/commit/d498ae3d62
- 05:54 AM Revision 9bbca93a (git): [rubygems/rubygems] Remove last remaining line of output from `gem update --system --silent`
- https://github.com/rubygems/rubygems/commit/038203aaf8
- 05:54 AM Revision e8274a76 (git): [rubygems/rubygems] Add test for "gem update --system --silent"
- https://github.com/rubygems/rubygems/commit/c3fb0db930
- 05:54 AM Revision 7fc8f83e (git): [rubygems/rubygems] Have "gem update --system" pass through the --silent flag.
- https://github.com/rubygems/rubygems/commit/5a1e56e892
-
05:54 AM Revision ab5e9516 (git): [rubygems/rubygems] Added Ruby version for oldest supported version of rubygems
- https://github.com/rubygems/rubygems/commit/dd87d70f51
-
05:54 AM Revision c6bdf750 (git): Disallow downgrades to too old versions
- Consider the version original included with each ruby as the minimum
supported version. - 05:54 AM Revision 828cefd6 (git): [rubygems/rubygems] Add --dryrun to the deprecated options when showing the help message
- https://github.com/rubygems/rubygems/commit/38230a77c1
- 05:54 AM Revision 777840a1 (git): [rubygems/rubygems] We don't need shortucts for a deprecated flag
- https://github.com/rubygems/rubygems/commit/087a1f9720
- 05:54 AM Revision be980dd9 (git): [rubygems/rubygems] Deprecate --dryrun
- https://github.com/rubygems/rubygems/commit/1715610648
- 05:54 AM Revision b83787b1 (git): [rubygems/rubygems] Make --dry-run flag consistent across rubygems commands
- https://github.com/rubygems/rubygems/commit/addc644cad
-
05:54 AM Revision 0629e695 (git): Added `--platform` option to `build` command
-
04:42 AM Revision 67ae1d44 (git): 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. -
03:51 AM Revision 36d1bb72 (git): sprintf.c: Removed conflicting definition
-
03:51 AM Revision ee7c260b (git): thread_win32.c: native_mutex_trylock is not used right now
-
02:28 AM Bug #14015 (Closed): Enumerable & Hash yielding arity
- Now that `Hash#each` has arity 1, I'll close this and open an update in #17197
-
02:11 AM Feature #15815: Add option to raise NoMethodError for OpenStruct
- Cool.
It's much better API to integrate with `JSON.parse`. -
12:17 AM Bug #17190: Not working multiple assignment by rightward assignment statement
- You need parens.
```ruby
[42, 42] => a, b
```
09/27/2020
- 07:33 PM Revision 1c954366 (git): * 2020-09-28 [ci skip]
-
07:32 PM Revision 41eba959 (git): 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 -
10:15 AM Feature #16786: Light-weight scheduler for improved concurrency.
- That sounds very similar to `Thread#name=`.
I think it would be worth having its own feature request if you'd like it in core. -
10:12 AM Feature #13767: add something like python's buffer protocol to share memory between different narray like classes
- @mrkn Is the native memory layout introduced in Ruby compatible with Python?
If it is/was it might be useful to e.g. be able to access a NumPy array from Ruby without copying (e.g. in PyCall.rb) -
10:05 AM Feature #17195: Freeze Enumerator::ArithmeticSequence objects
- I just realized, this is problematic because `Enumerator::ArithmeticSequence` is a subclass of `Enumerator` and not of `Range`.
If it was a subclass of Range then I think it would be fine to freeze it.
But since it subclasses Enumerator... -
10:01 AM Bug #15661: Disallow concurrent Dir.chdir with block
- Maybe concurrent Dir.chdir(&block) could take a global lock.
It might create unexpected contention though.
So I think the exception is better if it's not too incompatible. -
07:52 AM Feature #15831: Add `Array#extract`, `Hash#extract`, and `ENV.extract`
- I'm not exactly at ease with the fact that the proposed methods both change the receiver and return a result. But if the names have an '!' at the end, it might be okay.
-
05:26 AM Revision 9a951c09 (git): Remove outdated comment [ci skip]
-
12:49 AM Revision 5e91b4bd (git): fix typo [ci skip]
09/26/2020
-
09:35 PM Bug #15661: Disallow concurrent Dir.chdir with block
- merch-redmine@jeremyevans.net wrote:
> Removing the block form breaks useful cases in single threaded
> code.
Agreed.
> Fixing it "properly" (by which I assume you mean
> separate pwd per thread) is impossible, as pwd is per-pr... -
09:20 PM Bug #15661: Disallow concurrent Dir.chdir with block
- sam.saffron (Sam Saffron) wrote in #note-6:
> I am not sure about this, we are already misleading people a lot with the block form. I wonder if the correct long term solution here is either to remove this misleading construct or do a br... -
11:27 AM Bug #15661: Disallow concurrent Dir.chdir with block
- I am not sure about this, we are already misleading people a lot with the block form. I wonder if the correct long term solution here is either to remove this misleading construct or do a breaking change and fix it properly.
```
T... -
09:18 PM Bug #17196 (Closed): Segmentation Fault with Socket#close in Ractors
- While messing around with 3.0.0-preview1, I thought it would be fun to write a really, really simple webserver that used Ractor creation instead of forking or spawning threads. I was right, it was fun! Unfortunately it also caused a segf...
-
09:07 PM Feature #17184: No stdlib function to perform simple string replacement
- > There is already String#replace
Oh wow, I somehow missed that... -
06:23 PM Feature #17184: No stdlib function to perform simple string replacement
- There is already String#replace (consistent with {Array,Hash,Set,...}#replace), so I don't think it's a good fit:
https://docs.ruby-lang.org/en/master/String.html#method-i-replace -
06:18 PM Feature #17184: No stdlib function to perform simple string replacement
- > But then we need to clarify if that replaces the first or all occurrences
As far as I know, String `replace` commonly means replace all occurrences.
- Python: replaces all occurrences, but has a `maxreplace` optional parameters. ... -
01:40 PM Feature #17184: No stdlib function to perform simple string replacement
- Dan0042 (Daniel DeLorme) wrote in #note-12:
> Instead you get just `f`, and after a lot of searching and debugging you end up with `"foo".gsub("o", '\\\\+')` which produces the correct result. If we were to change the behavior.
Are t... -
06:44 PM Feature #17195: Freeze Enumerator::ArithmeticSequence objects
- Seems clear to me
-
01:20 PM Feature #17195 (Rejected): Freeze Enumerator::ArithmeticSequence objects
- Now, all Ranges are frozen (#15504).
Enumerator::ArithmeticSequence is very similar to Range, just with an extra `step`.
They're essentially already immutable, except that one could use set instance variables, but it seems of little ... -
05:38 PM Revision 950614b0 (git): ext/socket/ipsocket.c: prevent "warning: unused variable 'resolv_timeout'"
-
04:16 PM Revision 70d7e4c3 (git): Fix a typo [ci skip]
-
04:13 PM Revision 48b53190 (git): Add links to the tickets [ci skip]
- 04:02 PM Revision 089b7698 (git): * 2020-09-27 [ci skip]
-
04:02 PM Revision cdb5258b (git): Fix `ENV.except`'s docs
-
01:21 PM Feature #15504: Freeze all Range objects
- ko1 (Koichi Sasada) wrote in #note-11:
> Eregon (Benoit Daloze) wrote in #note-10:
> ...
I filed #17195 -
11:18 AM Feature #15831: Add `Array#extract`, `Hash#extract`, and `ENV.extract`
- I'm wondering to know whether use-cases, mentioned in https://bugs.ruby-lang.org/issues/15831#note-9, are good enough to reconsider the decision to add these methods to Ruby?
-
10:36 AM Revision dead7478 (git): Use Tempfile.create instead of Tempfile.open in test_io.rb
-
10:30 AM Bug #16695: Stack consistency error when using the return value
- I rewrited the patch https://github.com/ruby/ruby/pull/3445 on 2020-08-22.
I would appreciate it if someone could review this. -
09:59 AM Bug #17194: Unable to build ruby 3.0-preview1 on centos 6
- Just FYI: Ruby 3 will not support CentOS 6 because the EOL date of the distribution is Nov 30 2020 and Ruby 3 will be released after that. We've already removed CentOS 6 from [our CI](https://rubyci.org/).
-
09:25 AM Bug #17194 (Closed): Unable to build ruby 3.0-preview1 on centos 6
- Applied in changeset commit:git|ce92d15596aab337b5e8b806603eb07ad6528ff2.
----------
fix typo [Bug #17194] -
08:51 AM Bug #17194 (Closed): Unable to build ruby 3.0-preview1 on centos 6
- Tried to build ruby using rvm:
```
[root@e6655f0fcbcd /]# rvm install ruby-3
Searching for binary rubies, this might take some time.
No binary rubies available for: centos/6/x86_64/ruby-3.0.0-preview1.
Continuing with compilation. P... -
09:55 AM Revision 4e31cbc0 (git): update-deps
- https://github.com/ruby/ruby/runs/1169621878
-
09:24 AM Revision ce92d155 (git): fix typo [Bug #17194]
-
07:40 AM Bug #17193: Endless method definition doesn't work with lambdas in IRB
- wanabe (_ wanabe) wrote in #note-1:
> I think this is an irb problem, not a ruby problem.
> ...
I can confirm that this works indeed.
```
$ ruby -e 'def bar() = ->(x) { x * x }; puts bar.(3)'
9
``` -
07:30 AM Bug #17193: Endless method definition doesn't work with lambdas in IRB
- I think this is an irb problem, not a ruby problem.
```
$ ruby -ve 'def bar() = lambda { |x| x * x };p bar'
ruby 3.0.0dev (2020-09-25T22:52:04Z master 137fa5b27e) [x86_64-linux]
#<Proc:0x00005582978039e0 -e:1 (lambda)>
``` -
07:22 AM Bug #17193 (Closed): Endless method definition doesn't work with lambdas in IRB
- Endless method definition doesn't work with lambdas. Please check the attached screenshot.
``` ruby
def foo() = 123
# => :foo
foo
# => 123
def bar() = lambda { |x| x * x }
# I expected the method to be defined.
def bar() ... -
07:18 AM Bug #17192 (Closed): ISeq.load_from_binary can cause BUG if binary is a rbinc-derived
- The following command can cause BUG.
```
$ ruby -e 'print RubyVM::InstructionSequence.of(1.method(:abs)).to_binary'|ruby -e 'RubyVM::InstructionSequence.load_from_binary(ARGF.read)'
-e:1: [BUG] ibf_load_builtin: table is not provided.... -
06:56 AM Feature #15815: Add option to raise NoMethodError for OpenStruct
- I'm proposing to add `OpenStruct::Strict`, that will not return `nil` for unknown attributes and instead raise a `NotMethodError`. See PR https://github.com/ruby/ruby/pull/3594 (last commit)
Usage with `JSON` is easy:
```ruby
JSON...
09/25/2020
-
11:11 PM Bug #17191 (Closed): 3.0.0-preview1 fails to install using BSD make
- On OpenBSD (which doesn't use GNU make by default), `./configure` and `make` work correctly for 3.0.0-preview1, but `make install` fails with:
```
Downloading bundled gem files...
executable host ruby is required. use --with-baserub... -
10:52 PM Revision 137fa5b2 (git): 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. -
10:06 PM Feature #17143: Improve support for warning categories
- I've updated my pull request to only allow specific categories, and limit the currently allowed categories to `:deprecated`. Assuming it passes CI, I'll merge it, and then work on pull requests for additional categories.
-
07:43 PM Feature #17143: Improve support for warning categories
- matz (Yukihiro Matsumoto) wrote in #note-5:
> Adding category to the warning seems a good idea. But I have the following concerns:
> ...
OK, this change has already been made.
> * Category symbols must be among predefined set (to av... -
05:04 AM Feature #17143: Improve support for warning categories
- - I'm not against adding the category keyword. However,
- I guess it is quite hard for us to +1 the "Add categories for all core warnings" commit at once.
- It might contain OK changes, but might also contain questionable ones.
... -
04:58 AM Feature #17143: Improve support for warning categories
- Adding category to the warning seems a good idea. But I have the following concerns:
* Category should be specified only by symbols
* Category symbols must be among predefined set (to avoid typos and confusions)
Matz.
-
08:36 PM Bug #15661: Disallow concurrent Dir.chdir with block
- I've added a pull request for this: https://github.com/ruby/ruby/pull/3591
-
05:30 AM Bug #15661: Disallow concurrent Dir.chdir with block
- It's hard to estimate how big the incompatibility is. But I'd like to try it.
I hope we don't see any big problem.
Matz.
-
08:15 PM Feature #16994: Sets: shorthand for frozen sets of symbols / strings
- matz@ruby.or.jp wrote:
> Remaining issues:
>
> * Name? `%ws` would be the first two character specifier after `%`. Is it reasonable? Or should we seek another name?
> * Frozen? `%w` returns non frozen array of non frozen strings. H... -
04:26 AM Feature #16994 (Feedback): Sets: shorthand for frozen sets of symbols / strings
- We are going to introduce built-in set, but not in 3.0 (too little time to implement it before 3.0 release).
After merging built-in set, we will seriously consider this proposal.
Remaining issues:
* Name? `%ws` would be the first ... -
08:13 PM Revision 8b42474a (git): Enhanced RDoc for String#succ (#3590)
- * Enhanced RDoc for String#succ
-
07:55 PM Bug #15712 (Closed): DateTime#=== should be defined and compare date and time instead of just the date
- DateTime deprecation documentation was added to date: https://github.com/ruby/date/commit/58ca6e6a3ee20c72a77266e0f74920b12a06ee9d
`Date#===` is describes the current behavior as only considering the date, and uses examples with `Date... -
05:21 AM Bug #15712: DateTime#=== should be defined and compare date and time instead of just the date
- I admit it is a bug. But we consider use of `DateTime` should be discouraged. So we keep this **bug** behavior for compatibility's sake.
We are going to describe obsoletion in the document.
Matz.
-
07:41 PM Bug #17190 (Closed): Not working multiple assignment by rightward assignment statement
- For example. It is foo.rb
```rb
42, 42 => a, b
p a
p b
```
I expected it.
```sh
42
42
```
But, Real result.
```sh
hoge.rb:1: syntax error, unexpected ',', expecting end-of-input
42, 42 => a, b
```
Is this inte... -
07:13 PM Bug #17189: test_thread.rb in testsuite deadlocks with musl libc 1.2.1
- From my reading of the test source, it seems to be testing the ability to do various async-signal-unsafe things after fork (but without execve) from a multithreaded parent, which has undefined behavior. Does Ruby (and Ruby programs) actu...
-
05:56 PM Bug #17189 (Closed): test_thread.rb in testsuite deadlocks with musl libc 1.2.1
- When we build ruby-2.7.1 in alpine linux the test suite deadlocks in `test_thread.rb`.
There are multiple processes:
```
$ ps xa | grep ruby
12401 ncopa 0:01 /home/ncopa/aports/main/ruby/src/ruby-2.7.1/ruby --disable-gems ./boo... -
06:13 PM Feature #14394: Class.descendants
- While I needed `Class#descendants` many times, I never had a need for `Module#descendants`. But I can think of its usefulness.
For example, when inheritance is implemented through modules, but not classes, for example -
a quick searc... -
04:57 PM Feature #14394: Class.descendants
- > Is there a use-case for mod.descendants where mod is a module and not a class?
Not that I know of. Active Support implementations only list `Class`, not `Module`.
> ...
Agreed. -
02:01 PM Feature #14394: Class.descendants
- byroot (Jean Boussier) wrote in #note-20:
> I'm not sure `Module#descendants` is really useful, but I don't see any reason not to have it either.
I think tracking subclasses (of classes) is quite simpler than also having to track "wh... -
11:19 AM Feature #14394: Class.descendants
- > (and Kernel.descendants is the same but with Kernel extra).
I'm not sure `Module#descendants` is really useful, but I don't see any reason not to have it either. -
10:41 AM Feature #14394: Class.descendants
- byroot (Jean Boussier) wrote in #note-18:
> I don't think modules are a concern. At least in the Active Support implementation only `Class` instances are considered. It's true that if `descendants` is seen as the mirror of `ancestors` th... -
10:27 AM Feature #14394: Class.descendants
- > `self < self # => self`
I made a mistake meant `=> false`.
> ...
There isn't much use case for it though. But yes, that one just can't be fast no matter the implementation.
> Also we probably need to avoid recursion for module... -
10:22 AM Feature #14394: Class.descendants
- byroot (Jean Boussier) wrote in #note-16:
> > self should be is contained or not?
> ...
`Module#ancestors` includes `self`.
`#descendants` is kind of the opposite/complement of `mod.ancestors` (finds all modules for which `mod` is in the... -
10:08 AM Feature #14394: Class.descendants
- > self should be is contained or not?
I don't think it should no. `self < self # => self`.
> ...
Absolutely.
> order is random
Agreed.
> ...
As long as it has reasonable performance, and that it's not affected by the size ... -
06:12 AM Feature #14394: Class.descendants
- let's clear:
* `self` should be is contained or not? AS's method doesn't contain.
* singleton classes should be excluded.
* order is random (not specified).
* performance of this method is not important, or important (calls it many... -
06:07 AM Feature #14394 (Feedback): Class.descendants
- Accepted.
Although on some implementation, `#descendants` can be slow since it may be implemented by scanning whole object heaps (as ActiveSupport currently does).
Matz.
-
04:27 PM Revision 24820d50 (git): 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 ob... -
04:24 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- Tempfile.open would be useful when an user want to remove the file by GC.
Tempfile.create doesn't provide the feature, intentionally.
So, as far as an user needs temporary file removal by GC, we should not deprecate Tempfile.open
(u... -
09:30 AM Bug #17144: Tempfile.open { ... } does not unlink the file
- OK, https://github.com/ruby/tempfile/pull/4 is the PR that reverts it and already applied to ruby master.
I will try to improve the documentation further, something like
"Tempfile.open is basically deprecated but kept for compatibili... -
04:45 AM Bug #17144 (Closed): Tempfile.open { ... } does not unlink the file
- To keep compatibility, we are not going to change the behavior of `Tempfile.open`. But to reduce the confusion, documentation was updated.
In the future, maybe something like `RuboCop` warning will be convienient.
Matz.
-
03:50 PM Feature #8948: Frozen regex
- I think at least interpolated regexp (`/a#{i}b/`) should be frozen though, like Range objects.
-
03:44 PM Feature #8948 (Assigned): Frozen regex
- > If so this should be postponed on introducing parallelization.
Reconsider about it? (freeze all regexp)
- 03:34 PM Revision 3a00f2a0 (git): ext/readline/depend: update-deps --fix
-
03:30 PM Revision 722a1e47 (git): 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, onl... - 03:27 PM Revision f7c41182 (git): * 2020-09-26 [ci skip]
-
03:20 PM Revision b271bd73 (git): 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>
``` -
03:09 PM Feature #15504: Freeze all Range objects
- Eregon (Benoit Daloze) wrote in #note-10:
> Related, should Enumerator::ArithmeticSequence be frozen too?
new ticket? -
01:58 PM Feature #15504: Freeze all Range objects
- Great!
Related, should Enumerator::ArithmeticSequence be frozen too? -
01:17 PM Feature #15504 (Closed): Freeze all Range objects
- Applied in changeset commit:git|0096d2b895395df5ab8696d3b6d444dc1b7730b6.
----------
freeze all Range objects.
Matz want to try to freeze all Range objects.
[Feature #15504] -
11:53 AM Feature #15504: Freeze all Range objects
- Ok, I freeze all Ranges except sub-classes.
https://github.com/ruby/ruby/pull/3583 -
08:49 AM Feature #15504: Freeze all Range objects
- I agree with making ranges frozen. I don't see any particular case that could be broken by frozen ranges.
Since there's possiblity of breakage, I'd like to experiment it.
Matz.
- 02:56 PM Revision 8119e5b0 (git): memory_view.c: prevent "warning: instance variable __memory_view__ not initialized"
-
02:45 PM Revision abdd3c56 (git): 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 ... -
02:39 PM Revision 0db5324e (git): test/ruby/test_memory_view.rb: prevent "assigned but unused variable - members"
-
02:38 PM Revision 79063d8c (git): 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. -
02:37 PM Revision e4b2c4fc (git): 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
``` -
02:31 PM Bug #17188 (Closed): Freeze Encoding objects for Ractor
- Currently Encoding objects are not frozen:
```
$ ruby -ve 'p Encoding::US_ASCII.frozen?'
ruby 3.0.0dev (2020-09-25T08:28:42Z master 81dc37b1b4) [x86_64-linux]
false
```
That means they cannot be accessed in a Ractor:
```ruby
ir... -
01:41 PM Feature #17056: Array#index: Allow specifying the position to start search as in String#index
- Hi,
fatkodima (Dima Fatko) wrote in #note-8:
> to avoid updating all of them, I would prefer just add start index argument to `Array#index`, for consistency with `String#index`,
I agree with your approach. However, your PR change... -
11:07 AM Feature #17056: Array#index: Allow specifying the position to start search as in String#index
Eregon (Benoit Daloze) wrote in #note-7:
> What if a block is given, and one want to use a start index? (for efficiency and not run the block for the first `start` elements).
> ...
ary.index(from: start) { |i| ... } or ary.index(star...-
10:11 AM Feature #17056: Array#index: Allow specifying the position to start search as in String#index
- What if a block is given, and one want to use a start index? (for efficiency and not run the block for the first `start` elements).
`ary.index(start) { |i| ... }` seems confusing.
Probably keyword arguments are better:
`ary.index(... -
06:23 AM Feature #17056: Array#index: Allow specifying the position to start search as in String#index
- Accepted.
How do you think about end index? Do we need it? If so, should we add end index to `String#index` as well?
Matz.
-
01:16 PM Revision 0096d2b8 (git): freeze all Range objects.
- Matz want to try to freeze all Range objects.
[Feature #15504] -
12:34 PM Revision f4328d7f (git): [ruby/readline-ext] Remove unnecessary header files from depend
- https://github.com/ruby/readline-ext/commit/f9783c0739
- 12:32 PM Revision c04c34df (git): memory_view.h: brush up the description in the comment
- 12:16 PM Revision 56012d2f (git): 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 Pyth... -
12:06 PM Feature #13767 (Closed): add something like python's buffer protocol to share memory between different narray like classes
- Fixed by https://github.com/ruby/ruby/commit/890bc2cdde4097390f3b71dfeaa36dd92ee0afe2
-
12:06 PM Feature #14722 (Closed): python's buffer protocol clone
- Fixed by https://github.com/ruby/ruby/commit/890bc2cdde4097390f3b71dfeaa36dd92ee0afe2
-
11:37 AM Revision caaa36b4 (git): prohibi method call by defined_method in other racotrs
- We can not call a non-isolated Proc in multiple ractors.
- 11:32 AM Revision 890bc2cd (git): 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
*... -
11:28 AM Revision 6eeacbbc (git): Extract assert assertion to assert_include and assert_not_include.
-
11:21 AM Feature #17187: Add connect_timeout to TCPSocket
- Pull Request: https://github.com/ruby/ruby/pull/3585
-
11:17 AM Feature #17187 (Closed): Add connect_timeout to TCPSocket
- Add connect_timeout to TCPSocket.new in the same way as Socket.tcp.
```ruby
TCPSocket.new("192.0.2.1", 1234, connect_timeout: 1) #=> raise Errno::ETIMEDOUT
``` -
10:21 AM Revision 8705dba1 (git): Update dependencies
-
10:21 AM Revision cd44febc (git): Add check_dependencies workflow
-
10:03 AM Feature #17184: No stdlib function to perform simple string replacement
- IMHO, rather than change the behavior of `gsub`, introducing a much simpler `String#replace(search, replace)` would make more sense, and would be more discoverable.
-
01:54 AM Feature #17184: No stdlib function to perform simple string replacement
- > I think we should remove special treatment of `\+`, etc in the replacement string for `sub/gsub(String, String)`.
> ...
I agree that would be the sensible behavior, but I'm not sure the incompatibility is worth it. Imagine you try `"f... -
09:17 AM Feature #17173: open-uri で ciphers を設定したい
- net/http の ciphers を設定する ssl_ciphers キーワード引数を open-uri に加えるのはあり得ると思います。
-
08:28 AM Revision 81dc37b1 (git): assert_true is not provided by test-unit
- 08:28 AM Revision e30d1b09 (git): Fix pure parser with unclosed arrays / objects [Fix #314]
-
08:28 AM Revision 927a377a (git): [flori/json] Fix JSON.load_file doc
- https://github.com/flori/json/commit/cb61a00ba8
-
08:28 AM Revision 038252fe (git): [flori/json] Partial compliance with doc/method_documentation.rdoc
- https://github.com/flori/json/commit/6dfa885134
-
08:28 AM Revision 71f64e15 (git): [flori/json] Enhanced RDoc for JSON.dump (#443)
- * Enhanced RDoc for JSON.dump
https://github.com/flori/json/commit/03f1699ec4 - 08:28 AM Revision 3d5e8339 (git): bundle the LICENSE file in the gem
-
08:28 AM Revision de0e0ffa (git): [flori/json] Nodoc for recurse_proc
- https://github.com/flori/json/commit/f8c0fe2408
-
08:28 AM Revision e9096f79 (git): [flori/json] RDoc for JSON.load with proc
- https://github.com/flori/json/commit/a55c91934e
-
08:28 AM Revision 0089854f (git): [test] properly 'skip' test on JRuby
- an early return still caused ensure to execute,
setting JSON constant to `nil` for later tests! -
08:28 AM Revision f8d43e53 (git): unify json-java gemspec with the baseline
-
08:28 AM Revision 8c057bb8 (git): [flori/json] RDoc example for JSON.load
- https://github.com/flori/json/commit/e4eead665c
-
08:28 AM Revision 36b2177e (git): [flori/json] Enhance RDoc for JSON.parse
- https://github.com/flori/json/commit/33e64ef255
-
08:28 AM Revision 71b1bbad (git): [flori/json] Move options from #generate and #parse to common area
- https://github.com/flori/json/commit/20d7be605a
-
08:28 AM Revision c3614877 (git): [flori/json] Add `load_file` and `load_file!` methods, with tests. Fixes issue #386.
- https://github.com/flori/json/commit/0be363c99b
-
08:28 AM Revision e1659af3 (git): 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 fa28233... -
08:08 AM Revision c5ea060e (git): Update NEWS about RBS (#3579)
-
07:14 AM Feature #13683: Add strict Enumerable#single
- A practical use case: When scraping a HTML document or something, sometimes we assume that an array length is 1.
```
nodes = html_node.children.select {|node| node.name == "table" }
raise if nodes.size == 1
the_node_i_want = nodes.... -
07:12 AM Feature #13683: Add strict Enumerable#single
- Dan0042 (Daniel DeLorme) wrote in #note-25:
> > If collection is empty and a block was given, returns the block's return value:
> ...
It looks close to `Enumerable#one?` which counts truthy values only, but has a different semantics.
-
07:00 AM Revision 25cfb0c0 (git): Range is based on Struct.
- Range can be shareable because it is implemented by Struct.
-
07:00 AM Revision 96739c42 (git): Frozen Struct can be shareable.
- A frozen Struct object which refers to shareable objects should be
shareable. -
06:53 AM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
- As far as we measured, there are still plenty of room for the optimization (for example, we don't need to allocate `MatchObject` for `grep_v`). We will investigate to improve the performance for those methods.
Besides that, `/f` flag ... -
06:47 AM Revision 97416ae5 (git): Describe resolv_timeout in NEWS
-
06:39 AM Revision f2d1808e (git): Add comments for resolv_timeout
-
06:19 AM Feature #17134 (Closed): Add resolv_timeout to TCPSocket
- Applied in changeset commit:git|511fe23fa2bdf1f17faa91e0558be47b5bb62b2a.
----------
Add resolve_timeout to TCPSocket [Feature #17134] -
06:19 AM Revision 511fe23f (git): Add resolve_timeout to TCPSocket [Feature #17134]
-
05:42 AM Feature #15628 (Assigned): init_inetsock_internal should fallback to IPv4 if IPv6 is unreachable
-
04:11 AM Revision b72f9200 (git): [ruby/psych] Forward keyword arguments in load_file and load_stream
- https://github.com/ruby/psych/commit/4e1dd37f09
-
04:11 AM Revision 8ea1021f (git): [ruby/psych] Bump version to 3.2.0
- https://github.com/ruby/psych/commit/181a727c90
- 04:11 AM Revision 263c4348 (git): [ruby/psych] Revert psych version
- https://github.com/ruby/psych/commit/55a294fcd0
- 04:11 AM Revision f794c928 (git): [ruby/psych] Update SNAKEYAML CVE-2017-18640
- to version 1.26
https://github.com/ruby/psych/commit/b2802135e7 -
04:11 AM Revision 33641e00 (git): 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 imp... -
04:07 AM Revision 6081ba4a (git): refactoring a test code.
- make a test more clear.
-
03:53 AM Revision d247deda (git): Ractor.yield should raise if out-port is closed
- Ractor.yield should raise Ractor::ClosedError if current Ractor's
outgoing-port is closed. -
03:52 AM Revision 52865263 (git): frozen T_OBJECT can be shareable.
- If an T_OBJECT object is frozen and all ivars are shareable,
the object should be shareable. -
03:52 AM Revision fde13615 (git): 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. -
02:38 AM Revision c6c241e4 (git): enrich comment
- Added description and URL about nested flexible array member.
-
02:38 AM Revision 4cc501bc (git): ext/-test-/RUBY_ALIGNOF: skip C++ when no compiler
- C++ compilers are optional. Skip C++ tests when they are absent.
-
02:38 AM Revision e75aed7a (git): RBIMPL_ALIGNOF: do not use constexpr
- Was definitely a bad idea to use constexpr. It is not ubiquitous.
-
02:38 AM Revision 0b77a86d (git): ext/-test-/RUBY_ALIGNOF: add minimalistic test
- Check if RUBY_ALIGNOF(double) is the alignment to store a double inside
of a struct. -
02:38 AM Revision 873fb1aa (git): 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. -
02:38 AM Revision e9fb2bc8 (git): 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 w... -
02:38 AM Revision fe875be0 (git): 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. -
01:53 AM Feature #16786: Light-weight scheduler for improved concurrency.
- Eregon (Benoit Daloze) wrote in #note-56:
> What's `Fiber#annotate`?
It's a way to add a description to what a fiber is doing, it's incredibly useful for debugging. Actually, I don't mind if we don't do this, but it has been discussed a... -
01:01 AM Feature #13381: [PATCH] Expose rb_fstring and its family to C extensions
- Any of the earlier suggestions were good, such as "pool" or "deduped". But while "interned" is technically correct, it will lead to confusion with symbols. It's better to keep a separate terminology imho.
-
12:50 AM Revision 996af2ce (git): Disable deprecation warning by the default [Feature #16345]
- And `-w` option turns it on.
09/24/2020
-
11:38 PM Revision 83ff0f74 (git): Enhanced RDoc for String#match? (#3576)
- * Enhanced RDoc for String#match?
-
10:54 PM Revision 53acf668 (git): Revert "[ruby/webrick] Add test for shutdown_pipe"
- This reverts commit c06eab13290757fc326bb2a6e3ac25cd53e00894.
-
10:33 PM Revision c5960d51 (git): Revert "[ruby/webrick] Fix shutdown_pipe test issue"
- This reverts commit b8fdd38b2e01abcfd4cc8d007a3b3afb285f5ddb.
-
10:11 PM Bug #17186 (Closed): Integer overflow in "chr" error message (out of char range)
- Example:
```
irb(main):001:0> 300_000_000.chr
RangeError (300000000 out of char range)
irb(main):002:0> 3_000_000_000.chr
RangeError (-1294967296 out of char range)
irb(main):003:0> 30_000_000_000.chr
RangeError (30000000000 out... -
06:23 PM Revision 38385d28 (git): Enhanced RDoc for String (#3574)
- Methods:
=~
match -
05:09 PM Bug #17185 (Closed): OpenSSL 1.1.1h failures
-
05:05 PM Bug #17185: OpenSSL 1.1.1h failures
- With the commits by @mame, both mingw & mswin are passing with 1.1.1h.
Thanks, Please close whenever. -
03:00 PM Bug #17185 (Closed): OpenSSL 1.1.1h failures
- Both mswin and mingw are currently failing, with the only obvious change being a change to OpenSSL 1.1.1h. Note that test-all isn't run on mswin here, but the failure appeared in both ruby-loco builds.
See https://github.com/ruby/ope... -
04:48 PM Feature #17184: No stdlib function to perform simple string replacement
- znz (Kazuhiro NISHIYAMA) wrote in #note-8:
> You can use `gsub("SCRIPT") { "replacement" }`.
I forgot about this form for this purpose. I find it really not intuitive for replacing strings.
A block is typically useful for more custo... -
04:46 PM Feature #17184: No stdlib function to perform simple string replacement
- sheerun (Adam Stankiewicz) wrote in #note-7:
> String doesn't have dup method
What do you mean? `"foo".dup # => "foo"`.
-
03:45 PM Feature #17184: No stdlib function to perform simple string replacement
- Nice, it actually suits me.
I'll leave this issue open though, because I agree with what Benoit said above -
02:35 PM Feature #17184: No stdlib function to perform simple string replacement
- You can use `gsub("SCRIPT") { script }`.
If you do not want the special treatment of replacement, you should use `gsub` with block instead of `gsub(pat, replacement)`. -
01:33 PM Feature #17184: No stdlib function to perform simple string replacement
- String doesn't have dup method
-
12:50 PM Feature #17184: No stdlib function to perform simple string replacement
- @chrisseaton noticed the same issue a while ago.
`String#[]=` only replaces the first occurrence (and mutates the receiver).
I think we should remove special treatment of `\+`, etc in the replacement string for `sub/gsub(String, St... -
12:24 PM Feature #17184: No stdlib function to perform simple string replacement
- Little more advanced, but common usecase, which also doesn't have built-in function is replacing all strings in simple way (i.e. gsub replacement, not sub replacement).
-
12:20 PM Feature #17184: No stdlib function to perform simple string replacement
For now I'm using self-implemented function, but I wish there was something built-in:
```rb
class String
# Simple substitution, ignores backreferences in sub
# https://bugs.ruby-lang.org/issues/17184
def ssub(str, sub)
...-
12:02 PM Feature #17184: No stdlib function to perform simple string replacement
- byroot (Jean Boussier) wrote in #note-2:
> The intended API for that is `String[]=`, e.g.
Is there a non-mutable version of this? -
11:59 AM Feature #17184: No stdlib function to perform simple string replacement
- The intended API for that is `String[]=`, e.g.
```ruby
string["search"] = "replace"
```
-
11:56 AM Feature #17184: No stdlib function to perform simple string replacement
- The hash replacement form of gsub doesn't have this problem, strangely enough:
``` ruby
'mislocated cat, vindicating'.gsub('cat', 'dog\+')
#=> "mislodoged dog, vindidoging"
'mislocated cat, vindicating'.gsub('cat', 'cat' => 'dog\+')
#=>... -
11:37 AM Feature #17184 (Assigned): No stdlib function to perform simple string replacement
- I have following simple `build.rb`:
```rb
template = File.read('template.vim')
script = File.read('script.vim')
File.write('app.vim', template.gsub("SCRIPT", script))
```
And then following `template.vim`:
```vim
" some hea... -
03:55 PM Revision 6fe2a9fc (git): 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?
ind... - 03:26 PM Revision b30af31c (git): * 2020-09-25 [ci skip]
-
03:25 PM Revision 7ad3aff4 (git): 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). -
01:20 PM Revision 757e185c (git): 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 -
12:41 PM Revision 588ac990 (git): [ruby/webrick] Manually pick commit from upstream repo
- Fix test when run with US-ASCII encoding
https://github.com/ruby/webrick/commit/f402aafb36bbd43be54621405da550643a1a1a4c -
12:37 PM Revision f64bea6d (git): [ruby/webrick] Allow shutdown_pipe to be passed in via @config
- https://github.com/ruby/webrick/commit/30152b4bf9
-
12:34 PM Revision c12c7fea (git): [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 -
12:34 PM Revision ed12019c (git): [ruby/webrick] Allow empty POST and PUT requests without content length
- RFC 7230 section 3.3.3 allows for this.
Fixes #30
https://github.com/ruby/webrick/commit/069e9b1908 -
12:33 PM Revision 0fe64611 (git): [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 -
12:32 PM Revision b8fdd38b (git): [ruby/webrick] Fix shutdown_pipe test issue
- https://github.com/ruby/webrick/commit/9676704c60
-
12:31 PM Revision 4715a24d (git): [ruby/webrick] Ensure server port numbers are numeric and ensure they are stored as integers
- https://github.com/ruby/webrick/commit/86ed621e11
-
12:31 PM Revision c06eab13 (git): [ruby/webrick] Add test for shutdown_pipe
- https://github.com/ruby/webrick/commit/1daacc1849
-
12:30 PM Revision d969cf60 (git): [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 -
12:22 PM Revision 96da24f2 (git): [ruby/webrick] Make readpartial limit chunk to appropriate size
- https://github.com/ruby/webrick/commit/e693f501bd
-
12:21 PM Revision 46ba416a (git): [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... -
10:39 AM Revision 0c611d7f (git): 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. -
10:34 AM Revision 1917afa3 (git): test/net/http/test_https.rb: the order of verify_callback seems to vary
- ... depending upon the environment.
-
10:30 AM Revision 4405423c (git): test/ostruct/test_ostruct.rb: Prevent "method redefined; discarding old foo"
-
10:29 AM Revision 416bb11a (git): test/fiber/scheduler.rb: Prevent "instance variable @urgent not initialized"
-
10:20 AM Revision 07786edd (git): 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
``... -
09:39 AM Feature #10561: Improve function of Thread::Backtrace::Location #path and #absolute_path
- There is an extra difference that #absolute_path will also try to canonicalize the path and resolve symlinks, so then even if #path is absolute, #absolute_path can be different.
See https://github.com/ruby/spec/blob/e829fb0bcb667013f352... -
08:09 AM Revision 29ed16ff (git): add GC_GUARD
- We observed mark miss on this point so we add RB_GC_GUARD() to
avoid wrong free. -
08:09 AM Revision 4a588e70 (git): sync rb_gc_register_mark_object()
- rb_vm_t::mark_object_ary is global resource so we need to
synchronize to access it. -
01:32 AM Bug #17183: Float round working weirdly
- Agreed to @marcandre . This sounds like a real bug.
- 12:56 AM Revision e06f4a3b (git): Remove test for putiseq insn
- putiseq was removed from instruction set in 2b5bb8a0
-
12:17 AM Bug #16809: Fiber crashes with --with-coroutine=copy
- It looks like sometimes the copy coroutine implementation can segfault even on x86_64: https://travis-ci.org/github/ruby/ruby/jobs/729643639