summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs/slime')
-rw-r--r--app-emacs/slime/Manifest21
-rw-r--r--app-emacs/slime/files/2.0_p20080731/70slime-gentoo.el16
-rw-r--r--app-emacs/slime/files/2.0_p20080731/changelog-date.patch17
-rw-r--r--app-emacs/slime/files/2.0_p20080731/dont-call-init.patch12
-rw-r--r--app-emacs/slime/files/2.0_p20080731/fix-ecl.patch98
-rw-r--r--app-emacs/slime/files/2.0_p20080731/fix-slime-indentation.patch110
-rw-r--r--app-emacs/slime/files/2.0_p20080731/fix-swank-listener-hooks-contrib.patch13
-rw-r--r--app-emacs/slime/files/2.0_p20080731/inspect-presentations.patch40
-rw-r--r--app-emacs/slime/files/2.0_p20080731/module-load-gentoo.patch42
-rw-r--r--app-emacs/slime/files/2.0_p20080731/swank.asd78
10 files changed, 442 insertions, 5 deletions
diff --git a/app-emacs/slime/Manifest b/app-emacs/slime/Manifest
index fb6ad154a223..f7dea325428b 100644
--- a/app-emacs/slime/Manifest
+++ b/app-emacs/slime/Manifest
@@ -6,17 +6,28 @@ AUX 2.0_p20070816/70slime-gentoo.el 408 RMD160 081014e38225f55dafa39c51dc2637a19
AUX 2.0_p20070816/changelog-date.patch 706 RMD160 d02b29253ccfabcaef4c3d52a38bc53fb9a86472 SHA1 15f60033d1d62f1b458eedd2735baf1ae03c0547 SHA256 8c3e3abf250d9b03f1574f11716a88e3e71b367984f033cb1a624ccb7db6ded8
AUX 2.0_p20070816/save-restriction-if-possible.patch 3037 RMD160 efd679f170def6a57726dd98a1a5bdc06177ae99 SHA1 36ed8af58a858a6f19fc92aa25058b827ab2f582 SHA256 7047c72d268127d9816e210def27324b7c80b58903f6a90d6597f408ca36d9cc
AUX 2.0_p20070816/swank.asd 2313 RMD160 27ab7ebbfe3d1af58f923a0f329e7ff8526afadf SHA1 c5b4a50c2c2d175aef5ecd4c5ce8e5baab24eff9 SHA256 668cc41f4dc2c3d6a6a27294633901cdbb1e4c0459fe3b52b73ec725b8d98a4c
+AUX 2.0_p20080731/70slime-gentoo.el 552 RMD160 220af3db9ebb5bcb288b882a4c1b2ba65f1cf28c SHA1 150affb85043e4a0681261b4103343ae32c589bc SHA256 ae13873d0cd551de9c21fc10f0b8f7c64e05d8fd7918f0f79eb195cd42200af1
+AUX 2.0_p20080731/changelog-date.patch 714 RMD160 8abca38743900a336fd02058f6d950e62c723dd0 SHA1 22143dd9d4d30130b77cc92badc1c149ab19c5f9 SHA256 9d02ec5b9c96f5d8bd910b237d7d5c75fc350f7ebc226502288e6fe2042629e3
+AUX 2.0_p20080731/dont-call-init.patch 543 RMD160 0e9f88090494cc8be14324fabe8740600f6fb2fc SHA1 828a9bad5a923b99063d4fb5c6afc95dd7553a38 SHA256 a390464d246590b1eef5933d5d97e9e21103bae30bb7e57e521ef495f9651b9c
+AUX 2.0_p20080731/fix-ecl.patch 2680 RMD160 873b470c74f222d39de6b0b10e12ef8e27075577 SHA1 3298a077c4fa6462eb766470a5a294305454ae33 SHA256 e7d73991b2c79f129e2ffd1f97e722b259d3c117177e4e4918b516a45ee426e4
+AUX 2.0_p20080731/fix-slime-indentation.patch 4077 RMD160 301321efeb9f28411f406cc1105a922eac79840f SHA1 5f68e06090bcaa26729802e27b983bf679bd5004 SHA256 7cdb1ba53301f40c3b9e0abb2b4ab1c1cea99ee92cede3b6d42bdd118ca86a79
+AUX 2.0_p20080731/fix-swank-listener-hooks-contrib.patch 562 RMD160 6d1c43d2e9f63d0f79875b913de884eea53a0483 SHA1 6fed36cf1bdbb0b0ee24a580e55ca6dab9e5287e SHA256 6d2566af96b82b29cb10caa0f50c44524705ce6efeb373c66d038272d104abdd
+AUX 2.0_p20080731/inspect-presentations.patch 1853 RMD160 931305e6f2a1242e7f9086f37d7c8bb744417706 SHA1 131f6f215a9c8a5edcd728c9dd911c602b9914d1 SHA256 d6108bbffebf3b10af7ad374d687c6f692d7387370d1fcc35bcf04a3510e2e89
+AUX 2.0_p20080731/module-load-gentoo.patch 1775 RMD160 830a2bd9cb53f98ebba1af46ded28345de3d5497 SHA1 d3d54060b8dc1711da8bf38e3a5436df5ff3e2bc SHA256 48a04f280eaf9dd6dff5acc04023836bf64abf51a3aab740121cc3cc654df362
+AUX 2.0_p20080731/swank.asd 3145 RMD160 c5404bd51c76d0aea57dc1867c3eb5a9837d4404 SHA1 d491856a6f63b69a67e8bb5b09916895db41b04c SHA256 d89564abc939fbc9dbb14369260f80ec1ae201464af2c96158ecc7217891165b
AUX swank-loader.lisp 68 RMD160 28a2624c60122f50ff758923c4ca2ee666ec25ee SHA1 2f1a69b01814de704b9d041096d7c3e20d32faba SHA256 1c42cd16fd6af8e377716c633adb9e0d6172df6001e2aa26eed6a33df420d015
DIST slime-2.0_p20061118.tar.bz2 379335 RMD160 550687c358fa65ca27fdcdc0136b586e58186581 SHA1 cdc69b7b23317a49ee12cd23d9258074d50bb817 SHA256 2de5858fbde7a67d6557419fb3d7b17c9a1dd47a5fe5bbfdecbc1ae0c1fe7839
DIST slime-2.0_p20070816.tar.bz2 500700 RMD160 6b6fb7c4cf0e797d901b4aa4dec45555350621df SHA1 01b4b8b937a543928838f6a19c09a20ab9be3cdb SHA256 dc393f8343b6c7e0ef32802c34e0943d45dc1b93997090d95afa1a0c0c03e977
+DIST slime-2.0_p20080731.tar.bz2 596093 RMD160 fd900b6f872ef134810dc8db0ee0bd467109b002 SHA1 464cf65d79eb8d895a27dbdf166490d3bb315470 SHA256 7c5f3ab65a0e76ff042230a34213f558d9a57c00ef22380876bf9cde9717354b
EBUILD slime-2.0_p20061118.ebuild 992 RMD160 93fe875be1c5d60825d56b6f5978a517c1d466f8 SHA1 bc820d191463a80018added14479830d09c762c1 SHA256 d903536a24122914bb55ec84d1cc284c7464206ea3093733e80b3e8bd609b100
-EBUILD slime-2.0_p20070816-r3.ebuild 2065 RMD160 9e93b758e56abdbab96af8e2dda68d6ffa38b3f1 SHA1 edfc386026ae5d0173cb7cf4266fb16c144e0fcc SHA256 ff836cf954e343933a35bf3e944228bc4cdb5f3516bbaa787cae1ce35f3287a9
-MISC ChangeLog 13699 RMD160 8ab80da71439192da6e66a1229816702e5e85a57 SHA1 e7d6d7538fb648e9503e59e8cf3952cc07ba6040 SHA256 a253624b147c3bc2c30b3b0b0595e15b59cad04a3182db22851aa0a0c1b22902
+EBUILD slime-2.0_p20070816-r3.ebuild 2071 RMD160 ffa0a182cc782ef5621c25cf6a27c897edba941b SHA1 001050189e43f904ca35a30bb741021e77178c90 SHA256 10cf55efe8c4f1eeccd44ebab4765f33472ec027ab6ce5e654934819443836d6
+EBUILD slime-2.0_p20080731.ebuild 2836 RMD160 fe413bce679886652c41984fb23765cfd7298744 SHA1 d994a13326bb4457bca35bc918cd3f83966cc7ce SHA256 95b2dfeafbb41f7b23fb8ebef6b82215bfa3fd9583ae412f925459b653c67dee
+MISC ChangeLog 14338 RMD160 15dbd02043814a335dffe227f5493f628a9745b1 SHA1 08d8476f4260bf50ed2a9e9d1d9d12bbef88d1b3 SHA256 7441e374748ca4b1c64b783faab9d57b7bb366392e9ace7b24f8e8de209ef12b
MISC metadata.xml 1267 RMD160 c7f206f44fcd561788623b4ec596f6e82de74948 SHA1 f91c564e0b518ab158b57faf23d419c144a5898d SHA256 d516dcbafdb0818785833d3a07fe626e74f67cde6f9999e9120b61ec0ae8f172
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
-iEYEARECAAYFAkiTH1wACgkQOeoy/oIi7uy10ACgvUAFe+M/6UzxS70bZc3xc38N
-XRQAn2pdYqS/lT8PzfxNKCQhg1xTFtFu
-=yvZc
+iEYEARECAAYFAkiTI1AACgkQOeoy/oIi7uy26QCg3ccFZOU7RUVIgLLRYEGFSo1D
+St0AoNSBmW00RkR3sR5w/FD9DWgcTHa7
+=zA8G
-----END PGP SIGNATURE-----
diff --git a/app-emacs/slime/files/2.0_p20080731/70slime-gentoo.el b/app-emacs/slime/files/2.0_p20080731/70slime-gentoo.el
new file mode 100644
index 000000000000..ef14fdcfd34e
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/70slime-gentoo.el
@@ -0,0 +1,16 @@
+
+;;; slime site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(add-to-list 'load-path "@SITELISP@/contrib")
+(autoload 'slime-highlight-edits-mode "slime-highlight-edits" nil t)
+
+(require 'slime)
+(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_p20080731/changelog-date.patch b/app-emacs/slime/files/2.0_p20080731/changelog-date.patch
new file mode 100644
index 000000000000..8b70c017e523
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/changelog-date.patch
@@ -0,0 +1,17 @@
+--- slime-2.0_p20080731-old/slime.el 2008-08-01 15:48:07.000000000 +0200
++++ slime-2.0_p20080731/slime.el 2008-08-01 15:51:15.000000000 +0200
+@@ -97,13 +97,7 @@
+ (defun slime-changelog-date ()
+ "Return the datestring of the latest entry in the ChangeLog file.
+ Return nil if the ChangeLog file cannot be found."
+- (let ((changelog (concat slime-path "ChangeLog")))
+- (if (file-exists-p changelog)
+- (with-temp-buffer
+- (insert-file-contents-literally changelog nil 0 100)
+- (goto-char (point-min))
+- (symbol-name (read (current-buffer))))
+- nil))))
++ "@SLIME-CHANGELOG-DATE@"))
+
+ (defvar slime-protocol-version nil)
+ (setq slime-protocol-version
diff --git a/app-emacs/slime/files/2.0_p20080731/dont-call-init.patch b/app-emacs/slime/files/2.0_p20080731/dont-call-init.patch
new file mode 100644
index 000000000000..8f300474fc9b
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/dont-call-init.patch
@@ -0,0 +1,12 @@
+diff -ur slime.orig/slime.el slime/slime.el
+--- slime.orig/slime.el 2008-02-18 14:16:13.000000000 +0100
++++ slime/slime.el 2008-02-18 14:19:55.000000000 +0100
+@@ -1432,7 +1432,6 @@
+ (format "%S\n\n"
+ `(progn
+ (load ,(expand-file-name loader) :verbose t)
+- (funcall (read-from-string "swank-loader:init"))
+ (funcall (read-from-string "swank:start-server")
+ ,port-filename
+ :coding-system ,encoding)))))
+Only in slime: slime.el.~1.905.~
diff --git a/app-emacs/slime/files/2.0_p20080731/fix-ecl.patch b/app-emacs/slime/files/2.0_p20080731/fix-ecl.patch
new file mode 100644
index 000000000000..42a0b24547e2
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/fix-ecl.patch
@@ -0,0 +1,98 @@
+diff --git a/swank-ecl.lisp b/swank-ecl.lisp
+index 6d3786f..c6ddbd5 100644
+--- a/swank-ecl.lisp
++++ b/swank-ecl.lisp
+@@ -12,6 +12,7 @@
+
+ (defvar *tmp*)
+
++(eval-when (:compile-toplevel)
+ (if (find-package :gray)
+ (import-from :gray *gray-stream-symbols* :swank-backend)
+ (import-from :ext *gray-stream-symbols* :swank-backend))
+@@ -21,12 +22,13 @@
+ :eql-specializer-object
+ :generic-function-declarations
+ :specializer-direct-methods
+- :compute-applicable-methods-using-classes))
++ :compute-applicable-methods-using-classes)))
+
+
+ ;;;; TCP Server
+
+-(require 'sockets)
++(eval-when (:compile-toplevel :load-toplevel :execute)
++ (require 'sockets))
+
+ (defun resolve-hostname (name)
+ (car (sb-bsd-sockets:host-ent-addresses
+@@ -206,23 +208,24 @@
+
+ ;;; Debugging
+
+-(import
+- '(si::*break-env*
+- si::*ihs-top*
+- si::*ihs-current*
+- si::*ihs-base*
+- si::*frs-base*
+- si::*frs-top*
+- si::*tpl-commands*
+- si::*tpl-level*
+- si::frs-top
+- si::ihs-top
+- si::ihs-fun
+- si::ihs-env
+- si::sch-frs-base
+- si::set-break-env
+- si::set-current-ihs
+- si::tpl-commands))
++(eval-when (:compile-toplevel)
++ (import
++ '(si::*break-env*
++ si::*ihs-top*
++ si::*ihs-current*
++ si::*ihs-base*
++ si::*frs-base*
++ si::*frs-top*
++ si::*tpl-commands*
++ si::*tpl-level*
++ si::frs-top
++ si::ihs-top
++ si::ihs-fun
++ si::ihs-env
++ si::sch-frs-base
++ si::set-break-env
++ si::set-current-ihs
++ si::tpl-commands)))
+
+ (defvar *backtrace* '())
+
+@@ -230,10 +233,10 @@
+ (and
+ (symbolp x)
+ (member (symbol-package x)
+- (list #.(find-package :swank)
+- #.(find-package :swank-backend)
+- #.(ignore-errors (find-package :swank-mop))
+- #.(ignore-errors (find-package :swank-loader))))
++ (list (find-package :swank)
++ (find-package :swank-backend)
++ (ignore-errors (find-package :swank-mop))
++ (ignore-errors (find-package :swank-loader))))
+ t))
+
+ (defun is-swank-source-p (name)
+diff --git a/swank.lisp b/swank.lisp
+index 8c6ef3a..38479ea 100644
+--- a/swank.lisp
++++ b/swank.lisp
+@@ -1419,7 +1419,7 @@ converted to lower case."
+ (process-form-for-emacs (cdr form))))
+ (character (format nil "?~C" form))
+ (symbol (concatenate 'string (when (eq (symbol-package form)
+- #.(find-package "KEYWORD"))
++ (find-package "KEYWORD"))
+ ":")
+ (string-downcase (symbol-name form))))
+ (number (let ((*print-base* 10))
diff --git a/app-emacs/slime/files/2.0_p20080731/fix-slime-indentation.patch b/app-emacs/slime/files/2.0_p20080731/fix-slime-indentation.patch
new file mode 100644
index 000000000000..f66d5777fb00
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/fix-slime-indentation.patch
@@ -0,0 +1,110 @@
+diff --git a/contrib/slime-indentation.el b/contrib/slime-indentation.el
+index d30478c..9cdc817 100644
+--- a/contrib/slime-indentation.el
++++ b/contrib/slime-indentation.el
+@@ -1031,27 +1031,27 @@ stored."
+
+ (mapcar #'define-cl-indent
+ '((block 1)
+- (case (4 &rest (&whole 2 &rest 3)))
++ (case (4 &rest (&whole 2 &rest 1)))
+ (ccase . case) (ecase . case)
+ (typecase . case) (etypecase . case) (ctypecase . case)
+- (handler-bind . let)
+- (handler-case (4 &rest (&whole 2 4 &rest 2)))
+ (catch 1)
+ (cond cl-indent:indent-cond)
+ (defvar (4 2 2))
+- (defconstant . defvar) (defparameter . defvar)
+- (defclass (6 6 (&whole 2 &rest 1) &rest 2))
+- (define-modify-macro
+- (4 &body))
++ (defconstant . defvar)
++ (defparameter . defvar)
++ (defclass (6 4 (&whole 2 &rest 1) &rest 2 &rest 1)) (define-condition . defclass)
++ (define-modify-macro (4 (&whole 4 &rest 1) &body))
+ (defsetf (4 (&whole 4 &rest 1) 4 &body))
+ (defun (4 (&whole 4 &rest 1) &body))
+- (defmacro . defun) (define-setf-method . defun) (deftype . defun)
++ (define-setf-method . defun)
++ (define-setf-expander . defun)
++ (defmacro . defun) (deftype . defun)
+ (defgeneric cl-indent:indent-defgeneric)
+ (defmethod cl-indent:indent-defmethod)
++ (defpackage (4 2))
+ (defstruct ((&whole 4 &rest (&whole 2 &rest 1))
+ &rest (&whole 2 &rest 1)))
+- (destructuring-bind
+- ((&whole 6 &rest 1) 4 &body))
++ (destructuring-bind ((&whole 6 &rest 1) 4 &body))
+ (do ((&whole 4 &rest (&whole 1 &rest 2)) ; ((arg step incr))
+ (&whole 4 &rest 3) ; result: ((condition) (form) ...)
+ &rest cl-indent:indent-do))
+@@ -1062,27 +1062,26 @@ stored."
+ (dolist ((&whole 4 2 1) &body))
+ (dotimes . dolist)
+ (eval-when 1)
+- (flet ((&whole 4 &rest (&whole 1 (&whole 4 &rest 1) &body))
+- &body))
++ (flet ((&whole 4 &rest (&whole 1 (&whole 4 &rest 1) &body)) &body))
+ (labels . flet) (macrolet . flet)
+- (if (&rest 2))
++ (handler-case (4 &rest (&whole 2 4 &rest 2)))
++ (if (&rest 4))
+ ;; FIXME: Which of those do I really want?
+ ;; (lambda ((&whole 4 &rest 1) &body))
+- (lambda ((&whole 4 &rest 1)
+- &rest cl-indent:indent-function-lambda-hack))
++ (lambda ((&whole 4 &rest 1) &rest cl-indent:indent-function-lambda-hack))
+ (let ((&whole 4 &rest (&whole 1 1 2)) &body))
+ (let* . let) (compiler-let . let)
++ (handler-bind . let) (restart-bind . let)
+ (locally 1)
+ (loop cl-indent::indent-loop-macro)
+- (multiple-value-bind
+- ((&whole 6 &rest 1) 4 &body))
+- (multiple-value-call
+- (4 &body))
++ (:method ((&whole 4 &rest 1) &body)) ; in `defgeneric'
++ (multiple-value-bind ((&whole 6 &rest 1) 4 &body))
++ (multiple-value-call (4 &body))
+ (multiple-value-list 1)
+ (multiple-value-prog1 1)
+- (multiple-value-setq
+- (4 2))
+- (print-unreadable-object 1)
++ (multiple-value-setq (4 2))
++ (multiple-value-setf . multiple-value-setq)
++ (print-unreadable-object ((&whole 4 1 &rest 1) &body))
+ ;; Combines the worst features of BLOCK, LET and TAGBODY
+ (prog ((&whole 4 &rest 1) &rest cl-indent:indent-tagbody))
+ (prog* . prog)
+@@ -1093,14 +1092,15 @@ stored."
+ (restart-case . handler-case)
+ (return 0)
+ (return-from (nil &body))
++ (symbol-macrolet . let)
+ (tagbody cl-indent:indent-tagbody)
+ (throw 1)
+ (unless 1)
+- (unwind-protect
+- (5 &body))
++ (unwind-protect (5 &body))
+ (values 0)
+ (when 1)
+- (with-accessors (6 4 &body))
++ (with-accessors . multiple-value-bind)
++ (with-condition-restarts . multiple-value-bind)
+ (with-compilation-unit (4 &body))
+ (with-hash-table-iterator (4 &body))
+ (with-output-to-string (4 &body))
+@@ -1109,7 +1109,8 @@ stored."
+ (with-open-stream . with-open-file)
+ (with-package-iterator (4 &body))
+ (with-simple-restart (4 &body))
+- (with-slots (6 4 &body))))
++ (with-slots . multiple-value-bind)
++ (with-standard-io-syntax (2))))
+
+ ;; OK, we're almost finished.
+ ;;
diff --git a/app-emacs/slime/files/2.0_p20080731/fix-swank-listener-hooks-contrib.patch b/app-emacs/slime/files/2.0_p20080731/fix-swank-listener-hooks-contrib.patch
new file mode 100644
index 000000000000..1e4d4281f85f
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/fix-swank-listener-hooks-contrib.patch
@@ -0,0 +1,13 @@
+diff --git a/contrib/swank-listener-hooks.lisp b/contrib/swank-listener-hooks.lisp
+index 64dd7cb..81e6eff 100644
+--- a/contrib/swank-listener-hooks.lisp
++++ b/contrib/swank-listener-hooks.lisp
+@@ -5,6 +5,8 @@
+ ;; I guess that only Alan Ruttenberg knows how to use this code. It
+ ;; was in swank.lisp for a long time, so here it is. -- Helmut Eller
+
++(in-package :swank)
++
+ (defvar *slime-repl-advance-history* nil
+ "In the dynamic scope of a single form typed at the repl, is set to nil to
+ prevent the repl from advancing the history - * ** *** etc.")
diff --git a/app-emacs/slime/files/2.0_p20080731/inspect-presentations.patch b/app-emacs/slime/files/2.0_p20080731/inspect-presentations.patch
new file mode 100644
index 000000000000..2a1cfae16545
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/inspect-presentations.patch
@@ -0,0 +1,40 @@
+diff -Naur slime.old/contrib/slime-presentations.el slime/contrib/slime-presentations.el
+--- slime.old/contrib/slime-presentations.el 2007-10-28 22:21:39.000000000 +0100
++++ slime/contrib/slime-presentations.el 2007-10-28 22:22:31.000000000 +0100
+@@ -44,6 +44,15 @@
+ (make-variable-buffer-local
+ (defvar slime-presentation-start-to-point (make-hash-table)))
+
++(setq slime-inspector-value-provider
++ (lambda ()
++ (multiple-value-bind (presentation start end)
++ (slime-presentation-around-point (point))
++ (when presentation
++ ;; Point is within a presentation, so don't prompt, just
++ ;; inspect the presented object; don't play DWIM.
++ (slime-presentation-expression presentation)))))
++
+ (defun slime-mark-presentation-start (id &optional target)
+ "Mark the beginning of a presentation with the given ID.
+ TARGET can be nil (regular process output) or :repl-result."
+diff -Naur slime.old/slime.el slime/slime.el
+--- slime.old/slime.el 2007-10-28 22:21:38.000000000 +0100
++++ slime/slime.el 2007-10-28 22:22:31.000000000 +0100
+@@ -7454,11 +7454,15 @@
+ (defvar slime-inspector-mark-stack '())
+ (defvar slime-saved-window-config)
+
++(defvar slime-inspector-value-provider nil)
++
+ (defun slime-inspect (string)
+ "Eval an expression and inspect the result."
+ (interactive
+- (list (slime-read-from-minibuffer "Inspect value (evaluated): "
+- (slime-sexp-at-point))))
++ (list (or (and slime-inspector-value-provider
++ (funcall slime-inspector-value-provider))
++ (slime-read-from-minibuffer "Inspect value (evaluated): "
++ (slime-sexp-at-point)))))
+ (slime-eval-async `(swank:init-inspector ,string) 'slime-open-inspector))
+
+ (define-derived-mode slime-inspector-mode fundamental-mode "Slime-Inspector"
diff --git a/app-emacs/slime/files/2.0_p20080731/module-load-gentoo.patch b/app-emacs/slime/files/2.0_p20080731/module-load-gentoo.patch
new file mode 100644
index 000000000000..e2b29c5a5456
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/module-load-gentoo.patch
@@ -0,0 +1,42 @@
+diff --git a/swank.lisp b/swank.lisp
+index 8c6ef3a..3ef640a 100644
+--- a/swank.lisp
++++ b/swank.lisp
+@@ -2270,10 +2270,13 @@ Record compiler notes signalled as `compiler-condition's."
+ "Load the module MODULE."
+ (dolist (module (if (listp modules) modules (list modules)))
+ (unless (member (string module) *modules* :test #'string=)
+- (require module (or filename (module-filename module)))))
++ (let ((*load-print* nil)
++ (*load-verbose* nil)
++ #+cmu (ext:*gc-verbose* nil))
++ (require module (or filename (module-filename module))))))
+ *modules*)
+
+-(defvar *find-module* 'find-module
++(defvar *find-module* 'find-module-gentoo
+ "Pluggable function to locate modules.
+ The function receives a module name as argument and should return
+ the filename of the module (or nil if the file doesn't exist).")
+@@ -2303,6 +2306,21 @@ the filename of the module (or nil if the file doesn't exist).")
+ (some (lambda (dir) (some #'probe-file (module-canditates name dir)))
+ *load-path*)))
+
++(defun swank-fasl-pathname ()
++ (make-pathname :name nil :type nil
++ :defaults (car (asdf:output-files
++ (make-instance 'asdf:compile-op)
++ (car (asdf:module-components
++ (asdf:find-system :swank)))))))
++
++(defun append-dir (pathname dir)
++ (make-pathname :directory (append (pathname-directory pathname) dir)))
++
++(defun find-module-gentoo (module)
++ (or (let ((*load-path* (list (append-dir (swank-fasl-pathname) '("contrib"))
++ (append-dir swank-loader:*source-directory* '("contrib")))))
++ (find-module module))
++ (find-module module)))
+
+ ;;;; Macroexpansion
+
diff --git a/app-emacs/slime/files/2.0_p20080731/swank.asd b/app-emacs/slime/files/2.0_p20080731/swank.asd
new file mode 100644
index 000000000000..8285c6874915
--- /dev/null
+++ b/app-emacs/slime/files/2.0_p20080731/swank.asd
@@ -0,0 +1,78 @@
+;;; -*- mode: lisp; syntax: common-lisp; package: common-lisp -*-
+
+(defpackage #:swank-system
+ (:use #:common-lisp #:asdf))
+
+(defpackage #:swank-loader
+ (:use #:common-lisp)
+ (:export #:*source-directory*))
+
+(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 *load-truename*)
+ :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
+ :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-files)
+ (:file "swank")
+ (:module "contrib"
+ :components ((:no-load-file "swank-arglists")
+ (:no-load-file "swank-asdf")
+ (:no-load-file "swank-c-p-c")
+ (:no-load-file "swank-fancy-inspector")
+ (:no-load-file "swank-fuzzy")
+ (:no-load-file "swank-indentation")
+ (:no-load-file "swank-listener-hooks")
+ (:no-load-file "swank-motd")
+ (:no-load-file "swank-presentations")
+ (:no-load-file "swank-presentation-streams"))))
+ :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 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)
+ #+openmcl (metering 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 lispworks allegro clisp armedbear cormanlisp ecl)
+(error "Your CL implementation is not supported !")
+
+(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