[slime-cvs] CVS slime

jsnellman jsnellman at common-lisp.net
Fri Jan 4 03:34:37 UTC 2008


Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv10873

Modified Files:
	ChangeLog swank-sbcl.lisp 
Log Message:
	* swank-sbcl.lisp (source-file-source-location): Use the
	debootstrap readtable when appropriate (fixes occasional reader
	errors when using "v" on debugger frames that point to functions
	defined in SBCL). Likewise for the debootstrapping packages.
	(code-location-debug-source-name): Ensure that we always return a
	physical namestring, Emacs won't like a pathname or a logical
	namestring.


--- /project/slime/cvsroot/slime/ChangeLog	2008/01/02 16:02:47	1.1263
+++ /project/slime/cvsroot/slime/ChangeLog	2008/01/04 03:34:34	1.1264
@@ -1,3 +1,13 @@
+2008-01-04  Juho Snellman  <jsnell at iki.fi>
+
+	* swank-sbcl.lisp (source-file-source-location): Use the
+	debootstrap readtable when appropriate (fixes occasional reader
+	errors when using "v" on debugger frames that point to functions
+	defined in SBCL). Likewise for the debootstrapping packages.
+	(code-location-debug-source-name): Ensure that we always return a
+	physical namestring, Emacs won't like a pathname or a logical
+	namestring.
+	
 2008-01-02  Luís Oliveira  <loliveira at common-lisp.net>
 
 	Use sane default values for slime-repl-set-package.
--- /project/slime/cvsroot/slime/swank-sbcl.lisp	2007/09/11 19:31:03	1.185
+++ /project/slime/cvsroot/slime/swank-sbcl.lisp	2008/01/04 03:34:35	1.186
@@ -831,16 +831,19 @@
 (defun source-file-source-location (code-location)
   (let* ((code-date (code-location-debug-source-created code-location))
          (filename (code-location-debug-source-name code-location))
+         (*readtable* (guess-readtable-for-filename filename))
          (source-code (get-source-code filename code-date)))
-    (with-input-from-string (s source-code)
-      (let* ((pos (stream-source-position code-location s))
-             (snippet (read-snippet s pos)))
-      (make-location `(:file ,filename)
-                     `(:position ,(1+ pos))
-                     `(:snippet ,snippet))))))
+    (with-debootstrapping
+      (with-input-from-string (s source-code)
+        (let* ((pos (stream-source-position code-location s))
+               (snippet (read-snippet s pos)))
+          (make-location `(:file ,filename)
+                         `(:position ,(1+ pos))
+                         `(:snippet ,snippet)))))))
 
 (defun code-location-debug-source-name (code-location)
-  (sb-c::debug-source-name (sb-di::code-location-debug-source code-location)))
+  (namestring (truename (sb-c::debug-source-name
+                         (sb-di::code-location-debug-source code-location)))))
 
 (defun code-location-debug-source-created (code-location)
   (sb-c::debug-source-created




More information about the slime-cvs mailing list