Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
marvel
GitHub Repository: marvel/qnf
Path: blob/master/elisp/slime/contrib/slime-scheme.el
990 views
1
;;; slime-scheme.el --- Support Scheme programs running under Common Lisp
2
;;
3
;; Authors: Matthias Koeppe <[email protected]>
4
;;
5
;; License: GNU GPL (same license as Emacs)
6
;;
7
;;; Installation:
8
;;
9
;; Add this to your .emacs:
10
;;
11
;; (add-to-list 'load-path "<directory-of-this-file>")
12
;; (add-hook 'slime-load-hook (lambda () (require 'slime-scheme)))
13
;;
14
15
(defun slime-scheme-mode-hook ()
16
(slime-mode 1))
17
18
(defun slime-scheme-indentation-update (symbol indent)
19
;; Does the symbol have an indentation value that we set?
20
(when (equal (get symbol 'scheme-indent-function)
21
(get symbol 'slime-scheme-indent))
22
(put symbol 'slime-scheme-indent indent)
23
(put symbol 'scheme-indent-function indent)))
24
25
26
;;; Initialization
27
28
(defun slime-scheme-init ()
29
(add-hook 'scheme-mode-hook 'slime-scheme-mode-hook)
30
(add-hook 'slime-indentation-update-hooks 'slime-scheme-indentation-update)
31
(add-to-list 'slime-lisp-modes 'scheme-mode))
32
33
(defun slime-scheme-unload ()
34
(remove-hook 'scheme-mode-hook 'slime-scheme-mode-hook)
35
(remove-hook 'slime-indentation-update-hooks 'slime-scheme-indentation-update)
36
(setq slime-lisp-modes (remove 'scheme-mode slime-lisp-modes)))
37
38
(provide 'slime-scheme)
39
40