NetBSD/dist/nvi
christos ab35868474 It is ridiculous to truncate files on character conversions without
warning and a chance for recovery. This patch sets the handler to
copy the character, clear the error and proceed instead of bailing
out.

To replicate:
	- unset LANG
	- Create a file that has ~1000 lines. Put a single bad character
	- '\344' in it, around 2/3rds of the file down. Save it.
	- export LANG=en_US.UTF-8
	- edit the file. Notice there is no error for input conversion,
	  since nvi reads the file opportunistically.
	- :w Boom, the file is truncated.

Alternatively, you can put that character in the first line of the file,
and watch the fireworks. If you like to restore the previous behavior
compile with -DERROR_ON_CONVERT

XXX: Pullup to 6, 5 etc.
2013-01-23 18:51:51 +00:00
..
build.unix
catalog
cl use ARG_CHAR_T instead of CHAR_T for integer promotion. 2011-11-23 19:25:27 +00:00
clib 1. fix PR/44455, nonprintable character doesn't show hex-visual 2011-03-21 14:53:02 +00:00
common It is ridiculous to truncate files on character conversions without 2013-01-23 18:51:51 +00:00
dist
docs add dircategory/direntry for vi, so texinfo stops complaining 2011-11-13 19:53:53 +00:00
ex Don't use loops with empty body. 2012-02-25 00:13:00 +00:00
gtk
include
ip 1. fix PR/44455, nonprintable character doesn't show hex-visual 2011-03-21 14:53:02 +00:00
ipc
motif
motif_l 1. fix PR/44455, nonprintable character doesn't show hex-visual 2011-03-21 14:53:02 +00:00
perl_api
perl_scripts
regex don't use WEOF directly, for --disable-widechar. 2011-11-23 15:43:39 +00:00
tcl_api
tcl_scripts
vi Don't use loops with empty body. 2012-02-25 00:13:00 +00:00
Changes
LICENSE
README
README.1st
README.DB3
TODO
nvi2netbsd

README

#	Id: README,v 8.153 2001/04/30 09:31:12 skimo Exp (Berkeley) Date: 2001/04/30 09:31:12

This is version 1.81.6 (2007-11-18) of nex/nvi, a reimplementation of the ex/vi
text editors originally distributed as part of the Fourth Berkeley
Software Distribution (4BSD), by the University of California, Berkeley.

The directory layout is as follows:

    LICENSE ....... Copyright, use and redistribution information.
    README ........ This file.
    build.unix .... UNIX build directory.
    catalog ....... Message catalogs; see catalog/README.
    cl ............ Vi interface to the curses(3) library.
    clib .......... C library replacement source code.
    common ........ Code shared by ex and vi.
    db ............ A stripped-down, replacement db(3) library.
    dist .......... Various files used to build the vi distribution.
    docs .......... Ex/vi documentation, both current and historic.
    docs/README ... Documentation overview.
    docs/edit ..... Edit: A tutorial.
    docs/exref .... Ex Reference Manual -- Version 3.7.
    docs/vi.man ... UNIX manual page for nex/nvi.
    docs/vi.ref ... Nex/nvi reference manual.
    docs/vitut .... An Introduction to Display Editing with Vi.
    ex ............ Ex source code.
    gtk ........... Vi gtk application.
    include ....... Replacement include files.
    ip ............ Library interface to vi: vi side.
    ipc ........... Library interface to vi: application side.
    motif ......... Vi motif application.
    motif_l ....... Motif library interface to vi.
    perl_api ...... Perl scripting language support.
    perl_scripts .. Perl scripts.
    regex ......... POSIX 1003.2 regular expression library.
    tcl_api ....... Tcl scripting language support.
    tcl_scripts ... Tcl scripts.
    vi ............ Vi source code.

To build DB for a UNIX platform:

    cd build.unix
    ../dist/configure
    make

To build multiple UNIX versions of DB in the same source tree, create
a new directory then configure and build.

    mkdir build.bsdos3.0
    cd build.bsdos3.0
    ../dist/configure
    make

For additional information about building DB for UNIX platforms, the
description of possible configuration options and other information
on DB configuration and build issues, see the file build.unix/README.
	
Bug fixes and updated versions of this software will periodically be made
available.  For more information, as well as a list of Frequently Asked
Questions, see:

	http://www.bostic.com/vi

To ask questions about vi, report vi problems, request notification of
future releases and/or bug fixes, or to contact the authors for any
reason, please send email to:

	bostic@bostic.com

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
o This software is several years old and is the product of many folks' work.  

	This software was originally derived from software contributed to
	the University of California, Berkeley by Steve Kirkendall, the
	author of the vi clone elvis.  Without his work, this work would
	have been far more difficult.

	IEEE POSIX 1003.2 style regular expression support is courtesy of
	Henry Spencer, for which I am *very* grateful.

	Elan Amir did the original 4BSD curses work that made it possible
	to support a full-screen editor using curses.

	George Neville-Neil added the Tcl interpreter, and the initial
	interpreter design was his.

	Sven Verdoolaege added the Perl interpreter.

	Rob Mayoff provided the original Cscope support.

o Many, many people suggested enhancements, and provided bug reports and
  testing, far too many to individually thank.

o From the original vi acknowledgements, by William Joy and Mark Horton:

	Bruce Englar encouraged the early development of this display
	editor.  Peter Kessler helped bring sanity to version 2's
	command layout.  Bill Joy wrote versions 1 and 2.0 through 2.7,
	and created the framework that users see in the present editor.
	Mark Horton added macros and other features and made the editor
	work on a large number of terminals and Unix systems.

o And...
	The financial support of UUNET Communications Services is gratefully
	acknowledged.