AUSAM/source/S/emdoc
How to Generate 'em'
gfc 17
Thu Apr 29 1976
How to Generate the QMC Unix Editor 'em'
---------------------------------------
Author: George Coulouris
Computer Systems Laboratory
Queen Mary College Mile End Road London E1 4NS (01-980 4811 x751)
Summary
This is the system documentation for 'em'. It should be used
in conjunction with the manual section supplied with 'em'
(EM(I), 3/22/76). A tutorial introduction to 'em' is in
preparation.
Files
There are five relevant files:
emdoc - the text of this document
em.n - the text of the manual section
on 'em' in 'nroff' format
emhelp - a file containing a summary of
editor commands, used in
the 'help' command
em1.c - the first of the two C source seg-
ments
em2.c - the second and last segment
Generation
To compile 'em':
cc -n -s em1.c em2.c
leaves a suitable object program in 'a.out'. Just move it to
'/bin/em':
mv a.out /bin/em
1
How to Generate 'em'
to produce a command 'em'. If you also want a version with all
of the 'em' features except prompting, you can make a link to
the same object program with any name not having 'm' as its
second character. We use the 'ed' name:
ln /bin/em /bin/ed
If you want the editor to be permanently held in the disc
swapping area (and therefore entered more quickly in response
to the 'em' command) change the mode:
chmod 1755 /bin/em
Frills
If you want the 'h' command to provide a screen full of help,
put the text for the help in /usr/lib/emhelp. You can use the
file supplied, or make your own.
There is a rather pleasing feature available when you type
'^V' in the 'o' command that enables the spelling of a word to
be given from a lexicon file once the first few letters of the
word have been typed. This is implemented through a command
in our Unix system:
spell arg
that takes an argument containing an alphabetic string and
outputs all of the words in a lexicon file that begin with
that string. Our version of the spell program is a crude (but
fast) affair using 26 files. There must be a better way, so if
you want the '^V' facility we suggest you implement your own
spell command. 'em' will use it if it is there, otherwise it
will display a suitable message.
---------------/----------------
2