From: "nobu (Nobuyoshi Nakada) via ruby-core" Date: 2023-09-29T01:48:34+00:00 Subject: [ruby-core:114917] [Ruby master Feature#19904] Deprecate or warn on multiple regular expression encodings 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/