40 lines
1.3 KiB
Common Lisp
40 lines
1.3 KiB
Common Lisp
;;; This file is intended to be loaded by an implementation to
|
|
;;; get a running swank server
|
|
;;; e.g. sbcl --load start-swank.lisp
|
|
;;;
|
|
;;; Default port is 4005
|
|
|
|
;;; For additional swank-side configurations see
|
|
;;; 6.2 section of the Slime user manual.
|
|
;;;
|
|
;;; Modified for Slimv:
|
|
;;; - don't close connection
|
|
;;; - pass swank port in environment variable
|
|
|
|
(load (merge-pathnames "swank-loader.lisp" *load-truename*))
|
|
|
|
(swank-loader:init
|
|
:delete nil ; delete any existing SWANK packages
|
|
:reload nil ; reload SWANK, even if the SWANK package already exists
|
|
:load-contribs nil ; load all contribs
|
|
:from-emacs nil) ; not started from emacs
|
|
|
|
(defun my-getenv (name &optional default)
|
|
#+CMU
|
|
(let ((x (assoc name ext:*environment-list*
|
|
:test #'string=)))
|
|
(if x (cdr x) default))
|
|
#-CMU
|
|
(or
|
|
#+Allegro (sys:getenv name)
|
|
#+CLISP (ext:getenv name)
|
|
#+ECL (si:getenv name)
|
|
#+SBCL (sb-unix::posix-getenv name)
|
|
#+LISPWORKS (lispworks:environment-variable name)
|
|
#+CCL (ccl::getenv name)
|
|
default))
|
|
|
|
(swank:create-server :port (parse-integer (my-getenv "SWANK_PORT" "4005"))
|
|
;; if non-nil the connection won't be closed
|
|
;; after connecting
|
|
:dont-close t)
|