date and time created 83/09/02 12:57:42 by edward
[unix-history] / usr / src / usr.bin / learn / README
CommitLineData
7d6d4a12
KM
1Note that play directories are created in /tmp, no longer
2in /usr/lib/learn/play. The C script is not complete;
3use at your own risk. The editor script still smacks of ed.
bcc0b659
KM
4
5Lessons are in
6 /usr/lib/learn/*
7d6d4a12
KM
7and auxilliary programs are in
8 /usr/lib/learn/bin
bcc0b659
KM
9
10Make a learn by
11 make
7d6d4a12 12Check that it's sensible with
bcc0b659
KM
13 make check
14If that doesn't print any messages,
15you're probably in good shape.
16
7d6d4a12 17Lesson directories may be protected.
bcc0b659 18
7d6d4a12
KM
19Learn collects a log file for each script in the .../learn/log
20directory, with a file for each script (files, editor, etc.)
21containing an entry for each lesson attempted.
22These files will grow without bound,
bcc0b659
KM
23unless they are periodically truncated.
24The log files should have general write permission.
25If you don't want logging (a sensible position to take),
7d6d4a12
KM
26set the variable "logging" to zero in source/learn.c
27before making learn, remove the log directory, or just
28turn off write permission for a particular log file.
bcc0b659
KM
29
30Learn requires about 1500 blocks to make itself,
31and about 1000 when completely made.
32
7d6d4a12
KM
33The best way to get ex to prompt within learn was to modify
34the user's environment variables PATH and EXINIT.
35
36Due to inane assumptions in the VAX versions of csh -i and ex
37when stdin and stdout are not terminals, kludges have been
38added with #if's. In particular, I use the old terminal driver
39to keep #copyout working and make sh -i masquerades as
40a csh -i (by setting PS1=% ) to keep #pipe working.
41
42"#create" can now end in an incomplete last line with ....#\n
43On input the string %s is converted to the lesson directory.
44On output with "#copyout", prompt signs ("% ") are removed.
45"#cmp" now takes a trailing number specifying that only that
46many lines are to be compared.
47
48The new command "xyzzy" prints the answer (i.e. the last part
49of the lesson), and "xyzzy x" prints the whole lesson text.
50A new routine called getlesson tries to construct a valid
51lesson number from in invalid one before giving up.
52The commands "where", "skip", and "again" are also new.
53Greeting, closing, and reminder messages have been expanded.
54
55Please report problems, bad lessons, contributions, etc., to
56John Kunze, UC Berkeley, 415-642-1530, ucbvax!ucbernie.jak .
57Thanks.