site-lisp Install Logo i3SP Logo

First, download the latest i3sp-site-lisp package from the Download Page.

This package provides many extensions to the jde mode. See Other Packages for how to retrieve these packages.

The install process attempts to install the i3sp subdirectory somewhere within your load-path, so that emacs can find it when it starts up. DO NOT extract the contents of the downloaded tarball into your load-path directly! Extract it somewhere else, like in your home directory, or in your C:\temp directory.

It is best to run the install process as the same user who installed emacs - this prevents any permission problems from occurring, but if this is not possible, it is still possible to install it for a single user. See the instructions for single-user install below.

You should read the paragraph below on site-start.el and default.el to understand how the site-start.el and default.el files work. If you install this package and there are errors when you start emacs - READ THE PARAGRAPH BELOW!

To install this package, either load the install.el file in emacs and then:

M-x eval-current-buffer
M-x load-file install.el

It will ask you where you want to install the package. To work, it must be on your load-path (try C-h v load-path). The install.el will install the i3sp subdirectory as a subdirectory of the path you give during the install process. It will chack that there is a subdirs.el to add the sibdirectory to the load-path and if not, prompt you to install one.

It will also check if the site-start.el and default.el it installs will be the first ones on your load-path (and therefore the ones that get called by emacs when it starts up). If they are not, but the ones that are first on the path are writable, it will ask if you want to add explicit directions to load the installed files. You can opt out of this, but you will have to sort out your loading yourself.

site-start.el and default.el

A quick explanation. This package provides a site-start.el and a default.el. When emacs starts up, it looks for a site-start.el somewhere in its load-path. This happens BEFORE your .emacs file is loaded, so this is the builtin load-path, not a modified one. It then loads the site-start.el. Then it loads your .emacs file. Then it look in the load-path (possibly modified by site-start.el or your .emacs) for a default.el and loads that. This package relies on both of it's versions of those files being loaded. On install, it warns you if it's versions are not the first in the load path. If you can write those files, it will ask if you want to modify them to load it's versions.

Single User Setup

If you do not have permission to write to any directory on the load-path, you can still set the package up so that it will work for an individual user.

Firstly, choose a directory the user can write to to use as an emacs site-lisp directory (such as ~/site-lisp or C:\site-lisp). Then add this to your load-path in your .emacs file, by adding:

    (setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))

Restart your emacs and run the install.el. Choose to install the package in the directory we just added to the load-path. Ignore any warnings about the default.el and site-start.el - we are going to load them directly. Add the following to the top of your .emacs file (but below the load-path modification):

    (load-file (expand-file-name "~/site-lisp/i3sp/site-start.el"))

substituting "~/site-lisp" for the loaction you installed the i3sp package in. Add the following to the end of your .emacs:

    (load-file (expand-file-name "~/site-lisp/i3sp/default.el"))

Other Packages

The JDEE (Java development environment for emacs) can be downloaded from the download page or directly . The current release of i3sp-site-lisp was developed using jde-2.2.9beta9.1.

The JDEE uses other packages that don't come standard with FSF Emacs. These are listed below:

These packages are provided by the CEDET project and can be downloaded from their homepage or from their Sourceforge Project Page, except for elib, which can be downloaded direct from

Note that using this package, steps 4 and 5 of the JDEE installation instructions, referring to adding those packages to your load-path etc. are not applicable. by placing those packages in your site-lisp directory along with the i3sp package, they are automatically loaded.

If you don't have or don't want the jde, you might need to add the following to the customisations in your .emacs. Note that this modifies the customisations emacs makes automatically. There should already be a custom-set-variables statement in your .emacs. If there isn't add one exactly as is here:

;; you should already have this... add it if you can't find it.
  ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
;;; Put this stuff in!
 '(i3sp-startup-jde-mode nil)
;;; add this if it's not there

This package also adds some support for ECB. ECB can be downloaded from If you install ECB in your load-path (next to i3sp), enabling the i3sp-startup-load-ecb variable will automatically load it for you. The i3sp-settings-ecb-keep-window-width variable adds hooks to keep your edit windows a fixed width and resize your frame when you activate/deactivate ecb, based on your ecb-windows-width setting.

This package also adds some support for Gnuserv. I use gnuserv a lot since this package causes emacs to take a while to startup. I run emacs in the background iconized using a shell function:

semacs () 
    uname -n >$HOME/.gnuhost;
    ( cd $HOME && GNU_SECURE=~/.gnu_secure /usr/local/bin/emacs -iconic & )

~/.gnu_secure has my machine access list in it. I then edit files using a script:

gnuclient -h `cat $HOME/.gnuhost` $*

I set EDITOR and WINEDITOR to the name of this script so it works with cvs etc. Using i3sp-frame-buffers this makes each frame appear as though it is a seperate emacs instance, with shared buffer lists, but killing a frame will remove all the files started from that frame, so I can keep that emacs going for days without buffers cluttering up.

GNUServ can be found here. Note that the gnuserv.el is already included in the package, but you do need the gnuserv and gnuclient programs for your system. I use GNUServ 2.1alpha, which can be downloaded from here. For Win32, read the "Emacs for Win32" FAQ GNUServ section.
Copyright © , 2002