|
|
- ;;; slime-scheme.el --- Support Scheme programs running under Common Lisp
- ;;
- ;; Authors: Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
- ;;
- ;; License: GNU GPL (same license as Emacs)
- ;;
- ;;; Installation:
- ;;
- ;; Add this to your .emacs:
- ;;
- ;; (add-to-list 'load-path "<directory-of-this-file>")
- ;; (add-hook 'slime-load-hook (lambda () (require 'slime-scheme)))
- ;;
- (eval-and-compile
- (require 'slime))
-
- (defun slime-scheme-mode-hook ()
- (slime-mode 1))
-
- (defun slime-scheme-indentation-update (symbol indent packages)
- ;; Does the symbol have an indentation value that we set?
- (when (equal (get symbol 'scheme-indent-function)
- (get symbol 'slime-scheme-indent))
- (put symbol 'slime-scheme-indent indent)
- (put symbol 'scheme-indent-function indent)))
-
- ;;; Initialization
-
- (defun slime-scheme-init ()
- (add-hook 'scheme-mode-hook 'slime-scheme-mode-hook)
- (add-hook 'slime-indentation-update-hooks 'slime-scheme-indentation-update)
- (add-to-list 'slime-lisp-modes 'scheme-mode))
-
- (defun slime-scheme-unload ()
- (remove-hook 'scheme-mode-hook 'slime-scheme-mode-hook)
- (remove-hook 'slime-indentation-update-hooks 'slime-scheme-indentation-update)
- (setq slime-lisp-modes (remove 'scheme-mode slime-lisp-modes)))
-
- (provide 'slime-scheme)
|