summaryrefslogtreecommitdiffstats
path: root/source/a/nvi/patches/nvi-10-no_one_line_visual.patch
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2020-01-13 00:11:55 +0000
committer Eric Hameleers <alien@slackware.com>2020-01-13 08:59:48 +0100
commitba4217f7183fb76ae1774062c06ae5d77cc1b2f7 (patch)
tree640c8f162254a4b20617d19329f8549ae757443b /source/a/nvi/patches/nvi-10-no_one_line_visual.patch
parented2eb16b1115533f646c6a631c2576f139096e6d (diff)
downloadcurrent-ba4217f7183fb76ae1774062c06ae5d77cc1b2f7.tar.gz
current-ba4217f7183fb76ae1774062c06ae5d77cc1b2f7.tar.xz
Mon Jan 13 00:11:55 UTC 202020200113001155
a/elvis-2.2_0-x86_64-5.txz: Rebuilt. Don't make /usr/bin/{ex,vi} symlinks. a/kernel-generic-5.4.11-x86_64-1.txz: Upgraded. a/kernel-huge-5.4.11-x86_64-1.txz: Upgraded. a/kernel-modules-5.4.11-x86_64-1.txz: Upgraded. a/nvi-1.81.6-x86_64-1.txz: Added. This is an implementation of the classic ex/vi text editor written by Keith Bostic. Due to this having UTF8 support which elvis lacks, we'll have it take over the ex/vi symlinks if they aren't already pointing to a different choice. Note that the removal of vi/ex symlinks from the elvis and vim packages might cause your ex/vi symlinks to point to this after all the ex/vi packages have been upgraded. You can set them to your preferences using pkgtool -> Setup -> vi-ex. a/pkgtools-15.0-noarch-29.txz: Rebuilt. Added an installer/pkgtool menu to select the default ex/vi editor. ap/vim-8.2.0114-x86_64-1.txz: Upgraded. Don't make /usr/bin/{ex,vi} symlinks. d/kernel-headers-5.4.11-x86-1.txz: Upgraded. d/python-setuptools-45.0.0-x86_64-1.txz: Upgraded. k/kernel-source-5.4.11-noarch-1.txz: Upgraded. l/imagemagick-7.0.9_15-x86_64-1.txz: Upgraded. n/ethtool-5.4-x86_64-1.txz: Upgraded. xap/vim-gvim-8.2.0114-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source/a/nvi/patches/nvi-10-no_one_line_visual.patch')
-rw-r--r--source/a/nvi/patches/nvi-10-no_one_line_visual.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/source/a/nvi/patches/nvi-10-no_one_line_visual.patch b/source/a/nvi/patches/nvi-10-no_one_line_visual.patch
new file mode 100644
index 000000000..17180910c
--- /dev/null
+++ b/source/a/nvi/patches/nvi-10-no_one_line_visual.patch
@@ -0,0 +1,24 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 10no_one_line_visual.dpatch by <hesso@pool.math.tu-berlin.de>
+##
+## DP: Catch segfaults when the screen is only one line high.
+
+@DPATCH@
+diff -Naur nvi-1.81.6.orig/vi/vi.c nvi-1.81.6/vi/vi.c
+--- nvi-1.81.6.orig/vi/vi.c 2007-11-18 17:41:42.000000000 +0100
++++ nvi-1.81.6/vi/vi.c 2008-05-01 18:15:14.000000000 +0200
+@@ -974,6 +974,14 @@
+ sp->rows = vip->srows = O_VAL(sp, O_LINES);
+ sp->cols = O_VAL(sp, O_COLUMNS);
+ sp->t_rows = sp->t_minrows = O_VAL(sp, O_WINDOW);
++ /*
++ * To avoid segfaults on terminals with only one line,
++ * catch this corner case now and die explicitly.
++ */
++ if (sp->t_rows == 0) {
++ (void)fprintf(stderr, "Error: Screen too small for visual mode.\n");
++ return 1;
++ }
+ if (sp->rows != 1) {
+ if (sp->t_rows > sp->rows - 1) {
+ sp->t_minrows = sp->t_rows = sp->rows - 1;