Annotation of src/usr.bin/vi/README, Revision 1.5
1.5 ! michaels 1: # @(#)README 8.146 (Berkeley) 8/18/96
1.1 deraadt 2:
1.5 ! michaels 3: This is the README for nex/nvi, a freely redistributable implementation
! 4: of the ex/vi text editors originally distributed as part of the Fourth
1.2 deraadt 5: Berkeley Software Distribution (4BSD), by the University of California,
6: Berkeley.
7:
8: The source code for nex/nvi can be retrieved by using anonymous ftp to
1.5 ! michaels 9: ftp.cs.berkeley.edu. The file ucb/4bsd/nvi.tar.gz is the gzip'd archive,
! 10: of version 1.71 of nex/nvi. This version is believed to be stable and
! 11: problem free. The file ucb/4bsd/nvi-###.ALPHA.tar.gz is a gzip'd archive
! 12: of the current alpha-test release of nex/nvi. This version reflects the
! 13: current development tree, and will be more likely to have problems.
! 14:
! 15: See the file:
! 16: build/README for information on building nvi.
! 17: LAYOUT for a description of where everything is.
! 18: LICENSE for the copyright and redistribution terms.
! 19:
! 20: If you have any questions about nex/nvi, problems with it, or concerns
! 21: about the conditions for redistribution, please contact me:
! 22:
! 23: Keith Bostic +1-508-287-4781
! 24: 394 E. Riding Dr. bostic@bostic.com
! 25: Carlisle, MA 01741
! 26: USA
1.1 deraadt 27:
28: Keith Bostic
29:
30: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1.2 deraadt 31: o This software is several years old and is the product of many folks' work.
1.1 deraadt 32:
1.2 deraadt 33: This software was originally derived from software contributed to
34: the University of California, Berkeley by Steve Kirkendall, the
35: author of the vi clone elvis. Without his work, this work would
36: have been far more difficult.
37:
38: IEEE POSIX 1003.2 style regular expression support is courtesy of
39: Henry Spencer, for which I am *very* grateful.
1.1 deraadt 40:
1.2 deraadt 41: Elan Amir did the original 4BSD curses work that made it possible
42: to support a full-screen editor using curses.
1.1 deraadt 43:
1.2 deraadt 44: George Neville-Neil added the Tcl interpreter, and the initial
45: interpreter design was his.
1.1 deraadt 46:
1.2 deraadt 47: Sven Verdoolaege added the Perl5 interpreter.
1.1 deraadt 48:
1.5 ! michaels 49: Rob Mayoff provided the original Cscope support.
! 50:
! 51: o Many, many people suggested enhancements, and provided bug reports and
! 52: testing, far too many to individually thank.
1.1 deraadt 53:
54: o From the original vi acknowledgements, by William Joy and Mark Horton:
55:
56: Bruce Englar encouraged the early development of this display
57: editor. Peter Kessler helped bring sanity to version 2's
58: command layout. Bill Joy wrote versions 1 and 2.0 through 2.7,
59: and created the framework that users see in the present editor.
60: Mark Horton added macros and other features and made the editor
61: work on a large number of terminals and Unix systems.
62:
63: o And...
64: The financial support of UUNET Communications Services is gratefully
65: acknowledged.
66:
67: =-=-=-=-=-=-=-=-=-=-=
68: o Status:
69:
1.2 deraadt 70: This software is in beta test, and it's pretty stable. Almost all of the
71: historic functionality in ex/vi is there, the only major missing pieces
1.5 ! michaels 72: are open mode and the lisp edit option.
1.2 deraadt 73:
74: Nvi is largely 8-bit clean. This isn't difficult to fix, and was left in
75: during initial development to keep things simple. Wide character support
76: will be integrated at the same time that it is made fully 8-bit clean.
1.1 deraadt 77:
78: There aren't a lot of new features in nex/nvi, but there are a few things
1.3 mickey 79: you might like. The "Additional Features" section of the reference work
80: (docs/USD.doc/vi.ref/vi.ref.txt, docs/USD.doc/vi.ref/vi.ref.ps) has more
81: information.
1.1 deraadt 82:
83: =-=-=-=-=-=-=-=-=-=-=
84: o Debugging:
85:
1.2 deraadt 86: Code fixes are greatly appreciated, of course, but if you can't provide
87: them, please email me as much information as you can as to how I might
88: reproduce the bug, and I'll try to fix it locally. Stack traces of core
89: dumps are only rarely helpful -- an example file with a set of keystrokes
90: that causes the problem is almost invariably necessary. I know it's
91: annoying, but simply playing with the bug until you can reproduce it at
1.5 ! michaels 92: will, with minimal keystrokes, is immensely helpful to me.
1.1 deraadt 93:
94: Please include the following in the bug report;
95:
96: o The version of nvi you're running (use :version to get it).
97: o The row/column dimensions of the screen (80 x 32).
98: o Unless you're confident that they're not part of the problem,
99: your startup files (.exrc, .nexrc) and the environment variable
1.2 deraadt 100: (EXINIT, NEXINIT) values. (Cutting and pasting the output
1.1 deraadt 101: of ":set all" is usually sufficient.)
102:
1.2 deraadt 103: If you want to do your own debugging, recompile the program with DEBUG
104: defined. (Configuring with --enable-debug will do this for you.) This
105: turns on the additional command-line option -D, that takes either s or w
106: as an argument. The option -Ds causes nvi to ignore the EXINIT and
107: .exrc files on startup, and -Dw causes nvi to print out the process id
108: and wait for you to enter a <carriage-return> to continue.
109:
110: If you're running a memory checker (e.g. Purify) on nvi, you will first
111: want to recompile everything with "-DPURIFY" set in the CFLAGS. This
112: initializes allocated pages in the DB code, and free's allocated memory
113: at the end of the nvi execution.