diff options
Diffstat (limited to 'src/search.c')
| -rw-r--r-- | src/search.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/search.c b/src/search.c index bcb5ee95edb..127a57ab1db 100644 --- a/src/search.c +++ b/src/search.c @@ -1226,6 +1226,8 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte, ? &search_regs : &search_regs_1), /* Don't allow match past current point */ pos_byte - BEGV_BYTE); + /* Update 'base' due to possible relocation inside re_search_2. */ + base = current_buffer->text->beg; if (val == -2) { matcher_overflow (); @@ -1272,6 +1274,8 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte, (NILP (Vinhibit_changing_match_data) ? &search_regs : &search_regs_1), lim_byte - BEGV_BYTE); + /* Update 'base' due to possible relocation inside re_search_2. */ + base = current_buffer->text->beg; if (val == -2) { matcher_overflow (); |
