[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