fix includes
[unix-history] / usr / src / usr.bin / learn / README
Note that play directories are created in /tmp, no longer
in /usr/lib/learn/play. The C script is not complete;
use at your own risk. The editor script still smacks of ed.
Lessons are in
/usr/lib/learn/*
and auxilliary programs are in
/usr/lib/learn/bin
Make a learn by
make
Check that it's sensible with
make check
If that doesn't print any messages,
you're probably in good shape.
Lesson directories may be protected.
Learn collects a log file for each script in the .../learn/log
directory, with a file for each script (files, editor, etc.)
containing an entry for each lesson attempted.
These files will grow without bound,
unless they are periodically truncated.
The log files should have general write permission.
If you don't want logging (a sensible position to take),
set the variable "logging" to zero in source/learn.c
before making learn, remove the log directory, or just
turn off write permission for a particular log file.
Learn requires about 1500 blocks to make itself,
and about 1000 when completely made.
The best way to get ex to prompt within learn was to modify
the user's environment variables PATH and EXINIT.
Due to inane assumptions in the VAX versions of csh -i and ex
when stdin and stdout are not terminals, kludges have been
added with #if's. In particular, I use the old terminal driver
to keep #copyout working and make sh -i masquerades as
a csh -i (by setting PS1=% ) to keep #pipe working.
"#create" can now end in an incomplete last line with ....#\n
On input the string %s is converted to the lesson directory.
On output with "#copyout", prompt signs ("% ") are removed.
"#cmp" now takes a trailing number specifying that only that
many lines are to be compared.
The new command "xyzzy" prints the answer (i.e. the last part
of the lesson), and "xyzzy x" prints the whole lesson text.
A new routine called getlesson tries to construct a valid
lesson number from in invalid one before giving up.
The commands "where", "skip", and "again" are also new.
Greeting, closing, and reminder messages have been expanded.
Please report problems, bad lessons, contributions, etc., to
John Kunze, UC Berkeley, 415-642-1530, ucbvax!ucbernie.jak .
Thanks.