[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