Browse code
Fix lisp implementation
Ed Langley authored on 27/01/2019 05:17:38
Showing 2 changed files
Showing 2 changed files
... | ... |
@@ -81,22 +81,26 @@ |
81 | 81 |
|
82 | 82 |
(defun slime-ecl () |
83 | 83 |
(interactive) |
84 |
- (let ((inferior-lisp-program "ecl")) |
|
84 |
+ (let ((inferior-lisp-program "ecl") |
|
85 |
+ (slime-lisp-implementations nil)) |
|
85 | 86 |
(slime))) |
86 | 87 |
|
87 | 88 |
(defun slime-cmucl () |
88 | 89 |
(interactive) |
89 |
- (let ((inferior-lisp-program "cmucl")) |
|
90 |
+ (let ((inferior-lisp-program "cmucl") |
|
91 |
+ (slime-lisp-implementations nil)) |
|
90 | 92 |
(slime))) |
91 | 93 |
|
92 | 94 |
(defun slime-sbcl () |
93 | 95 |
(interactive) |
94 |
- (let ((inferior-lisp-program "sbcl")) |
|
96 |
+ (let ((inferior-lisp-program "sbcl") |
|
97 |
+ (slime-lisp-implementations nil)) |
|
95 | 98 |
(slime))) |
96 | 99 |
|
97 | 100 |
(defun slime-ccl () |
98 | 101 |
(interactive) |
99 |
- (let ((inferior-lisp-program "ccl")) |
|
102 |
+ (let ((inferior-lisp-program "ccl") |
|
103 |
+ (slime-lisp-implementations nil)) |
|
100 | 104 |
(slime))) |
101 | 105 |
|
102 | 106 |
(defun find-use-clause (current-form) |
... | ... |
@@ -123,9 +127,34 @@ |
123 | 127 |
slime-company |
124 | 128 |
slime-macrostep |
125 | 129 |
slime-trace-dialog |
126 |
- slime-mdot-fu)) |
|
130 |
+ slime-mdot-fu |
|
131 |
+ slime-buffer-streams |
|
132 |
+ slime-indentation)) |
|
127 | 133 |
|
128 | 134 |
(slime-setup) |
129 | 135 |
|
130 |
- ;;;;; }}} |
|
136 |
+;;;;; }}} |
|
137 |
+ |
|
138 |
+(defmacro define-lisp-implementations (&rest decl) |
|
139 |
+ `(progn |
|
140 |
+ ,@(cl-loop for (symbol . args) in decl |
|
141 |
+ collect `(progn |
|
142 |
+ (defun ,symbol () |
|
143 |
+ (interactive) |
|
144 |
+ (slime ',symbol)) |
|
145 |
+ (cl-pushnew '(,symbol ,@args) slime-lisp-implementations |
|
146 |
+ :key 'car))))) |
|
147 |
+ |
|
148 |
+(with-eval-after-load "slime" |
|
149 |
+ (when (or (eq system-type 'gnu/linux) |
|
150 |
+ (eq system-type 'darwin)) |
|
151 |
+ (define-lisp-implementations |
|
152 |
+ (abcl ("abcl")) |
|
153 |
+ (ccl ("ccl")) |
|
154 |
+ (clisp ("clisp")) |
|
155 |
+ (cmucl ("cmucl" "-quiet")) |
|
156 |
+ (ecl ("ecl")) |
|
157 |
+ ;;(mkcl ("mkcl")) |
|
158 |
+ ;;(xcl ("xcl")) |
|
159 |
+ (sbcl ("sbcl" "--dynamic-space-size" "8192"))))) |
|
131 | 160 |
|