aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman2006-09-08 12:07:07 +0000
committerRichard M. Stallman2006-09-08 12:07:07 +0000
commit910c747a2f19004db7dc5753a3f5e52acf62e0be (patch)
treeecaea03f35937d77af7d39cc2fa3deba5f66ab43 /src
parent18280275ee425395e058190e1baa8c64811f673b (diff)
downloademacs-910c747a2f19004db7dc5753a3f5e52acf62e0be.tar.gz
emacs-910c747a2f19004db7dc5753a3f5e52acf62e0be.zip
(looking_at_1, string_match_1, search_command):
Make syntax table's canon table point to eqv table.
Diffstat (limited to 'src')
-rw-r--r--src/search.c15
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)
167 cp->posix = posix; 167 cp->posix = posix;
168 cp->buf.multibyte = multibyte; 168 cp->buf.multibyte = multibyte;
169 cp->whitespace_regexp = Vsearch_spaces_regexp; 169 cp->whitespace_regexp = Vsearch_spaces_regexp;
170 /* Doing BLOCK_INPUT here has the effect that
171 the debugger won't run if an error occurs.
172 Why is BLOCK_INPUT needed here? */
170 BLOCK_INPUT; 173 BLOCK_INPUT;
171 old = re_set_syntax (RE_SYNTAX_EMACS 174 old = re_set_syntax (RE_SYNTAX_EMACS
172 | (posix ? 0 : RE_NO_POSIX_BACKTRACKING)); 175 | (posix ? 0 : RE_NO_POSIX_BACKTRACKING));
@@ -284,6 +287,10 @@ looking_at_1 (string, posix)
284 if (running_asynch_code) 287 if (running_asynch_code)
285 save_search_regs (); 288 save_search_regs ();
286 289
290 /* This is so set_image_of_range_1 in regex.c can find the EQV table. */
291 XCHAR_TABLE (current_buffer->case_canon_table)->extras[2]
292 = current_buffer->case_eqv_table;
293
287 CHECK_STRING (string); 294 CHECK_STRING (string);
288 bufp = compile_pattern (string, &search_regs, 295 bufp = compile_pattern (string, &search_regs,
289 (!NILP (current_buffer->case_fold_search) 296 (!NILP (current_buffer->case_fold_search)
@@ -391,6 +398,10 @@ string_match_1 (regexp, string, start, posix)
391 pos_byte = string_char_to_byte (string, pos); 398 pos_byte = string_char_to_byte (string, pos);
392 } 399 }
393 400
401 /* This is so set_image_of_range_1 in regex.c can find the EQV table. */
402 XCHAR_TABLE (current_buffer->case_canon_table)->extras[2]
403 = current_buffer->case_eqv_table;
404
394 bufp = compile_pattern (regexp, &search_regs, 405 bufp = compile_pattern (regexp, &search_regs,
395 (!NILP (current_buffer->case_fold_search) 406 (!NILP (current_buffer->case_fold_search)
396 ? current_buffer->case_canon_table : Qnil), 407 ? current_buffer->case_canon_table : Qnil),
@@ -930,6 +941,10 @@ search_command (string, bound, noerror, count, direction, RE, posix)
930 lim_byte = CHAR_TO_BYTE (lim); 941 lim_byte = CHAR_TO_BYTE (lim);
931 } 942 }
932 943
944 /* This is so set_image_of_range_1 in regex.c can find the EQV table. */
945 XCHAR_TABLE (current_buffer->case_canon_table)->extras[2]
946 = current_buffer->case_eqv_table;
947
933 np = search_buffer (string, PT, PT_BYTE, lim, lim_byte, n, RE, 948 np = search_buffer (string, PT, PT_BYTE, lim, lim_byte, n, RE,
934 (!NILP (current_buffer->case_fold_search) 949 (!NILP (current_buffer->case_fold_search)
935 ? current_buffer->case_canon_table 950 ? current_buffer->case_canon_table