Change the kernel dev_t, representing a pointer to a specinfo structure,
[dragonfly.git] / contrib / nvi / README
1 #       @(#)README      8.147 (Berkeley) 10/19/96
2
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
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
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
27
28 Keith Bostic
29
30 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
31 o This software is several years old and is the product of many folks' work.  
32
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.
40
41         Elan Amir did the original 4BSD curses work that made it possible
42         to support a full-screen editor using curses.
43
44         George Neville-Neil added the Tcl interpreter, and the initial
45         interpreter design was his.
46
47         Sven Verdoolaege added the Perl interpreter.
48
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.
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
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
72 are open mode and the lisp edit option.
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.
77
78 There aren't a lot of new features in nex/nvi, but there are a few things
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.
82
83 =-=-=-=-=-=-=-=-=-=-=
84 o Debugging:
85
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
92 will, with minimal keystrokes, is immensely helpful to me.
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
100           (EXINIT, NEXINIT) values.  (Cutting and pasting the output
101           of ":set all" is usually sufficient.)
102
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.