This is the gsoc-2011 project to clean up and backport multibyte support
from other nvi forks in a form we can use.
USE_WIDECHAR is on unless building for the rescue crunchgen. This should
allow editing in the native locale encoding.
USE_ICONV depends on make.conf having 'WITH_ICONV=YES' for now. This
adds the ability to do things like edit a KOI8-R file while having $LANG
set to (say) en_US.UTF-8. iconv is used to transcode the characters for
display.
Other points:
* It uses gencat and catopen/etc instead of homegrown msg catalog stuff.
* A lot of stuff has been trimmed out, eg: the perl and tcl bindings which
we could never use in base anyway.
* It uses ncursesw when in widechar mode. This could be interesting.
GSoC info: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/zy/1
Repo at: https://github.com/lichray/nvi2
Obtained from: Zhihao Yuan <lichray@gmail.com>
- Fix handling of ^@ when reading an ex command. Don't try to replay
the previous input.
- Fix handling of ^C in insert mode and when reading an ex command.
Repeating an interrupted input could cause a crash and interrupting
ex command input could cause a file corruption.
- Fix a bug which causes crashes in file name completion when a file
name is longer than the screen width.
- When an error occurs in v_txt(), leave the input mode.
PR: bin/21089, bin/136393
Obtained from: NetBSD
The nvi maintainer expects this patch to be included in the upcoming
nvi-1.81.6 unless a better fix presents itself.
The MFC reminder below should be taken as a cue to MFC rev 1.1.1.2
of vs_relative.c as well.
PR: bin/26869
Reported by: Alex Semenyaka <alexs@snark.ratmir.ru>
Obtained from: skimo@kotnet.org (via "Alexey V. Neyman" <alex.neyman@auriga.ru>)
MFC after: 1 month
interaction between the leftright and number options.
PR: bin/23912
Reported by: "Stephen D. Spencer" <gladiatr@boneyard.lawrence.ks.us>
Obtained from: skimo@kotnet.org
(ironically, the assumption is in a code block which is conditional on its
converse). This isn't strictly the correct fix; it's more of a workaround
to prevent an infinite loop. The correct fix (see
ports/editors/nvi-devel/files/patch-vi-relative r1.1) would take a file off
the vendor branch, but since the result for this version of nvi is
identical, this route was elected.
PR: 28687
Approved by: -developers