xref: /csrg-svn/usr.bin/learn/README (revision 28230)
1*28230SbloomImportant changes since 4.2:
2*28230Sbloom	Now uses 4.2 filesystem correctly and removes files between lessons.
3*28230Sbloom	Tee'd output to the .ocopy file works.  No more infinite loop on EOF.
4*28230Sbloom	Now maintains a .learnrc file to start you where you left off last
5*28230Sbloom	session.  The undocumented and dubious "xyzzy" command has become
6*28230Sbloom	the documented and dubious "hint" command.  Miscellaneous typos.
7*28230Sbloom
812063SmckusickNote that play directories are created in /tmp, no longer
912063Smckusickin /usr/lib/learn/play.  The C script is not complete;
1012063Smckusickuse at your own risk.  The editor script still smacks of ed.
1111269Smckusick
12*28230SbloomLessons are in (vi lessons are on user-contributed-software tape)
1311269Smckusick	/usr/lib/learn/*
1412063Smckusickand auxilliary programs are in
1512063Smckusick	/usr/lib/learn/bin
1611269Smckusick
1711269SmckusickMake a learn by
1811269Smckusick	make
1912063SmckusickCheck that it's sensible with
2011269Smckusick	make check
2111269SmckusickIf that doesn't print any messages,
2211269Smckusickyou're probably in good shape.
2311269Smckusick
2412063SmckusickLesson directories may be protected.
2511269Smckusick
26*28230SbloomLearn keeps a log file for each script in the .../learn/log
27*28230Sbloomdirectory (files, editor, etc.) containing an entry for each
28*28230Sbloomlesson attempted.  These files will grow without bound,
2911269Smckusickunless they are periodically truncated.
3011269SmckusickThe log files should have general write permission.
3111269SmckusickIf you don't want logging (a sensible position to take),
3212063Smckusickset the variable "logging" to zero in source/learn.c
33*28230Sbloombefore making learn, or remove the log directory, or just
3412063Smckusickturn off write permission for a particular log file.
3511269Smckusick
3611269SmckusickLearn requires about 1500 blocks to make itself,
3711269Smckusickand about 1000 when completely made.
3811269Smckusick
3912063SmckusickThe best way to get ex to prompt within learn was to modify
4012063Smckusickthe user's environment variables PATH and EXINIT.
4112063Smckusick
4212063SmckusickDue to inane assumptions in the VAX versions of csh -i and ex
4312063Smckusickwhen stdin and stdout are not terminals, kludges have been
4412063Smckusickadded with #if's.  In particular, I use the old terminal driver
45*28230Sbloomto keep #copyout working and make sh -i masquerade as
4612063Smckusicka csh -i (by setting PS1=% ) to keep #pipe working.
4712063Smckusick
48*28230Sbloom"#create" can now end in an incomplete last line by making '#'
49*28230Sbloomthe last character on the line.  On input the string %s is
50*28230Sbloomconverted to the lesson directory (useful for debugging).
5112063SmckusickOn output with "#copyout", prompt signs ("% ") are removed.
52*28230Sbloom"#cmp" now takes a trailing NUMBER specifying that only NUMBER
5312063Smckusickmany lines are to be compared.
5412063Smckusick
55*28230SbloomThe new command "hint" prints the "answer" (i.e. the last part
56*28230Sbloomof the lesson).  With an argument it prints the whole lesson text.
5712063SmckusickA new routine called getlesson tries to construct a valid
5812063Smckusicklesson number from in invalid one before giving up.
5912063SmckusickThe commands "where", "skip", and "again" are also new.
6012063SmckusickGreeting, closing, and reminder messages have been expanded.
6112063Smckusick
62*28230SbloomThe "vi" lessons are packaged separately as part of the user-
63*28230Sbloomcontributed software.  Ask the system administrator to install them.
64*28230Sbloom
65*28230SbloomPlease report problems, bad lessons, contributions, etc.,
66*28230Sbloomto John Kunze, jak@ernie.Berkeley.EDU.  Thanks.
67