aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2024-12-09 12:26:37 +0100
committerUlrich Müller <ulm@gentoo.org>2024-12-09 12:26:37 +0100
commitea4d8079804c0fad4226ad096869cbc058e7dfc8 (patch)
tree8138e8a0a7c3e7a1e8c156f8de8546eaafefbdb6 /emacs/26.3
parent26.3, 27.2, 28.2: Backport bug-reference fix from 29 (diff)
downloademacs-patches-master.tar.gz
emacs-patches-master.tar.bz2
emacs-patches-master.zip
26.3: Fix GCC 15 compilation failureHEADmaster
Bug: https://bugs.gentoo.org/946144 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'emacs/26.3')
-rw-r--r--emacs/26.3/13_all_infinity.patch163
1 files changed, 163 insertions, 0 deletions
diff --git a/emacs/26.3/13_all_infinity.patch b/emacs/26.3/13_all_infinity.patch
new file mode 100644
index 0000000..0f36391
--- /dev/null
+++ b/emacs/26.3/13_all_infinity.patch
@@ -0,0 +1,163 @@
+Fix GCC 15 compilation failure
+Patch backported from emacs-27 branch
+https://bugs.gentoo.org/946144
+
+commit 222b5970c42c2b85df67042c0c5db198859b478a
+Author: Paul Eggert <eggert@cs.ucla.edu>
+Date: Fri Aug 31 09:13:31 2018 -0700
+
+ Rename Emacs-specific INFINITY constants
+
+--- emacs-26.3/src/dispextern.h
++++ emacs-26.3/src/dispextern.h
+@@ -3577,6 +3577,10 @@
+ extern struct terminal *init_tty (const char *, const char *, bool);
+ extern void tty_append_glyph (struct it *);
+
++/* All scrolling costs measured in characters.
++ So no cost can exceed the area of a frame, measured in characters.
++ Let's hope this is never more than 1000000 characters. */
++enum { SCROLL_INFINITY = 1000000 };
+
+ /* Defined in scroll.c */
+
+--- emacs-26.3/src/dispnew.c
++++ emacs-26.3/src/dispnew.c
+@@ -4679,8 +4679,7 @@
+ {
+ /* This line cannot be redrawn, so don't let scrolling mess it. */
+ new_hash[i] = old_hash[i];
+-#define INFINITY 1000000 /* Taken from scroll.c */
+- draw_cost[i] = INFINITY;
++ draw_cost[i] = SCROLL_INFINITY;
+ }
+ else
+ {
+--- emacs-26.3/src/process.c
++++ emacs-26.3/src/process.c
+@@ -5028,7 +5028,7 @@
+ Lisp_Object proc;
+ struct timespec timeout, end_time, timer_delay;
+ struct timespec got_output_end_time = invalid_timespec ();
+- enum { MINIMUM = -1, TIMEOUT, INFINITY } wait;
++ enum { MINIMUM = -1, TIMEOUT, FOREVER } wait;
+ int got_some_output = -1;
+ uintmax_t prev_wait_proc_nbytes_read = wait_proc ? wait_proc->nbytes_read : 0;
+ #if defined HAVE_GETADDRINFO_A || defined HAVE_GNUTLS
+@@ -5067,7 +5067,7 @@
+ end_time = timespec_add (now, make_timespec (time_limit, nsecs));
+ }
+ else
+- wait = INFINITY;
++ wait = FOREVER;
+
+ while (1)
+ {
+@@ -7555,7 +7555,7 @@
+ {
+ register int nfds;
+ struct timespec end_time, timeout;
+- enum { MINIMUM = -1, TIMEOUT, INFINITY } wait;
++ enum { MINIMUM = -1, TIMEOUT, FOREVER } wait;
+
+ if (TYPE_MAXIMUM (time_t) < time_limit)
+ time_limit = TYPE_MAXIMUM (time_t);
+@@ -7569,7 +7569,7 @@
+ make_timespec (time_limit, nsecs));
+ }
+ else
+- wait = INFINITY;
++ wait = FOREVER;
+
+ /* Turn off periodic alarms (in case they are in use)
+ and then turn off any other atimers,
+@@ -7675,7 +7675,7 @@
+ /* If we woke up due to SIGWINCH, actually change size now. */
+ do_pending_window_change (0);
+
+- if (wait < INFINITY && nfds == 0 && ! timeout_reduced_for_timers)
++ if (wait < FOREVER && nfds == 0 && ! timeout_reduced_for_timers)
+ /* We waited the full specified time, so return now. */
+ break;
+
+--- emacs-26.3/src/scroll.c
++++ emacs-26.3/src/scroll.c
+@@ -28,12 +28,6 @@
+ #include "frame.h"
+ #include "termhooks.h"
+
+-/* All costs measured in characters.
+- So no cost can exceed the area of a frame, measured in characters.
+- Let's hope this is never more than 1000000 characters. */
+-
+-#define INFINITY 1000000
+-
+ struct matrix_elt
+ {
+ /* Cost of outputting through this line
+@@ -120,8 +114,8 @@
+
+ /* initialize the top left corner of the matrix */
+ matrix->writecost = 0;
+- matrix->insertcost = INFINITY;
+- matrix->deletecost = INFINITY;
++ matrix->insertcost = SCROLL_INFINITY;
++ matrix->deletecost = SCROLL_INFINITY;
+ matrix->insertcount = 0;
+ matrix->deletecount = 0;
+
+@@ -132,8 +126,8 @@
+ p = matrix + i * (window_size + 1);
+ cost += draw_cost[i] + next_insert_cost[i] + extra_cost;
+ p->insertcost = cost;
+- p->writecost = INFINITY;
+- p->deletecost = INFINITY;
++ p->writecost = SCROLL_INFINITY;
++ p->deletecost = SCROLL_INFINITY;
+ p->insertcount = i;
+ p->deletecount = 0;
+ }
+@@ -144,8 +138,8 @@
+ {
+ cost += next_delete_cost[j];
+ matrix[j].deletecost = cost;
+- matrix[j].writecost = INFINITY;
+- matrix[j].insertcost = INFINITY;
++ matrix[j].writecost = SCROLL_INFINITY;
++ matrix[j].insertcost = SCROLL_INFINITY;
+ matrix[j].deletecount = j;
+ matrix[j].insertcount = 0;
+ }
+@@ -465,8 +459,8 @@
+
+ /* initialize the top left corner of the matrix */
+ matrix->writecost = 0;
+- matrix->insertcost = INFINITY;
+- matrix->deletecost = INFINITY;
++ matrix->insertcost = SCROLL_INFINITY;
++ matrix->deletecost = SCROLL_INFINITY;
+ matrix->writecount = 0;
+ matrix->insertcount = 0;
+ matrix->deletecount = 0;
+@@ -478,8 +472,8 @@
+ p = matrix + i * (window_size + 1);
+ cost += draw_cost[i];
+ p->insertcost = cost;
+- p->writecost = INFINITY;
+- p->deletecost = INFINITY;
++ p->writecost = SCROLL_INFINITY;
++ p->deletecost = SCROLL_INFINITY;
+ p->insertcount = i;
+ p->writecount = 0;
+ p->deletecount = 0;
+@@ -489,8 +483,8 @@
+ for (j = 1; j <= window_size; j++)
+ {
+ matrix[j].deletecost = 0;
+- matrix[j].writecost = INFINITY;
+- matrix[j].insertcost = INFINITY;
++ matrix[j].writecost = SCROLL_INFINITY;
++ matrix[j].insertcost = SCROLL_INFINITY;
+ matrix[j].deletecount = j;
+ matrix[j].writecount = 0;
+ matrix[j].insertcount = 0;