From cc7d7c1d57c5f26b7b0c1550ed0ac6bb107eeb3d9356b946e2b75778db64e559 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Thu, 13 Jan 2022 07:28:47 +0000 Subject: [PATCH] Add patch boo1178942-bedb3cb6.patch and mention skipped patch boo1180353-6d8144a2.patch OBS-URL: https://build.opensuse.org/package/show/editors/emacs?expand=0&rev=318 --- boo1178942-bedb3cb6.patch | 47 +++++++++++++++++++++++++++++++++++++++ emacs.changes | 13 +++++++++++ emacs.spec | 5 ++++- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 boo1178942-bedb3cb6.patch diff --git a/boo1178942-bedb3cb6.patch b/boo1178942-bedb3cb6.patch new file mode 100644 index 0000000..11b29ce --- /dev/null +++ b/boo1178942-bedb3cb6.patch @@ -0,0 +1,47 @@ +From bedb3cb66541fd4dd35cf15261c6d99f132e7d2c Mon Sep 17 00:00:00 2001 +From: Eli Zaretskii +Date: Wed, 15 Apr 2020 14:28:21 +0300 +Subject: [PATCH] Avoid infloop in redisplay when wrap-prefix is too wide + +* src/xdisp.c (move_it_to): Avoid infloop due to wrap-prefix that +is wide enough to leave no space to display even the first +character of the continuation line. (Bug#40632) +--- + src/xdisp.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +--- src/xdisp.c ++++ src/xdisp.c 2021-09-09 10:14:45.107931449 +0000 +@@ -9727,9 +9727,13 @@ move_it_to (struct it *it, ptrdiff_t to_ + int line_height, line_start_x = 0, reached = 0; + int max_current_x = 0; + void *backup_data = NULL; ++ ptrdiff_t orig_charpos = -1; ++ enum it_method orig_method = NUM_IT_METHODS; + + for (;;) + { ++ orig_charpos = IT_CHARPOS (*it); ++ orig_method = it->method; + if (op & MOVE_TO_VPOS) + { + /* If no TO_CHARPOS and no TO_X specified, stop at the +@@ -9963,7 +9967,17 @@ move_it_to (struct it *it, ptrdiff_t to_ + } + } + else +- it->continuation_lines_width += it->current_x; ++ { ++ /* Make sure we do advance, otherwise we might infloop. ++ This could happen when the first display element is ++ wider than the window, or if we have a wrap-prefix ++ that doesn't leave enough space after it to display ++ even a single character. */ ++ if (IT_CHARPOS (*it) == orig_charpos ++ && it->method == orig_method) ++ set_iterator_to_next (it, false); ++ it->continuation_lines_width += it->current_x; ++ } + break; + + default: diff --git a/emacs.changes b/emacs.changes index 0ef0e7e..aa3bd5e 100644 --- a/emacs.changes +++ b/emacs.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Jan 13 07:25:28 UTC 2022 - Dr. Werner Fink + +- Skip patch boo1180353-6d8144a2.patch for emacs 25.3 as already + part of emacs 27.2: Was fix for boo#1180353 that was a possible + segmentation fault in case of stack overflow of etags + ------------------------------------------------------------------- Mon Nov 22 15:02:29 UTC 2021 - Martin Liška @@ -25,6 +32,12 @@ Mon Nov 15 13:07:51 UTC 2021 - Dr. Werner Fink - Again disable workaround with XLIB_SKIP_ARGB_VISUALS set (boo#1191517) - Correct quoting of anonymous function calls +------------------------------------------------------------------- +Thu Sep 9 10:16:16 UTC 2021 - Dr. Werner Fink + +- Add patch boo1178942-bedb3cb6.patch to avoid that emacs hang in + isearch (boo#1178942) + ------------------------------------------------------------------- Wed Sep 8 09:05:56 UTC 2021 - Dr. Werner Fink diff --git a/emacs.spec b/emacs.spec index 1a5b478..9731b77 100644 --- a/emacs.spec +++ b/emacs.spec @@ -1,7 +1,7 @@ # # spec file for package emacs # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -181,6 +181,8 @@ Patch29: emacs-27.1-Xauthority4server.patch # This patch allows vte based terminals like gnome-terminal to get 24bit colors # without setting a custom terminfo, honouring COLORTERM=truecolor Patch30: emacs-27.2-COLORTERM-24bit.patch +# PATCH-FIX-UPSTREAM boo#1178942 -- emacs hang in isearch +Patch31: boo1178942-bedb3cb6.patch Patch39: sigsegv-stack.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -299,6 +301,7 @@ and most assembler-like syntaxes. %patch26 -p0 -b .fmt %patch29 -p0 -b .xauth %patch30 -p1 -b .colorterm +%patch31 -p0 -b .isearch %patch39 -p1 %patch -p0 -b .0 %if %{without tex4pdf}