Index: swank-source-path-parser.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-source-path-parser.lisp,v
retrieving revision 1.13
diff -u -r1.13 swank-source-path-parser.lisp
--- swank-source-path-parser.lisp	1 Apr 2005 13:59:48 -0000	1.13
+++ swank-source-path-parser.lisp	11 May 2005 12:48:03 -0000
@@ -64,8 +64,15 @@
 subexpressions of the object to stream positions."
   (let* ((*source-map* (make-hash-table :test #'eq))
          (*readtable* (make-source-recording-readtable *readtable* 
-						       *source-map*)))
-    (values (read stream) *source-map*)))
+						       *source-map*))
+	 (start (file-position stream))
+	 (form (read stream))
+	 (end (file-position stream)))
+    ;; ensure that at least FORM is in the source-map
+    (unless (gethash form *source-map*)
+      (push (cons start end)
+	    (gethash form *source-map*)))
+    (values form *source-map*)))
 
 (defun read-source-form (n stream)
   "Read the Nth toplevel form number with source location recording.
