[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Sun Jan 4 20:53:30 UTC 2009


Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv18082

Modified Files:
	ChangeLog slime.el swank-cmucl.lisp 
Log Message:
* swank-cmucl.lisp (note-error-location): If possible, include the
filename.
* slime.el (slime-goto-location-position): Add :eof as position
kind.

--- /project/slime/cvsroot/slime/ChangeLog	2009/01/03 21:33:51	1.1630
+++ /project/slime/cvsroot/slime/ChangeLog	2009/01/04 20:53:30	1.1631
@@ -1,3 +1,10 @@
+2009-01-04  Helmut Eller  <heller at common-lisp.net>
+
+	* swank-cmucl.lisp (note-error-location): If possible, include the
+	filename.
+	* slime.el (slime-goto-location-position): Add a :eof as position
+	kind.
+
 2009-01-03  Helmut Eller  <heller at common-lisp.net>
 
 	* slime.el (slime-goto-location-buffer): Don't goto point-min.
--- /project/slime/cvsroot/slime/slime.el	2009/01/03 21:33:51	1.1095
+++ /project/slime/cvsroot/slime/slime.el	2009/01/04 20:53:30	1.1096
@@ -3423,7 +3423,9 @@
             (goto-char start-position)
             (slime-forward-positioned-source-path source-path))
            (t
-            (slime-forward-source-path source-path))))))
+            (slime-forward-source-path source-path))))
+    ((:eof)
+     (goto-char (point-max)))))
 
 (defun slime-eol-conversion-fixup (n)
   ;; Return the number of \r\n eol markers that we need to cross when
--- /project/slime/cvsroot/slime/swank-cmucl.lisp	2008/12/30 18:57:54	1.205
+++ /project/slime/cvsroot/slime/swank-cmucl.lisp	2009/01/04 20:53:30	1.206
@@ -479,16 +479,22 @@
 Return a `location' record, or (:error REASON) on failure."
   (if (null context)
       (note-error-location)
-      (let ((file (c::compiler-error-context-file-name context))
-            (source (c::compiler-error-context-original-source context))
-            (path
-             (reverse (c::compiler-error-context-original-source-path context))))
-        (or (locate-compiler-note file source path)
+      (with-struct (c::compiler-error-context- file-name 
+                                               original-source
+                                               original-source-path) context
+        (or (locate-compiler-note file-name original-source 
+                                  (reverse original-source-path))
             (note-error-location)))))
 
 (defun note-error-location ()
   "Pseudo-location for notes that can't be located."
-  (list :error "No error location available."))
+  (cond (*compile-file-truename*
+         (make-location (list :file (unix-truename *compile-file-truename*))
+                        (list :eof)))
+        (*buffer-name*
+         (make-location (list :buffer *buffer-name*)
+                        (list :position *buffer-start-position*)))
+        (t (list :error "No error location available."))))
 
 (defun locate-compiler-note (file source source-path)
   (cond ((and (eq file :stream) *buffer-name*)





More information about the slime-cvs mailing list