]> git.eshelyaron.com Git - emacs.git/commitdiff
(looking_at_1, string_match_1, search_command):
authorRichard M. Stallman <rms@gnu.org>
Fri, 8 Sep 2006 12:07:07 +0000 (12:07 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 8 Sep 2006 12:07:07 +0000 (12:07 +0000)
Make syntax table's canon table point to eqv table.

src/search.c

index 5d532a9d8dd72b79a9ca21eda566b1896f31c53d..2063e7d95ba85474a5d5f22a2542b979992fee4f 100644 (file)
@@ -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