mirror of
git://slackware.nl/current.git
synced 2024-12-28 09:59:53 +01:00
ba4217f718
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.
67 lines
2.2 KiB
Diff
67 lines
2.2 KiB
Diff
#! /bin/sh /usr/share/dpatch/dpatch-run
|
|
## 13widechar_horrors.dpatch by <hesso@pool.math.tu-berlin.de>
|
|
##
|
|
## DP: This patch tries to cope with the fact that widechar support
|
|
## DP: in nvi is at best rudimentary.
|
|
## DP: Hunk 1)
|
|
## DP: * Due to "ch = *t", this code is not wide-char aware, so
|
|
## DP: cast the value to a proper type so the KEY_ macros make
|
|
## DP: the right choice.
|
|
## DP: Hunk 2)
|
|
## DP: * Printing of the in-/decreased number back into the screen
|
|
## DP: buffer is not widechar-aware, either. Add a dirty fix.
|
|
## DP: Cf. #497349.
|
|
|
|
@DPATCH@
|
|
--- nvi-1.81.6.orig/vi/vs_msg.c 2007-11-18 17:41:42.000000000 +0100
|
|
+++ nvi-1.81.6/vi/vs_msg.c 2009-03-01 14:51:08.211414132 +0100
|
|
@@ -472,10 +472,10 @@
|
|
*/
|
|
if (ch == '\t')
|
|
ch = ' ';
|
|
- chlen = KEY_LEN(sp, ch);
|
|
+ chlen = KEY_LEN(sp, (unsigned char)ch);
|
|
if (cbp + chlen >= ecbp)
|
|
FLUSH;
|
|
- for (kp = KEY_NAME(sp, ch); chlen--;)
|
|
+ for (kp = KEY_NAME(sp, (unsigned char)ch); chlen--;)
|
|
*cbp++ = *kp++;
|
|
}
|
|
if (cbp > cbuf)
|
|
--- nvi-1.81.6.orig/vi/v_increment.c 2007-11-18 17:41:42.000000000 +0100
|
|
+++ nvi-1.81.6/vi/v_increment.c 2009-03-01 15:12:50.950415874 +0100
|
|
@@ -57,7 +57,7 @@
|
|
long change, ltmp, lval;
|
|
size_t beg, blen, end, len, nlen, wlen;
|
|
int base, isempty, rval;
|
|
- char *ntype, nbuf[100];
|
|
+ char *ntype, nbuf[100 * sizeof(CHAR_T)];
|
|
CHAR_T *bp, *p, *t;
|
|
|
|
/* Validate the operator. */
|
|
@@ -202,7 +202,7 @@
|
|
/* If we cross 0, signed numbers lose their sign. */
|
|
if (lval == 0 && ntype == fmt[SDEC])
|
|
ntype = fmt[DEC];
|
|
- nlen = snprintf(nbuf, sizeof(nbuf), ntype, lval);
|
|
+ nlen = snprintf(nbuf, sizeof(nbuf)/sizeof(CHAR_T), ntype, lval);
|
|
} else {
|
|
if ((nret = nget_uslong(sp, &ulval, t, NULL, base)) != NUM_OK)
|
|
goto err;
|
|
@@ -224,7 +224,15 @@
|
|
if (base == 16)
|
|
wlen -= 2;
|
|
|
|
- nlen = snprintf(nbuf, sizeof(nbuf), ntype, wlen, ulval);
|
|
+ nlen = snprintf(nbuf, sizeof(nbuf)/sizeof(CHAR_T), ntype, wlen, ulval);
|
|
+ }
|
|
+
|
|
+ /* Inflate the printed char buffer to CHAR_T elements if necessary */
|
|
+ if (sizeof(CHAR_T) > sizeof(char)) {
|
|
+ int nlen_inflate;
|
|
+ for (nlen_inflate = nlen; nlen_inflate >= 0; nlen_inflate--) {
|
|
+ ((CHAR_T *)nbuf)[nlen_inflate] = nbuf[nlen_inflate];
|
|
+ }
|
|
}
|
|
|
|
/* Build the new line. */
|