summaryrefslogtreecommitdiff
path: root/vim/bundle/slimv/slime/swank.asd
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/slimv/slime/swank.asd')
-rw-r--r--vim/bundle/slimv/slime/swank.asd37
1 files changed, 37 insertions, 0 deletions
diff --git a/vim/bundle/slimv/slime/swank.asd b/vim/bundle/slimv/slime/swank.asd
new file mode 100644
index 0000000..d9a7627
--- /dev/null
+++ b/vim/bundle/slimv/slime/swank.asd
@@ -0,0 +1,37 @@
+;;; -*- lisp -*-
+
+;; ASDF system definition for loading the Swank server independently
+;; of Emacs.
+;;
+;; This is only useful if you want to start a Swank server in a Lisp
+;; processes that doesn't run under Emacs. Lisp processes created by
+;; `M-x slime' automatically start the server.
+
+;; Usage:
+;;
+;; (require :swank)
+;; (swank:create-swank-server PORT) => ACTUAL-PORT
+;;
+;; (PORT can be zero to mean "any available port".)
+;; Then the Swank server is running on localhost:ACTUAL-PORT. You can
+;; use `M-x slime-connect' to connect Emacs to it.
+;;
+;; This code has been placed in the Public Domain. All warranties
+;; are disclaimed.
+
+(defpackage :swank-loader
+ (:use :cl))
+
+(in-package :swank-loader)
+
+(defclass swank-loader-file (asdf:cl-source-file) ())
+
+;;;; after loading run init
+
+(defmethod asdf:perform ((o asdf:load-op) (f swank-loader-file))
+ (load (asdf::component-pathname f))
+ (funcall (read-from-string "swank-loader::init") :reload t))
+
+(asdf:defsystem :swank
+ :default-component-class swank-loader-file
+ :components ((:file "swank-loader")))