[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 0221b7a: Mark relocation workarounds with REL_ALL
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-25 0221b7a: Mark relocation workarounds with REL_ALLOC |
Date: |
Fri, 4 Nov 2016 08:36:45 +0000 (UTC) |
branch: emacs-25
commit 0221b7a9b511db2ebcbe5f41c1fa20d2f3d70599
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Mark relocation workarounds with REL_ALLOC
* src/search.c (boyer_moore): Mark workarounds for ralloc.c
relocation of buffer text with "#ifdef REL_ALLOC".
---
src/search.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/search.c b/src/search.c
index 15504be..9f55d72 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))
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 0221b7a: Mark relocation workarounds with REL_ALLOC,
Eli Zaretskii <=