new template
[unix-history] / usr / src / usr.bin / learn / README
CommitLineData
0acfbe6a
JB
1Important changes since 4.2:
2 Now uses 4.2 filesystem correctly and removes files between lessons.
3 Tee'd output to the .ocopy file works. No more infinite loop on EOF.
4 Now maintains a .learnrc file to start you where you left off last
5 session. The undocumented and dubious "xyzzy" command has become
6 the documented and dubious "hint" command. Miscellaneous typos.
7
7d6d4a12
KM
8Note that play directories are created in /tmp, no longer
9in /usr/lib/learn/play. The C script is not complete;
10use at your own risk. The editor script still smacks of ed.
bcc0b659 11
0acfbe6a 12Lessons are in (vi lessons are on user-contributed-software tape)
bcc0b659 13 /usr/lib/learn/*
7d6d4a12
KM
14and auxilliary programs are in
15 /usr/lib/learn/bin
bcc0b659
KM
16
17Make a learn by
18 make
7d6d4a12 19Check that it's sensible with
bcc0b659
KM
20 make check
21If that doesn't print any messages,
22you're probably in good shape.
23
7d6d4a12 24Lesson directories may be protected.
bcc0b659 25
0acfbe6a
JB
26Learn keeps a log file for each script in the .../learn/log
27directory (files, editor, etc.) containing an entry for each
28lesson attempted. These files will grow without bound,
bcc0b659
KM
29unless they are periodically truncated.
30The log files should have general write permission.
31If you don't want logging (a sensible position to take),
7d6d4a12 32set the variable "logging" to zero in source/learn.c
0acfbe6a 33before making learn, or remove the log directory, or just
7d6d4a12 34turn off write permission for a particular log file.
bcc0b659
KM
35
36Learn requires about 1500 blocks to make itself,
37and about 1000 when completely made.
38
7d6d4a12
KM
39The best way to get ex to prompt within learn was to modify
40the user's environment variables PATH and EXINIT.
41
42Due to inane assumptions in the VAX versions of csh -i and ex
43when stdin and stdout are not terminals, kludges have been
44added with #if's. In particular, I use the old terminal driver
0acfbe6a 45to keep #copyout working and make sh -i masquerade as
7d6d4a12
KM
46a csh -i (by setting PS1=% ) to keep #pipe working.
47
0acfbe6a
JB
48"#create" can now end in an incomplete last line by making '#'
49the last character on the line. On input the string %s is
50converted to the lesson directory (useful for debugging).
7d6d4a12 51On output with "#copyout", prompt signs ("% ") are removed.
0acfbe6a 52"#cmp" now takes a trailing NUMBER specifying that only NUMBER
7d6d4a12
KM
53many lines are to be compared.
54
0acfbe6a
JB
55The new command "hint" prints the "answer" (i.e. the last part
56of the lesson). With an argument it prints the whole lesson text.
7d6d4a12
KM
57A new routine called getlesson tries to construct a valid
58lesson number from in invalid one before giving up.
59The commands "where", "skip", and "again" are also new.
60Greeting, closing, and reminder messages have been expanded.
61
0acfbe6a
JB
62The "vi" lessons are packaged separately as part of the user-
63contributed software. Ask the system administrator to install them.
64
65Please report problems, bad lessons, contributions, etc.,
66to John Kunze, jak@ernie.Berkeley.EDU. Thanks.