Add to / fix formatting in 1991/ant/README.md
In the judges' comments add some humour. Add a try section. Note that a file is needed for the program to do anything (that is a file that exists) - not specifying an arg will exit without doing anything at all. Explain how to enter form-feed as this is important. Fix formatting.
This commit is contained in:
1 parent
94ece1f48d
commit
9c2c19582c
1 file changed
+71
-47
+71
-47
@@ -10,28 +10,47 @@
|
|||||||
|
|
||||||
make all
|
make all
|
||||||
|
|
||||||
### To run
|
## To run:
|
||||||
|
|
||||||
|
./ant some_file
|
||||||
|
|
||||||
|
NOTE: the file must already exist and not specifying any arg will make the
|
||||||
|
program exit without doing anything.
|
||||||
|
|
||||||
|
## Try:
|
||||||
|
|
||||||
cp README.md hill
|
cp README.md hill
|
||||||
./ant hill
|
./ant hill
|
||||||
|
|
||||||
## Judges' comments
|
## Judges' comments:
|
||||||
|
|
||||||
The author was kind enough to supply a list of references below,
|
The author was kind enough to supply a list of references below,
|
||||||
in case you are still confused after read the source! :-)
|
in case you are still confused after read the source! :-)
|
||||||
|
|
||||||
## Author's comments
|
BTW: you've most likely heard the joke that if you want a pseudo-random string
|
||||||
|
of characters you can put a user unfamiliar with vi(m) in a vi(m) session (in
|
||||||
|
insert mode) and ask them to exit. Well in this case you're likely to have this
|
||||||
|
problem if you ARE a vi(m) user! :-) ... especially if you don't read the
|
||||||
|
information below. This means if you're reading this in vi(m) you'll have to
|
||||||
|
exit this like in normal vi(m) and then exit `./ant` differently.
|
||||||
|
|
||||||
Ant's Editor vIOCCC91
|
NOTE: to enter form feed you should be able to hit `ctrl-L`. This will allow you
|
||||||
|
to exit insert mode rather than ESC like in normal vi(m). See the author's
|
||||||
|
commands section for other commands.
|
||||||
|
|
||||||
Text files consists of lines of printable text or tab characters.
|
## Author's comments:
|
||||||
A line can be of arbitrary length and is delimited by either a
|
|
||||||
newline or the end of file. Carriage return is mapped to newline
|
Ant's Editor vIOCCC91
|
||||||
on input and ignored on output. Tab stops are every eight columns.
|
|
||||||
Non-printable characters may have unpredictable results depending
|
Text files consists of lines of printable text or tab characters.
|
||||||
on the implementation of CURSES.
|
A line can be of arbitrary length and is delimited by either a
|
||||||
|
newline or the end of file. Carriage return is mapped to newline
|
||||||
|
on input and ignored on output. Tab stops are every eight columns.
|
||||||
|
Non-printable characters may have unpredictable results depending
|
||||||
|
on the implementation of CURSES.
|
||||||
|
|
||||||
|
### COMMANDS:
|
||||||
|
|
||||||
COMMANDS
|
|
||||||
h j k l left, down, up, right cursor movement
|
h j k l left, down, up, right cursor movement
|
||||||
H J K L word left, page down, page up, word right
|
H J K L word left, page down, page up, word right
|
||||||
[ ] beginning and end of line
|
[ ] beginning and end of line
|
||||||
@@ -42,61 +61,66 @@
|
|||||||
R refresh the screen
|
R refresh the screen
|
||||||
Q quit
|
Q quit
|
||||||
|
|
||||||
EXIT STATUS
|
### EXIT STATUS:
|
||||||
|
|
||||||
0 success
|
0 success
|
||||||
2 missing edit filename
|
2 missing edit filename
|
||||||
|
|
||||||
The BUF size should be set at compile time to 32767. This value
|
|
||||||
was used because the Sozobon C compiler for the Atari ST has 16
|
|
||||||
bit ints and a limit on the size of arrays & structures of 32k.
|
|
||||||
Also the WatCom C compiler for the PC also has 16 bits ints. On
|
|
||||||
machines that have 32 bit ints (most unix boxes), a larger value
|
|
||||||
for BUF could be used.
|
|
||||||
|
|
||||||
It is recommend that compact memory model be used on PC class
|
### ABOUT THIS ENTRY:
|
||||||
machines. Small memory model may work too provided BUF is not
|
|
||||||
too large.
|
|
||||||
|
|
||||||
The character constants '\b', '\f', '\n', '\r', '\t' are used
|
The BUF size should be set at compile time to 32767. This value
|
||||||
in order to provide more portable code, since the compiler should
|
was used because the Sozobon C compiler for the Atari ST has 16
|
||||||
handle the translation of them into the native character set.
|
bit ints and a limit on the size of arrays & structures of 32k.
|
||||||
Note that '\f' (formfeed) was used to exit insert mode because
|
Also the WatCom C compiler for the PC also has 16 bits ints. On
|
||||||
K&R C had no escape constant for the escape-key.
|
machines that have 32 bit ints (most unix boxes), a larger value
|
||||||
|
for BUF could be used.
|
||||||
|
|
||||||
My goals for this project were to learn and experiment with the
|
It is recommend that compact memory model be used on PC class
|
||||||
Buffer Gap Scheme [Fin80][net90], write a useful and *portable*
|
machines. Small memory model may work too provided BUF is not
|
||||||
programme, and meet the requirements of the IOCCC. I initially
|
too large.
|
||||||
planned to have a mini CURSES built-in like the IOCCC Tetris entry
|
|
||||||
from a previous year, however this was not as portable as using a
|
|
||||||
CURSES library with TERMINFO/TERMCAP support.
|
|
||||||
|
|
||||||
I plan to post followups such as unobfuscated versions and bugs
|
The character constants '\b', '\f', '\n', '\r', '\t' are used
|
||||||
fixes to comp.editors. Reposts of the editor.101, gap.doc, and
|
in order to provide more portable code, since the compiler should
|
||||||
editor.102 can be found in the same group every so often.
|
handle the translation of them into the native character set.
|
||||||
|
Note that '\f' (formfeed) was used to exit insert mode because
|
||||||
|
K&R C had no escape constant for the escape-key.
|
||||||
|
|
||||||
This entry will display a file with long lines, but has trouble
|
My goals for this project were to learn and experiment with the
|
||||||
scrolling the screen with long lines. Paging up and down should
|
Buffer Gap Scheme [Fin80][net90], write a useful and *portable*
|
||||||
work correctly, however.
|
programme, and meet the requirements of the IOCCC. I initially
|
||||||
|
planned to have a mini CURSES built-in like the IOCCC Tetris entry
|
||||||
|
from a previous year, however this was not as portable as using a
|
||||||
|
CURSES library with TERMINFO/TERMCAP support.
|
||||||
|
|
||||||
REFERENCES
|
I plan to post followups such as unobfuscated versions and bugs
|
||||||
[Fin80] Craig A. Finseth, "Theory and Practice of Text Editors or
|
fixes to comp.editors. Reposts of the editor.101, gap.doc, and
|
||||||
|
editor.102 can be found in the same group every so often.
|
||||||
|
|
||||||
|
This entry will display a file with long lines, but has trouble
|
||||||
|
scrolling the screen with long lines. Paging up and down should
|
||||||
|
work correctly, however.
|
||||||
|
|
||||||
|
### REFERENCES:
|
||||||
|
|
||||||
|
[Fin80] Craig A. Finseth, "Theory and Practice of Text Editors or
|
||||||
A Cookbook For An EMACS", TM-165, MIT Lab. for Computer
|
A Cookbook For An EMACS", TM-165, MIT Lab. for Computer
|
||||||
Science
|
Science
|
||||||
|
|
||||||
[KeP81] Kernighan & Plauger, "Software Tools in Pascal",
|
[KeP81] Kernighan & Plauger, "Software Tools in Pascal",
|
||||||
Addison-Wesley, 81, chapter 6
|
Addison-Wesley, 81, chapter 6
|
||||||
|
|
||||||
[Mil86] Eugene W. Myers & Webb Miller, "Row-replacement Algorithms
|
[Mil86] Eugene W. Myers & Webb Miller, "Row-replacement Algorithms
|
||||||
for Screen Editors", TR 86-19, Dept. of Computer Science,
|
for Screen Editors", TR 86-19, Dept. of Computer Science,
|
||||||
U. of Arizona
|
U. of Arizona
|
||||||
|
|
||||||
[MyM86] Eugene W. Myers & Webb Miller, "A simple row-replacement
|
[MyM86] Eugene W. Myers & Webb Miller, "A simple row-replacement
|
||||||
method", TR 86-28, Dept. of Computer Science, U. of Arizona
|
method", TR 86-28, Dept. of Computer Science, U. of Arizona
|
||||||
|
|
||||||
[Mil87] Webb Miller, "A Software Tools Sampler", Prentice Hall, 87
|
[Mil87] Webb Miller, "A Software Tools Sampler", Prentice Hall, 87
|
||||||
ISBN 0-13-822305-X, chapter 5
|
ISBN 0-13-822305-X, chapter 5
|
||||||
|
|
||||||
[net90] "Editor 101/102" articles from comp.editors
|
[net90] "Editor 101/102" articles from comp.editors
|
||||||
|
|
||||||
Copyright (c) 1991, Landon Curt Noll & Larry Bassel.
|
Copyright (c) 1991, Landon Curt Noll & Larry Bassel.
|
||||||
All Rights Reserved. Permission for personal, educational or non-profit use is
|
All Rights Reserved. Permission for personal, educational or non-profit use is
|
||||||
|
|||||||
Reference in new issue
Block a user