]> git.eshelyaron.com Git - emacs.git/commitdiff
(RE_SETUP_SYNTAX_TABLE_FOR_OBJECT): Simplify
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 12 Apr 2023 20:32:39 +0000 (16:32 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 12 Apr 2023 20:32:39 +0000 (16:32 -0400)
It turns out all calls to this function pass the same value
for the `count` argument, and they're all in `regexp.c`.

* src/syntax.c (RE_SETUP_SYNTAX_TABLE_FOR_OBJECT):
Rename from `SETUP_SYNTAX_TABLE_FOR_OBJECT`.  Remove `count` argument.
Move call to `RE_SYNTAX_TABLE_BYTE_TO_CHAR` to where its result is
actually used.
* src/regex-emacs.c (re_search_2, re_match_2): Adjust accordingly.

* src/syntax.h (RE_SYNTAX_TABLE_BYTE_TO_CHAR): Rename from
`SYNTAX_TABLE_BYTE_TO_CHAR` to clarify that it takes a byteoffset as
used in the regexp engine and not a "bytepos".  Adjust all callers.

src/regex-emacs.c
src/syntax.c
src/syntax.h

index 83caeca24644dc06ead4768c5a941b36c2e1981a..746779490adebe5ad99bcb8a3acc5277d713779d 100644 (file)
@@ -3251,7 +3251,7 @@ re_search_2 (struct re_pattern_buffer *bufp, const char *str1, ptrdiff_t size1,
   /* See whether the pattern is anchored.  */
   anchored_start = (bufp->buffer[0] == begline);
 
-  SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, startpos, 1);
+  RE_SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, startpos);
 
   /* Loop through the string, looking for a place to start matching.  */
   for (;;)
