emacs-diffs
[Top][All Lists]
Advanced

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

feature/noverlay 17ba7ac5d9 2/2: Avoid nested iteration over intervals (


From: Gerd Moellmann
Subject: feature/noverlay 17ba7ac5d9 2/2: Avoid nested iteration over intervals (bug#58144)
Date: Wed, 28 Sep 2022 10:39:45 -0400 (EDT)

branch: feature/noverlay
commit 17ba7ac5d9295d39ec3b97712d061b3c7866a093
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>

    Avoid nested iteration over intervals (bug#58144)
    
    * src/xdisp.c (strings_with_newlines): Call
    buffer_overlay_iter_finish.
---
 src/xdisp.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index cee75def80..6ecd3bdf24 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -7031,13 +7031,21 @@ strings_with_newlines (ptrdiff_t startpos, ptrdiff_t 
endpos, struct window *w)
       str = Foverlay_get (overlay, Qbefore_string);
       if (STRINGP (str) && SCHARS (str)
          && memchr (SDATA (str), '\n', SBYTES (str)))
-       return true;
+       {
+         buffer_overlay_iter_finish (current_buffer);
+         return true;
+       }
       str = Foverlay_get (overlay, Qafter_string);
       if (STRINGP (str) && SCHARS (str)
          && memchr (SDATA (str), '\n', SBYTES (str)))
-       return true;
+       {
+         buffer_overlay_iter_finish (current_buffer);
+         return true;
+       }
     }
 
+  buffer_overlay_iter_finish (current_buffer);
+
   /* Check for 'display' properties whose values include strings.  */
   Lisp_Object cpos = make_fixnum (startpos);
   Lisp_Object limpos = make_fixnum (endpos);



reply via email to

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