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