summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs/slime/files/1.2.1.20050630/swank.asd')
-rw-r--r--app-emacs/slime/files/1.2.1.20050630/swank.asd87
1 files changed, 87 insertions, 0 deletions
diff --git a/app-emacs/slime/files/1.2.1.20050630/swank.asd b/app-emacs/slime/files/1.2.1.20050630/swank.asd
new file mode 100644
index 000000000000..1218babe09ce
--- /dev/null
+++ b/app-emacs/slime/files/1.2.1.20050630/swank.asd
@@ -0,0 +1,87 @@
+;;; -*- mode: lisp; syntax: common-lisp; package: common-lisp -*-
+
+(defpackage #:swank-system
+ (:use #:common-lisp
+ #:asdf))
+
+(defpackage #:swank-loader
+ (:use #:common-lisp))
+
+(in-package #:swank-system)
+
+;; http://www.caddr.com/macho/archives/sbcl-devel/2004-3/3014.html
+
+(defclass unsafe-file (cl-source-file) ())
+
+(defmethod perform :around ((op compile-op) (c unsafe-file))
+ (setf (operation-on-warnings op) :ignore
+ (operation-on-failure op) :warn) ; adjust to taste
+ (call-next-method))
+
+(defmacro define-swank-system (&rest sysdep-components)
+ `(defsystem swank
+ :name "Swank is the Common Lips back-end to SLIME"
+ :serial t
+ :components ((:file "swank-backend")
+ (:file "nregex")
+ ,@(mapcar #'(lambda (component)
+ (if (atom component)
+ (list :file component)
+ component))
+ sysdep-components)
+ (:file "swank"))
+ :depends-on (#+sbcl sb-bsd-sockets)))
+
+#+sbcl (define-swank-system
+ "swank-sbcl"
+ "swank-source-path-parser"
+ "swank-source-file-cache"
+ "swank-gray")
+
+#+openmcl (define-swank-system
+ "metering"
+ "swank-openmcl"
+ "swank-gray")
+
+#+cmu (define-swank-system
+ "swank-source-path-parser"
+ "swank-source-file-cache"
+ "swank-cmucl")
+
+#+clisp (define-swank-system
+ "xref"
+ "metering"
+ "swank-clisp"
+ "swank-gray")
+
+#+armedbear (define-swank-system
+ "swank-abcl")
+
+(in-package #:swank-loader)
+
+(defun user-init-file ()
+ "Return the name of the user init file or NIL if it does not exist."
+ (probe-file (merge-pathnames (user-homedir-pathname)
+ (make-pathname :name ".swank" :type "lisp"))))
+
+(defun site-init-file ()
+ "Return the name of the site init file or NIL if it does not exist."
+ (probe-file (make-pathname :name "site-init" :type "lisp" :defaults *load-truename*)))
+
+;; The strategy for loading the site init file and the user init file here
+;; differs significantly from the original in swank-loader.lisp.
+;; swank-loader.lisp does:
+;;
+;; (or (load-site-init-file)
+;; (load-user-init-file))
+;;
+;; But that has the effect of never loading the user init file, which is odd.
+;; Perhaps they mean PROGN rather than OR?
+
+(when (site-init-file)
+ (load (site-init-file)))
+
+(when (user-init-file)
+ (load (user-init-file)))
+
+;; swank.asd ends here