--- slime-2012-05-25_orig/swank-loader.lisp 2012-06-04 23:25:57.000000000 +0530
+++ slime-2012-05-25/swank-loader.lisp 2012-07-25 13:09:34.490100106 +0530
@@ -17,6 +17,10 @@
;; (setq swank-loader::*fasl-directory* "/tmp/fasl/")
;; (swank-loader:init)
+
+(handler-case (require :asdf)
+ (error () (load "/usr/share/common-lisp/source/cl-asdf/asdf.lisp")))
+
(cl:defpackage :swank-loader
(:use :cl)
(:export :init
@@ -122,7 +126,7 @@
(defun slime-version-string ()
"Return a string identifying the SLIME version.
Return nil if nothing appropriate is available."
- (with-open-file (s (merge-pathnames "ChangeLog" *source-directory*)
+ (with-open-file (s "/usr/share/doc/emacs-slime-3.0/Changelog"
:if-does-not-exist nil)
(and s (symbol-name (read s)))))
@@ -139,10 +143,11 @@
(defun binary-pathname (src-pathname binary-dir)
"Return the pathname where SRC-PATHNAME's binary should be compiled."
- (let ((cfp (compile-file-pathname src-pathname)))
- (merge-pathnames (make-pathname :name (pathname-name cfp)
- :type (pathname-type cfp))
- binary-dir)))
+ (declare (ignore binary-dir))
+ (let ((cfp (compile-file-pathname src-pathname)))
+ (merge-pathnames (make-pathname
+ :directory `(:relative "swank" "fasl" ,(unique-dir-name)))
+ (asdf:apply-output-translations cfp))))
(defun handle-swank-load-error (condition context pathname)
(fresh-line *error-output*)