UNIX installation specific functions. Please read this file. 0. Building and installing JED requires that you also have the S-Lang library to link to (cc *.c -lslang). Build it first. It should be in ../slang. 1. Pick some place for JED. JED is distributed in a TREE structure: JED_ROOT/ JED_ROOT/src JED_ROOT/info JED_ROOT/doc JED_ROOT/lib JED_ROOT/bin Here JED_ROOT can be anything (e.g., /usr/local/jed). It must be specified in the makefile. It is important that the subdirectories under JED_ROOT remain intact. An environment variable called `JED_ROOT' can also be created to over ride the value compiled with the executable. For simplicity, suppose that after you have unpacked the jed distribution, from the directory: /usr/users/myname/src to create: /usr/users/myname/src/jedxx-y Let's say that you want JED_ROOT to be /usr/local/jed. Then, AFTER you have successfully installed jed, you can simply do: mv /usr/users/myname/src/jedxx-y /usr/local/jed Better yet, simply make /usr/local/jed to be a link: ln -s /usr/users/myname/src/jedxx-y /usr/local/jed !! Please note that if you have an old version of JED installed, remove any environment variable called JED_LIBRARY. It is obsolete. 3. Build JED. To actually build JED, move to the src directory in the JED distribution and copy makefile.unx to makefile: cp makefile.unx makefile Edit the makefile to reflect your system. Instructions are in it. This is also the step where you must specifiy the value of JED_ROOT as described above. * note: JED assumes that the system supplied memcmp routine performs an unsigned comparision. This is NOT the case for SunOS. If your system uses a signed comparison for memcmp, do not use the -DHAS_MEMCMP option. If you do not know, do not use it either. Then type `make' at the prompt. 3.1 If you want to build the XWindows version of JED, type: make xjed at the prompt (assuming you have correctly edited the makefile). 3.2 If you would like to use JED's rmail mode, first read doc/rmail.txt. Then type: make getmail 3.3 JED comes with a highlighting recursive grep program called rgrep. Type: make rgrep Then entering: ./rgrep will dump out a usage. Do with it what you want. It is useful and IMHO is better than grep. 4. Copy the new executable to somewhere on your path, e.g., cp ./jed /usr/local/bin rehash 5. Now move the distribution to the location of JED_ROOT as specified in the first step. 6. By default, when JED starts up, it will load some files out of JED_ROOT/lib then it will look for the file .jedrc in your home directory. If it does not find it, it will load the default file from JED_ROOT/lib. This will give you both emacs and edt emulation. If you do not want that, you will need to copy JED_ROOT/lib/jed.rc to $HOME/.jedrc and edit it. In fact, you are encouraged to copy jed.rc to $HOME/.jedrc and make your own personal changes there. The jed.rc file should be regarded as a template for .jedrc and should not be changed. Many Unix users do not want EDT editor bindings. However, JED is shipped with the EDT bindings enabled. If you do not want the EDT bindings, disable them in your .jedrc file. In particular, read site.sl which is the first file loaded when JED starts. Site specific customization should be placed in defaults.sl. For example, my defaults.sl on my linux system simply loads linux.sl. (See linux.sl) This sets keybindings for the appropriate for console and sets the color to white on blue. See site.sl for details. 8. Optional but highly recommended. Preparse the S-Lang files. This is done by running JED as: % jed -batch -n -l preparse.sl This creates pre-parsed *.slc files that load quicker than *.sl files. If this step fails to work for some reason, JED is probably not properly installed. 9. Again optional: There is a JED announcement list. If you want to be notified of upcoming JED releases, send email to me : davis@amy.tch.harvard.edu 10. That's it. Enjoy. --John