[slime-devel] Bug report: slime-maybe-show-xrefs-for-notes not working

Max Mikhanosha max at openchat.com
Tue Dec 22 19:03:09 UTC 2009


After upgrading to latest CVS version, after doing "load-system" that
produces compiler notes in multiple files, SLIME displays in XREF
window, correctly showing the files and the corresponding compiler
notes, but clicking on compiler notes does not go to any location.

M-x describe-text-properties shows slime-location property as :location

The cause seems to be that (slime-xrefs-for-notes) produces the xref
list in the form of 

(GROUP (NOTE1 :location (:file whatever)) 
       (NOTE2 :location (:file whatever)))
       
but (slime-insert-x refs) eventually expects the the elements to be
(LABEL LOCATION) e.g. (LABEL1 (:location (:file whatever)))

The following fix to slime.el seems to fix it:

(defun slime-xrefs-for-notes (notes)
  (let ((xrefs))
    (dolist (note notes)
      (let* ((location (getf note :location))
             (fn (cadr (assq :file (cdr location))))
             (file (assoc fn xrefs))
             (node
              (cons (format "%s: %s" 
                            (getf note :severity)
                            (slime-one-line-ify (getf note :message)))
                    (list location)))) ;; FIX
        (when fn
          (if file
              (push node (cdr file))
              (setf xrefs (acons fn (list node) xrefs))))))
    xrefs))







More information about the slime-devel mailing list