--- 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*)