Commit 30c6a034 authored by Helmut Eller's avatar Helmut Eller

Return to the previous loading strategy: load everything when

swank-loader is loaded.  It's just to convenient to give that up.  To
customize the fasl directories, the new variable
swank-loader:*fasl-directory* can be set before loading swank-loader.

* swank-loader.lisp (*fasl-directory*, *source-directory*): New variables.
 (load-swank): Call it during loading.
parent d276c546
2006-01-19 Helmut Eller <heller@common-lisp.net>
Return to the previous loading strategy: load everything when
swank-loader is loaded. It's just to convenient to give that up.
To customize the fasl directories, the new variable
swank-loader:*fasl-directory* can be set before loading
swank-loader.
* swank-loader.lisp (*fasl-directory*, *source-directory*): New
variables.
(load-swank): Call it during loading.
2006-01-14 Helmut Eller <heller@common-lisp.net>
* slime.el (slime-compile-defun): If point was at the opening
......
......@@ -1490,9 +1490,8 @@ Return the created process."
(concat slime-path slime-backend))))
(encoding (slime-coding-system-cl-name coding-system))
(filename (slime-to-lisp-filename port-filename)))
(format "%S\n%S\n%S\n\n"
(format "%S\n%S\n\n"
`(load ,loader :verbose t)
`(swank-loader:load-swank)
`(swank:start-server ,filename :external-format ,encoding))))
(defun slime-swank-port-file ()
......@@ -2270,7 +2269,7 @@ side.")
(let ((pkg (ignore-errors (read (current-buffer)))))
(if pkg (format "%S" pkg)))))))
;;; Synchronous requests is implemented in terms of asynchronous
;;; Synchronous requests are implemented in terms of asynchronous
;;; ones. We make an asynchronous request with a continuation function
;;; that `throw's its result up to a `catch' and then enter a loop of
;;; handling I/O until that happens.
......
......@@ -8,9 +8,22 @@
;;; are disclaimed.
;;;
;; If you want customize the source- or fasl-directory you can set
;; swank-loader:*source-directory* resp. swank-loader:*fasl-directory*
;; before loading this files. (you also need to create the
;; swank-loader package.)
;; E.g.:
;;
;; (make-package :swank-laoder)
;; (defparameter swank-loader::*fasl-directory* "/tmp/fasl/")
;; (load ".../swank-loader.lisp")
(cl:defpackage :swank-loader
(:use :cl)
(:export :load-swank))
(:export :load-swank
:*source-directory*
:*fasl-directory*))
(cl:in-package :swank-loader)
......@@ -151,13 +164,20 @@ recompiled."
source-directory))
`("swank-backend" ,@*sysdep-files* "swank")))
(defvar *source-directory* (or *load-pathname*
*default-pathname-defaults*)
"The directory where to look for the source.")
(defvar *fasl-directory* (default-fasl-directory)
"The directory where fasl files should be placed.")
(defun load-swank (&key
(fasl-directory (default-fasl-directory))
(source-directory #.(or *compile-file-pathname*
*load-pathname*
*default-pathname-defaults*)))
(source-directory *source-directory*)
(fasl-directory *fasl-directory*))
(compile-files-if-needed-serially (swank-source-files source-directory)
fasl-directory)
(funcall (intern (string :warn-unimplemented-interfaces) :swank-backend))
(load-site-init-file source-directory)
(load-user-init-file))
(load-swank)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment