diff options
author | Richard M. Stallman <rms@gnu.org> | 2006-09-08 12:07:07 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2006-09-08 12:07:07 +0000 |
commit | 910c747a2f19004db7dc5753a3f5e52acf62e0be (patch) | |
tree | ecaea03f35937d77af7d39cc2fa3deba5f66ab43 /src/search.c | |
parent | 18280275ee425395e058190e1baa8c64811f673b (diff) | |
download | emacs-910c747a2f19004db7dc5753a3f5e52acf62e0be.tar.gz |
(looking_at_1, string_match_1, search_command):
Make syntax table's canon table point to eqv table.
Diffstat (limited to 'src/search.c')
-rw-r--r-- | src/search.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/search.c b/src/search.c index 5d532a9d8dd..2063e7d95ba 100644 --- a/src/search.c +++ b/src/search.c @@ -167,6 +167,9 @@ compile_pattern_1 (cp, pattern, translate, regp, posix, multibyte) cp->posix = posix; cp->buf.multibyte = multibyte; cp->whitespace_regexp = Vsearch_spaces_regexp; + /* Doing BLOCK_INPUT here has the effect that + the debugger won't run if an error occurs. + Why is BLOCK_INPUT needed here? */ BLOCK_INPUT; old = re_set_syntax (RE_SYNTAX_EMACS | (posix ? 0 : RE_NO_POSIX_BACKTRACKING)); @@ -284,6 +287,10 @@ looking_at_1 (string, posix) if (running_asynch_code) save_search_regs (); + /* This is so set_image_of_range_1 in regex.c can find the EQV table. */ + XCHAR_TABLE (current_buffer->case_canon_table)->extras[2] + = current_buffer->case_eqv_table; + CHECK_STRING (string); bufp = compile_pattern (string, &search_regs, (!NILP (current_buffer->case_fold_search) @@ -391,6 +398,10 @@ string_match_1 (regexp, string, start, posix) pos_byte = string_char_to_byte (string, pos); } + /* This is so set_image_of_range_1 in regex.c can find the EQV table. */ + XCHAR_TABLE (current_buffer->case_canon_table)->extras[2] + = current_buffer->case_eqv_table; + bufp = compile_pattern (regexp, &search_regs, (!NILP (current_buffer->case_fold_search) ? current_buffer->case_canon_table : Qnil), @@ -930,6 +941,10 @@ search_command (string, bound, noerror, count, direction, RE, posix) lim_byte = CHAR_TO_BYTE (lim); } + /* This is so set_image_of_range_1 in regex.c can find the EQV table. */ + XCHAR_TABLE (current_buffer->case_canon_table)->extras[2] + = current_buffer->case_eqv_table; + np = search_buffer (string, PT, PT_BYTE, lim, lim_byte, n, RE, (!NILP (current_buffer->case_fold_search) ? current_buffer->case_canon_table |