diff options
Diffstat (limited to 'app-emacs/slime/files/2.0_p20110617')
-rw-r--r-- | app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el | 15 | ||||
-rw-r--r-- | app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch | 16 | ||||
-rw-r--r-- | app-emacs/slime/files/2.0_p20110617/swank.asd | 98 |
3 files changed, 129 insertions, 0 deletions
diff --git a/app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el b/app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el new file mode 100644 index 000000000000..358af67d918d --- /dev/null +++ b/app-emacs/slime/files/2.0_p20110617/70slime-gentoo.el @@ -0,0 +1,15 @@ +;;; site-lisp configuration for SLIME + +(add-to-list 'load-path "@SITELISP@") +(add-to-list 'load-path "@SITELISP@/contrib") +(autoload 'slime-highlight-edits-mode "slime-highlight-edits") + +(require 'slime-autoloads) +(slime-setup '(slime-fancy slime-asdf slime-banner)) + +;; this allows us not to require dev-lisp/hyperspec +;; (which is non-free) as a hard dependency +(setq common-lisp-hyperspec-root + (if (file-exists-p "/usr/share/doc/hyperspec/HyperSpec") + "file:///usr/share/doc/hyperspec/HyperSpec/" + "http://www.lispworks.com/reference/HyperSpec/")) diff --git a/app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch b/app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch new file mode 100644 index 000000000000..410c3913a2a1 --- /dev/null +++ b/app-emacs/slime/files/2.0_p20110617/gentoo-dont-call-init.patch @@ -0,0 +1,16 @@ +Author: Stelian Ionescu <sionescu@cddr.org> +Date: 2010-05-14 +Status: Gentoo-only +Description: Dont' call SWANK-LOADER:INIT on startup since we don't use + the upstream swank-loader.lisp + +--- a/slime.el ++++ b/slime.el +@@ -1323,7 +1323,6 @@ See `slime-start'." + `(progn + (load ,(slime-to-lisp-filename (expand-file-name loader)) + :verbose t) +- (funcall (read-from-string "swank-loader:init")) + (funcall (read-from-string "swank:start-server") + ,(slime-to-lisp-filename port-filename) + :coding-system ,encoding))))) diff --git a/app-emacs/slime/files/2.0_p20110617/swank.asd b/app-emacs/slime/files/2.0_p20110617/swank.asd new file mode 100644 index 000000000000..b33ca6e67cb0 --- /dev/null +++ b/app-emacs/slime/files/2.0_p20110617/swank.asd @@ -0,0 +1,98 @@ +;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- + +(defpackage #:swank-system + (:use #:common-lisp #:asdf)) + +(in-package #:swank-system) + +(defun load-user-init-file () + "Load the user init file, return NIL if it does not exist." + (load (merge-pathnames (user-homedir-pathname) + (make-pathname :name ".swank" :type "lisp")) + :if-does-not-exist nil)) + +(defun load-site-init-file () + (load (make-pathname :name "site-init" :type "lisp" + :defaults (truename + (asdf:system-definition-pathname + (asdf:find-system :swank)))) + :if-does-not-exist nil)) + +(defclass no-load-file (cl-source-file) ()) + +(defmethod perform ((op load-op) (c no-load-file)) nil) + +(defmacro define-swank-system (sysdep-files) + `(defsystem :swank + :description "Swank is the Common Lisp back-end to SLIME" + :serial t + :components ((:file "swank-backend") + (:file "nregex") + ,@(mapcar #'(lambda (component) + (if (atom component) + (list :file component) + component)) + sysdep-files) + (:file "swank-match") + (:file "swank-rpc") + (:file "swank") + (:module "contrib" + :components ((:no-load-file "swank-c-p-c") + (:no-load-file "swank-arglists" + :depends-on ("swank-c-p-c")) + (:no-load-file "swank-asdf") + (:no-load-file "swank-clipboard") + (:no-load-file "swank-fancy-inspector") + (:no-load-file "swank-fuzzy" + :depends-on ("swank-c-p-c")) + (:no-load-file "swank-hyperdoc") + (:no-load-file "swank-indentation") + (:no-load-file "swank-listener-hooks") + (:no-load-file "swank-media") + (:no-load-file "swank-motd") + (:no-load-file "swank-package-fu") + (:no-load-file "swank-presentations") + (:no-load-file "swank-presentation-streams" + :depends-on ("swank-presentations")) + (:no-load-file "swank-sbcl-exts" + :depends-on ("swank-arglists")) + (:no-load-file "swank-snapshot") + (:no-load-file "swank-sprof")))) + :depends-on (#+sbcl sb-bsd-sockets) + :perform (load-op :after (op swank) + (load-site-init-file) + (load-user-init-file)))) + +#+(or cmu scl sbcl openmcl clozurecl lispworks allegro clisp armedbear cormanlisp ecl) +(define-swank-system + #+cmu (swank-source-path-parser swank-source-file-cache swank-cmucl) + #+scl (swank-source-path-parser swank-source-file-cache swank-scl) + #+sbcl (swank-source-path-parser swank-source-file-cache swank-sbcl swank-gray) + #+(or openmcl clozurecl) (metering + #.(if (and (find-package "CCL") + (fboundp (intern "COMPUTE-APPLICABLE-METHODS-USING-CLASSES" "CCL"))) + 'swank-ccl + 'swank-openmcl) + swank-gray) + #+lispworks (swank-lispworks swank-gray) + #+allegro (swank-allegro swank-gray) + #+clisp (xref metering swank-clisp swank-gray) + #+armedbear (swank-abcl) + #+cormanlisp (swank-corman swank-gray) + #+ecl (swank-source-path-parser swank-source-file-cache swank-ecl swank-gray)) + +#-(or cmu scl sbcl openmcl clozurecl lispworks allegro clisp armedbear cormanlisp ecl) +(error "Your CL implementation is not supported !") + +(defpackage #:swank-loader + (:use #:common-lisp) + (:export #:*source-directory*)) + +(in-package #:swank-loader) + +(defparameter *source-directory* + (asdf:component-pathname (asdf:find-system :swank))) + +;; (funcall (intern (string :warn-unimplemented-interfaces) :swank-backend)) + +;; swank.asd ends here |