xref: /csrg-svn/usr.bin/learn/README (revision 12063)
1*12063SmckusickNote that play directories are created in /tmp, no longer
2*12063Smckusickin /usr/lib/learn/play.  The C script is not complete;
3*12063Smckusickuse at your own risk.  The editor script still smacks of ed.
411269Smckusick
511269SmckusickLessons are in
611269Smckusick	/usr/lib/learn/*
7*12063Smckusickand auxilliary programs are in
8*12063Smckusick	/usr/lib/learn/bin
911269Smckusick
1011269SmckusickMake a learn by
1111269Smckusick	make
12*12063SmckusickCheck that it's sensible with
1311269Smckusick	make check
1411269SmckusickIf that doesn't print any messages,
1511269Smckusickyou're probably in good shape.
1611269Smckusick
17*12063SmckusickLesson directories may be protected.
1811269Smckusick
19*12063SmckusickLearn collects a log file for each script in the .../learn/log
20*12063Smckusickdirectory, with a file for each script (files, editor, etc.)
21*12063Smckusickcontaining an entry for each lesson attempted.
22*12063SmckusickThese files will grow without bound,
2311269Smckusickunless they are periodically truncated.
2411269SmckusickThe log files should have general write permission.
2511269SmckusickIf you don't want logging (a sensible position to take),
26*12063Smckusickset the variable "logging" to zero in source/learn.c
27*12063Smckusickbefore making learn, remove the log directory, or just
28*12063Smckusickturn off write permission for a particular log file.
2911269Smckusick
3011269SmckusickLearn requires about 1500 blocks to make itself,
3111269Smckusickand about 1000 when completely made.
3211269Smckusick
33*12063SmckusickThe best way to get ex to prompt within learn was to modify
34*12063Smckusickthe user's environment variables PATH and EXINIT.
35*12063Smckusick
36*12063SmckusickDue to inane assumptions in the VAX versions of csh -i and ex
37*12063Smckusickwhen stdin and stdout are not terminals, kludges have been
38*12063Smckusickadded with #if's.  In particular, I use the old terminal driver
39*12063Smckusickto keep #copyout working and make sh -i masquerades as
40*12063Smckusicka csh -i (by setting PS1=% ) to keep #pipe working.
41*12063Smckusick
42*12063Smckusick"#create" can now end in an incomplete last line with ....#\n
43*12063SmckusickOn input the string %s is converted to the lesson directory.
44*12063SmckusickOn output with "#copyout", prompt signs ("% ") are removed.
45*12063Smckusick"#cmp" now takes a trailing number specifying that only that
46*12063Smckusickmany lines are to be compared.
47*12063Smckusick
48*12063SmckusickThe new command "xyzzy" prints the answer (i.e. the last part
49*12063Smckusickof the lesson), and "xyzzy x" prints the whole lesson text.
50*12063SmckusickA new routine called getlesson tries to construct a valid
51*12063Smckusicklesson number from in invalid one before giving up.
52*12063SmckusickThe commands "where", "skip", and "again" are also new.
53*12063SmckusickGreeting, closing, and reminder messages have been expanded.
54*12063Smckusick
55*12063SmckusickPlease report problems, bad lessons, contributions, etc., to
56*12063SmckusickJohn Kunze, UC Berkeley, 415-642-1530, ucbvax!ucbernie.jak .
57*12063SmckusickThanks.
58