;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Hooks for running Alleagro Common Lisp (acl) Emacs Interface ;;; Load the Franz interface ;;; ======================== (if (string-match "XEmacs" (emacs-version)) (progn (load "/usr/local/allegro5.0.1/xeli/fi-site-init") ;; This needs to be set to make fi happy in XEmacs (setq minibuffer-confirm-incomplete nil)) (load "/usr/local/allegro5.0.1/eli/fi-site-init")) ;; The default buffer name is "*common-lisp*" but this can be changed (setq fi:common-lisp-buffer-name "*common-lisp*") ;; The directory should be where emacs was started (setq fi:common-lisp-directory (expand-file-name "./")) ;; The default buffer image name is "cl" but we use something much longer (setq fi:common-lisp-image-name "/usr/local/allegro5.0.1/lisp") ;; The image arguments can be modified, new arguments can be added (setq fi:common-lisp-image-arguments nil) ;; The host can also be specified ;(setq fi:common-lisp-host "rautavaara") ;; This is another way to start ACL (defun acl () "This function starts up Allegro Common Lisp with your defaults" (interactive) (fi:common-lisp fi:common-lisp-buffer-name fi:common-lisp-directory fi:common-lisp-image-name fi:common-lisp-image-arguments)) ;;; Tell font-lock about the Franz modes ;;; ==================================== (put 'fi::def-auto-mode 'font-lock-defaults 'lisp-mode) (put 'fi:common-lisp-mode 'font-lock-defaults 'lisp-mode) (put 'fi:emacs-lisp-mode 'font-lock-defaults 'lisp-mode) (put 'fi:franz-lisp-mode 'font-lock-defaults 'lisp-mode) (put 'fi:inferior-common-lisp-mode 'font-lock-defaults 'lisp-mode) (put 'fi:inferior-franz-lisp-mode 'font-lock-defaults 'lisp-mode) (put 'fi:lisp-listener-mode 'font-lock-defaults 'lisp-mode) ;; Hyperspec Support ;;================== (setq load-path (cons "/s/bach/a/class/cs253/elisp" load-path)) ;; Autoload hyperspec (autoload 'hyperspec-lookup "hyperspec" "Load hyperspec" t) ;; Bind key M-h in Lisp mode buffers to hyperspec-lookup (add-hook 'fi:common-lisp-mode-hook (lambda () (define-key fi:common-lisp-mode-map (if (string-match "XEmacs" (emacs-version)) '(meta h) "\M-h") 'hyperspec-lookup))) (setq *hyperspec-url* "http://www.cs.colostate.edu/meps/HyperSpec/") ;; use Netscape as the browser (setq-default browse-url-browser-function 'browse-url-netscape) ;;; Set up Font Lock (the coloring stuff) ;;; ===================================== (setq-default font-lock-auto-fontify t) (setq-default font-lock-use-fonts nil) (setq-default font-lock-use-colors '(color)) (setq-default font-lock-maximum-decoration nil) (setq-default font-lock-maximum-size 256000) (setq-default font-lock-mode-enable-list nil) (setq-default font-lock-mode-disable-list nil) (require 'font-lock) (remove-hook 'font-lock-mode-hook 'turn-on-fast-lock) (remove-hook 'font-lock-mode-hook 'turn-on-lazy-lock) ;;; Turn on paren matching ;;; ====================== (if (string-match "XEmacs" (emacs-version)) (progn (require 'paren) (paren-set-mode 'sexp)) (progn (show-paren-mode 1)))