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

1.1       root        1: #########################################################################
                      2: # This program is copyright (C) 1985, 1986 by Jonathan Payne.  It is    #
                      3: # provided to you without charge for use only on a licensed Unix        #
                      4: # system.  You may copy JOVE provided that this notice is included with #
                      5: # the copy.  You may not sell copies of this program or versions        #
                      6: # modified for use on microcomputer systems, unless the copies are      #
                      7: # included with a Unix system distribution and the source is provided.  #
                      8: #########################################################################
                      9: 
                     10: To make JOVE edit Makefile to set the right directories for the binaries,
                     11: online documentation, the man pages, and the TMP files.  (IMPORTANT! read
                     12: the Makefile carefully.)  "tune.c" will be created from "tune.template" by
                     13: MAKE automatically, and it will use the directories you specified in the
                     14: Makefile.  (NOTE:  You should never edit tune.c directly because your
                     15: changes will be undone by the next make.  If you want to make a change to a
                     16: part of tune.c that isn't a directory name, you should edit tune.template.)
                     17: Next you must edit "tune.h" selecting the compile time options you care
                     18: about.  See below for a description of all the compile time options.  You
                     19: can type "make" to compile XJOVE, PORTSRV (this is compiled but not used on
                     20: 4.2+ systems), JOVE_RECOVER and TEACHJOVE.  Test them out to see if they
                     21: work.  If they do, type "make install" to install everything where it
                     22: 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.  RECDIR
                     26: is where the tmp files should be moved when the system comes back up (AND A
                     27: CALL TO "jove_recover -syscrash" SHOULD BE PUT IN /etc/rc BEFORE /tmp IS
                     28: CLEARED).  If your system does not remove subdirectories of /tmp on reboot
                     29: (lots do remove them these days) then it makes sense to make RECDIR and
                     30: TMPDIR both be /tmp/jove.  That way you don't need the call to jove_recover
                     31: in /etc/rc.  It's really much easier to create a directory that doesn't get
                     32: clearned upon reboot, and use that instead.  You would probably want to
                     33: clean out that directory periodically with /etc/cron.
                     34: 
                     35: For the pdp11 version there is the Ovmakefile.  This has only been tested on
                     36: 2.9bsd.  It works pretty well, actually, and it is possible to then turn on
                     37: all the compile time options.
                     38: 
                     39: Here's a list of the compile time options and what they mean:
                     40: 
                     41: LSRHS      - This is for the Lincoln-Sudbury Regional High School version
                     42:              of jove, which is where JOVE originated.
                     43: 
                     44: BACKUPFILES - This enables backing up files on write.  I guess lots of
                     45:              people like this feature.  It enables the feature but you
                     46:              can still control whether files are backed up with the
                     47:              make-backup-files variable.
                     48: 
                     49: BIFF       - This enables turning on and off BIFF so your screen doesn't
                     50:              get messed up with messages from BIFF.
                     51: 
                     52: JOB_CONTROL - Versions of UNIX that have the job control facility.
                     53:              Berkeley 2.9 system, and the 4.1-3 systems I know have
                     54:              job stopping, so if you're one of those, define
                     55:              this.  The reason MENLO_JCL is defined when JOB_CONTROL
                     56:              is that the 2.9 signal.h file only defines all of the job
                     57:              stopping signals only when MENLO_JCL is defined.
                     58: 
                     59: CHDIR      - This enables the directory commands; PUSHD, POPD, DIRS and
                     60:              CD.  These simulate the csh commands I think exactly.  As
                     61:              a side-effect, absolute pathnames are enabled, which means
                     62:              JOVE parses filenames for "." and ".." and all that to get
                     63:              at what you REALLY mean.  It's nicer when this is enabled,
                     64:              but not essential.
                     65: 
                     66: SPELL     - Enables the spell-buffer and parse-spelling-errors commands.
                     67:             They are nice especially if you have lots of paper writers.
                     68: 
                     69: ABBREV    - Enables word-abbrev-mode which again is nice for paper writers.
                     70: 
                     71: LISP      - Enables Lisp Mode.  This includes code to indent "properly"
                     72:             for Lisp code and new routines to move over s-expressions.
                     73:             You probably won't want (or need) this on PDP-11's.
                     74: 
                     75: ID_CHAR           - Enables support for Insert/Delete character on terminals
                     76:             that have those capabilites.  Couple of problems with this code:
                     77:             it's large, takes up lots of I space which is a problem for the
                     78:             smaller computers (pdp11).  Also, it isn't particularly smart
                     79:             and sometimes does really stupid things.  It sometimes uses
                     80:             insert/delete character when simply redrawing would have been
                     81:             faster.  And if you look at code you'll understand why I don't
                     82:             like it all that much.
                     83: 
                     84: CMT_FMT           - This enables code to format and indent C comments.
                     85: 
                     86: BSD4_2     - Obviously, if you're a Berkeley 4.2 system.
                     87: 
                     88: BSD4_3    - If you're running a Berkeley 4.3 (or very late 4.2) system.
                     89:             This will automatically define BSD4_2, also.
                     90: 
                     91: RESHAPING  - This is for BRL or Berkeley 4.3 systems.  It's not something I
                     92:             dealt with so I can't really describe it.  Got something to do
                     93:             with reshaping the windows that UNIX knows about.  When you try
                     94:             to reshape one of those windows, it sends some signal which JOVE
                     95:             catches and uses to resize its windows.
                     96: 
                     97: IPROCS    - Nice feature which lets you run interactive UNIX commands in
                     98:             windows.  In particular, there is a an i-shell command built
                     99:             in which starts up an interactive shell in a window.  This works
                    100:             only on systems with JOB_CONTROL since it relies on the fancy
                    101:             signal mechanism.
                    102: 
                    103: PIPEPROCS  - If NOT defined, JOVE will use the Berkeley pseudo-ttys when
                    104:             doing interactive processes.  This is infinitely better,
                    105:             since you get job control and all that stuff on i-shells.
                    106:             If defined, the portsrv program will have to be made, and
                    107:             everything will be done using pipes.
                    108: 
                    109: WIRED_TERMS - Include compiled-in hard-wired code for certain terminals,
                    110:             like the Concept 100.  If you don't have these terminals,
                    111:             you probably don't need this (but no point in taking it
                    112:             out unless you're low on space).
                    113: 
                    114: MY_MALLOC  - Use the older version of malloc that is more memory efficient
                    115:             for the VAX.  This is MUCH more efficient than the VAX one.
                    116:             The VAX version seems to place more importance on the speed
                    117:             of the allocation than the amount of memory it uses.  Make your
                    118:             choice ... JOVE hardly ever calls malloc, anyway, relatively
                    119:             speaking, since it allocates lines in big chunks.  NOTE: This
                    120:             seems not to work on suns.
                    121: 
                    122: To make macro files compatible between machines with different byte order I
                    123: use the ntohl() and htonl() calls that are supplied with (as far as I know)
                    124: 4.2 systems.  If you're not running 4.2 a bunch of macros will be defined
                    125: automatically in macros.c.  From Dave Curry:
                    126:        The "#if" gets all the identifiers of backwards (left-endian)
                    127:        machines, the "#else" handles normal (right-endian)
                    128:        machines....  Just add some remark in the READ_ME for people
                    129:        porting to machines other than the Vax or PDP-11 which are
                    130:        left-endian.
                    131: 
                    132: "doc/system.rc" and "doc/example.rc" are jove initialization files.
                    133: "system.rc" is the "system" rc file here at UoR, and it gets ready every
                    134: time JOVE starts up FOR EVERYONE.  ("make install" should copy the
                    135: system-wide .joverc to the right place automatically.)  After that JOVE
                    136: reads an initialization file in the user's home directory, and "example.rc"
                    137: is mine.
                    138: 
                    139: The files "jove.[1234]" in DOC are the official JOVE manual.  I got
                    140: permission from Richard Stallman to use his manual for the original EMACS,
                    141: modifying it where necessary for JOVE.  Lots of work was done by Brian
                    142: Harvey on this manual.
                    143: 
                    144: There are man pages for jove, recover and teachjove.  Teachjove is for
                    145: people who have never used EMACS style editors.  It is an interactive
                    146: tutorial, THE tutorial written by Stallman for the original EMACS, only
                    147: slightly modified for JOVE in the appropriate places.  The man pages are
                    148: completely up to date, thanks to me.
                    149: 
                    150: Thanks to Jay Fenlason at Berkeley for writing the original pty code.
                    151: 
                    152: Thanks to Dave Curry at Purdue for putting in tons of time and effort
                    153: into getting JOVE ready.  It just wouldn't be working without his help.
                    154: 
                    155: Thanks to Jeff Mc Carrell at Berkeley for finding bugs and adding features.
                    156: 
                    157: (Thanks to Brian Harvey for teaching me about linked lists ...)
                    158: 
                    159: Good luck, have fun.
                    160:        Jonathan Payne (payne@rochester until '88)

unix.superglobalmegacorp.com

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