|
|
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 create a
29: directory that doesn't get cleared upon reboot, and use that instead.
30: You would probably want to clean out that directory periodically with
31: /etc/cron.
32:
33: For the pdp11 version there is the Ovmakefile. This has only been tested
34: on 2.9bsd. It works pretty well, actually, and it is possible to turn on
35: all the compile time options with this version.
36:
37: Bug reports: If you find bugs in JOVE I would appreciate hearing about
38: them. (My net address is at end of this message.) So, send me the bug
39: reports. If the bug isn't already fixed, I will ask you to send me the
40: fix. If you haven't found the bug, I may be able to, so don't wait until
41: you have found it. If you make improvements to JOVE and want them
42: incorporated into the official version, send me a message explaining what
43: the change is, and I will decide whether I want to include it. If it is
44: possible for your change to be #ifdef'd in, that would be best, since I
45: want to avoid making JOVE huge. For instance, if it's a new package type
46: thing (say, like word abbrev. mode, or something) then it would be best
47: if that were a compile-time option. I will send out periodic updates to
48: mod.sources. I will report all significant bug fixes there, and to
49: net.emacs as well.
50:
51: Here's a list of the compile time options and what they mean:
52:
53: ABBREV - Enables word-abbrev-mode which again is nice for paper writers.
54:
55: BACKUPFILES - This enables backing up files on write. I guess lots of
56: people like this feature. It enables the feature but you
57: can still control whether files are backed up with the
58: make-backup-files variable.
59:
60: BIFF - This enables turning on and off BIFF so your screen doesn't
61: get messed up with messages from BIFF.
62:
63: BSD4_2 - Obviously, if you're a Berkeley 4.2 system.
64:
65: BSD4_3 - If you're running a Berkeley 4.3 or 2.10 system.
66: This will automatically define BSD4_2, also.
67:
68: CHDIR - This enables the directory commands; PUSHD, POPD, DIRS and
69: CD. These simulate the csh commands exactly, I think. As
70: a side-effect, absolute path names are enabled, which means
71: JOVE parses file names for "." and ".." and all that to get
72: at what you REALLY mean. It's nicer when this is enabled,
73: but not essential.
74:
75: CMT_FMT - This enables code to format and indent C comments.
76:
77: ID_CHAR - Enables support for Insert/Delete character on terminals
78: that have those capabilities. Couple of problems with this code:
79: it's large, takes up lots of I space which is a problem for the
80: smaller computers (pdp11). Also, it isn't particularly smart
81: and sometimes does really stupid things. It sometimes uses
82: insert/delete character when simply redrawing would have been
83: faster. And if you look at code you'll understand why I don't
84: like it all that much.
85:
86: IPROCS - Nice feature which lets you run interactive UNIX commands in
87: windows. In particular, there is a shell command built
88: in which starts up an interactive shell in a window. This works
89: only on systems with JOB_CONTROL since it relies on the fancy
90: signal mechanism.
91:
92: JOB_CONTROL - Versions of UNIX that have the job control facility.
93: Berkeley 2.9-10 systems, and the 4.1-3 systems I know have
94: job stopping, so if you're one of those, define
95: this. The reason MENLO_JCL is defined when JOB_CONTROL
96: is that the 2.9 signal.h file only defines all of the job
97: stopping signals only when MENLO_JCL is defined.
98:
99: LISP - Enables Lisp Mode. This includes code to indent "properly"
100: for Lisp code and new routines to move over s-expressions.
101: You probably won't want (or need) this on PDP-11's.
102:
103: MY_MALLOC - Use the older version of malloc that is more memory efficient
104: than the newer 4BSD version. The 4BSD version places more
105: importance on the speed of the allocation than the amount of
106: memory it uses. Make your choice ... JOVE hardly ever calls
107: malloc, anyway, relatively speaking, since it allocates
108: lines in big chunks. NOTE: This doesn't seem to work on suns
109: and the iAPX286.
110:
111: PIPEPROCS - If NOT defined, JOVE will use Berkeley pseudo-ttys when
112: doing interactive processes. This is infinitely better,
113: since you get job control and all that stuff on i-procs.
114: If defined, the portsrv program will have to be made, and
115: all communication between jove and i-procs will be done using
116: pipes.
117:
118: RESHAPING - This is for BRL or Berkeley 4.3 and 2.10 systems. When the
119: window size of the terminal jove is running in is changed
120: a SIGWINCH is sent to all processes in the tty group. This
121: define enables code in jove to catch that signal and reshape
122: its windows.
123:
124: SPELL - Enables the spell-buffer and parse-spelling-errors commands.
125: They are nice especially if you have lots of paper writers.
126:
127: WIRED_TERMS - Include compiled-in hard-wired code for certain terminals,
128: like the Concept 100. If you don't have these terminals,
129: you probably don't need this (but no point in taking it
130: out unless you're low on space).
131:
132: The macros have been rewritten from scratch. The most noteable change is
133: that they are no longer stored in binary files. The write-macros-to-file
134: command writes a file which is suitable for use with the source command.
135: So you can have actual macro definitions in your .joverc if you want. If
136: you have lots of macros defined in the old format, you can use the
137: macvert program to convert them to the new style. You say
138: macvert old-style-macros-file > new-style-macro-file
139:
140: "doc/system.rc" and "doc/example.rc" are jove initialization files.
141: "system.rc" is the "system" rc file here at UoR, and it gets ready every
142: time JOVE starts up FOR EVERYONE. ("make install" should copy the
143: system-wide .joverc to the right place automatically.) After that JOVE
144: reads an initialization file in the user's home directory. "example.rc"
145: is my personal .joverc.
146:
147: The files "jove.[12345]" in DOC are the official JOVE manual. I got
148: permission from Richard Stallman to use his manual for the original EMACS,
149: modifying it where necessary for JOVE. Lots of work was done by Brian
150: Harvey on this manual.
151:
152: There are man pages for jove and teachjove. Teachjove is for people who
153: have never used EMACS style editors. It is an interactive tutorial, THE
154: tutorial written by Stallman for the original EMACS, only slightly
155: modified for JOVE in the appropriate places. The man pages are
156: completely up to date, thanks to me.
157:
158: Thanks to Jay (hack) Fenlason for writing the original pty code.
159:
160: Thanks to Dave Curry at Purdue for putting in tons of time and effort
161: into getting JOVE ready. It just wouldn't be working without his help.
162:
163: Thanks to Jeff Mc Carrell at Berkeley for finding bugs and adding
164: features, in particular, the comment formatter.
165:
166: Thanks to Karl Gegenfurtner for making the PC version.
167:
168: (Thanks to Brian Harvey for teaching me about linked lists ...)
169:
170: Good luck, have fun.
171:
172: Jonathan Payne ([email protected] until '88)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.