;;; add the CS430 emacs area to your load path (setq load-path (cons (expand-file-name "/usr/local/classes/cs/cs430/emacs/") load-path)) ;;; ilisp system (require 'completer) ;;; autoload the ilisp system if an attempt is made to execute the ;;; lucid or gcl commands. (autoload 'run-ilisp "ilisp" "Select a new inferior LISP." t) (autoload 'lucid "ilisp" "Inferior Lucid Common LISP." t) (autoload 'gcl "ilisp" "Inferior GNU Common LISP." t) ;; declare path names of lisp implementations ;; lucid is installed on the CS research machines only. (setq lucid-program "lucid-full") ;; gcl (gnu commonlisp) is installed on the engr machines only. (setq gcl-program "gcl") ;; whenever you enter lisp mode, cause the ilisp package to be loaded. (setq lisp-mode-hook '(lambda () (require 'ilisp))) ;; output from emacs queries to lisp appears in a separate output window. ;; Things don't work very well if this is set to t. (setq lisp-no-popper nil) ;; when ilisp is finished loading, it will execute these commands (add-hook 'ilisp-load-hook (function (lambda () ;; Set the inferior LISP directory to the directory of ;; the buffer that spawned it on the first prompt. (add-hook 'ilisp-init-hook (function (lambda () (default-directory-lisp ilisp-last-buffer)))) ))) ;; we are using gcl. The binary extension for files is ".o" (add-hook 'ilisp-site-hook (function (lambda () (setq ilisp-init-binary-extension "o") (setq ilisp-init-binary-command "(progn \"o\")") ;; (setq ilisp-binary-extension "sparcf") ))) ; lisp mode indentation fixes (put 'if 'lisp-indent-function nil) (put 'with-open-file 'lisp-indent-function 1) (put 'multiple-value-bind 'lisp-indent-function 2) (put 'loop 'lisp-indent-function 'defun) (put 'sloop 'lisp-indent-function 'defun)