aboutsummaryrefslogtreecommitdiff
path: root/editors/nvi/patches/nvi-23-debian_alternatives.patch
diff options
context:
space:
mode:
Diffstat (limited to 'editors/nvi/patches/nvi-23-debian_alternatives.patch')
-rw-r--r--editors/nvi/patches/nvi-23-debian_alternatives.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/editors/nvi/patches/nvi-23-debian_alternatives.patch b/editors/nvi/patches/nvi-23-debian_alternatives.patch
new file mode 100644
index 0000000..5614041
--- /dev/null
+++ b/editors/nvi/patches/nvi-23-debian_alternatives.patch
@@ -0,0 +1,35 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 23debian_alternatives.dpatch by <hesso@pool.math.tu-berlin.de>
+##
+## DP: Adapt the internal program name if nvi was called via one of
+## DP: the Debian alternative symlinks.
+
+@DPATCH@
+diff -Naur nvi-1.81.6.orig/common/gs.c nvi-1.81.6/common/gs.c
+--- nvi-1.81.6.orig/common/gs.c 2007-11-18 17:41:42.000000000 +0100
++++ nvi-1.81.6/common/gs.c 2008-05-01 18:28:44.000000000 +0200
+@@ -45,6 +45,24 @@
+
+ gp->progname = name;
+
++#ifdef DEBIAN
++ /* This is because of the Debian alternatives system. The
++ definitions of editor, vi, view, and ex are transient. This
++ would be ok, except that the recovery file hardcodes the
++ name. The downside of this is that the error messages may
++ not quite match what the user expects */
++
++ if (!strcmp(name, "editor")) {
++ gp->progname = "nvi";
++ } else if (!strcmp(name, "vi")){
++ gp->progname = "nvi";
++ } else if (!strcmp(name, "view")){
++ gp->progname = "nview";
++ } else if (!strcmp(name, "ex")){
++ gp->progname = "nex";
++ }
++#endif /* DEBIAN */
++
+ /* Common global structure initialization. */
+ /* others will need to be copied from main.c */
+ CIRCLEQ_INIT(&gp->dq);