From: Eli Zaretskii Date: Fri, 4 Nov 2016 08:36:02 +0000 (+0200) Subject: Mark relocation workarounds with REL_ALLOC X-Git-Tag: emacs-25.1.90~70 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0221b7a;p=emacs.git Mark relocation workarounds with REL_ALLOC * src/search.c (boyer_moore): Mark workarounds for ralloc.c relocation of buffer text with "#ifdef REL_ALLOC". --- diff --git a/src/search.c b/src/search.c index 15504be042b..9f55d728362 100644 --- a/src/search.c +++ b/src/search.c @@ -2029,20 +2029,27 @@ boyer_moore (EMACS_INT n, unsigned char *base_pat, cursor += dirlen - i - direction; /* fix cursor */ if (i + direction == 0) { - ptrdiff_t position, start, end, cursor_off; + ptrdiff_t position, start, end; +#ifdef REL_ALLOC + ptrdiff_t cursor_off; +#endif cursor -= direction; position = pos_byte + cursor - p2 + ((direction > 0) ? 1 - len_byte : 0); +#ifdef REL_ALLOC /* set_search_regs might call malloc, which could cause ralloc.c relocate buffer text. We need to update pointers into buffer text due to that. */ cursor_off = cursor - p2; +#endif set_search_regs (position, len_byte); +#ifdef REL_ALLOC p_limit = BYTE_POS_ADDR (limit); p2 = BYTE_POS_ADDR (pos_byte); cursor = p2 + cursor_off; +#endif if (NILP (Vinhibit_changing_match_data)) {