Mercurial > emacs
changeset 73229:3501fcb2e68c
(regex_compile): Set the new `used_syntax' bit.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 03 Oct 2006 13:19:18 +0000 |
parents | 636e0875704e |
children | 20801e603746 |
files | src/regex.c |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/regex.c Tue Oct 03 13:18:24 2006 +0000 +++ b/src/regex.c Tue Oct 03 13:19:18 2006 +0000 @@ -2530,6 +2530,7 @@ bufp->syntax = syntax; bufp->fastmap_accurate = 0; bufp->not_bol = bufp->not_eol = 0; + bufp->used_syntax = 0; /* Set `used' to zero, so that if we return an error, the pattern printer (for debugging) will think there's no pattern. We reset it @@ -2942,6 +2943,14 @@ SET_LIST_BIT (translated); } + /* In most cases the matching rule for char classes + only uses the syntax table for multibyte chars, + so that the content of the syntax-table it is not + hardcoded in the range_table. SPACE and WORD are + the two exceptions. */ + if ((1 << cc) & ((1 << RECC_SPACE) | (1 << RECC_WORD))) + bufp->used_syntax = 1; + /* Repeat the loop. */ continue; }