[#114774] [Ruby master Feature#19884] Make Safe Navigation Operator work on classes — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>
Issue #19884 has been reported by p8 (Petrik de Heus).
13 messages
2023/09/15
[ruby-core:114917] [Ruby master Feature#19904] Deprecate or warn on multiple regular expression encodings
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2023-09-29 01:48:34 UTC
List:
ruby-core #114917
Issue #19904 has been updated by nobu (Nobuyoshi Nakada).
```diff
diff --git a/parse.y b/parse.y
index 3b513d3ade8..278e7eff21b 100644
--- a/parse.y
+++ b/parse.y
@@ -8032,6 +8032,9 @@ regx_options(struct parser_params *p)
else if (rb_char_to_option_kcode(c, &opt, &kc)) {
if (kc >= 0) {
if (kc != rb_ascii8bit_encindex()) kcode = c;
+ if (kopt) {
+ rb_warn0("multiple encoding options, ignored preceding");
+ }
kopt = opt;
}
else {
```
----------------------------------------
Feature #19904: Deprecate or warn on multiple regular expression encodings
https://bugs.ruby-lang.org/issues/19904#change-104785
* Author: tenderlovemaking (Aaron Patterson)
* Status: Open
* Priority: Normal
----------------------------------------
It seems like you can pass multiple encoding flags to regular expression literals, but I think this should be a warning or possibly syntax error.
For example:
```ruby
x = /foo/nu
p x.encoding
```
`n` says the RE should be ASCII-8BIT, and `u` says it should be UTF-8. The last flag wins, so in this case the regular expression gets UTF-8 encoding. However, I think it should be a warning or even a syntax error if you specify multiple encoding options on a regular expression. It seems like a mistake if programmers specify multiple.
Thanks!
--
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/