diff options
Diffstat (limited to 'app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch')
-rw-r--r-- | app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch b/app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch new file mode 100644 index 000000000000..c25a248d04ab --- /dev/null +++ b/app-emacs/slime/files/2.0_p20130214/gentoo-module-load.patch @@ -0,0 +1,84 @@ +--- slime-9999-orig/contrib/swank-arglists.lisp 2012-08-14 06:50:34.000000000 +1000 ++++ slime-9999/contrib/swank-arglists.lisp 2013-02-14 21:33:26.879124163 +1100 +@@ -9,8 +9,7 @@ + + (in-package :swank) + +-(eval-when (:compile-toplevel :load-toplevel :execute) +- (swank-require :swank-c-p-c)) ++(swank-require :swank-c-p-c) + + ;;;; Utilities + +--- slime-9999-orig/contrib/swank-fuzzy.lisp 2013-02-02 20:48:51.000000000 +1100 ++++ slime-9999/contrib/swank-fuzzy.lisp 2013-02-14 21:35:32.059873714 +1100 +@@ -10,9 +10,8 @@ + + (in-package :swank) + +-(eval-when (:compile-toplevel :load-toplevel :execute) +- (swank-require :swank-util) +- (swank-require :swank-c-p-c)) ++(swank-require :swank-util) ++(swank-require :swank-c-p-c) + + ;;; For nomenclature of the fuzzy completion section, please read + ;;; through the following docstring. +--- slime-9999-orig/contrib/swank-sbcl-exts.lisp 2009-09-25 16:43:33.000000000 +1000 ++++ slime-9999/contrib/swank-sbcl-exts.lisp 2013-02-14 21:33:26.880124185 +1100 +@@ -7,8 +7,7 @@ + + (in-package :swank) + +-(eval-when (:compile-toplevel :load-toplevel :execute) +- (swank-require :swank-arglists)) ++(swank-require :swank-arglists) + + ;; We need to do this so users can place `slime-sbcl-exts' into their + ;; ~/.emacs, and still use any implementation they want. +--- slime-9999-orig/swank.lisp 2013-01-11 20:00:30.000000000 +1100 ++++ slime-9999/swank.lisp 2013-02-14 22:15:39.624982175 +1100 +@@ -2535,14 +2535,17 @@ + "Load the module MODULE." + (dolist (module (ensure-list modules)) + (unless (member (string module) *modules* :test #'string=) +- (require module (if filename +- (filename-to-pathname filename) +- (module-filename module))) ++ (let ((*load-print* nil) ++ (*load-verbose* nil) ++ #+cmu (ext:*gc-verbose* nil)) ++ (require module (if filename ++ (filename-to-pathname filename) ++ (module-filename module)))) + (assert (member (string module) *modules* :test #'string=) + () "Required module ~s was not provided" 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).") +@@ -2572,6 +2575,21 @@ + (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 + |