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