Mercurial > emacs
changeset 21482:9898a4994a12
(re_match_2, re_search_2): Convert position to a charpos,
before calling SETUP_SYNTAX_TABLE_FOR_OBJECT.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Sun, 12 Apr 1998 06:57:47 +0000 |
parents | e53c0d01cf31 |
children | c6d7001a262c |
files | src/regex.c |
diffstat | 1 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/regex.c Sun Apr 12 06:51:58 1998 +0000 +++ b/src/regex.c Sun Apr 12 06:57:47 1998 +0000 @@ -3738,10 +3738,13 @@ anchored_start = 1; #ifdef emacs - SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, - POS_AS_IN_BUFFER (startpos > 0 - ? startpos - 1 : startpos), - 1); + gl_state.object = re_match_object; + { + int charpos + = SYNTAX_TABLE_BYTE_TO_CHAR (startpos > 0 ? startpos : startpos + 1); + + SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, charpos, 1); + } #endif /* Loop through the string, looking for a place to start matching. */ @@ -4051,13 +4054,14 @@ int result; #ifdef emacs - SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, - POS_AS_IN_BUFFER (pos > 0 ? pos - 1 : pos), - 1); + int charpos; + gl_state.object = re_match_object; + charpos = SYNTAX_TABLE_BYTE_TO_CHAR (POS_AS_IN_BUFFER (pos)); + SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, charpos, 1); #endif result = re_match_2_internal (bufp, string1, size1, string2, size2, - pos, regs, stop); + pos, regs, stop); alloca (0); return result; }