1 |
ulm 08/08/01 14:53:10 |
2 |
|
3 |
Added: 70slime-gentoo.el changelog-date.patch |
4 |
dont-call-init.patch fix-ecl.patch |
5 |
fix-slime-indentation.patch |
6 |
fix-swank-listener-hooks-contrib.patch |
7 |
inspect-presentations.patch |
8 |
module-load-gentoo.patch swank.asd |
9 |
Log: |
10 |
Version bump: new CVS snapshot. |
11 |
(Portage version: 2.2_rc3/cvs/Linux 2.6.25-gentoo-r6 i686) |
12 |
(Signed Manifest commit) |
13 |
|
14 |
Revision Changes Path |
15 |
1.1 app-emacs/slime/files/2.0_p20080731/70slime-gentoo.el |
16 |
|
17 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/70slime-gentoo.el?rev=1.1&view=markup |
18 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/70slime-gentoo.el?rev=1.1&content-type=text/plain |
19 |
|
20 |
Index: 70slime-gentoo.el |
21 |
=================================================================== |
22 |
|
23 |
;;; slime site-lisp configuration |
24 |
|
25 |
(add-to-list 'load-path "@SITELISP@") |
26 |
(add-to-list 'load-path "@SITELISP@/contrib") |
27 |
(autoload 'slime-highlight-edits-mode "slime-highlight-edits" nil t) |
28 |
|
29 |
(require 'slime) |
30 |
(slime-setup '(slime-fancy slime-asdf slime-banner)) |
31 |
|
32 |
;; this allows us not to require dev-lisp/hyperspec |
33 |
;; (which is non-free) as a hard dependency |
34 |
(setq common-lisp-hyperspec-root |
35 |
(if (file-exists-p "/usr/share/doc/hyperspec/HyperSpec") |
36 |
"file:///usr/share/doc/hyperspec/HyperSpec/" |
37 |
"http://www.lispworks.com/reference/HyperSpec/")) |
38 |
|
39 |
|
40 |
|
41 |
1.1 app-emacs/slime/files/2.0_p20080731/changelog-date.patch |
42 |
|
43 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/changelog-date.patch?rev=1.1&view=markup |
44 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/changelog-date.patch?rev=1.1&content-type=text/plain |
45 |
|
46 |
Index: changelog-date.patch |
47 |
=================================================================== |
48 |
--- slime-2.0_p20080731-old/slime.el 2008-08-01 15:48:07.000000000 +0200 |
49 |
+++ slime-2.0_p20080731/slime.el 2008-08-01 15:51:15.000000000 +0200 |
50 |
@@ -97,13 +97,7 @@ |
51 |
(defun slime-changelog-date () |
52 |
"Return the datestring of the latest entry in the ChangeLog file. |
53 |
Return nil if the ChangeLog file cannot be found." |
54 |
- (let ((changelog (concat slime-path "ChangeLog"))) |
55 |
- (if (file-exists-p changelog) |
56 |
- (with-temp-buffer |
57 |
- (insert-file-contents-literally changelog nil 0 100) |
58 |
- (goto-char (point-min)) |
59 |
- (symbol-name (read (current-buffer)))) |
60 |
- nil)))) |
61 |
+ "@SLIME-CHANGELOG-DATE@")) |
62 |
|
63 |
(defvar slime-protocol-version nil) |
64 |
(setq slime-protocol-version |
65 |
|
66 |
|
67 |
|
68 |
1.1 app-emacs/slime/files/2.0_p20080731/dont-call-init.patch |
69 |
|
70 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/dont-call-init.patch?rev=1.1&view=markup |
71 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/dont-call-init.patch?rev=1.1&content-type=text/plain |
72 |
|
73 |
Index: dont-call-init.patch |
74 |
=================================================================== |
75 |
diff -ur slime.orig/slime.el slime/slime.el |
76 |
--- slime.orig/slime.el 2008-02-18 14:16:13.000000000 +0100 |
77 |
+++ slime/slime.el 2008-02-18 14:19:55.000000000 +0100 |
78 |
@@ -1432,7 +1432,6 @@ |
79 |
(format "%S\n\n" |
80 |
`(progn |
81 |
(load ,(expand-file-name loader) :verbose t) |
82 |
- (funcall (read-from-string "swank-loader:init")) |
83 |
(funcall (read-from-string "swank:start-server") |
84 |
,port-filename |
85 |
:coding-system ,encoding))))) |
86 |
Only in slime: slime.el.~1.905.~ |
87 |
|
88 |
|
89 |
|
90 |
1.1 app-emacs/slime/files/2.0_p20080731/fix-ecl.patch |
91 |
|
92 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/fix-ecl.patch?rev=1.1&view=markup |
93 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/fix-ecl.patch?rev=1.1&content-type=text/plain |
94 |
|
95 |
Index: fix-ecl.patch |
96 |
=================================================================== |
97 |
diff --git a/swank-ecl.lisp b/swank-ecl.lisp |
98 |
index 6d3786f..c6ddbd5 100644 |
99 |
--- a/swank-ecl.lisp |
100 |
+++ b/swank-ecl.lisp |
101 |
@@ -12,6 +12,7 @@ |
102 |
|
103 |
(defvar *tmp*) |
104 |
|
105 |
+(eval-when (:compile-toplevel) |
106 |
(if (find-package :gray) |
107 |
(import-from :gray *gray-stream-symbols* :swank-backend) |
108 |
(import-from :ext *gray-stream-symbols* :swank-backend)) |
109 |
@@ -21,12 +22,13 @@ |
110 |
:eql-specializer-object |
111 |
:generic-function-declarations |
112 |
:specializer-direct-methods |
113 |
- :compute-applicable-methods-using-classes)) |
114 |
+ :compute-applicable-methods-using-classes))) |
115 |
|
116 |
|
117 |
;;;; TCP Server |
118 |
|
119 |
-(require 'sockets) |
120 |
+(eval-when (:compile-toplevel :load-toplevel :execute) |
121 |
+ (require 'sockets)) |
122 |
|
123 |
(defun resolve-hostname (name) |
124 |
(car (sb-bsd-sockets:host-ent-addresses |
125 |
@@ -206,23 +208,24 @@ |
126 |
|
127 |
;;; Debugging |
128 |
|
129 |
-(import |
130 |
- '(si::*break-env* |
131 |
- si::*ihs-top* |
132 |
- si::*ihs-current* |
133 |
- si::*ihs-base* |
134 |
- si::*frs-base* |
135 |
- si::*frs-top* |
136 |
- si::*tpl-commands* |
137 |
- si::*tpl-level* |
138 |
- si::frs-top |
139 |
- si::ihs-top |
140 |
- si::ihs-fun |
141 |
- si::ihs-env |
142 |
- si::sch-frs-base |
143 |
- si::set-break-env |
144 |
- si::set-current-ihs |
145 |
- si::tpl-commands)) |
146 |
+(eval-when (:compile-toplevel) |
147 |
+ (import |
148 |
+ '(si::*break-env* |
149 |
+ si::*ihs-top* |
150 |
+ si::*ihs-current* |
151 |
+ si::*ihs-base* |
152 |
+ si::*frs-base* |
153 |
+ si::*frs-top* |
154 |
+ si::*tpl-commands* |
155 |
+ si::*tpl-level* |
156 |
+ si::frs-top |
157 |
+ si::ihs-top |
158 |
+ si::ihs-fun |
159 |
+ si::ihs-env |
160 |
+ si::sch-frs-base |
161 |
+ si::set-break-env |
162 |
+ si::set-current-ihs |
163 |
+ si::tpl-commands))) |
164 |
|
165 |
(defvar *backtrace* '()) |
166 |
|
167 |
@@ -230,10 +233,10 @@ |
168 |
(and |
169 |
(symbolp x) |
170 |
(member (symbol-package x) |
171 |
- (list #.(find-package :swank) |
172 |
- #.(find-package :swank-backend) |
173 |
- #.(ignore-errors (find-package :swank-mop)) |
174 |
- #.(ignore-errors (find-package :swank-loader)))) |
175 |
+ (list (find-package :swank) |
176 |
+ (find-package :swank-backend) |
177 |
+ (ignore-errors (find-package :swank-mop)) |
178 |
+ (ignore-errors (find-package :swank-loader)))) |
179 |
t)) |
180 |
|
181 |
(defun is-swank-source-p (name) |
182 |
diff --git a/swank.lisp b/swank.lisp |
183 |
index 8c6ef3a..38479ea 100644 |
184 |
--- a/swank.lisp |
185 |
+++ b/swank.lisp |
186 |
@@ -1419,7 +1419,7 @@ converted to lower case." |
187 |
(process-form-for-emacs (cdr form)))) |
188 |
(character (format nil "?~C" form)) |
189 |
(symbol (concatenate 'string (when (eq (symbol-package form) |
190 |
- #.(find-package "KEYWORD")) |
191 |
+ (find-package "KEYWORD")) |
192 |
":") |
193 |
(string-downcase (symbol-name form)))) |
194 |
(number (let ((*print-base* 10)) |
195 |
|
196 |
|
197 |
|
198 |
1.1 app-emacs/slime/files/2.0_p20080731/fix-slime-indentation.patch |
199 |
|
200 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/fix-slime-indentation.patch?rev=1.1&view=markup |
201 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/fix-slime-indentation.patch?rev=1.1&content-type=text/plain |
202 |
|
203 |
Index: fix-slime-indentation.patch |
204 |
=================================================================== |
205 |
diff --git a/contrib/slime-indentation.el b/contrib/slime-indentation.el |
206 |
index d30478c..9cdc817 100644 |
207 |
--- a/contrib/slime-indentation.el |
208 |
+++ b/contrib/slime-indentation.el |
209 |
@@ -1031,27 +1031,27 @@ stored." |
210 |
|
211 |
(mapcar #'define-cl-indent |
212 |
'((block 1) |
213 |
- (case (4 &rest (&whole 2 &rest 3))) |
214 |
+ (case (4 &rest (&whole 2 &rest 1))) |
215 |
(ccase . case) (ecase . case) |
216 |
(typecase . case) (etypecase . case) (ctypecase . case) |
217 |
- (handler-bind . let) |
218 |
- (handler-case (4 &rest (&whole 2 4 &rest 2))) |
219 |
(catch 1) |
220 |
(cond cl-indent:indent-cond) |
221 |
(defvar (4 2 2)) |
222 |
- (defconstant . defvar) (defparameter . defvar) |
223 |
- (defclass (6 6 (&whole 2 &rest 1) &rest 2)) |
224 |
- (define-modify-macro |
225 |
- (4 &body)) |
226 |
+ (defconstant . defvar) |
227 |
+ (defparameter . defvar) |
228 |
+ (defclass (6 4 (&whole 2 &rest 1) &rest 2 &rest 1)) (define-condition . defclass) |
229 |
+ (define-modify-macro (4 (&whole 4 &rest 1) &body)) |
230 |
(defsetf (4 (&whole 4 &rest 1) 4 &body)) |
231 |
(defun (4 (&whole 4 &rest 1) &body)) |
232 |
- (defmacro . defun) (define-setf-method . defun) (deftype . defun) |
233 |
+ (define-setf-method . defun) |
234 |
+ (define-setf-expander . defun) |
235 |
+ (defmacro . defun) (deftype . defun) |
236 |
(defgeneric cl-indent:indent-defgeneric) |
237 |
(defmethod cl-indent:indent-defmethod) |
238 |
+ (defpackage (4 2)) |
239 |
(defstruct ((&whole 4 &rest (&whole 2 &rest 1)) |
240 |
&rest (&whole 2 &rest 1))) |
241 |
- (destructuring-bind |
242 |
- ((&whole 6 &rest 1) 4 &body)) |
243 |
+ (destructuring-bind ((&whole 6 &rest 1) 4 &body)) |
244 |
(do ((&whole 4 &rest (&whole 1 &rest 2)) ; ((arg step incr)) |
245 |
(&whole 4 &rest 3) ; result: ((condition) (form) ...) |
246 |
&rest cl-indent:indent-do)) |
247 |
@@ -1062,27 +1062,26 @@ stored." |
248 |
(dolist ((&whole 4 2 1) &body)) |
249 |
(dotimes . dolist) |
250 |
(eval-when 1) |
251 |
- (flet ((&whole 4 &rest (&whole 1 (&whole 4 &rest 1) &body)) |
252 |
- &body)) |
253 |
+ (flet ((&whole 4 &rest (&whole 1 (&whole 4 &rest 1) &body)) &body)) |
254 |
(labels . flet) (macrolet . flet) |
255 |
- (if (&rest 2)) |
256 |
+ (handler-case (4 &rest (&whole 2 4 &rest 2))) |
257 |
+ (if (&rest 4)) |
258 |
;; FIXME: Which of those do I really want? |
259 |
;; (lambda ((&whole 4 &rest 1) &body)) |
260 |
- (lambda ((&whole 4 &rest 1) |
261 |
- &rest cl-indent:indent-function-lambda-hack)) |
262 |
+ (lambda ((&whole 4 &rest 1) &rest cl-indent:indent-function-lambda-hack)) |
263 |
(let ((&whole 4 &rest (&whole 1 1 2)) &body)) |
264 |
(let* . let) (compiler-let . let) |
265 |
+ (handler-bind . let) (restart-bind . let) |
266 |
(locally 1) |
267 |
(loop cl-indent::indent-loop-macro) |
268 |
- (multiple-value-bind |
269 |
- ((&whole 6 &rest 1) 4 &body)) |
270 |
- (multiple-value-call |
271 |
- (4 &body)) |
272 |
+ (:method ((&whole 4 &rest 1) &body)) ; in `defgeneric' |
273 |
+ (multiple-value-bind ((&whole 6 &rest 1) 4 &body)) |
274 |
+ (multiple-value-call (4 &body)) |
275 |
(multiple-value-list 1) |
276 |
(multiple-value-prog1 1) |
277 |
- (multiple-value-setq |
278 |
- (4 2)) |
279 |
- (print-unreadable-object 1) |
280 |
+ (multiple-value-setq (4 2)) |
281 |
+ (multiple-value-setf . multiple-value-setq) |
282 |
+ (print-unreadable-object ((&whole 4 1 &rest 1) &body)) |
283 |
;; Combines the worst features of BLOCK, LET and TAGBODY |
284 |
(prog ((&whole 4 &rest 1) &rest cl-indent:indent-tagbody)) |
285 |
(prog* . prog) |
286 |
@@ -1093,14 +1092,15 @@ stored." |
287 |
(restart-case . handler-case) |
288 |
(return 0) |
289 |
(return-from (nil &body)) |
290 |
+ (symbol-macrolet . let) |
291 |
(tagbody cl-indent:indent-tagbody) |
292 |
(throw 1) |
293 |
(unless 1) |
294 |
- (unwind-protect |
295 |
- (5 &body)) |
296 |
+ (unwind-protect (5 &body)) |
297 |
(values 0) |
298 |
(when 1) |
299 |
- (with-accessors (6 4 &body)) |
300 |
+ (with-accessors . multiple-value-bind) |
301 |
+ (with-condition-restarts . multiple-value-bind) |
302 |
(with-compilation-unit (4 &body)) |
303 |
(with-hash-table-iterator (4 &body)) |
304 |
(with-output-to-string (4 &body)) |
305 |
@@ -1109,7 +1109,8 @@ stored." |
306 |
(with-open-stream . with-open-file) |
307 |
(with-package-iterator (4 &body)) |
308 |
(with-simple-restart (4 &body)) |
309 |
- (with-slots (6 4 &body)))) |
310 |
+ (with-slots . multiple-value-bind) |
311 |
+ (with-standard-io-syntax (2)))) |
312 |
|
313 |
;; OK, we're almost finished. |
314 |
;; |
315 |
|
316 |
|
317 |
|
318 |
1.1 app-emacs/slime/files/2.0_p20080731/fix-swank-listener-hooks-contrib.patch |
319 |
|
320 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/fix-swank-listener-hooks-contrib.patch?rev=1.1&view=markup |
321 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/fix-swank-listener-hooks-contrib.patch?rev=1.1&content-type=text/plain |
322 |
|
323 |
Index: fix-swank-listener-hooks-contrib.patch |
324 |
=================================================================== |
325 |
diff --git a/contrib/swank-listener-hooks.lisp b/contrib/swank-listener-hooks.lisp |
326 |
index 64dd7cb..81e6eff 100644 |
327 |
--- a/contrib/swank-listener-hooks.lisp |
328 |
+++ b/contrib/swank-listener-hooks.lisp |
329 |
@@ -5,6 +5,8 @@ |
330 |
;; I guess that only Alan Ruttenberg knows how to use this code. It |
331 |
;; was in swank.lisp for a long time, so here it is. -- Helmut Eller |
332 |
|
333 |
+(in-package :swank) |
334 |
+ |
335 |
(defvar *slime-repl-advance-history* nil |
336 |
"In the dynamic scope of a single form typed at the repl, is set to nil to |
337 |
prevent the repl from advancing the history - * ** *** etc.") |
338 |
|
339 |
|
340 |
|
341 |
1.1 app-emacs/slime/files/2.0_p20080731/inspect-presentations.patch |
342 |
|
343 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/inspect-presentations.patch?rev=1.1&view=markup |
344 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/inspect-presentations.patch?rev=1.1&content-type=text/plain |
345 |
|
346 |
Index: inspect-presentations.patch |
347 |
=================================================================== |
348 |
diff -Naur slime.old/contrib/slime-presentations.el slime/contrib/slime-presentations.el |
349 |
--- slime.old/contrib/slime-presentations.el 2007-10-28 22:21:39.000000000 +0100 |
350 |
+++ slime/contrib/slime-presentations.el 2007-10-28 22:22:31.000000000 +0100 |
351 |
@@ -44,6 +44,15 @@ |
352 |
(make-variable-buffer-local |
353 |
(defvar slime-presentation-start-to-point (make-hash-table))) |
354 |
|
355 |
+(setq slime-inspector-value-provider |
356 |
+ (lambda () |
357 |
+ (multiple-value-bind (presentation start end) |
358 |
+ (slime-presentation-around-point (point)) |
359 |
+ (when presentation |
360 |
+ ;; Point is within a presentation, so don't prompt, just |
361 |
+ ;; inspect the presented object; don't play DWIM. |
362 |
+ (slime-presentation-expression presentation))))) |
363 |
+ |
364 |
(defun slime-mark-presentation-start (id &optional target) |
365 |
"Mark the beginning of a presentation with the given ID. |
366 |
TARGET can be nil (regular process output) or :repl-result." |
367 |
diff -Naur slime.old/slime.el slime/slime.el |
368 |
--- slime.old/slime.el 2007-10-28 22:21:38.000000000 +0100 |
369 |
+++ slime/slime.el 2007-10-28 22:22:31.000000000 +0100 |
370 |
@@ -7454,11 +7454,15 @@ |
371 |
(defvar slime-inspector-mark-stack '()) |
372 |
(defvar slime-saved-window-config) |
373 |
|
374 |
+(defvar slime-inspector-value-provider nil) |
375 |
+ |
376 |
(defun slime-inspect (string) |
377 |
"Eval an expression and inspect the result." |
378 |
(interactive |
379 |
- (list (slime-read-from-minibuffer "Inspect value (evaluated): " |
380 |
- (slime-sexp-at-point)))) |
381 |
+ (list (or (and slime-inspector-value-provider |
382 |
+ (funcall slime-inspector-value-provider)) |
383 |
+ (slime-read-from-minibuffer "Inspect value (evaluated): " |
384 |
+ (slime-sexp-at-point))))) |
385 |
(slime-eval-async `(swank:init-inspector ,string) 'slime-open-inspector)) |
386 |
|
387 |
(define-derived-mode slime-inspector-mode fundamental-mode "Slime-Inspector" |
388 |
|
389 |
|
390 |
|
391 |
1.1 app-emacs/slime/files/2.0_p20080731/module-load-gentoo.patch |
392 |
|
393 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/module-load-gentoo.patch?rev=1.1&view=markup |
394 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/module-load-gentoo.patch?rev=1.1&content-type=text/plain |
395 |
|
396 |
Index: module-load-gentoo.patch |
397 |
=================================================================== |
398 |
diff --git a/swank.lisp b/swank.lisp |
399 |
index 8c6ef3a..3ef640a 100644 |
400 |
--- a/swank.lisp |
401 |
+++ b/swank.lisp |
402 |
@@ -2270,10 +2270,13 @@ Record compiler notes signalled as `compiler-condition's." |
403 |
"Load the module MODULE." |
404 |
(dolist (module (if (listp modules) modules (list modules))) |
405 |
(unless (member (string module) *modules* :test #'string=) |
406 |
- (require module (or filename (module-filename module))))) |
407 |
+ (let ((*load-print* nil) |
408 |
+ (*load-verbose* nil) |
409 |
+ #+cmu (ext:*gc-verbose* nil)) |
410 |
+ (require module (or filename (module-filename module)))))) |
411 |
*modules*) |
412 |
|
413 |
-(defvar *find-module* 'find-module |
414 |
+(defvar *find-module* 'find-module-gentoo |
415 |
"Pluggable function to locate modules. |
416 |
The function receives a module name as argument and should return |
417 |
the filename of the module (or nil if the file doesn't exist).") |
418 |
@@ -2303,6 +2306,21 @@ the filename of the module (or nil if the file doesn't exist).") |
419 |
(some (lambda (dir) (some #'probe-file (module-canditates name dir))) |
420 |
*load-path*))) |
421 |
|
422 |
+(defun swank-fasl-pathname () |
423 |
+ (make-pathname :name nil :type nil |
424 |
+ :defaults (car (asdf:output-files |
425 |
+ (make-instance 'asdf:compile-op) |
426 |
+ (car (asdf:module-components |
427 |
+ (asdf:find-system :swank))))))) |
428 |
+ |
429 |
+(defun append-dir (pathname dir) |
430 |
+ (make-pathname :directory (append (pathname-directory pathname) dir))) |
431 |
+ |
432 |
+(defun find-module-gentoo (module) |
433 |
+ (or (let ((*load-path* (list (append-dir (swank-fasl-pathname) '("contrib")) |
434 |
+ (append-dir swank-loader:*source-directory* '("contrib"))))) |
435 |
+ (find-module module)) |
436 |
+ (find-module module))) |
437 |
|
438 |
;;;; Macroexpansion |
439 |
|
440 |
|
441 |
|
442 |
|
443 |
1.1 app-emacs/slime/files/2.0_p20080731/swank.asd |
444 |
|
445 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/swank.asd?rev=1.1&view=markup |
446 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emacs/slime/files/2.0_p20080731/swank.asd?rev=1.1&content-type=text/plain |
447 |
|
448 |
Index: swank.asd |
449 |
=================================================================== |
450 |
;;; -*- mode: lisp; syntax: common-lisp; package: common-lisp -*- |
451 |
|
452 |
(defpackage #:swank-system |
453 |
(:use #:common-lisp #:asdf)) |
454 |
|
455 |
(defpackage #:swank-loader |
456 |
(:use #:common-lisp) |
457 |
(:export #:*source-directory*)) |
458 |
|
459 |
(in-package #:swank-system) |
460 |
|
461 |
(defun load-user-init-file () |
462 |
"Load the user init file, return NIL if it does not exist." |
463 |
(load (merge-pathnames (user-homedir-pathname) |
464 |
(make-pathname :name ".swank" :type "lisp")) |
465 |
:if-does-not-exist nil)) |
466 |
|
467 |
(defun load-site-init-file () |
468 |
(load (make-pathname :name "site-init" :type "lisp" |
469 |
:defaults *load-truename*) |
470 |
:if-does-not-exist nil)) |
471 |
|
472 |
(defclass no-load-file (cl-source-file) ()) |
473 |
|
474 |
(defmethod perform ((op load-op) (c no-load-file)) nil) |
475 |
|
476 |
(defmacro define-swank-system (sysdep-files) |
477 |
`(defsystem swank |
478 |
:name "Swank is the Common Lips back-end to SLIME" |
479 |
:serial t |
480 |
:components ((:file "swank-backend") |
481 |
(:file "nregex") |
482 |
,@(mapcar #'(lambda (component) |
483 |
(if (atom component) |
484 |
(list :file component) |
485 |
component)) |
486 |
sysdep-files) |
487 |
(:file "swank") |
488 |
(:module "contrib" |
489 |
:components ((:no-load-file "swank-arglists") |
490 |
(:no-load-file "swank-asdf") |
491 |
(:no-load-file "swank-c-p-c") |
492 |
(:no-load-file "swank-fancy-inspector") |
493 |
(:no-load-file "swank-fuzzy") |
494 |
(:no-load-file "swank-indentation") |
495 |
(:no-load-file "swank-listener-hooks") |
496 |
(:no-load-file "swank-motd") |
497 |
(:no-load-file "swank-presentations") |
498 |
(:no-load-file "swank-presentation-streams")))) |
499 |
:depends-on (#+sbcl sb-bsd-sockets) |
500 |
:perform (load-op :after (op swank) |
501 |
(load-site-init-file) |
502 |
(load-user-init-file)))) |
503 |
|
504 |
#+(or cmu scl sbcl openmcl lispworks allegro clisp armedbear cormanlisp ecl) |
505 |
(define-swank-system |
506 |
#+cmu (swank-source-path-parser swank-source-file-cache swank-cmucl) |
507 |
#+scl (swank-source-path-parser swank-source-file-cache swank-scl) |
508 |
#+sbcl (swank-source-path-parser swank-source-file-cache swank-sbcl swank-gray) |
509 |
#+openmcl (metering swank-openmcl swank-gray) |
510 |
#+lispworks (swank-lispworks swank-gray) |
511 |
#+allegro (swank-allegro swank-gray) |
512 |
#+clisp (xref metering swank-clisp swank-gray) |
513 |
#+armedbear (swank-abcl) |
514 |
#+cormanlisp (swank-corman swank-gray) |
515 |
#+ecl (swank-source-path-parser swank-source-file-cache swank-ecl swank-gray)) |
516 |
|
517 |
#-(or cmu scl sbcl openmcl lispworks allegro clisp armedbear cormanlisp ecl) |
518 |
(error "Your CL implementation is not supported !") |
519 |
|
520 |
(in-package #:swank-loader) |
521 |
|
522 |
(defparameter *source-directory* |
523 |
(asdf:component-pathname (asdf:find-system :swank))) |
524 |
|
525 |
;; (funcall (intern (string :warn-unimplemented-interfaces) :swank-backend)) |
526 |
|
527 |
;; swank.asd ends here |