summaryrefslogtreecommitdiff
path: root/src/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/search.c')
-rw-r--r--src/search.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/search.c b/src/search.c
index 0d5f5dcf158..7d89696e7c8 100644
--- a/src/search.c
+++ b/src/search.c
@@ -130,13 +130,6 @@ compile_pattern_1 (cp, pattern, translate, regp, posix)
Fsignal (Qinvalid_regexp, Fcons (build_string (val), Qnil));
cp->regexp = Fcopy_sequence (pattern);
-
- /* Advise the searching functions about the space we have allocated
- for register data. */
- BLOCK_INPUT;
- if (regp)
- re_set_registers (&cp->buf, regp, regp->num_regs, regp->start, regp->end);
- UNBLOCK_INPUT;
}
/* Compile a regexp if necessary, but first check to see if there's one in
@@ -182,6 +175,11 @@ compile_pattern (pattern, regp, translate, posix)
cp->next = searchbuf_head;
searchbuf_head = cp;
+ /* Advise the searching functions about the space we have allocated
+ for register data. */
+ if (regp)
+ re_set_registers (&cp->buf, regp, regp->num_regs, regp->start, regp->end);
+
return &cp->buf;
}