# HG changeset patch # User Chong Yidong # Date 1207431779 0 # Node ID 929f211059183ff883b548040375f66dd425543a # Parent e125dad5187df662767cf4b995ff0e639e8cb589 (compile_pattern_1): Treat non-nil and non-string of search-spaces-regexp as nil. diff -r e125dad5187d -r 929f21105918 src/search.c --- a/src/search.c Sat Apr 05 21:42:01 2008 +0000 +++ b/src/search.c Sat Apr 05 21:42:59 2008 +0000 @@ -171,7 +171,11 @@ cp->buf.translate = (! NILP (translate) ? translate : make_number (0)); cp->posix = posix; 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, because regex.c defines malloc to call xmalloc. Using BLOCK_INPUT here means the debugger won't run if an error occurs. @@ -180,8 +184,10 @@ old = re_set_syntax (RE_SYNTAX_EMACS | (posix ? 0 : RE_NO_POSIX_BACKTRACKING)); - re_set_whitespace_regexp (NILP (Vsearch_spaces_regexp) ? NULL - : SDATA (Vsearch_spaces_regexp)); + if (STRINGP (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, raw_pattern_size, &cp->buf);