1
0
Fork 0
mirror of synced 2024-12-26 08:43:19 -05:00
ultimate-vim/sources_non_forked/slimv/slime/swank.asd
2022-06-05 18:14:25 +08:00

36 lines
1.2 KiB
Common Lisp

;;; -*- 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.
(defclass swank-loader-file (asdf:cl-source-file) ())
;;;; after loading run init
(defmethod asdf:perform ((o asdf:load-op) (f swank-loader-file))
;; swank-loader computes its own source/fasl relation based on the
;; TRUENAME of the loader file, so we need a "manual" CL:LOAD
;; invocation here.
(load (asdf::component-pathname f))
;; After loading, run the swank-loader init routines.
(funcall (read-from-string "swank-loader::init") :reload t))
(asdf:defsystem :swank
:default-component-class swank-loader-file
:components ((:file "swank-loader")))