[emacs]: Handle character classes for multibyte chars:
authorRichard Stallman <rms@gnu.org>
Sun, 29 Aug 1999 20:38:11 +0000 (20:38 +0000)
committerRichard Stallman <rms@gnu.org>
Sun, 29 Aug 1999 20:38:11 +0000 (20:38 +0000)
commit7d4daee6123211176f93eec4b2958a4205a5f784
tree1f3cf8242877ff57457ba7fbbaaa695aea553806
parent6ea4256f7c6bd2cd353e13f23f45e1db7180386a
[emacs]: Handle character classes for multibyte chars:
(ISBLANK, ISGRAPH, ISPRINT, ISALNUM, ISALPHA, ISLOWER)
(ISPUNCT, ISSPACE, ISUPPER): New definitions for emacs only.
(ISWORD): New macro.
(re_opcode_t): Add 2 bytes of flag bits to charset and charset_not.
(CHARSET_RANGE_TABLE): Update definition.
(CHARSET_RANGE_TABLE_BITS): New macro.
(print_partial_compiled_pattern): Skip charset's range table.
(struct range_table_work_area): New field `bits'.
(SET_RANGE_TABLE_WORK_AREA_BIT): New macro.
(BIT_ALNUM, BIT_ALPHA, BIT_WORD, BIT_GRAPH, BIT_LOWER, BIT_PRINT)
(BIT_PUNCT, BIT_SPACE, BIT_UPPER): New macros.
(CLEAR_RANGE_TABLE_WORK_USED): Clear field `bits'.
(RANGE_TABLE_WORK_BITS): New macro.
(IS_CHAR_CLASS): Check for "word".
(regex_compile): Set the `bits' field for some character classes.
Handle the `word' class.  Store the `bits' field into the range table.
(re_compile_fastmap): Handle flag bits in range table.
(re_match_2_internal): For charset and charset_not,
handle flag bits in the range table.
regex.c