[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);