aboutsummaryrefslogtreecommitdiff
path: root/editors/nvi/patches/nvi-24-fallback_to_dumb_term.patch
diff options
context:
space:
mode:
Diffstat (limited to 'editors/nvi/patches/nvi-24-fallback_to_dumb_term.patch')
-rw-r--r--editors/nvi/patches/nvi-24-fallback_to_dumb_term.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/editors/nvi/patches/nvi-24-fallback_to_dumb_term.patch b/editors/nvi/patches/nvi-24-fallback_to_dumb_term.patch
new file mode 100644
index 0000000..29e356a
--- /dev/null
+++ b/editors/nvi/patches/nvi-24-fallback_to_dumb_term.patch
@@ -0,0 +1,29 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 24fallback_to_dumb_term.dpatch by <hesso@pool.math.tu-berlin.de>
+##
+## DP: If there's no $TERM around, just fall back to "dumb".
+
+@DPATCH@
+diff -Naur nvi-1.81.6.orig/cl/cl_main.c nvi-1.81.6/cl/cl_main.c
+--- nvi-1.81.6.orig/cl/cl_main.c 2007-11-18 17:41:42.000000000 +0100
++++ nvi-1.81.6/cl/cl_main.c 2008-05-01 18:29:13.000000000 +0200
+@@ -96,6 +96,7 @@
+ if ((ttype = getenv("TERM")) == NULL)
+ ttype = "unknown";
+ term_init(gp->progname, ttype);
++ ttype = getenv("TERM");
+
+ /* Add the terminal type to the global structure. */
+ if ((OG_D_STR(gp, GO_TERM) =
+@@ -233,6 +234,11 @@
+
+ /* Set up the terminal database information. */
+ setupterm(ttype, STDOUT_FILENO, &err);
++ if (err == 0) {
++ (void)fprintf(stderr, "%s: %s: unknown terminal type, falling back to 'dumb'\n", name, ttype);
++ setenv("TERM", "dumb", 1);
++ setupterm("dumb", STDOUT_FILENO, &err);
++ }
+ switch (err) {
+ case -1:
+ (void)fprintf(stderr,