[slime-devel] Lispworks patches.

Eduardo Muñoz emufer at terra.es
Mon Sep 6 23:21:03 UTC 2004



A couple of patches that I found necessary using Lispworks
Personal Edition. These should be considered more a proof of
concept than polished code.

The first one enables the load-library repl-shorcut by just
defining a dummy call-with-compilation-hooks.  The second
does a better work finding files, IMHO, given that the
phisical drive of a file (on windows) is stored as the host
component and it is not used to construct the pathname. Of
course a pathname expert should review the thing before
commit. 



$ diff -u swank-lispworks.lisp~ swank-lispworks.lisp
--- swank-lispworks.lisp~	2004-09-07 00:13:30.000000000 +0200
+++ swank-lispworks.lisp	2004-09-05 18:09:44.000000000 +0200
@@ -313,6 +313,7 @@
     (loop for (dspec location) in locations
           collect (list dspec (make-dspec-location dspec location)))))
 
+

 ;;; Compilation 
 
 (defmacro with-swank-compilation-unit ((location &rest options) &body body)
@@ -327,6 +328,10 @@
   (with-swank-compilation-unit (filename)
     (compile-file filename :load load-p)))
 
+(defimplementation call-with-compilation-hooks (function)
+  ;; #'pray instead of #'handler-bind
+  (funcall function))
+
 (defun map-error-database (database fn)
   (loop for (filename . defs) in database do
 	(loop for (dspec . conditions) in defs do


=======================================================================


$ diff -u swank-loader.lisp~ swank-loader.lisp
--- swank-loader.lisp~	2004-09-04 18:19:52.000000000 +0200
+++ swank-loader.lisp	2004-09-05 17:35:52.000000000 +0200
@@ -15,17 +15,10 @@
 
 (defun make-swank-pathname (name &optional (type "lisp"))
   "Return a pathname with name component NAME in the Slime directory."
-  (merge-pathnames name 
-                   (make-pathname 
-                    :type type
-                    :device 
-                    (pathname-device 
-                     (or *compile-file-pathname* *load-pathname*
-                         *default-pathname-defaults*))
-                    :directory 
-                    (pathname-directory
-                     (or *compile-file-pathname* *load-pathname*
-                         *default-pathname-defaults*)))))
+  (merge-pathnames (make-pathname :name name :type type)
+                   (or *compile-file-pathname*
+                       *load-pathname*
+                       *default-pathname-defaults*)))
 
 (defparameter *sysdep-pathnames*
   (mapcar #'make-swank-pathname 




-- 
Eduardo Muñoz          | (prog () 10 (print "Hello world!")
http://213.97.131.125/ |          20 (go 10))





More information about the slime-devel mailing list