Subject: rx: ASCII-raw byte ranges comprise all of Unicode
From: Mattias Engdegård <[email-masked]>
To: [email-masked]
Date: Fri, 15 Feb 2019 19:23:56 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

`rx' incorrectly considers character ranges between ASCII and raw bytes to cover all codes in-between, which includes all non-ASCII Unicode chars.
This causes (any "\000-\377" ?Å) to be simplified to (any "\000-\377"), which is not at all the same thing: [\000-\377] really means [\000-\177\200-\377] -- the transformation is normally made by the Emacs regexp engine. The two ranges are not contiguous on the character code level.

It's a sleeper bug that was awakened by my fixing bug#33205, so I'm to blame for not checking this.