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 1712063SmckusickLesson directories may be protected. 1811269Smckusick 19*28230SbloomLearn keeps a log file for each script in the .../learn/log 20*28230Sbloomdirectory (files, editor, etc.) containing an entry for each 21*28230Sbloomlesson attempted. These files will grow without bound, 2211269Smckusickunless they are periodically truncated. 2311269SmckusickThe log files should have general write permission. 2411269SmckusickIf you don't want logging (a sensible position to take), 2512063Smckusickset the variable "logging" to zero in source/learn.c 26*28230Sbloombefore making learn, or remove the log directory, or just 2712063Smckusickturn off write permission for a particular log file. 2811269Smckusick 2911269SmckusickLearn requires about 1500 blocks to make itself, 3011269Smckusickand about 1000 when completely made. 3111269Smckusick 3212063SmckusickThe best way to get ex to prompt within learn was to modify 3312063Smckusickthe user's environment variables PATH and EXINIT. 3412063Smckusick 3512063SmckusickDue to inane assumptions in the VAX versions of csh -i and ex 3612063Smckusickwhen stdin and stdout are not terminals, kludges have been 3712063Smckusickadded with #if's. In particular, I use the old terminal driver 38*28230Sbloomto keep #copyout working and make sh -i masquerade as 3912063Smckusicka csh -i (by setting PS1=% ) to keep #pipe working. 4012063Smckusick 41*28230Sbloom"#create" can now end in an incomplete last line by making '#' 42*28230Sbloomthe last character on the line. On input the string %s is 43*28230Sbloomconverted to the lesson directory (useful for debugging). 4412063SmckusickOn output with "#copyout", prompt signs ("% ") are removed. 45*28230Sbloom"#cmp" now takes a trailing NUMBER specifying that only NUMBER 4612063Smckusickmany lines are to be compared. 4712063Smckusick 48*28230SbloomThe new command "hint" prints the "answer" (i.e. the last part 49*28230Sbloomof the lesson). With an argument it prints the whole lesson text. 5012063SmckusickA new routine called getlesson tries to construct a valid 5112063Smckusicklesson number from in invalid one before giving up. 5212063SmckusickThe commands "where", "skip", and "again" are also new. 5312063SmckusickGreeting, closing, and reminder messages have been expanded. 5412063Smckusick 55*28230SbloomThe "vi" lessons are packaged separately as part of the user- 56*28230Sbloomcontributed software. Ask the system administrator to install them. 57*28230Sbloom 58*28230SbloomPlease report problems, bad lessons, contributions, etc., 59*28230Sbloomto John Kunze, jak@ernie.Berkeley.EDU. Thanks. 60