Annotation of 43BSD/contrib/jove/README, revision 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.