[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