Commit 37128b54 authored by Chong Yidong's avatar Chong Yidong
Browse files

(compile_pattern_1): Treat non-nil and non-string of

search-spaces-regexp as nil.
parent 6ffb36c3
...@@ -171,7 +171,11 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte) ...@@ -171,7 +171,11 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte)
cp->buf.translate = (! NILP (translate) ? translate : make_number (0)); cp->buf.translate = (! NILP (translate) ? translate : make_number (0));
cp->posix = posix; cp->posix = posix;
cp->buf.multibyte = multibyte; cp->buf.multibyte = multibyte;
cp->whitespace_regexp = Vsearch_spaces_regexp; if (STRINGP (Vsearch_spaces_regexp))
cp->whitespace_regexp = Vsearch_spaces_regexp;
else
cp->whitespace_regexp = Qnil;
/* rms: I think BLOCK_INPUT is not needed here any more, /* rms: I think BLOCK_INPUT is not needed here any more,
because regex.c defines malloc to call xmalloc. because regex.c defines malloc to call xmalloc.
Using BLOCK_INPUT here means the debugger won't run if an error occurs. Using BLOCK_INPUT here means the debugger won't run if an error occurs.
...@@ -180,8 +184,10 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte) ...@@ -180,8 +184,10 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte)
old = re_set_syntax (RE_SYNTAX_EMACS old = re_set_syntax (RE_SYNTAX_EMACS
| (posix ? 0 : RE_NO_POSIX_BACKTRACKING)); | (posix ? 0 : RE_NO_POSIX_BACKTRACKING));
re_set_whitespace_regexp (NILP (Vsearch_spaces_regexp) ? NULL if (STRINGP (Vsearch_spaces_regexp))
: SDATA (Vsearch_spaces_regexp)); re_set_whitespace_regexp (SDATA (Vsearch_spaces_regexp));
else
re_set_whitespace_regexp (NULL);
val = (char *) re_compile_pattern ((char *)raw_pattern, val = (char *) re_compile_pattern ((char *)raw_pattern,
raw_pattern_size, &cp->buf); raw_pattern_size, &cp->buf);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment