|
|
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)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.