summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/revert-upstream-43e5e80343.diff79
-rw-r--r--debian/patches/series3
-rw-r--r--debian/patches/upstream-3823fa2c57.diff29
-rw-r--r--debian/patches/upstream-424f13fe13.diff20
4 files changed, 131 insertions, 0 deletions
diff --git a/debian/patches/revert-upstream-43e5e80343.diff b/debian/patches/revert-upstream-43e5e80343.diff
new file mode 100644
index 0000000..32f91f1
--- /dev/null
+++ b/debian/patches/revert-upstream-43e5e80343.diff
@@ -0,0 +1,79 @@
+commit 0f5e175cc8df8c047348c06cbc48f664682b58a3
+Author: Romain Francoise <rfrancoise@debian.org>
+Date: Thu May 9 17:19:43 2024 +0200
+Forwarded: not-needed
+
+ Revert "Skip wrapped lines in top level search loop because they will be"
+
+ This reverts commit 43e5e80343185e69a1b864fc48095ede0b898180.
+
+diff --git a/window-copy.c b/window-copy.c
+index a1f18476ad..e5bd3ec10c 100644
+--- a/window-copy.c
++++ b/window-copy.c
+@@ -295,7 +295,6 @@ struct window_copy_mode_data {
+ int timeout; /* search has timed out */
+ #define WINDOW_COPY_SEARCH_TIMEOUT 10000
+ #define WINDOW_COPY_SEARCH_ALL_TIMEOUT 200
+-#define WINDOW_COPY_SEARCH_MAX_LINE 2000
+
+ int jumptype;
+ struct utf8_data *jumpchar;
+@@ -3214,9 +3213,7 @@ window_copy_search_lr_regex(struct grid *gd, u_int *ppx, u_int *psx, u_int py,
+ len = gd->sx - first;
+ endline = gd->hsize + gd->sy - 1;
+ pywrap = py;
+- while (buf != NULL &&
+- pywrap <= endline &&
+- len < WINDOW_COPY_SEARCH_MAX_LINE) {
++ while (buf != NULL && pywrap <= endline) {
+ gl = grid_get_line(gd, pywrap);
+ if (~gl->flags & GRID_LINE_WRAPPED)
+ break;
+@@ -3273,9 +3270,7 @@ window_copy_search_rl_regex(struct grid *gd, u_int *ppx, u_int *psx, u_int py,
+ len = gd->sx - first;
+ endline = gd->hsize + gd->sy - 1;
+ pywrap = py;
+- while (buf != NULL &&
+- pywrap <= endline &&
+- len < WINDOW_COPY_SEARCH_MAX_LINE) {
++ while (buf != NULL && (pywrap <= endline)) {
+ gl = grid_get_line(gd, pywrap);
+ if (~gl->flags & GRID_LINE_WRAPPED)
+ break;
+@@ -3614,11 +3609,10 @@ window_copy_search_jump(struct window_mode_entry *wme, struct grid *gd,
+ struct grid *sgd, u_int fx, u_int fy, u_int endline, int cis, int wrap,
+ int direction, int regex)
+ {
+- u_int i, px, sx, ssize = 1;
+- int found = 0, cflags = REG_EXTENDED;
+- char *sbuf;
+- regex_t reg;
+- struct grid_line *gl;
++ u_int i, px, sx, ssize = 1;
++ int found = 0, cflags = REG_EXTENDED;
++ char *sbuf;
++ regex_t reg;
+
+ if (regex) {
+ sbuf = xmalloc(ssize);
+@@ -3635,9 +3629,6 @@ window_copy_search_jump(struct window_mode_entry *wme, struct grid *gd,
+
+ if (direction) {
+ for (i = fy; i <= endline; i++) {
+- gl = grid_get_line(gd, i);
+- if (i != endline && gl->flags & GRID_LINE_WRAPPED)
+- continue;
+ if (regex) {
+ found = window_copy_search_lr_regex(gd,
+ &px, &sx, i, fx, gd->sx, &reg);
+@@ -3651,9 +3642,6 @@ window_copy_search_jump(struct window_mode_entry *wme, struct grid *gd,
+ }
+ } else {
+ for (i = fy + 1; endline < i; i--) {
+- gl = grid_get_line(gd, i - 1);
+- if (i != endline && gl->flags & GRID_LINE_WRAPPED)
+- continue;
+ if (regex) {
+ found = window_copy_search_rl_regex(gd,
+ &px, &sx, i - 1, 0, fx + 1, &reg);
diff --git a/debian/patches/series b/debian/patches/series
index c87bbc1..801328d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,7 @@
platform-quirks.diff
+revert-upstream-43e5e80343.diff
upstream-bd29a48b56.diff
upstream-6c0067c103.diff
upstream-aa17f0e0c1.diff
+upstream-3823fa2c57.diff
+upstream-424f13fe13.diff
diff --git a/debian/patches/upstream-3823fa2c57.diff b/debian/patches/upstream-3823fa2c57.diff
new file mode 100644
index 0000000..09f6dc2
--- /dev/null
+++ b/debian/patches/upstream-3823fa2c57.diff
@@ -0,0 +1,29 @@
+commit 3823fa2c577d440649a84af660e4d3b0c095d248
+Author: Nicholas Marriott <nicholas.marriott@gmail.com>
+Date: Tue Apr 30 12:38:58 2024 +0100
+
+ Send SIGHUP since some programs ignore SIGTERM, from Eduardo Grajeda in GitHub
+ issue 3958.
+
+diff --git a/compat/systemd.c b/compat/systemd.c
+index 063474e3dd..bde372ccab 100644
+--- a/compat/systemd.c
++++ b/compat/systemd.c
+@@ -144,6 +144,17 @@ systemd_move_pid_to_new_cgroup(pid_t pid, char **cause)
+ goto finish;
+ }
+
++ /*
++ * Make sure that the session shells are terminated with SIGHUP since
++ * bash and friends tend to ignore SIGTERM.
++ */
++ r = sd_bus_message_append(m, "(sv)", "SendSIGHUP", "b", 1);
++ if (r < 0) {
++ xasprintf(cause, "failed to append to properties: %s",
++ strerror(-r));
++ goto finish;
++ }
++
+ /*
+ * Inherit the slice from the parent process, or default to
+ * "app-tmux.slice" if that fails.
diff --git a/debian/patches/upstream-424f13fe13.diff b/debian/patches/upstream-424f13fe13.diff
new file mode 100644
index 0000000..8a9fa24
--- /dev/null
+++ b/debian/patches/upstream-424f13fe13.diff
@@ -0,0 +1,20 @@
+commit 424f13fe13036e75b1c80e7751b81529f4cd8e15
+Author: Nicholas Marriott <nicholas.marriott@gmail.com>
+Date: Wed Apr 10 07:15:21 2024 +0000
+
+ Do not get muddled and crash if focusing a pane that is exiting,
+ reported by Saul Nogueras in GitHub issue 3776.
+
+diff --git a/window.c b/window.c
+index 43c272bc8e..d53c606e07 100644
+--- a/window.c
++++ b/window.c
+@@ -474,7 +474,7 @@ window_pane_update_focus(struct window_pane *wp)
+ struct client *c;
+ int focused = 0;
+
+- if (wp != NULL) {
++ if (wp != NULL && (~wp->flags & PANE_EXITED)) {
+ if (wp != wp->window->active)
+ focused = 0;
+ else {