Project

General

Profile

Activity

From 07/13/2020 to 07/19/2020

07/19/2020

11:35 PM Feature #16029 (Closed): Expose fstring related APIs to C-extensions
hsbt (Hiroshi SHIBATA)
10:58 PM Revision a3ac1bf4 (git): Add more timeouts to macos, mjit, ubuntu and windows workflows.
Samuel Williams
06:35 PM Revision da0e8158 (git): * 2020-07-20 [ci skip]
git[bot]
05:32 PM Revision 4fcfa85c (git): [ruby/csv] CSV.generate_line: use the encoding of the first non ASCII field as the expected encoding
See also: https://github.com/ruby/stringio/issues/13#issuecomment-660543554
https://github.com/ruby/csv/commit/004cf49d18
Sutou Kouhei
05:32 PM Revision 178649e6 (git): [ruby/csv] force_quotes: add support for specifying the target indexes or names
GitHub: fix GH-153
Reported by Aleksandr. Thanks!!!
https://github.com/ruby/csv/commit/8812c58a26
Sutou Kouhei
05:32 PM Revision d9749b47 (git): [ruby/csv] RDoc for converters (#157)
* More on RDoc for converters
* More on RDoc for converters
* Fix indent
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
https://github.com/ruby/csv/commit/6044976160
burdettelamar (Burdette Lamar)
05:32 PM Revision d7c42df0 (git): [ruby/csv] Adding call-seq to methods RDoc (#155)
* Adding call-seq to methods RDoc
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
https://github.com/ruby/csv/commit/dbd860c1cd
burdettelamar (Burdette Lamar)
05:32 PM Revision 544d82f4 (git): [ruby/csv] RDoc: summary lists for options (#154)
* RDoc: summary lists for options
* Enhanced RDoc for certain attributes and instance methods
* Enhanced RDoc for certain attributes and instance methods
* Enhanced RDoc for certain attributes and instance methods
* Enhanced RDoc for...
burdettelamar (Burdette Lamar)
05:32 PM Revision 40c50236 (git): [ruby/csv] RDoc remark about instance methods (#152)
https://github.com/ruby/csv/commit/76379bbe62 burdettelamar (Burdette Lamar)
05:32 PM Revision a0bee2bb (git): [ruby/csv] Revised introductory RDoc (#151)
https://github.com/ruby/csv/commit/60f6f1c28f burdettelamar (Burdette Lamar)
05:32 PM Revision da83401b (git): [ruby/csv] Enhanced RDoc for filter (#149)
* Enhanced RDoc for filter
* Correct return values for ::filter, ::foreach, ::parse
* Enhanced RDoc for filter
* Remove "returns nil"s
Co-authored-by: Sutou Kouhei <kou@clear-code.com>
https://github.com/ruby/csv/commit/2c347f9a3d
burdettelamar (Burdette Lamar)
05:32 PM Revision 66b5cedc (git): [ruby/csv] Enhancements for RDoc (#148)
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
https://github.com/ruby/csv/commit/25dd4cddbb
burdettelamar (Burdette Lamar)
05:32 PM Revision 7bf13c51 (git): [ruby/csv] Improve RDoc for common options (#146)
https://github.com/ruby/csv/commit/223cbee35d burdettelamar (Burdette Lamar)
05:32 PM Revision d9eff306 (git): [ruby/csv] Organize files in doc/ (#145)
https://github.com/ruby/csv/commit/bc9ea859b0 burdettelamar (Burdette Lamar)
05:32 PM Revision 920a1689 (git): [ruby/csv] RDoc for parse_line (adds headers examples) (#143)
* RDoc for parse_line (adds headers examples)
* RDoc for parse_line (adds headers examples)
https://github.com/ruby/csv/commit/a161be928e
burdettelamar (Burdette Lamar)
05:32 PM Revision 6106b7ba (git): [ruby/csv] Added headers to RDoc for CSV.foreach (#142)
* Added headers: to RDoc for CSV.foreach
* Correct options remark for CSV.generate
* Improve citation for option headers
https://github.com/ruby/csv/commit/b01945ec3a
burdettelamar (Burdette Lamar)
05:32 PM Revision e4742fec (git): [ruby/csv] Add headers cases to CSV.parse (#141)
* Add headers cases to CSV.parse
* Adjust call-seq for CSV.parse
* Update csv.rb
https://github.com/ruby/csv/commit/848c760c43
burdettelamar (Burdette Lamar)
05:32 PM Revision 9901bb4c (git): [ruby/csv] Add missing file doc/argument_io.rdoc (#140)
https://github.com/ruby/csv/commit/e37f04aa5c burdettelamar (Burdette Lamar)
05:32 PM Revision 013cca1f (git): [ruby/csv] doc: fix return value of open {} and use File.open {} (#139)
* Enhanced RDoc for CSV
* Repair example code for foreach
https://github.com/ruby/csv/commit/16b425eb37
burdettelamar (Burdette Lamar)
05:32 PM Revision 7c55c961 (git): [ruby/csv] Rdoc (#137)
Enhancements for open, parse, minor tweaks.
https://github.com/ruby/csv/commit/35392f4e45
burdettelamar (Burdette Lamar)
05:32 PM Revision f89186ae (git): [ruby/csv] Add document for CSV.instance (#136)
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
https://github.com/ruby/csv/commit/85e293c1ba
burdettelamar (Burdette Lamar)
05:32 PM Revision 1ac702cd (git): [ruby/csv] Add RDoc links for delegated methods (#135)
https://github.com/ruby/csv/commit/1a4b96b418 burdettelamar (Burdette Lamar)
05:32 PM Revision 08e70126 (git): [ruby/csv] Add `invalid: :replace` for `CSV.open` (#130)
This PR adds `invalid: :replace` for `CSV.open`. It is a PR similar to #129.
https://github.com/ruby/csv/commit/5bf687341c
koic (Koichi ITO)
05:32 PM Revision cee10c1b (git): [ruby/csv] Fix an error for `CSV.open` (#131)
Follow up to https://github.com/ruby/csv/pull/130/files#r434885191.
This PR fixes `ArgumentError` for `CSV.open` when processing
invalid byte sequence in UTF-8.
https://github.com/ruby/csv/commit/a4b528c209
koic (Koichi ITO)
05:32 PM Revision 4e33a878 (git): [ruby/csv] Add `undef: :replace` for `CSV.open` (#129)
This PR adds `undef: :replace` option for `CSV.open`.
`File.open` has `undef: :replace` option, but `CSV.open` does not.
It would be convenient if `CSV.open` could have a shortcut by having
`undef: :replace` option.
https://github.com/r...
koic (Koichi ITO)
05:32 PM Revision cf8157e0 (git): [ruby/csv] RDoc for foreach, generate (#127)
* Rdoc for foreach
* Enhanced Rdoc for CSV.generate
https://github.com/ruby/csv/commit/8c26c0ab1f
burdettelamar (Burdette Lamar)
05:32 PM Revision 731c0eb4 (git): [ruby/csv] Bump version
https://github.com/ruby/csv/commit/c6577e5b6e Sutou Kouhei
05:32 PM Revision 9e6d54a5 (git): [ruby/csv] Enhanced Rdoc (#124)
* Enhanced Rdoc for ::new
* Rdoc for parse_line
* More on parse_line
* Make ::new neater with :call-seq:
* Make better use of :call-seq:
* Rdoc for generate_line
* Respond to review
https://github.com/ruby/csv/commit/0d42df39cb
burdettelamar (Burdette Lamar)
05:32 PM Revision e3808c5a (git): [ruby/csv] Add missing document files to .gem
GitHub: fix GH-125
Reported by joast. Thanks!!!
https://github.com/ruby/csv/commit/bf41fa94cf
Sutou Kouhei
05:32 PM Revision 71bee381 (git): [ruby/csv] Bump version
https://github.com/ruby/csv/commit/936f15f3cd Sutou Kouhei
05:32 PM Revision 1822b192 (git): [ruby/csv] Don't drop stack trace in CSV.parse_line
GitHub: fix GH-120
Reported by Kyle d'Oliveira. Thanks!!!
https://github.com/ruby/csv/commit/2959483f90
Sutou Kouhei
05:32 PM Revision cf7e472a (git): [ruby/csv] test scanner: specify encoding explicitly
https://github.com/ruby/csv/commit/6e83a1de9c Sutou Kouhei
05:32 PM Revision b8084b5c (git): [ruby/csv] Fix a bug that write_nil_value or write_empty_value don't work with non String
GitHub: fix GH-123
Reported by asm256. Thanks!!!
https://github.com/ruby/csv/commit/b4492139be
Sutou Kouhei
05:32 PM Revision 5359121a (git): [ruby/csv] Revert "test: use binary mode explicitly for Ruby 2.7"
This reverts commit 736174d28413a4c36630b0daf2f170c8d2fc9abe.
It doesn't solve anything.
https://github.com/ruby/csv/commit/0ee3bdd0d3
Sutou Kouhei
05:32 PM Revision 0ee5578e (git): [ruby/csv] test: use binary mode explicitly for Ruby 2.7
https://github.com/ruby/csv/commit/736174d284 Sutou Kouhei
05:32 PM Revision 6ba1abd4 (git): [ruby/csv] Enhanced Rdoc for CSV (#122)
https://github.com/ruby/csv/commit/cd670595d5 burdettelamar (Burdette Lamar)
05:32 PM Revision 033514c6 (git): [ruby/csv] Bump version
https://github.com/ruby/csv/commit/edc6cb9022 Sutou Kouhei
05:32 PM Revision 814bfc8a (git): [ruby/csv] Fix a parse bug when split character exists in middle of column value
GitHub: fix #115
Reported by TOMITA Masahiro. Thanks!!!
https://github.com/ruby/csv/commit/398b3564c5
Sutou Kouhei
05:32 PM Revision aeac7db8 (git): [ruby/csv] Fix docs for :strip option (#114)
https://github.com/ruby/csv/commit/fb10925271 tommy (Masahiro Tomita)
05:32 PM Revision 3c5b67e0 (git): [ruby/csv] Ensuring StringIO's encoding in CSV.generate (#111)
https://github.com/ruby/csv/commit/dbf55ef008 hanachin (Seiei Miyagi)
05:32 PM Revision d57bc03b (git): [ruby/csv] Do not loop forever when skip_lines regexp matches zero length with anchors (#110)
* Do not loop forever when skip_lines regexp matches zero length with anchors
* Remove needless white spaces
* Add missing eos check in skip_needless_lines
* Simplify test
https://github.com/ruby/csv/commit/3b15d4a3e8
crazymykl (Mike MacDonald)
05:32 PM Revision b219cd5a (git): [ruby/csv] Make CSV::Row#dup return a usable Row (#108)
* Make CSV::Row#dup return a usable Row
Previously, calling `dup` on a `CSV::Row` object yielded an object whose
copy was too shallow. Changing the clone's fields would also change the
fields on the source. This change makes the clone m...
Jim Kane
05:32 PM Revision 9141aae8 (git): [ruby/csv] Suppress warnings
https://github.com/ruby/csv/commit/b37df55f46 Sutou Kouhei
05:32 PM Revision 172cfce6 (git): [ruby/csv] Bump version
https://github.com/ruby/csv/commit/284ce810bc Sutou Kouhei
05:32 PM Revision d03a7c6a (git): Revert "test/csv/write/test_general.rb: suppress warnings"
This reverts commit 375cf129189f32f7be76ac525035bcde691a63e7, to
sync csv from the upstream.
nobu (Nobuyoshi Nakada)
02:27 PM Bug #17017 (Closed): Range#max & Range#minmax incorrectly use Float end as max
Applied in changeset commit:git|05bf811c2839628aaef3d565daedb28be80d47ef.
----------
Special case Range#max for integer beginning and Float::Infinity end
Popular Ruby libraries such as Rails and Rubocop relying on the
previous behavior...
jeremyevans (Jeremy Evans)
02:19 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
jeremyevans0 (Jeremy Evans) wrote in #note-18:
> If another committer with more experience thinks it something that can be committed without approval from Matz, they can merge my pull request.
Good, so since you don't mind, I will me...
marcandre (Marc-Andre Lafortune)
02:12 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
Eregon (Benoit Daloze) wrote in #note-16:
> marcandre (Marc-Andre Lafortune) wrote in #note-15:
> ...
I should have been more clear: by "this behavior change" I was referring exclusively to the change to `(1..Float::INFINITY).max`.
...
marcandre (Marc-Andre Lafortune)
12:38 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
marcandre (Marc-Andre Lafortune) wrote in #note-15:
> jeremyevans0 (Jeremy Evans) wrote in #note-13:
> ...
Range#max behavior for integer ranges is different than behavior for float ranges. `(1..2.1).max` and `(1.0..2.1).max` have diff...
jeremyevans0 (Jeremy Evans)
10:02 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
BTW I think we should rewrite Range#max and others in pure Ruby.
It would be so much easier to read and discuss the semantics.
I find `range_max()` is very hard to read.
Eregon (Benoit Daloze)
09:59 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
marcandre (Marc-Andre Lafortune) wrote in #note-15:
> Unless I'm mistaken, this behavior change was not approved by Matz (or anybody else), changes a behavior that dates back to Ruby 1.8, breaks (that we know of) `activemodel` and `rubo...
Eregon (Benoit Daloze)
06:41 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
jeremyevans0 (Jeremy Evans) wrote in #note-13:
> I've added a pull request to restore compatibility for Range#max with integer beginning and Float::Infinity end: https://github.com/ruby/ruby/pull/3326
Good, thanks.
> ...
Well, `(1...
marcandre (Marc-Andre Lafortune)
01:17 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
I have confirmed https://github.com/ruby/ruby/pull/3326 addresses the Active Model failure reported at https://bugs.ruby-lang.org/issues/17017#note-12
yahonda (Yasuo Honda)
02:25 PM Revision 05bf811c (git): Special case Range#max for integer beginning and Float::Infinity end
Popular Ruby libraries such as Rails and Rubocop relying on the
previous behavior, even though it is technically a bug. The
correct behavior is probably raising RangeError, since that is what
an endless range raises.
Related to [Bug #17...
jeremyevans (Jeremy Evans)
02:21 PM Feature #17036 (Open): Regexp deconstruction keys to allow pattern matching
This is to allow Regexp matches in Ruby 2.7's new experimental Pattern Matching.
eg.
```ruby
case /(?<a>.)(?<b>.)/.match("xy")
in a: "x", b:
"a was 'x' and b was matched to #{b.inspect}"
end
#=> "a was 'x' and b wa...
zechris (Chris Ottrey)
02:13 PM Revision d637208a (git): Fixed a typo
nobu (Nobuyoshi Nakada)
03:17 AM Bug #17012: Backport bf1a6771f305ea286a3ae575676924551c03e857
ruby_2_7 d24cce8e7f48b0b45f726f5f1ac7ff796f46ba72 merged revision(s) bf1a6771f305ea286a3ae575676924551c03e857,c1463625555b061a2b94c3b6c5581730b482a285. nagachika (Tomoyuki Chikanaga)
03:16 AM Bug #17014: Range#minmax returns incorrect results on non-numeric exclusive ranges
ruby_2_7 d24cce8e7f48b0b45f726f5f1ac7ff796f46ba72 merged revision(s) bf1a6771f305ea286a3ae575676924551c03e857,c1463625555b061a2b94c3b6c5581730b482a285. nagachika (Tomoyuki Chikanaga)
03:16 AM Revision d24cce8e (git): merge revision(s) bf1a6771f305ea286a3ae575676924551c03e857,c1463625555b061a2b94c3b6c5581730b482a285: [Backport #17012] [Backport #17014]
Fix non-numeric exclusive Range#minmax bug
The implementation of Range#minmax added in d5c60214c45 causes the
following incorrect behaviour:
('a'...'c').minmax => ["a", ["a", "b"]]
instead of
...
nagachika (Tomoyuki Chikanaga)
02:56 AM Bug #16940: Backport 0ba27259d390e902139c0e2e94b9d18ef227748e
ruby_2_7 f43b8c4f7304ebea91cd01d5606e13273d0fd755 merged revision(s) 0ba27259d390e902139c0e2e94b9d18ef227748e. nagachika (Tomoyuki Chikanaga)
02:56 AM Revision f43b8c4f (git): merge revision(s) 0ba27259d390e902139c0e2e94b9d18ef227748e: [Backport #16940]
Fix crashes in the peephole optimizer on OpenBSD/sparc64
These crashes are due to alignment issues, casting ADJUST to INSN
and then accessing after the end of the ADJUST. These patches
come from Stefan Sperling ...
nagachika (Tomoyuki Chikanaga)
02:52 AM Bug #17023: How to prevent String memory to be relocated in ruby-ffi
ruby_2_7 e619178e52250ceda3a0fe32ff5addb16617b58c merged revision(s) 6e7e7c1e577d6c2276e9a8cc85c28c55c46c2618. nagachika (Tomoyuki Chikanaga)
02:52 AM Revision e619178e (git): merge revision(s) 6e7e7c1e577d6c2276e9a8cc85c28c55c46c2618: [Backport #17023]
Only marked objects should be considered movable
Ruby's GC is incremental, meaning that during the mark phase (and also
the sweep phase) programs are allowed to run. This means that programs
can allocate objects...
nagachika (Tomoyuki Chikanaga)
02:33 AM Bug #17026: Backport 26c179d7e7e7ae0eb21050659c3e8778358230ab to fix ObjectSpace._id2ref
ruby_2_7 ad15fd03e915272bdf4b3a8403722b397e3afcf8 merged revision(s) 26c179d7e7e7ae0eb21050659c3e8778358230ab. nagachika (Tomoyuki Chikanaga)
02:32 AM Revision ad15fd03 (git): merge revision(s) 26c179d7e7e7ae0eb21050659c3e8778358230ab: [Backport #17026]
Check argument to ObjectSpace._id2ref
Ensure that the argument is an Integer or implicitly convert to,
before dereferencing as a Bignum. Addressed a regression in
b99833baec2.
Reported by u75615 at http...
nagachika (Tomoyuki Chikanaga)

07/18/2020

06:10 PM Misc #17019: DevelopersMeeting20200720Japan
* [Feature #16989] Sets need ♥️, aka the "Set Program" (marcandre)
* Bring `Set` into core
* Insure interoperability with `Array` (e.g so `array & set` works and is efficient)
* Shorthand syntax for static frozen sets of string/...
marcandre (Marc-Andre Lafortune)
04:19 PM Revision 2eaa53e9 (git): * 2020-07-19 [ci skip]
git[bot]
04:19 PM Bug #17034 (Closed): Unexpected behavior in #max for beginless range
Applied in changeset commit:git|8a5ad2b77d7a24e4f8f4fef179ae5efced935f91.
----------
Fix Range#max for beginless Integer ranges [Bug #17034]
* Fix Range#max for beginless Integer ranges
* Update test/ruby/test_range.rb
* Fix formatting...
Anonymous
04:12 PM Bug #17034: Unexpected behavior in #max for beginless range
I agree that `RangeError` would be better, but it seems a separate issue as `TypeError` is used already in other cases. nobu (Nobuyoshi Nakada)
12:59 AM Bug #17034: Unexpected behavior in #max for beginless range
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I think a `RangeError` is more correct. Without having a beginning, you cannot know the increment value, and therefore cannot know the maximum value. People that want the end of the rang...
citizen428 (Michael Kohl)
04:18 PM Revision 8a5ad2b7 (git): Fix Range#max for beginless Integer ranges [Bug #17034]
* Fix Range#max for beginless Integer ranges
* Update test/ruby/test_range.rb
* Fix formatting
https://github.com/ruby/ruby/pull/3328
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Michael Kohl
02:45 PM Revision b4e78443 (git): Optimize Array#min (#3324)
The benchmark result is below:
| |compare-ruby|built-ruby|
|:---------------|-----------:|---------:|
|ary2.min | 39.105M| 39.442M|
| | -| 1.01x|
|ary10.min | 23.995M| ...
Kenta Murata
02:45 PM Revision a63f5209 (git): Optimize Array#max (#3325)
The benchmark result is below:
| |compare-ruby|built-ruby|
|:---------------|-----------:|---------:|
|ary2.max | 38.837M| 40.830M|
| | -| 1.05x|
|ary10.max | 23.035M| ...
Kenta Murata
10:33 AM Revision 9f60ceec (git): Suppress bell during the test
nobu (Nobuyoshi Nakada)
04:35 AM Revision 9e76124a (git): bump patchlevel to 93
nagachika (Tomoyuki Chikanaga)
04:35 AM Revision 17b088d1 (git): Update some syslog tests to absurb the format change of FreeBSD syslog
FreeBSD
```
$ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Syslog::LOG_ALERT, "Hello") }'
rubyspec 78462 - - Hello
```
Linux
```
$ ruby -rsyslog -e 'Syslog.open("rubyspec", Syslog::LOG_PERROR) {|s| s.log(Sy...
mame (Yusuke Endoh)
04:17 AM Revision 0c4d93e6 (git): test/openssl/test_ssl: skip test_fallback_scsv if necessary
Run the test case only when the OpenSSL supports both TLS 1.1 and TLS
1.2. Note that the fallback SCSV mechanism is for TLS 1.2 or older and
not for 1.3.
Fixes: https://github.com/ruby/openssl/issues/336
rhenium (Kazuki Yamaguchi)
03:26 AM Bug #17029: URI.parse considers https://example.com/### invalid when browsers consider it valid
I filed an issue at the uri library's Github repo: https://github.com/ruby/uri/issues/8 nileshtr (Nilesh Trivedi)
03:23 AM Feature #17016: Enumerable#accumulate
parker (Parker Finch) wrote in #note-15:
> Are you suggesting that we should use that approach instead of implementing a built-in `scan` method? Or is the example to clarify what the behavior of the `scan` method would be?
As it came...
nobu (Nobuyoshi Nakada)
02:33 AM Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
Yes, it is similar however occurs while printing causes, which was added at 2.6. nobu (Nobuyoshi Nakada)

07/17/2020

11:37 PM Revision 6f5f15f1 (git): * 2020-07-18 [ci skip]
git[bot]
11:37 PM Revision 8d233301 (git): Fix MonitorMixin when the super's initialize has kwargs
pocke (Masataka Kuwabara)
11:09 PM Bug #17031: `Kernel#caller_locations(m, n)` should be optimized
Reviewing the related code in vm_backtrace.c, you are correct. This occurs both for `caller` and `caller_locations`. The entire internal backtrace object is generated by `rb_ec_backtrace_object`, and then passed to a function that look... jeremyevans0 (Jeremy Evans)
09:44 PM Bug #17032 (Closed): BigDecimal's `to_d` behaves inconsistent compared to `to_f`
`NilClass#to_d` was added in Ruby 2.6. As it is not security-related (and seems more like a new feature than a bug fix), it will not be backported to Ruby 2.5, as that is in security maintenance mode. jeremyevans0 (Jeremy Evans)
05:48 PM Bug #17034: Unexpected behavior in #max for beginless range
citizen428 (Michael Kohl) wrote:
> I think this is not ideal. Possible solutions:
> ...
I think a `RangeError` is more correct. Without having a beginning, you cannot know the increment value, and therefore cannot know the maximum val...
jeremyevans0 (Jeremy Evans)
04:26 PM Bug #17034: Unexpected behavior in #max for beginless range
citizen428 (Michael Kohl) wrote:
> I think this is not ideal. Possible solutions:
> ...
I had some time and looked into this. For inclusive integer ranges `r.end` will now be returned, no other behavior changes. Patch attached, but sin...
citizen428 (Michael Kohl)
04:00 AM Bug #17034 (Closed): Unexpected behavior in #max for beginless range
When calling `max` on a beginless range, a non-intuitive error gets raised:
``` ruby
r = ..9
r.max
# ArgumentError: comparison of NilClass with 9 failed
```
There's a check for `NIL_P(RANGE_BEG(range))` but it's inside another ...
citizen428 (Michael Kohl)
03:39 PM Misc #17035 (Closed): is non-symbol key hash spread a bug or a feature?
chucke (Tiago Cardoso) wrote:
> ``` ruby
> ...
This is an expected new feature in ruby 2.7, and will not break in future ruby versions. `**` is the keyword splat operator. In ruby <2.7, `"a"` is not a valid keyword key, but in ruby 2....
jeremyevans0 (Jeremy Evans)
03:16 PM Misc #17035 (Closed): is non-symbol key hash spread a bug or a feature?
Coming from https://github.com/jruby/jruby/issues/6327#issuecomment-659577894
I've queried jruby about a bug I found, only to find that the behaviour is correct for the ruby versions jruby emulates.
The following:
``` ruby
{*...
chucke (Tiago Cardoso)
02:29 PM Feature #17016: Enumerable#accumulate
mame (Yusuke Endoh) wrote in #note-14:
> Is this what you want?
> ...
Oh interesting, I hadn't considered that approach! That is very close to the behavior of the scan operation, and might be a good way to implement it. (The only diffe...
parker (Parker Finch)
10:39 AM Feature #16029: Expose fstring related APIs to C-extensions
Yes I saw it this morning. Now that it's assigned and likely to be merged soon. We can probably close this issue as duplicate. byroot (Jean Boussier)
09:23 AM Feature #16029: Expose fstring related APIs to C-extensions
See https://bugs.ruby-lang.org/issues/13381#note-6 Eregon (Benoit Daloze)
09:22 AM Feature #13381: [PATCH] Expose rb_fstring and its family to C extensions
I'd suggest `buff` => `buffer`, I don't think it's worth abbreviating that.
BTW, there is `rb_alloc_tmp_buffer` so `buff` would be inconsistent.
Is `rb_str_pool(VALUE)` useful?
I think it could be `rb_str_uminus()` (or just `rb_func...
Eregon (Benoit Daloze)
04:19 AM Feature #13381: [PATCH] Expose rb_fstring and its family to C extensions
Nobu and I discussed the name, we want to choose `rb_str_pool` terminology.
* `rb_str_pool` prefix
* `rb_str_pool(VALUE)`
* `rb_str_pool_buff(const char *ptr, long len)`
* `rb_str_pool_cstr(const char *ptr)`
* `rb_enc_st...
ko1 (Koichi Sasada)
12:07 AM Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
(Oh I see, this and https://bugs.ruby-lang.org/issues/14566#change-71448 were independent) ujihisa (Tatsuhiro Ujihisa)

07/16/2020

05:47 PM Feature #16470: Issue with nanoseconds in Time#inspect
I also don't see much use for fractional nanoseconds.
`clock_gettime()` never has higher resolution than nanoseconds.
In fact both JRuby and TruffleRuby always round to an integer number of nanonseconds, because `java.time` supports nan...
Eregon (Benoit Daloze)
05:25 PM Feature #16470: Issue with nanoseconds in Time#inspect
mame (Yusuke Endoh) wrote in #note-12:
> I guess nanosecond (nine digits after the decimal point) would be enough in many use cases, but I'm not 100% sure.
I don't think support for fractional nanoseconds is important. Does anyone h...
jeremyevans0 (Jeremy Evans)
09:32 AM Feature #16470: Issue with nanoseconds in Time#inspect
We need to understand the use case precisely. Does OP want to pass a general Float value to `Time.utc`? Or does he just want to specify nanosecond?
I think of no practical use case for the former (passing a general/calculated Float). ...
mame (Yusuke Endoh)
05:17 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
I've added a pull request to restore compatibility for Range#max with integer beginning and Float::Infinity end: https://github.com/ruby/ruby/pull/3326
I think this pull request should require matz approval because it is a deliberate ...
jeremyevans0 (Jeremy Evans)
09:31 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
Let me provide another incompatibility/breaking change since this commit.
One of the Rails validation, `validates_length_of(:title, within: 5..Float::INFINITY)` raises `Infinity (FloatDomainError)` with Ruby 2.8.0dev.
This behavior o...
yahonda (Yasuo Honda)
04:31 PM Feature #11689: Add methods allow us to get visibility from Method and UnboundMethod object.
I'd also like to advocate for this. We're working on a gem that allows you to easily memoize a method while still preserving that method's visibility, and without `Method#visibility` we have to [awkwardly hack around it](https://github.c... jacobevelyn (Jacob Evelyn)
08:36 AM Bug #14541: Class variables have broken semantics, let's fix them
Note that while setting a top-level immediately raises:
```
$ ruby -e '@@a=42'
-e:1:in `<main>': class variable access from toplevel (RuntimeError)
``...
Eregon (Benoit Daloze)
05:17 AM Feature #17016: Enumerable#accumulate
Is this what you want?
```
irb(main):001:0> (1..).lazy.enum_for(:inject, 0).map {|a, b| a + b }.take(10).force
=> [1, 3, 6, 10, 15, 21, 28, 36, 45, 55]
```
mame (Yusuke Endoh)
04:14 AM Misc #17019: DevelopersMeeting20200720Japan
* [Feature #16812] Allow slicing arrays with ArithmeticSequence
* I made a patch.
* [Feature #14722] python's buffer protocol clone
* I made a implementation proposal.
mrkn (Kenta Murata)
04:13 AM Feature #14722: python's buffer protocol clone
I'm working on writing a patch for this issue in https://github.com/ruby/ruby/pull/3261. mrkn (Kenta Murata)
02:49 AM Revision 1fb4e280 (git): skip inlining cexpr! that are not attr! inline
Requested by ko1. shyouhei (Shyouhei Urabe)
01:44 AM Revision 5d5b8a33 (git): * 2020-07-16 [ci skip]
git[bot]
01:43 AM Revision 23846486 (git): Remove fiber HTTP test.
The HTTP test hits a remote website which isn't always available and is
not self-contained. Ideally we will rewrite this test with an internal
web server.
Samuel Williams

07/15/2020

11:44 PM Bug #17023: How to prevent String memory to be relocated in ruby-ffi
tenderlove@ruby-lang.org wrote:
> Right, that makes sense. I really need to document this (and
> I apologize for not doing so already), but
> `rb_gc_register_address` will pin your objects. When you know
> you're done with the ref...
normalperson (Eric Wong)
08:00 PM Bug #17023: How to prevent String memory to be relocated in ruby-ffi
larskanis (Lars Kanis) wrote in #note-7:
> So actually I was looking for something like `rb_obj_mark_unmovable()` to pin the string. FFI could call this function on all string pointers passed to C. In FFI we don't know how long the stri...
tenderlovemaking (Aaron Patterson)
07:35 PM Bug #17023: How to prevent String memory to be relocated in ruby-ffi
Thank you Aaron for looking into this! The patch avoids that the particular string is relocated, but unfortunately the patch is not sufficient to avoid relocation of any strings given to FFI. A slightly modified version of the script fai... larskanis (Lars Kanis)
04:56 PM Feature #16987: Enumerator::Lazy vs Array methods
I used Lazy all the time. There is nothing to be done here about its popularity.
FWIW, People knew about it, but choose not to rely on it because they want to support old versions of Ruby.
Hence, it is not very popular in open-source s...
midnight (Sarun R)
04:40 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
jeremyevans0 (Jeremy Evans) wrote in #note-10:
> With current Ruby, you should use an endless range instead of range with an infinite end.
Endless ranges are 2.6+. Ruby 2.5 is not yet EOL. RuboCop supports 2.4 and other gems support ...
marcandre (Marc-Andre Lafortune)
03:58 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
marcandre (Marc-Andre Lafortune) wrote in #note-9:
> jeremyevans0 (Jeremy Evans) wrote in #note-7:
> ...
With current Ruby, you should use an endless range instead of range with an infinite end.
The previous behavior of returning `F...
jeremyevans0 (Jeremy Evans)
03:37 PM Bug #17017 (Open): Range#max & Range#minmax incorrectly use Float end as max
jeremyevans0 (Jeremy Evans) wrote in #note-7:
> koic (Koichi ITO) wrote in #note-6:
> ...
I should have been more clear when I commented to take care of Infinity, but I believe that previous behavior should remain. Since there is no `I...
marcandre (Marc-Andre Lafortune)
07:19 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
Thank you for your reply. For now I've learned that updating to `(42.to_f..Float::INFINITY)` will prevent the error. koic (Koichi ITO)
05:24 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
koic (Koichi ITO) wrote in #note-6:
> I encountered a breaking change in RuboCop repository when using ruby 2.8.0dev.
> ...
Yes, it is expected behavior, at least to me. I believe the Ruby 2.7 behavior is wrong, because a range that s...
jeremyevans0 (Jeremy Evans)
12:47 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
I encountered a breaking change in RuboCop repository when using ruby 2.8.0dev.
https://github.com/rubocop-hq/rubocop/blob/v0.88.0/lib/rubocop/comment_config.rb#L110
So, I have a question. Is this an expected behaviour?
Ruby 2.7.1...
koic (Koichi ITO)
04:11 PM Bug #17031: `Kernel#caller_locations(m, n)` should be optimized
Sure
```
Calculating -------------------------------------
short_backtrace 28.315k (± 7.1%) i/s - 141.984k in 5.044733s
long_backtrace 24.168k (± 8.7%) i/s - 120.900k in 5.050243s
no_caller_locations ...
marcandre (Marc-Andre Lafortune)
02:30 PM Bug #17031: `Kernel#caller_locations(m, n)` should be optimized
Could you post the results of running that on your computer?
Then it's easier to see your point without needing to reproduce.
Eregon (Benoit Daloze)
02:33 PM Revision 9f4b7fc8 (git): Check warning flags only if available to run with old versions
nobu (Nobuyoshi Nakada)
02:32 PM Feature #17016: Enumerable#accumulate
For the name I think just `scan` would be best then.
And accept the fact it's completely unrelated to `String#scan`.
Eregon (Benoit Daloze)
02:04 PM Bug #17033 (Closed): Infinite Traceback when encountering an Exception while catching an Exception
Applied in changeset commit:git|579645d9f870fa4116dcd3200bbbb6e2c0b7f400.
----------
Fixed infinite loop at error in printing cause [Bug #17033]
nobu (Nobuyoshi Nakada)
04:45 AM Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
NickHackman (Nick Hackman) wrote:
> In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.
> ...
If this is an actual issue is it possib...
NickHackman (Nick Hackman)
04:39 AM Bug #17033 (Closed): Infinite Traceback when encountering an Exception while catching an Exception
In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.
```ruby
class MyException < StandardError
def initialize(obj)
@obj = ob...
NickHackman (Nick Hackman)
12:39 PM Revision 579645d9 (git): Fixed infinite loop at error in printing cause [Bug #17033]
nobu (Nobuyoshi Nakada)
07:36 AM Revision 79d06483 (git): Close sockets if blocking to fix leaked fds
nobu (Nobuyoshi Nakada)
07:05 AM Revision 5783d0db (git): Import remaining changes
The "sync with commits" scripts failed to properly import these for some
reason.
deivid (David Rodríguez)
07:05 AM Revision 0c8d90b5 (git): [rubygems/rubygems] Unswallow `Gem::Package::FormatError`
This error happen in a CI run, and as it is currently, it doesn't give
any useful information about the underlying cause. Let's not swallow the
original error.
https://github.com/rubygems/rubygems/commit/8c17ba2f45
deivid (David Rodríguez)
07:05 AM Revision 1f719542 (git): [rubygems/rubygems] July man pages
https://github.com/rubygems/rubygems/commit/58d9a3de5b deivid (David Rodríguez)
07:05 AM Revision fd709382 (git): [rubygems/rubygems] Tag the specs with :readline
The newly added specs needs to be tagged as
:readline, otherwise they fail on Windows with
the backtrace: `ZeroDivisionError: divided by 0`.
Such issues are already being skipped on Windows.
Signed-off-by: Utkarsh Gupta <utkarsh@debian...
utkarsh (Utkarsh Gupta)
07:05 AM Revision c44c7019 (git): [rubygems/rubygems] Add tests with different flag combinations
Since this PR was made because we missed checking
RuboCop offenses with different flags, therefore
adding tests so that all flag combinations are
tested.
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https://github.com/rubygems/rub...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 4f9c673c (git): [rubygems/rubygems] Allow setting a tag prefix to be used by gem release tasks
https://github.com/rubygems/rubygems/commit/679008f23a deivid (David Rodríguez)
07:05 AM Revision ca133c03 (git): [rubygems/rubygems] Fix line spacing to make Layout/EmptyLines happy
The Gemfile wasn't properly put in the last commit.
As a result, Layout/EmptyLines inspected an offense
in the Gemfile.
This also fixes the spec w.r.t change in the task
default.
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 95f90e3d (git): [rubygems/rubygems] Add blank lines to make Bundler/OrderedGems happy
If the blank lines aren't used, then rubocop tries to
sort them in alphabetical order within their section.
Thus, adding lines so rubocop considers them as
different sections and doesn't try to sort them.
Signed-off-by: Utkarsh Gupta <u...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 281898ed (git): [rubygems/rubygems] Fix Rakefile to make Style/SymbolArray happy
In case of multiple Rake tasks, the default tasks would
look something like this:
`task default: [:spec, :rubocop]`
Instead, they should use %i and look something like this:
`task default: %i[spec rubocop]`
Signed-off-by: Utkarsh Gupta...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 8c65f612 (git): [rubygems/rubygems] Fix remaining RuboCop issues
With #3731 and #3740 merged, this covers up the
remaining part of the issues.
This was discovered when one tries to create a gem
with a different framework.
Could be reproduced with:
`bundle gem foo --ext --test=test-unit`
Signed-off-by...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 40f73b3a (git): [rubygems/rubygems] Avoid calling LoadError#message because of its slowness
Instead we can rely on `LoadError#path`
https://github.com/rubygems/rubygems/commit/16d5c3b43c
byroot (Jean Boussier)
07:05 AM Revision 2fafc08a (git): [rubygems/rubygems] Remove unneeded trailing conditions on exitstatus
https://github.com/rubygems/rubygems/commit/27e0e4ecb6 deivid (David Rodríguez)
07:05 AM Revision 547ba660 (git): [rubygems/rubygems] Easier way to find path to ruby binary
https://github.com/rubygems/rubygems/commit/cdc201f5c4 deivid (David Rodríguez)
07:05 AM Revision 16823d4a (git): [rubygems/rubygems] Remove unnecessary assertions on exitstatus
Since our helpers now raise by default if the subcommand fails, these
will never actually fail and are not necessary.
https://github.com/rubygems/rubygems/commit/6153b9321e
deivid (David Rodríguez)
07:05 AM Revision e2837a77 (git): [rubygems/rubygems] Constrain (shipped) RuboCop's version
Right now, we're not specifying the version constraints
on RuboCop that is shipped when a new gem is created.
This can break specs which runs rubocop on a new
skeleton gem as the newer versions of RuboCop are
released.
This commit ensur...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 17b92d22 (git): [rubygems/rubygems] No need to update remotes
Everything is already fetched locally.
https://github.com/rubygems/rubygems/commit/9c304639b1
deivid (David Rodríguez)
07:05 AM Revision d189d31c (git): [rubygems/rubygems] Git clone already takes care of this
https://github.com/rubygems/rubygems/commit/6e0c28d3ab deivid (David Rodríguez)
07:05 AM Revision a73ea212 (git): [rubygems/rubygems] Clone rubygems from the local repo
It simplifies things and should avoid issues like the one we had where
the master branch had a bad `.gitattributes` file and changing it on a
PR would be disregarded.
In order for this to work, we need to make sure to fetch all tags fro...
deivid (David Rodríguez)
07:05 AM Revision 5ebca6d7 (git): [rubygems/rubygems] Skip this spec on ruby_core workflow
ruby_core has an 'ast.rb' file that gets in the
middle and breaks this spec, so it's better we skip
this test on this workflow for now.
Also, slightly change the spec name from "run" to
"runs" and change the last assertion, it's cleaner...
utkarsh (Utkarsh Gupta)
07:05 AM Revision d0810fde (git): [rubygems/rubygems] Use latest version of rubocop for RUBY_VERSION > 2.4
With older versions of rubocop, the dependency on
`jaro_winkler` seems to be a pain.
However, in the later versions of rubocop, this
dependency was dropped. So we only need to use
the older version for ruby2.3.
Signed-off-by: Utkarsh Gu...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 077dcacb (git): [rubygems/rubygems] Use `--config .rubocop.yml` instead
because rubocop configuration inheritance is
messed up and when using `--ignore-parent-exclusion`,
even though the exit status is 0, the example
still fails because of the configuration issue.
Signed-off-by: Utkarsh Gupta <utkarsh@debia...
utkarsh (Utkarsh Gupta)
07:05 AM Revision ecb87b55 (git): [rubygems/rubygems] Lock rubocop version to 0.80.1
The later RuboCop versions don't work with ruby2.3
so we should lock the version to what works with
ruby2.3 as we haven't dropped the support yet.
And since we're using the older version of rubocop,
also fix `Max` value of `LineLength` ...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 215f7c31 (git): [rubygems/rubygems] Fix linting and make Style/RedundantInterpolation happy
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https://github.com/rubygems/rubygems/commit/83e330fa87
utkarsh (Utkarsh Gupta)
07:05 AM Revision 4875a96e (git): [rubygems/rubygems] Fix test to run rubocop on the generated gem
With this, it will be ensured that the generated
(skeleton) gem will have no offenses.
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https://github.com/rubygems/rubygems/commit/47411262e0
utkarsh (Utkarsh Gupta)
07:05 AM Revision b28c6d04 (git): [rubygems/rubygems] Make Style/HashSyntax cop happy
Previously, we were using the old syntax like:
`task :default => :spec`, but now this commit
uses the new Ruby 1.9 hash syntax.
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https://github.com/rubygems/rubygems/commit/b41d0fdb56
utkarsh (Utkarsh Gupta)
07:05 AM Revision 449d2420 (git): [rubygems/rubygems] WIP: add test to run rubocop on the generated gem
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https://github.com/rubygems/rubygems/commit/730b770f8a
utkarsh (Utkarsh Gupta)
07:05 AM Revision cbe4d29c (git): [rubygems/rubygems] Roll back to Dir.chdir block
since without that, evaluating the gemspec from
outside `File.expand_path( __dir__)` won't work.
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https://github.com/rubygems/rubygems/commit/9e5e52a1d9
utkarsh (Utkarsh Gupta)
07:05 AM Revision 084489be (git): [rubygems/rubygems] Fix tests pertaining to newgem
Signed-off-by: Utkarsh Gupta <utkarsh@debian.org>
https://github.com/rubygems/rubygems/commit/e2ee0b7de3
utkarsh (Utkarsh Gupta)
07:05 AM Revision 3b0d2a3d (git): [rubygems/rubygems] Fix RuboCop offenses
These offenses appear when you create a gem with
`bundle gem foo` and run `rubocop` over it.
Initially, there were around 45 offenses detected,
but with #3731 and this, the number of offenses
have been reduced to 2.
Signed-off-by: Utka...
utkarsh (Utkarsh Gupta)
07:05 AM Revision 2b73f26f (git): [rubygems/rubygems] Show also output from all commands on rubygems checkout errors
https://github.com/rubygems/rubygems/commit/1fe24e471d deivid (David Rodríguez)
07:05 AM Revision 5ae80c52 (git): [rubygems/rubygems] Remove `--quiet` flag to `git checkout`
Since we don't show this output by default, it's better to be verbose
in case we happen to need more info.
https://github.com/rubygems/rubygems/commit/baa4ccf5a6
deivid (David Rodríguez)
07:05 AM Revision 23cf99e9 (git): [rubygems/rubygems] Bundler specs - Windows - remove skips, File.open => File.readlines
Using File.open without a block leaves a file reference that causes issues with file operations
commands/binstubs_spec.rb
install/gems/compact_index_spec.rb
install/gems/dependency_api_spec.rb
install/gems/standalone_spec.rb
runtime/exe...
MSP-Greg (Greg L)
07:05 AM Revision ad743337 (git): [rubygems/rubygems] bundler/spec/commands/binstubs_spec.rb - remove global Windows skip
Added one skip for:
bundle binstubs <gem>
when the gem exists in the lockfile
when generating bundle binstub outside bundler
should abort
https://github.com/rubygems/rubygems/commit/b77b484889
MSP-Greg (Greg L)
07:05 AM Revision f3ad8a00 (git): [rubygems/rubygems] bundler/lib/bundler/installer.rb - fix Windows 'executable_stubs'
Windows normal shell requires binstubs with *.cmd extensions
https://github.com/rubygems/rubygems/commit/b46326eb1f
MSP-Greg (Greg L)
06:57 AM Revision 48ba9b61 (git): Update actions/cache from v1 to v2
Signed-off-by: Sora Morimoto <sora@morimoto.io> Sora Morimoto
04:36 AM Revision c25d249e (git): RBasci::flags (VALUE) doesn't match int.
The type of RBasic::flags is VALUE, and INT2FIX(flags) does not
make sense. Use correct type to represent.
ko1 (Koichi Sasada)
02:22 AM Revision dfe88350 (git): * 2020-07-15 [ci skip]
git[bot]
02:21 AM Revision fc220b12 (git): rubygems is needed to run solo-file test
ko1 (Koichi Sasada)
02:21 AM Revision c87ee800 (git): rubygems is needed to run solo-file test
ko1 (Koichi Sasada)

07/14/2020

07:56 PM Bug #17032 (Closed): BigDecimal's `to_d` behaves inconsistent compared to `to_f`
I would expect `to_f` and `to_d` to behave identically. Specifically, `nil.to_d` should behave like `nil.to_f`.
```ruby
require 'bigdecimal'
require 'bigdecimal/util'
nil.to_f # => 0.0
nil.to_d # >> NoMethodError (undefined method...
TiloS (Tilo S)
07:07 PM Bug #17031 (Closed): `Kernel#caller_locations(m, n)` should be optimized
`Kernel#caller_locations(1, 1)` currently appears to needlessly allocate memory for the whole backtrace.
It allocates ~20kB for a 800-deep stacktrace, vs 1.6 kB for a shallow backtrace.
It is also much slower for long stacktraces: ab...
marcandre (Marc-Andre Lafortune)
06:20 PM Feature #17016: Enumerable#accumulate
Eregon (Benoit Daloze) wrote in #note-6:
> Maybe `prefix_sum` or just `prefix` or something like that would work?
> ...
I agree that including "sum" in the name is confusing. I think that "prefix_sum" is just used to describe the sum o...
parker (Parker Finch)
05:50 PM Feature #17016: Enumerable#accumulate
shyouhei (Shyouhei Urabe) wrote in #note-10:
> It might be possible to let inject be lazy if we ignore backwards compatibility. But how do we partially evaluate that lazy enumerator then?
I think this is the crux of the issue. Becau...
parker (Parker Finch)
01:46 PM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
nobu (Nobuyoshi Nakada) wrote in #note-4:
> Even without a block, `grep` sets `$~` to the last match result.
I agree with @eregon, doesn't seem like it makes much sense to use that.
There's also no valid reason it should set `$~` ...
marcandre (Marc-Andre Lafortune)
01:28 PM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
nobu (Nobuyoshi Nakada) wrote in #note-4:
> Even without a block, `grep` sets `$~` to the last match result.
I guess cases using `$~` after the call to `grep` are very rare (notably because only the last match of the Enumerable would...
Eregon (Benoit Daloze)
10:25 AM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
Even without a block, `grep` sets `$~` to the last match result. nobu (Nobuyoshi Nakada)
03:37 AM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
You are right for `grep` with a block, we can't necessarily optimize, but we should optimize `grep` without a block, no? marcandre (Marc-Andre Lafortune)
01:24 AM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
Yes but E#grep's allocating MatchData is by spec. You can observe `$&` etc. by passing a block to it.
```ruby
p %w[q w e r].grep(/./) { $~ }
```
So this is at least a breaking change.
shyouhei (Shyouhei Urabe)
04:19 AM Revision e60cd14d (git): ON_DEBUG: delete unused macro
This is no longer used. shyouhei (Shyouhei Urabe)
04:15 AM Revision 8d3a0845 (git): _mjit_compile_invokebuiltin: sp_inc can be negative
Was my bad to assume sp_inc was positive. Real criteria is the
calculated sp is non-negative. We have to assert that.
shyouhei (Shyouhei Urabe)
03:30 AM Bug #17028: On the latest OpenSSL adaptation
OpenSSL 1.1.1d is out-of-date a little.
With which version of ruby did you build it?
nobu (Nobuyoshi Nakada)

07/13/2020

10:06 PM Bug #17027: Connection leak possibility in Net::FTP#transfercmd
https://github.com/ruby/net-ftp/pull/2 koshigoe (Masataka SUZUKI)
04:57 PM Bug #17027: Connection leak possibility in Net::FTP#transfercmd
Your patch looks good to me. However, the net/ftp library is maintained in a separate repository. Please submit your patch as a pull request to https://github.com/ruby/net-ftp/pulls. jeremyevans0 (Jeremy Evans)
11:00 AM Bug #17027: Connection leak possibility in Net::FTP#transfercmd
Is this patch correct?
Should I close connection use `shutdown` and `read`?
```diff
--- /Users/koshigoe/.rbenv/versions/2.7.1/lib/ruby/2.7.0/net/ftp.rb.orig 2020-07-13 19:41:53.000000000 +0900
+++ /Users/koshigoe/.rbenv/versions/2....
koshigoe (Masataka SUZUKI)
10:51 AM Bug #17027: Connection leak possibility in Net::FTP#transfercmd
Fixed only about ACTIVE mode? koshigoe (Masataka SUZUKI)
10:46 AM Bug #17027: Connection leak possibility in Net::FTP#transfercmd
Oops
https://bugs.ruby-lang.org/issues/9872
koshigoe (Masataka SUZUKI)
10:44 AM Bug #17027 (Closed): Connection leak possibility in Net::FTP#transfercmd
https://github.com/ruby/ruby/blob/bad7ab35d1e38f47b09f15fc5750387ac73b2286/lib/net/ftp.rb#L542-L556
https://github.com/ruby/net-ftp/blob/14d2544190f7e4b77b41a3fd0c676f5b8ebd238c/lib/net/ftp.rb#L542-L556
The connection `conn` may not ...
koshigoe (Masataka SUZUKI)
09:51 PM Feature #16984: Remove write barrier exemption for T_ICLASS
Edit: I noticed that T_ICLASS wasn't marking the shared method and constant table on master. My notes
about reducing the number of `gc_mark` references on the heap were incorrect.
alanwu (Alan Wu)
09:01 PM Bug #17029: URI.parse considers https://example.com/### invalid when browsers consider it valid
It's not valid according to RFC 3986 (the URI standard) but that is pretty old now. I suspect switching from the IETF URI spec to the WHATWG URL spec would have other consequences, too. phluid61 (Matthew Kerwin)
05:38 PM Bug #17029: URI.parse considers https://example.com/### invalid when browsers consider it valid
This does seem like a bug to me. It looks like `https://example.com/###` should be an valid URL with a fragment of `##`. However, the uri library is maintained in a separate repository. Please submit this as an issue to https://github... jeremyevans0 (Jeremy Evans)
05:33 PM Bug #17029 (Closed): URI.parse considers https://example.com/### invalid when browsers consider it valid
I have a form with `<input type="url" required>` and in the backend, I try to extract the domain with `URI.parse(url).host`
A user was able to submit a value like `https://example.com/###` which passed the browser's validation check, ...
nileshtr (Nilesh Trivedi)
08:27 PM Bug #17030: Enumerable#grep{_v} should be optimized for Regexp
Code to reproduce by @fatkodima:
```ruby
require 'benchmark-ips'
require 'benchmark-memory'
arr = %w[foobar foobaz bazquux hello world just making this array longer]
REGEXP = /o/
def select_match(arr)
arr.select { |e| e.match?(REGE...
marcandre (Marc-Andre Lafortune)
08:26 PM Bug #17030 (Closed): Enumerable#grep{_v} should be optimized for Regexp
Currently,
```ruby
array.select { |e| e.match?(REGEXP) }
```
is about three times faster and six times more memory efficient than
```ruby
array.grep(REGEXP)
```
This is because `grep` calls `Regexp#===`, which creates use...
marcandre (Marc-Andre Lafortune)
05:55 PM Bug #17023: How to prevent String memory to be relocated in ruby-ffi
This is fixed in 6e7e7c1e577d6c2276e9a8cc85c28c55c46c2618. I tried cherry picking the commit to ruby_2_7, but got a conflict. I've attached the patch with the conflict resolved.
Thanks for reporting this!
tenderlovemaking (Aaron Patterson)
05:09 PM Bug #17017 (Closed): Range#max & Range#minmax incorrectly use Float end as max
Applied in changeset commit:git|8900a25581822759daca528d46a75e0b743fc22e.
----------
Fix Range#{max,minmax} for range with integer beginning and non-integer end
Previously, for inclusive ranges, the max would show up as the
end of the ...
jeremyevans (Jeremy Evans)
05:09 PM Revision 8900a255 (git): Fix Range#{max,minmax} for range with integer beginning and non-integer end
Previously, for inclusive ranges, the max would show up as the
end of the range, even though the end was not an integer and would
not be the maximum value. For exclusive ranges, max/minmax would
previously raise a TypeError, even though...
jeremyevans (Jeremy Evans)
05:07 PM Revision a1bcfbe3 (git): * 2020-07-14 [ci skip]
git[bot]
05:06 PM Revision 46d1777a (git): Remove --jit-min-calls for now
--jit-min-calls=5 is too unstable k0kubun (Takashi Kokubun)
05:03 PM Bug #16116 (Closed): ruby2.6.3(x86/x64) use win32ole could not new Object, return 0x80070057
jeremyevans0 (Jeremy Evans)
04:47 PM Feature #10911: IPAddr.new should ignore zone identifiers
I've submitted a pull request to the ipaddr repository for this: https://github.com/ruby/ipaddr/pull/24 jeremyevans0 (Jeremy Evans)
01:06 PM Bug #17028 (Feedback): On the latest OpenSSL adaptation
Can you file its details to http://github.com/ruby/openssl?
hsbt (Hiroshi SHIBATA)
12:19 PM Bug #17028 (Closed): On the latest OpenSSL adaptation
I just compiled ruby, but it failed to compile under OpenSSL 1.1.1d. Due to changes in ABI and detection macro, there were various errors. I even modified the following file to complete the compilation:
1. Note the full code of `opens...
jack9603301 (春晖 欧阳)
10:07 AM Bug #17026 (Closed): Backport 26c179d7e7e7ae0eb21050659c3e8778358230ab to fix ObjectSpace._id2ref
[26c179d7e7e7] fixes SEGV at non-numeric argument to `ObjectSpace._id2ref`.
[26c179d7e7e7]: https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/26c179d7e7e7ae0eb21050659c3e8778358230ab
nobu (Nobuyoshi Nakada)
09:45 AM Bug #16896 (Closed): MakeMakefile methods should be private
Applied in changeset commit:git|c2a6295ec04a191c689d22254ac1ad5d665e27ad.
----------
Make the mkmf methods private in the global [Bug #16896]
nobu (Nobuyoshi Nakada)
09:44 AM Revision c2a6295e (git): Make the mkmf methods private in the global [Bug #16896]
nobu (Nobuyoshi Nakada)
05:10 AM Revision d99d96cc (git): Add --jit-min-calls=5 (#3313)
* RUN_OPTS needs to be specified for overriding it
* Add --jit-min-calls=5
k0kubun (Takashi Kokubun)
04:28 AM Bug #17025 (Closed): `Time#ceil` does not work like `Rational#ceil` or `Float#ceil`
## Current behavior
```
irb(main):011:0> time = Time.utc(2016, 4, 23, 0, 0, "0.123456789".to_r)
irb(main):012:0> time.ceil(9)
=> 2016-04-23 00:00:00.12345679 UTC
irb(main):013:0> time.ceil(10)
=> 2016-04-23 00:00:00 1234567891/10...
tgxworld (Guo Xiang Tan)
04:28 AM Misc #17019: DevelopersMeeting20200720Japan
* [Feature #13381] Expose rb_fstring and its family to C extensions (tenderlove)
* Can we expose the fstring family of functions? It seems the answer is "yes" but we need a better name (is this the current status?)
tenderlovemaking (Aaron Patterson)
03:45 AM Revision 2e5a711f (git): common.mk: add missing dependency
shyouhei (Shyouhei Urabe)
03:30 AM Revision 927fe242 (git): mk_builtin_loader.rb: STACK_ADDR_FROM_TOP unusable
Stacks are emulated in MJIT, must not touch the original VM stack.
See also http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3061353
shyouhei (Shyouhei Urabe)
02:33 AM Revision 16bc9bf7 (git): [DOC] Use https:// instead of http:// [ci skip]
znz (Kazuhiro NISHIYAMA)
 

Also available in: Atom