Annotation of 43BSDReno/contrib/jove/README, revision 1.1.1.1

1.1       root        1: ###########################################################################
                      2: # This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE #
                      3: # is provided to you without charge, and with no warranty.  You may give  #
                      4: # away copies of JOVE, including sources, provided that this notice is    #
                      5: # included in all the files.                                              #
                      6: ###########################################################################
                      7: 
                      8: To make JOVE edit Makefile to set the right directories for the binaries,
                      9: on line documentation, the man pages, and the TMP files and select the
                     10: appropriate load command (see SEPFLAG in Makefile).  (IMPORTANT! read the
                     11: Makefile carefully.)  "tune.c" will be created from "tune.template" by
                     12: MAKE automatically, and it will use the directories you specified in the
                     13: Makefile.  (NOTE:  You should never edit tune.c directly because your
                     14: changes will be undone by the next make.  If you want to make a change to
                     15: a part of tune.c that isn't a directory name, you should edit
                     16: tune.template.)  Next you must edit "tune.h" selecting the compile time
                     17: options you care about.  See below for a description of all the compile
                     18: time options.  You can type "make" to compile XJOVE, PORTSRV (this is
                     19: compiled but not used on 4.2+ systems), RECOVER TEACHJOVE, and
                     20: MACVERT.  NOTE:  make won't work if it fires up /bin/csh for the shell
                     21: commands.  Test them out to see if they work.  If they do, type "make
                     22: install" to install everything where it belongs.
                     23: 
                     24: Here are some things to consider for deciding where to put the tmp files.
                     25: TMPDIR is where the tmp files get stored, usually /tmp or /tmp/jove.  If
                     26: your system does not remove subdirectories of /tmp on reboot (lots do
                     27: remove them these days) then it makes sense to make TMPDIR be /tmp/jove.
                     28: But if you want to recover buffers on system crashes, you should put the 
                     29: lines
                     30:                                (echo preserving Jove files)    >/dev/console
                     31: (cd /tmp; /usr/local/lib/jovelib/recover -syscrash) >/dev/console
                     32: 
                     33: in the /etc/rc file BEFORE /tmp is cleared, so that you can recover
                     34: files after reboots. There shoudl be a crontab entry to clear out
                     35: old files in /usr/preserve.
                     36: 
                     37: For the pdp11 version there is the Ovmakefile.  This has only been tested
                     38: on 2.9bsd.  It works pretty well, actually, and it is possible to turn on
                     39: all the compile time options with this version.
                     40: 
                     41: Bug reports:  If you find bugs in JOVE I would appreciate hearing about
                     42: them.  (My net address is at end of this message.)  So, send me the bug
                     43: reports.  If the bug isn't already fixed, I will ask you to send me the
                     44: fix.  If you haven't found the bug, I may be able to, so don't wait until
                     45: you have found it.  If you make improvements to JOVE and want them
                     46: incorporated into the official version, send me a message explaining what
                     47: the change is, and I will decide whether I want to include it.  If it is
                     48: possible for your change to be #ifdef'd in, that would be best, since I
                     49: want to avoid making JOVE huge.  For instance, if it's a new package type
                     50: thing (say, like word abbrev. mode, or something) then it would be best
                     51: if that were a compile-time option.  I will send out periodic updates to
                     52: comp.sources.unix.  I will report all significant bug fixes there, and to
                     53: net.emacs as well.
                     54: 
                     55: Here's a list of the compile time options and what they mean:
                     56: 
                     57: ABBREV    - Enables word-abbrev-mode which again is nice for paper writers.
                     58: 
                     59: BACKUPFILES - This enables backing up files on write.  I guess lots of
                     60:              people like this feature.  It enables the feature but you
                     61:              can still control whether files are backed up with the
                     62:              make-backup-files variable.
                     63: 
                     64: BIFF      - This enables turning on and off BIFF so your screen doesn't
                     65:              get messed up with messages from BIFF.
                     66: 
                     67: BSD4_2     - Obviously, if you're a Berkeley 4.2 system.
                     68: 
                     69: BSD4_3    - If you're running a Berkeley 4.3 or 2.10 system.
                     70:             This will automatically define BSD4_2, also.
                     71: 
                     72: CHDIR     - This enables the directory commands; PUSHD, POPD, DIRS and
                     73:              CD.  These simulate the csh commands exactly, I think.  As
                     74:              a side-effect, absolute path names are enabled, which means
                     75:              JOVE parses file names for "." and ".." and all that to get
                     76:              at what you REALLY mean.  It's nicer when this is enabled,
                     77:              but not essential.
                     78: 
                     79: CMT_FMT           - This enables code to format and indent C comments.
                     80: 
                     81: ID_CHAR           - Enables support for Insert/Delete character on terminals
                     82:             that have those capabilities.  Couple of problems with this code:
                     83:             it's large, takes up lots of I space which is a problem for the
                     84:             smaller computers (pdp11).  Also, it isn't particularly smart
                     85:             and sometimes does really stupid things.  It sometimes uses
                     86:             insert/delete character when simply redrawing would have been
                     87:             faster.  And if you look at code you'll understand why I don't
                     88:             like it all that much.
                     89: 
                     90: IPROCS    - Nice feature which lets you run interactive UNIX commands in
                     91:             windows.  In particular, there is a shell command built
                     92:             in which starts up an interactive shell in a window.  This works
                     93:             only on systems with JOB_CONTROL since it relies on the fancy
                     94:             signal mechanism.
                     95: 
                     96: JOB_CONTROL - Versions of UNIX that have the job control facility.
                     97:              Berkeley 2.9-10 systems, and the 4.1-3 systems I know have
                     98:              job stopping, so if you're one of those, define
                     99:              this.  The reason MENLO_JCL is defined when JOB_CONTROL
                    100:              is that the 2.9 signal.h file only defines all of the job
                    101:              stopping signals only when MENLO_JCL is defined.
                    102: 
                    103: LISP      - Enables Lisp Mode.  This includes code to indent "properly"
                    104:             for Lisp code and new routines to move over s-expressions.
                    105:             You probably won't want (or need) this on PDP-11's.
                    106: 
                    107: MY_MALLOC  - Use the older version of malloc that is more memory efficient
                    108:             than the newer 4BSD version.  The 4BSD version places more
                    109:             importance on the speed of the allocation than the amount of
                    110:             memory it uses.  Make your choice ... JOVE hardly ever calls
                    111:             malloc, anyway, relatively speaking, since it allocates
                    112:             lines in big chunks.  NOTE: This doesn't seem to work on suns
                    113:             and the iAPX286.
                    114: 
                    115: PIPEPROCS  - If NOT defined, JOVE will use Berkeley pseudo-ttys when
                    116:             doing interactive processes.  This is infinitely better,
                    117:             since you get job control and all that stuff on i-procs.
                    118:             If defined, the portsrv program will have to be made, and
                    119:             all communication between jove and i-procs will be done using
                    120:             pipes.
                    121: 
                    122: RESHAPING  - This is for BRL or Berkeley 4.3 and 2.10 systems.  When the
                    123:             window size of the terminal jove is running in is changed
                    124:             a SIGWINCH is sent to all processes in the tty group.  This
                    125:             define enables code in jove to catch that signal and reshape
                    126:             its windows.
                    127: 
                    128: SPELL     - Enables the spell-buffer and parse-spelling-errors commands.
                    129:             They are nice especially if you have lots of paper writers.
                    130: 
                    131: WIRED_TERMS - Include compiled-in hard-wired code for certain terminals,
                    132:             like the Concept 100.  If you don't have these terminals,
                    133:             you probably don't need this (but no point in taking it
                    134:             out unless you're low on space).
                    135: 
                    136: The macros have been rewritten from scratch.  The most noteable change is
                    137: that they are no longer stored in binary files.  The write-macros-to-file
                    138: command writes a file which is suitable for use with the source command.
                    139: So you can have actual macro definitions in your .joverc if you want.  If
                    140: you have lots of macros defined in the old format, you can use the
                    141: macvert program to convert them to the new style.  You say
                    142:        macvert old-style-macros-file > new-style-macro-file
                    143: 
                    144: "doc/system.rc" and "doc/example.rc" are jove initialization files.
                    145: "system.rc" is the "system" rc file here at UoR, and it gets ready every
                    146: time JOVE starts up FOR EVERYONE.  ("make install" should copy the
                    147: system-wide .joverc to the right place automatically.)  After that JOVE
                    148: reads an initialization file in the user's home directory.  "example.rc"
                    149: is my personal .joverc.
                    150: 
                    151: The files "jove.[12345]" in DOC are the official JOVE manual.  I got
                    152: permission from Richard Stallman to use his manual for the original EMACS,
                    153: modifying it where necessary for JOVE.  Lots of work was done by Brian
                    154: Harvey on this manual.
                    155: 
                    156: There are man pages for jove and teachjove.  Teachjove is for people who
                    157: have never used EMACS style editors.  It is an interactive tutorial, THE
                    158: tutorial written by Stallman for the original EMACS, only slightly
                    159: modified for JOVE in the appropriate places.  The man pages are
                    160: completely up to date, thanks to me.
                    161: 
                    162: Thanks to Jay (hack) Fenlason for writing the original pty code.
                    163: 
                    164: Thanks to Dave Curry at Purdue for putting in tons of time and effort
                    165: into getting JOVE ready.  It just wouldn't be working without his help.
                    166: 
                    167: Thanks to Jeff Mc Carrell at Berkeley for finding bugs and adding
                    168: features, in particular, the comment formatter.
                    169: 
                    170: Thanks to Karl Gegenfurtner for making the PC version.
                    171: 
                    172: Thanks to Ken Mitchum for the Macintosh verison.
                    173: 
                    174: Thanks to Hugh Redelmeier for his input, his experience, countless bug
                    175: fixes, and ... that's it, I guess.
                    176: 
                    177: (Thanks to Brian Harvey for teaching me about linked lists ...)
                    178: 
                    179: Good luck, have fun.
                    180: 
                    181:        Jonathan Payne ([email protected] until further notice :-)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.