@@ -3859,7 +3859,7 @@ re_match_2 (struct re_pattern_buffer *bufp,
 {
   ptrdiff_t result;
 
-  SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, pos, 1);
+  RE_SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, pos);
 
   result = re_match_2_internal (bufp, (re_char *) string1, size1,
                                (re_char *) string2, size2,
@@ -4792,7 +4792,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp,
                int s1, s2;
                int dummy;
                 ptrdiff_t offset = POINTER_TO_OFFSET (d);
-                ptrdiff_t charpos = SYNTAX_TABLE_BYTE_TO_CHAR (offset) - 1;
+                ptrdiff_t charpos = RE_SYNTAX_TABLE_BYTE_TO_CHAR (offset) - 1;
                UPDATE_SYNTAX_TABLE (charpos);
                GET_CHAR_BEFORE_2 (c1, d, string1, end1, string2, end2);
                nchars++;
@@ -4832,7 +4832,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp,
              int s1, s2;
              int dummy;
              ptrdiff_t offset = POINTER_TO_OFFSET (d);
-             ptrdiff_t charpos = SYNTAX_TABLE_BYTE_TO_CHAR (offset);
+             ptrdiff_t charpos = RE_SYNTAX_TABLE_BYTE_TO_CHAR (offset);
              UPDATE_SYNTAX_TABLE (charpos);
              PREFETCH ();
              GET_CHAR_AFTER (c2, d, dummy);
@@ -4875,7 +4875,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp,
              int s1, s2;
              int dummy;
               ptrdiff_t offset = POINTER_TO_OFFSET (d);
-              ptrdiff_t charpos = SYNTAX_TABLE_BYTE_TO_CHAR (offset) - 1;
+              ptrdiff_t charpos = RE_SYNTAX_TABLE_BYTE_TO_CHAR (offset) - 1;
              UPDATE_SYNTAX_TABLE (charpos);
              GET_CHAR_BEFORE_2 (c1, d, string1, end1, string2, end2);
              nchars++;
@@ -4917,7 +4917,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp,
              int c1, c2;
              int s1, s2;
              ptrdiff_t offset = POINTER_TO_OFFSET (d);
-             ptrdiff_t charpos = SYNTAX_TABLE_BYTE_TO_CHAR (offset);
+             ptrdiff_t charpos = RE_SYNTAX_TABLE_BYTE_TO_CHAR (offset);
              UPDATE_SYNTAX_TABLE (charpos);
              PREFETCH ();
              c2 = RE_STRING_CHAR (d, target_multibyte);
@@ -4958,7 +4958,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp,
              int c1, c2;
              int s1, s2;
               ptrdiff_t offset = POINTER_TO_OFFSET (d);
-              ptrdiff_t charpos = SYNTAX_TABLE_BYTE_TO_CHAR (offset) - 1;
+              ptrdiff_t charpos = RE_SYNTAX_TABLE_BYTE_TO_CHAR (offset) - 1;
              UPDATE_SYNTAX_TABLE (charpos);
              GET_CHAR_BEFORE_2 (c1, d, string1, end1, string2, end2);
              nchars++;
@@ -4994,7 +4994,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp,
            PREFETCH ();
            {
              ptrdiff_t offset = POINTER_TO_OFFSET (d);
-             ptrdiff_t pos1 = SYNTAX_TABLE_BYTE_TO_CHAR (offset);
+             ptrdiff_t pos1 = RE_SYNTAX_TABLE_BYTE_TO_CHAR (offset);
              UPDATE_SYNTAX_TABLE (pos1);
            }
            {
index c1caaa8a739bea0ef76db0c8c1ca50824ece2b17..e9e04e2d63817b62eca4c62904ff938af762373a 100644 (file)
@@ -268,12 +268,11 @@ SETUP_SYNTAX_TABLE (ptrdiff_t from, ptrdiff_t count)
    FROMBYTE is an regexp-byteoffset.  */
 
 void
-SETUP_SYNTAX_TABLE_FOR_OBJECT (Lisp_Object object,
-                              ptrdiff_t frombyte, ptrdiff_t count)
+RE_SETUP_SYNTAX_TABLE_FOR_OBJECT (Lisp_Object object,
+                                 ptrdiff_t frombyte)
 {
   SETUP_BUFFER_SYNTAX_TABLE ();
   gl_state.object = object;
-  ptrdiff_t from = SYNTAX_TABLE_BYTE_TO_CHAR (frombyte);
   if (BUFFERP (gl_state.object))
     {
       struct buffer *buf = XBUFFER (gl_state.object);
@@ -296,8 +295,8 @@ SETUP_SYNTAX_TABLE_FOR_OBJECT (Lisp_Object object,
       gl_state.e_property = 1 + SCHARS (gl_state.object);
     }
   if (parse_sexp_lookup_properties)
-    update_syntax_table (from - (count <= 0),
-                        count, 1, gl_state.object);
+    update_syntax_table (RE_SYNTAX_TABLE_BYTE_TO_CHAR (frombyte),
+                        1, 1, gl_state.object);
 }
 
 /* Update gl_state to an appropriate interval which contains CHARPOS.  The
index 05d58eff05f228cff371e9540accb950545eb832..01982be25a0bd4e2db2ea4ee0bada8117a9ce45e 100644 (file)
@@ -145,15 +145,15 @@ extern bool syntax_prefix_flag_p (int c);
 
 extern unsigned char const syntax_spec_code[0400];
 
-/* Convert the regexp BYTEOFFSET into a character position,
-   for the object recorded in gl_state with SETUP_SYNTAX_TABLE_FOR_OBJECT.
+/* Convert the regexp's BYTEOFFSET into a character position,
+   for the object recorded in gl_state with RE_SETUP_SYNTAX_TABLE_FOR_OBJECT.
 
    The value is meant for use in code that does nothing when
    parse_sexp_lookup_properties is false, so return 0 in that case,
    for speed.  */
 
 INLINE ptrdiff_t
-SYNTAX_TABLE_BYTE_TO_CHAR (ptrdiff_t byteoffset)
+RE_SYNTAX_TABLE_BYTE_TO_CHAR (ptrdiff_t byteoffset)
 {
   return (! parse_sexp_lookup_properties
          ? 0
@@ -208,7 +208,7 @@ SETUP_BUFFER_SYNTAX_TABLE (void)
 }
 
 extern ptrdiff_t scan_words (ptrdiff_t, EMACS_INT);
-extern void SETUP_SYNTAX_TABLE_FOR_OBJECT (Lisp_Object, ptrdiff_t, ptrdiff_t);
+extern void RE_SETUP_SYNTAX_TABLE_FOR_OBJECT (Lisp_Object, ptrdiff_t);
 
 INLINE_HEADER_END