* regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 2 Apr 2000 23:56:46 +0000 (23:56 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 2 Apr 2000 23:56:46 +0000 (23:56 +0000)
commit2d1675e45c46d97aec4c6af28a0719778f79b8da
tree11c6492fbe96211f75cc8f4ac37e7e0cde1538bb
parent096540869a2be7676946ef9c4ee52e5cedb5c28a
* regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
(RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
(GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
we are between str1 and str2.
(MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
(PATFETCH): Use `TRANSLATE'.
(PATFETCH_RAW): Fetch multibyte char if applicable.
(PATUNFETCH): Remove.
(regex_compile): Rely on PATFETCH to do most of the multibyte magic.
When writing a char, write it directly into the pattern buffer rather
than going needlessly through a temp char-array.
(re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
multibyte magic and remove the useless `#ifdef emacs'.
(bcmp_translate): Don't compare as multibyte chars when in a unibyte
buffer.
* regex.h (struct re_pattern_buffer): Make field `multibyte'
conditional on `emacs'.
* charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
src/ChangeLog
src/charset.h
src/regex.c
src/regex.h