mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-28 00:01:33 -08:00
(re_match_2, re_search_2): Convert position to a charpos,
before calling SETUP_SYNTAX_TABLE_FOR_OBJECT.
This commit is contained in:
parent
f79b4b7ee2
commit
cc9b4df2b4
1 changed files with 12 additions and 8 deletions
20
src/regex.c
20
src/regex.c
|
|
@ -3738,10 +3738,13 @@ re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
|
|||
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 @@ re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
|
|||
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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue