diff options
author | Ulrich Müller <ulm@gentoo.org> | 2024-12-09 12:26:37 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2024-12-09 12:26:37 +0100 |
commit | ea4d8079804c0fad4226ad096869cbc058e7dfc8 (patch) | |
tree | 8138e8a0a7c3e7a1e8c156f8de8546eaafefbdb6 /emacs/26.3 | |
parent | 26.3, 27.2, 28.2: Backport bug-reference fix from 29 (diff) | |
download | emacs-patches-master.tar.gz emacs-patches-master.tar.bz2 emacs-patches-master.zip |
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.patch | 163 |
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; |