This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.0'.
[unix-history] / usr.bin / elvis / doc / question.ms
CommitLineData
78ed81a3 1.Go 14 "QUESTIONS & ANSWERS"
2.nr qN 0 1
3.de Q
15637ed4 4.sp
78ed81a3 5.IP \fB\\n+(qN) 0.4i
15637ed4 6..
78ed81a3 7.de A
15637ed4
RG
8.IP \fR 0.75i
9..
78ed81a3 10.Q
11How can I make \*E run faster under DOS?
12.A
15637ed4
RG
13There are several things you can do.
14The first thing to do is get a good screen driver such as NANSI.SYS.
15This can speed up screen redrawing by as much as a factor of eight!
16The DOS-specific part of section 12 tells you how to do this.
78ed81a3 17.A
18You might also consider reducing the size of the blocks that \*E uses.
15637ed4
RG
19You'll need to recompile \*E to do this.
20The default BLKSIZE is 1024 byte for the DOS version of \*E, which means
78ed81a3 21that for each keystroke that you insert, \*E must shift an average of
15637ed4
RG
22about 500 bytes.
23That's a lot to ask from a little old 5MHz 8088.
24A BLKSIZE of 512 bytes might be more appropriate.
78ed81a3 25.A
15637ed4
RG
26If you're \fIreally\fR desperate for more speed, you might want to make
27\*E store its temporary files on a RAM disk.
28However, this limits the size of the file you can edit, and it eliminates any
29chance you may have had to recover your work after a power failure
30or system crash, but it might be worth it; you decide.
31To do this, add ":set dir=R:\\" (or whatever your RAM disk's name is)
32to the \fIelvis.rc\fP file.
78ed81a3 33.A
15637ed4
RG
34Next, consider turning off the "sync" option.
35When the sync option is turned on, \*E will close the temporary file
36and reopen it after every change, in order to force DOS to update
37the file's directory entry.
78ed81a3 38If you put ":set nosync" into the \fIelvis.rc\fP file, then \*E will
15637ed4
RG
39only close the file when you start editing a different text file, or
40when you're exiting \*E.
41Consequently, there is no chance that you'll be able to recover your
42changes after a power failure... so if you're going to this, then you
43might as well store the temp files on the RAM disk, too.
78ed81a3 44.Q
15637ed4 45Where's the <Esc> key on a DEC keyboard?
78ed81a3 46.A
15637ed4
RG
47I don't know. Maybe the <F11> key?
48You could always use ":map!" to make some other key act like the <Esc> key.
49If all else fails, use <Control><[>.
78ed81a3 50.Q
15637ed4 51Is there a way to show which keys do what?
78ed81a3 52.A
15637ed4
RG
53Yes. The command ":map" will show what each key does in command mode,
54and ":map!" (with an exclamation mark) shows what each key does in
55input mode.
78ed81a3 56.A
15637ed4
RG
57The table is divided into three columns: the key's label, the characters
58that it sends, and the characters that \*E pretends you typed.
78ed81a3 59.Q
15637ed4 60How can I make \*E display long lines like the real vi?
78ed81a3 61.A
15637ed4 62You can't yet.
78ed81a3 63The next version of \*E should support this, though.
64.Q
15637ed4
RG
65I can't recover my text [under MS-DOS or Atari TOS].
66According to the directory listing, the temporary file is 0 bytes long.
67What went wrong?
78ed81a3 68.A
15637ed4
RG
69MS-DOS and TOS only update a file's directory entry when the file is closed.
70If the system crashes while the file is still open, then the file's length
71is stored as 0 bytes.
72The ":set sync" option is supposed to prevent this;
73you probably turned it off in the interest of speed, right?
78ed81a3 74.A
15637ed4
RG
75Under MS-DOS [I don't know about TOS], you should delete the empty
76temporary file, and then run CHKDSK/F.
77This \fImight\fP find the data that belonged in the empty file,
78and place it in a new file with a name like "000001.CHK" -- something like that.
79You can then try to extract the text from that temporary file by giving the
78ed81a3 80command "elvprsv -R 000001.chk".
81If you're lucky, then this might recover your text.
82.Q
15637ed4 83What is the most current version of \*E?
78ed81a3 84.A
15637ed4
RG
85Each version of \*E that is released to the public has a version number
86of the form "number point number".
78ed81a3 87As I write this, the most current version of \*E is \*V.
88.A
15637ed4
RG
89The intermediate steps between one release and the next are labeled with
90the \fInext\fP version number, with a letter appended.
91For example, after 1.4 was released, I started working on 1.5a.
92I am currently working on 2.0a.
93When \*E reaches a stable state, I'll call it 2.0 and release it.
78ed81a3 94.A
95Sometimes a beta-test version of \*E will be available via anonymous FTP
15637ed4 96from m2xenix.psg.com, in the directory "pub/elvis/beta".
78ed81a3 97.Q
15637ed4
RG
98I only got executables, but now I want the source code.
99Where can I get it?
78ed81a3 100.A
15637ed4
RG
101If you have access to the Internet, then you should be able to fetch it
102from one of the public archives such as \fBplains.nodak.edu\fP.
103It is accessible via anonymous FTP, or via an email server named
104"archive-server@plains.nodak.edu".
105Elvis is located in the directory "/pub/Minix/all.contrib".
78ed81a3 106.A
107It is also available from the C Users' Group, in volume #365.
108As I write this, they are asking $4 per disk plus $3.50 per order in the US,
109and elvis requires three disks; this is subject to change.
110Their phone number is (913) 841-1631, and their address is:
111.LD
112.ta 2.5i
113.sp
114 The C Users' Group
115 1601 W. 23rd Street, #200
116 Lawrence KS 66046-2743
15637ed4 117.DE
78ed81a3 118.Q
15637ed4 119Is this shareware, or public domain, or what?
78ed81a3 120.A
15637ed4
RG
121It is not public domain; it is copyrighted by me, Steve Kirkendall.
122However, this particular version is freely redistributable, in either
123source form or executable form.
124(I would prefer that you give copies away for free, complete with the
125full source code... but I'm not going to force you.)
78ed81a3 126.A
15637ed4
RG
127It is not shareware; you aren't expected to send me anything.
128You can use it without guilt.
78ed81a3 129.A
15637ed4
RG
130It is not "copylefted."
131I hold a copyright, but currently I have not added any of the usual restrictions
132that you would find on copylefted software.
133If people start doing really obnoxious things to \*E, then I will start
134adding restrictions to subsequent versions, but earlier versions won't
135be affected.
136(So far, everybody has been pretty good about this so no restrictions
137have been necessary.)
78ed81a3 138.Q
15637ed4 139Can I reuse parts of your source code?
78ed81a3 140.A
15637ed4
RG
141Yes. Please be careful, though, to make sure that the code really is mine.
142Some of the code was contributed by other people, and I don't have the
143authority to give you permission to use it.
144The author's name can be found near the top of each source file.
145If it says "Steve Kirkendall" then you may use it;
146otherwise, you'd better contact the author first.
78ed81a3 147.A
15637ed4
RG
148Please don't remove my name from the source code.
149If you modify the source, please make a note of that fact in a comment
150near the top of the source code.
151And, finally, please mention my name in your documentation.
78ed81a3 152.Q
15637ed4 153Can \*E work with non-ASCII files?
78ed81a3 154.A
155\*E is 8-bit clean.
156This means that \*E will allow you to edit files that use a European
157extended ASCII character set.
158However, some terminals are not 8-bit clean;
159they treat characters in the range 0x80-0x9f as control characters.
160\*E expects all characters above 0x7f to be treated as normal displayable
161characters, so on these terminals \*E may produce a scrambled display.
162.A
15637ed4
RG
163\*E can't edit binary files because it can't handle the NUL character,
164and because of line-length limitations.
78ed81a3 165.A
166\*E has also modified to work with 16-bit character sets, but that modification
167is not part of the standard \*E distribution.
15637ed4
RG
168Yongguang Zhang (ygz@cs.purdue.edu) has created a Chinese version of \*E
169that uses 16-bit characters and runs under cxterm (Chinese X-term)
170on X-windows systems.
171Junichiro Itoh (itojun@foretune.co.jp) has modified \*E to edit Japanese
172text under MS-DOS.