[#111565] [Ruby master Bug#19293] The new Time.new(String) API is nice... but we still need a stricter version of this — "matsuda (Akira Matsuda) via ruby-core" <ruby-core@...>

Issue #19293 has been reported by matsuda (Akira Matsuda).

8 messages 2023/01/01

[#111572] [Ruby master Bug#19297] Don't download content from internet to execute Ruby test suite — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

Issue #19297 has been reported by vo.x (Vit Ondruch).

12 messages 2023/01/02

[#111579] [Ruby master Feature#19300] Move public objects from Kernel to Object — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19300 has been reported by zverok (Victor Shepelev).

15 messages 2023/01/02

[#111581] [Ruby master Bug#19301] Fix Data class to report keyrest instead of rest parameters — "bkuhlmann (Brooke Kuhlmann) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzAxIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJrdWhsbWFubiAoQnJvb2tlIEt1aGxt

8 messages 2023/01/02

[#111604] [Ruby master Misc#19304] Kernel vs Object documentation — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19304 has been reported by zverok (Victor Shepelev).

8 messages 2023/01/03

[#111674] [Ruby master Feature#19314] String#bytesplice should support partial copy — "shugo (Shugo Maeda) via ruby-core" <ruby-core@...>

Issue #19314 has been reported by shugo (Shugo Maeda).

8 messages 2023/01/06

[#111678] [Ruby master Feature#19315] Lazy substrings in CRuby — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>

Issue #19315 has been reported by Eregon (Benoit Daloze).

11 messages 2023/01/06

[#111693] [Ruby master Bug#19316] YJIT crash in 3.2.0 — "jdashton (J Daniel Ashton) via ruby-core" <ruby-core@...>

Issue #19316 has been reported by jdashton (J Daniel Ashton).

12 messages 2023/01/06

[#111696] [Ruby master Feature#19317] Unicode ICU Full case mapping — "noraj (Alexandre ZANNI) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzE3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG5vcmFqIChBbGV4YW5kcmUgWkFOTkkp

7 messages 2023/01/06

[#111712] [Ruby master Feature#19322] Support spawning "private" child processes — "kjtsanaktsidis (KJ Tsanaktsidis) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzIyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtqdHNhbmFrdHNpZGlzIChLSiBUc2Fu

14 messages 2023/01/07

[#111739] [Ruby master Feature#19324] Enumerator.product => Enumerable#product — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19324 has been reported by zverok (Victor Shepelev).

18 messages 2023/01/08

[#111740] [Ruby master Bug#19325] Windows support lacking. — "dsisnero (Dominic Sisneros) via ruby-core" <ruby-core@...>

Issue #19325 has been reported by dsisnero (Dominic Sisneros).

11 messages 2023/01/08

[#111742] [Ruby master Feature#19326] Please add a better API for passing a Proc to a Ractor — sdwolfz via ruby-core <ruby-core@...>

SXNzdWUgIzE5MzI2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHNkd29sZnogKENvZHJ1yJsgR3XImW9p

13 messages 2023/01/08

[#111789] [Ruby master Feature#19333] Setting (Fiber Local|Thread Local|Fiber Storage) to nil should delete value in order to avoid memory leaks. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #19333 has been reported by ioquatix (Samuel Williams).

10 messages 2023/01/11

[#111792] [Ruby master Bug#19334] Defining many instance variables and accessing them is slow in Ruby 3.2.0 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19334 has been reported by mame (Yusuke Endoh).

12 messages 2023/01/12

[#111812] [Ruby master Bug#19340] Ruby master 'make install' not installing rbs gem — "MSP-Greg (Greg L) via ruby-core" <ruby-core@...>

Issue #19340 has been reported by MSP-Greg (Greg L).

8 messages 2023/01/14

[#111842] [Ruby master Feature#19347] Add Dir.fchdir — "jeremyevans0 (Jeremy Evans) via ruby-core" <ruby-core@...>

Issue #19347 has been reported by jeremyevans0 (Jeremy Evans).

9 messages 2023/01/16

[#111873] [Ruby master Bug#19351] Promote bundled gems at Ruby 3.3 — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #19351 has been reported by hsbt (Hiroshi SHIBATA).

26 messages 2023/01/18

[#111890] [Ruby master Bug#19352] Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker. — "Milella@... (Scott Milella) via ruby-core" <ruby-core@...>

Issue #19352 has been reported by Milella@Hotmail.com (Scott Milella).

16 messages 2023/01/19

[#111953] [Ruby master Bug#19362] #dup on Proc doesn't call initialize_dup — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19362 has been reported by zverok (Victor Shepelev).

8 messages 2023/01/21

[#111956] [Ruby master Bug#19363] Fix rb_transient_heap_mark: wrong header (T_STRUCT) segfault — "bkuhlmann (Brooke Kuhlmann) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzYzIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJrdWhsbWFubiAoQnJvb2tlIEt1aGxt

9 messages 2023/01/21

[#111988] [Ruby master Feature#19370] Anonymous parameters for blocks? — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19370 has been reported by zverok (Victor Shepelev).

10 messages 2023/01/23

[#112041] [Ruby master Feature#19377] Rename Fiber#storage to Fiber.storage — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19377 has been reported by zverok (Victor Shepelev).

8 messages 2023/01/25

[#112045] [Ruby master Bug#19378] Windows: Use less syscalls for faster require of big gems — "aidog (Andi Idogawa) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5Mzc4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGFpZG9nIChBbmRpIElkb2dhd2EpLg0N

7 messages 2023/01/26

[#112048] [Ruby master Bug#19379] Regex: "end pattern with unmatched parenthesis" with Ruby 3.2 and interpolation — "renchap (Renaud Chaput) via ruby-core" <ruby-core@...>

Issue #19379 has been reported by renchap (Renaud Chaput).

8 messages 2023/01/26

[#112058] [Ruby master Bug#19383] Time.now.zone encoding for German display language in Windows is incorrect — "stringsn88keys (Thomas Powell) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5MzgzIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHN0cmluZ3NuODhrZXlzIChUaG9tYXMg

11 messages 2023/01/26

[#112072] [Ruby master Bug#19386] `test_hmac.rb` of openssl is timeout on RHEL9 — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #19386 has been reported by hsbt (Hiroshi SHIBATA).

14 messages 2023/01/27

[#112091] [Ruby master Bug#19387] Issue with ObjectSpace.each_objects not returning IO objects after starting a ractor — "luke-gru (Luke Gruber) via ruby-core" <ruby-core@...>

Issue #19387 has been reported by luke-gru (Luke Gruber).

9 messages 2023/01/27

[#112119] [Ruby master Bug#19392] Endless method vs and/or — "zverok (Victor Shepelev) via ruby-core" <ruby-core@...>

Issue #19392 has been reported by zverok (Victor Shepelev).

20 messages 2023/01/30

[#112146] [Ruby master Bug#19394] cvars in instance of cloned class point to source class's cvars even after class_variable_set on clone — "jamescdavis (James Davis) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5Mzk0IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGphbWVzY2RhdmlzIChKYW1lcyBEYXZp

8 messages 2023/01/31

[ruby-core:111827] [Ruby master Feature#19344] Regexp.new: stricter handling of second argument

From: "nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date: 2023-01-16 07:22:42 UTC
List: ruby-core #111827
Issue #19344 has been updated by nobu (Nobuyoshi Nakada).


It is already warned with `$VERBOSE`, and this make to raise `ArgumentError`.

```diff
diff --git a/re.c b/re.c
index 7a743185589..f03c2b48a1e 100644
--- a/re.c
+++ b/re.c
@@ -3866,7 +3866,7 @@ reg_extract_args(int argc, VALUE *argv, struct reg_init_args *args)
             int f;
             if (FIXNUM_P(opts)) flags = FIX2INT(opts);
             else if ((f = str_to_option(opts)) >= 0) flags = f;
-            else if (!NIL_P(opts) && rb_bool_expected(opts, "ignorecase", FALSE))
+            else if (!NIL_P(opts) && rb_bool_expected(opts, "ignorecase", TRUE))
                 flags = ONIG_OPTION_IGNORECASE;
         }
         if (!NIL_OR_UNDEF_P(n_flag)) {
```

----------------------------------------
Feature #19344: Regexp.new: stricter handling of second argument
https://bugs.ruby-lang.org/issues/19344#change-101233

* Author: zverok (Victor Shepelev)
* Status: Open
* Priority: Normal
----------------------------------------
Since Ruby 3.2 (#18788), the second argument to `Regexp.new` can be:
1. Integer: then it is treated as a combination of `Regexp::<constant>` flags
2. String: then it is treated as a combination of string flags
3. `nil` or `false`: then it is ignored
4. **any other truthy value**: then it is treated as an "ignore case" option.

The fourth one is confusing, especially since the introduction of the flexibility of flags: one might erroneously assume or forget the protocol, and the naive check will strengthen the assumption:
```ruby
# maybe it accepts the array of string options?..
Regexp.new('foo', %w[i]) #=> /foo/i -- oh, seems it does

# would the symbol work?..
Regexp.new('foo', :i) #=> /foo/i -- awesome, it works!
```

I propose to change (4) to only handle literal `true` value, and raise `TypeError` on any unsupported type.

On compatibility: I believe that whenever the usage of boolean to distinguish "ignore case/respect case" is deliberate (like [in rubygems](https://github.com/rubygems/rubygems/blob/master/lib/rubygems/optparse/lib/optparse.rb#L442)), the code already passes true/false, not any random value. Otherwise, the change in Ruby 3.2 might also have broken it (what if it previously passed strings, meaning them to be "truthy values"?)

PS: BTW, the documentation for (4) was completely lost in Ruby 3.2, due to [this PR](https://github.com/ruby/ruby/pull/5815). cc @jeremyevans0, @burdettelamar 



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/

In This Thread

Prev Next