]> git.eshelyaron.com Git - emacs.git/commit
Correct regexp matching of raw bytes
authorMattias Engdegård <mattiase@acm.org>
Fri, 28 Jun 2019 08:20:55 +0000 (10:20 +0200)
committerMattias Engdegård <mattiase@acm.org>
Fri, 28 Jun 2019 15:30:18 +0000 (17:30 +0200)
commita1f76adfb03c23bb4242928e8efe6193c301f0c1
tree7e2a5c58656ffbe78d34dc58639d7cd5bf8f943a
parentaae5bf4438712c9fe761c5e4b5a871192852cd97
Correct regexp matching of raw bytes

Make regexp matching of raw bytes work in all combination of unibyte
and multibyte patterns and targets, as exact strings and in character
alternatives (bug#3687).

* src/regex-emacs.c (analyze_first):
Include raw byte in fastmap when pattern is a multibyte exact string.
Include leading byte in fastmap for raw bytes in character alternatives.
(re_match_2_internal):
Decrement the byte count by the number of bytes in the pattern character,
not 1.
* test/src/regex-emacs-tests.el (regexp-unibyte-unibyte)
(regexp-multibyte-unibyte, regexp-unibyte-mutibyte)
(regexp-multibyte-multibyte): New tests.
src/regex-emacs.c
test/src/regex-emacs-tests.el