From: "jeremyevans0 (Jeremy Evans) via ruby-core" Date: 2024-05-07T16:57:02+00:00 Subject: [ruby-core:117793] [Ruby master Bug#20421] String#index and String#byteindex don't clear `$~` when offset > size (or bytesize) Issue #20421 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Closed Backport changed from 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN to 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: DONTNEED The issue doesn't affect 3.3 and master. It appears fixed by commit:9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a. If you would like the fix backported to 3.2, please respond. ---------------------------------------- Bug #20421: String#index and String#byteindex don't clear `$~` when offset > size (or bytesize) https://bugs.ruby-lang.org/issues/20421#change-108200 * Author: andrykonchin (Andrew Konchin) * Status: Closed * ruby -v: 3.2.2 * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: DONTNEED ---------------------------------------- When String#index and String#byteindex are called with Regexp and offset they clear `$~` (that contains result of the last Regexp matching) when offset < -size. But they don't clear `$~` when offset > size what seems inconsistent: ```ruby "a".index(/a/) p $~ # => # string = "blablabla" string.index(/bla/, string.length + 1) p $~ # => # ``` -- 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/