diff options
| author | Michal Nazarewicz | 2016-07-27 18:14:57 +0200 |
|---|---|---|
| committer | Michal Nazarewicz | 2016-07-27 18:18:34 +0200 |
| commit | 74f9c1a8cdfaac948cf14a212cb5a51c49ddefa8 (patch) | |
| tree | 6be6662158cd8b2ec70862255f44e4f2297beba0 /src | |
| parent | e0d425976e3a83585db9a586687897fe1ac6455f (diff) | |
| download | emacs-74f9c1a8cdfaac948cf14a212cb5a51c49ddefa8.tar.gz emacs-74f9c1a8cdfaac948cf14a212cb5a51c49ddefa8.zip | |
Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
* src/regex.c (mutually_exclusive_p): Fix how whether character is
unibyte is tested when calling execute_charset function. This bug has
been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
Reinstitute it.
Diffstat (limited to 'src')
| -rw-r--r-- | src/regex.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/regex.c b/src/regex.c index 297bf718848..1f2a1f086de 100644 --- a/src/regex.c +++ b/src/regex.c | |||
| @@ -4767,7 +4767,7 @@ mutually_exclusive_p (struct re_pattern_buffer *bufp, const_re_char *p1, | |||
| 4767 | else if ((re_opcode_t) *p1 == charset | 4767 | else if ((re_opcode_t) *p1 == charset |
| 4768 | || (re_opcode_t) *p1 == charset_not) | 4768 | || (re_opcode_t) *p1 == charset_not) |
| 4769 | { | 4769 | { |
| 4770 | if (!execute_charset (&p1, c, c, !multibyte)) | 4770 | if (!execute_charset (&p1, c, c, !multibyte || IS_REAL_ASCII (c))) |
| 4771 | { | 4771 | { |
| 4772 | DEBUG_PRINT (" No match => fast loop.\n"); | 4772 | DEBUG_PRINT (" No match => fast loop.\n"); |
| 4773 | return 1; | 4773 | return 1; |