swank-abcl.lisp (handle-compile-warning):
Report source location position when we can.
Use NAMESTRING for *compile-filename*.
--
"A screaming comes across the sky. It has happened before, but there is
nothing to compare to it now."
Index: swank-abcl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-abcl.lisp,v
retrieving revision 1.58
diff -u -r1.58 swank-abcl.lisp
--- swank-abcl.lisp 17 Oct 2008 21:26:53 -0000 1.58
+++ swank-abcl.lisp 19 Oct 2008 15:02:17 -0000
@@ -127,7 +127,6 @@
(defimplementation local-port (socket)
(java:jcall (java:jmethod "java.net.ServerSocket" "getLocalPort") socket))
-
(defimplementation close-socket (socket)
(ext:server-socket-close socket))
@@ -263,7 +262,6 @@
(defimplementation frame-locals (index)
`(,(list :name "??" :id 0 :value "??")))
-
(defimplementation frame-catch-tags (index)
(declare (ignore index))
nil)
@@ -306,8 +304,11 @@
(in-package :swank-backend)
(defun handle-compiler-warning (condition)
- (let ((loc nil));(getf (slot-value condition 'excl::plist) :loc)))
- (unless (member condition *abcl-signaled-conditions*) ; filter condition signaled more than once.
+ (let ((loc (when (and jvm::*compile-file-pathname*
+ system::*source-position*)
+ (cons jvm::*compile-file-pathname* system::*source-position*))))
+ ;; filter condition signaled more than once.
+ (unless (member condition *abcl-signaled-conditions*)
(push condition *abcl-signaled-conditions*)
(signal (make-condition
'compiler-condition
@@ -325,7 +326,7 @@
(list :position (1+ pos)))))
(t
(make-location
- (list :file *compile-filename*)
+ (list :file (namestring *compile-filename*))
(list :position 1)))))))))
(defvar *abcl-signaled-conditions*)