emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master c2c31149618: (SETUP_SYNTAX_TABLE_FOR_OBJECT): Take a byteoffset


From: Stefan Monnier
Subject: master c2c31149618: (SETUP_SYNTAX_TABLE_FOR_OBJECT): Take a byteoffset
Date: Wed, 12 Apr 2023 15:52:28 -0400 (EDT)

branch: master
commit c2c3114961802b4c52b4cde0271e460fb08698cf
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    (SETUP_SYNTAX_TABLE_FOR_OBJECT): Take a byteoffset
    
    * src/syntax.c (SETUP_SYNTAX_TABLE_FOR_OBJECT): Take a byteoffset.
    * src/regex-emacs.c (re_search_2, re_match_2): Simplify accordingly.
---
 src/regex-emacs.c | 12 ++----------
 src/syntax.c      |  6 ++++--
 2 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/regex-emacs.c b/src/regex-emacs.c
index 969f2ff9464..83caeca2464 100644
--- a/src/regex-emacs.c
+++ b/src/regex-emacs.c
@@ -3251,12 +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);
 
-  gl_state.object = re_match_object; /* Used by SYNTAX_TABLE_BYTE_TO_CHAR. */
-  {
-    ptrdiff_t charpos = SYNTAX_TABLE_BYTE_TO_CHAR (startpos);
-
-    SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, charpos, 1);
-  }
+  SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, startpos, 1);
 
   /* Loop through the string, looking for a place to start matching.  */
   for (;;)
@@ -3864,10 +3859,7 @@ re_match_2 (struct re_pattern_buffer *bufp,
 {
   ptrdiff_t result;
 
-  ptrdiff_t charpos;
-  gl_state.object = re_match_object; /* Used by SYNTAX_TABLE_BYTE_TO_CHAR. */
-  charpos = SYNTAX_TABLE_BYTE_TO_CHAR (pos);
-  SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, charpos, 1);
+  SETUP_SYNTAX_TABLE_FOR_OBJECT (re_match_object, pos, 1);
 
   result = re_match_2_internal (bufp, (re_char *) string1, size1,
                                (re_char *) string2, size2,
diff --git a/src/syntax.c b/src/syntax.c
index 8ef13eec40a..c1caaa8a739 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -264,14 +264,16 @@ SETUP_SYNTAX_TABLE (ptrdiff_t from, ptrdiff_t count)
 
 /* Same as above, but in OBJECT.  If OBJECT is nil, use current buffer.
    If it is t (which is only used in fast_c_string_match_ignore_case),
-   ignore properties altogether.  */
+   ignore properties altogether.
+   FROMBYTE is an regexp-byteoffset.  */
 
 void
 SETUP_SYNTAX_TABLE_FOR_OBJECT (Lisp_Object object,
-                              ptrdiff_t from, ptrdiff_t count)
+                              ptrdiff_t frombyte, ptrdiff_t count)
 {
   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);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]