Skip to content

Commit c36fbb8

Browse files
committed
Disable handling o Regexp broken force-encoding flags
1 parent 13445b7 commit c36fbb8

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/main/java/org/truffleruby/parser/YARPTranslator.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2393,8 +2393,8 @@ public RubyNode visitInterpolatedRegularExpressionNode(Nodes.InterpolatedRegular
23932393
if (!options.isKcodeDefault()) { // explicit encoding
23942394
encoding = encodingAndOptions.encoding;
23952395
} else {
2396-
// use BINARY explicitly probably because forcing encoding isn't implemented yet in Prism
2397-
// see https://github.com/ruby/prism/issues/1997
2396+
// Use BINARY explicitly probably because forcing encoding isn't implemented yet in Prism
2397+
// Needed until https://github.com/ruby/prism/issues/2620 is fixed
23982398
// The logic comes from ParserSupport#createMaster
23992399
encoding = Encodings.BINARY;
24002400
}
@@ -3008,7 +3008,7 @@ public RubyNode visitRegularExpressionNode(Nodes.RegularExpressionNode node) {
30083008

30093009
final RubyRegexp regexp;
30103010
try {
3011-
// Needed until https://github.com/ruby/prism/issues/1997 is fixed
3011+
// Needed until https://github.com/ruby/prism/issues/2620 is fixed
30123012
sourceWithEnc = ClassicRegexp.setRegexpEncoding(sourceWithEnc, options, sourceEncoding, currentNode);
30133013

30143014
regexp = RubyRegexp.create(language, sourceWithEnc.tstring, sourceWithEnc.encoding,
@@ -3058,15 +3058,16 @@ private RegexpEncodingAndOptions getRegexpEncodingAndOptions(Nodes.RegularExpres
30583058
explicitEncoding = false;
30593059
}
30603060

3061-
if (!explicitEncoding) {
3062-
if (flags.isForcedBinaryEncoding()) {
3063-
regexpEncoding = Encodings.BINARY;
3064-
} else if (flags.isForcedUsAsciiEncoding()) {
3065-
regexpEncoding = Encodings.US_ASCII;
3066-
} else if (flags.isForcedUtf8Encoding()) {
3067-
regexpEncoding = Encodings.UTF_8;
3068-
}
3069-
}
3061+
// Don't check forced encoding flags until https://github.com/ruby/prism/issues/2620 is fixed
3062+
// if (!explicitEncoding) {
3063+
// if (flags.isForcedBinaryEncoding()) {
3064+
// regexpEncoding = Encodings.BINARY;
3065+
// } else if (flags.isForcedUsAsciiEncoding()) {
3066+
// regexpEncoding = Encodings.US_ASCII;
3067+
// } else if (flags.isForcedUtf8Encoding()) {
3068+
// regexpEncoding = Encodings.UTF_8;
3069+
// }
3070+
// }
30703071

30713072
final RegexpOptions options = new RegexpOptions(kcode, fixed, flags.isOnce(), flags.isExtended(),
30723073
flags.isMultiLine(), flags.isIgnoreCase(), flags.isAscii8bit(), !explicitEncoding, true);

0 commit comments

Comments
 (0)