summaryrefslogtreecommitdiffstats
path: root/debian/patches/upstream/Revert-lib-pager-Apply-pager-specific-fixes-only-when-nee.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/upstream/Revert-lib-pager-Apply-pager-specific-fixes-only-when-nee.patch')
-rw-r--r--debian/patches/upstream/Revert-lib-pager-Apply-pager-specific-fixes-only-when-nee.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/debian/patches/upstream/Revert-lib-pager-Apply-pager-specific-fixes-only-when-nee.patch b/debian/patches/upstream/Revert-lib-pager-Apply-pager-specific-fixes-only-when-nee.patch
new file mode 100644
index 0000000..6bd7244
--- /dev/null
+++ b/debian/patches/upstream/Revert-lib-pager-Apply-pager-specific-fixes-only-when-nee.patch
@@ -0,0 +1,59 @@
+From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= <thomas@t-8ch.de>
+Date: Sat, 13 Apr 2024 09:42:39 +0200
+Subject: Revert "lib/pager: Apply pager-specific fixes only when needed"
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 8bit
+
+Less is not always detectable, as it can be hidden behind symlinks or
+wrapper as for example in a default Debian installation.
+Also testing for the literal string "less" does not match full path
+specifications like "/usr/bin/less".
+
+Instead always apply the fixes.
+
+This reverts commit c10ad975895372122f72c8d9da089b6ea69f778b.
+Closes #2951
+Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
+Debian-Bug: 1068831
+---
+ lib/pager.c | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/lib/pager.c b/lib/pager.c
+index 5f62a78..47f1233 100644
+--- a/lib/pager.c
++++ b/lib/pager.c
+@@ -85,9 +85,7 @@ static int start_command(struct child_process *cmd)
+ close(cmd->in);
+ }
+
+- if (cmd->preexec_cb)
+- cmd->preexec_cb();
+-
++ cmd->preexec_cb();
+ execvp(cmd->argv[0], (char *const*) cmd->argv);
+ errexec(cmd->argv[0]);
+ }
+@@ -142,7 +140,7 @@ static int finish_command(struct child_process *cmd)
+ return wait_or_whine(cmd->pid);
+ }
+
+-static void pager_preexec_less(void)
++static void pager_preexec(void)
+ {
+ /*
+ * Work around bug in "less" by not starting it until we
+@@ -242,11 +240,7 @@ static void __setup_pager(void)
+ pager_argv[2] = pager;
+ pager_process.argv = pager_argv;
+ pager_process.in = -1;
+-
+- if (!strncmp(pager, "less", 4))
+- pager_process.preexec_cb = pager_preexec_less;
+- else
+- pager_process.preexec_cb = NULL;
++ pager_process.preexec_cb = pager_preexec;
+
+ if (start_command(&pager_process))
+ return;