|
|
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.