/[slime]/slime/swank-allegro.lisp
ViewVC logotype

Diff of /slime/swank-allegro.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.48 by lgorrie, Wed Aug 4 16:18:55 2004 UTC revision 1.49 by lgorrie, Wed Aug 4 17:17:55 2004 UTC
# Line 273  Line 273 
273           (make-location (list :file (namestring (truename file)))           (make-location (list :file (namestring (truename file)))
274                          pos)))                          pos)))
275        ((member :top-level)        ((member :top-level)
276         (list :error (format nil "Defined at toplevel: ~A" fspec)))         (list :error (format nil "Defined at toplevel: ~A" (fspec->string fspec))))
277        (string        (string
278         (let ((pos (position #\: file)))         (let ((pos (position #\: file)))
279           (make-location           (make-location
280            (list :buffer (subseq file 0 pos))            (list :buffer (subseq file 0 pos))
281            (list :position (parse-integer (subseq file (1+ pos)))))))            (list :position (parse-integer (subseq file (1+ pos)))))))
282        (null        (null
283         (list :error (format nil "Unknown source location for ~A" fspec))))))         (list :error (format nil "Unknown source location for ~A" (fspec->string fspec)))))))
284    
285    (defun fspec->string (fspec &aux (*package* (find-package :keyword)))
286      (etypecase fspec
287        (symbol (prin1-to-string fspec))
288        (list (format nil "(method ~A)"
289                      (prin1-to-string (second fspec))))))
290    
291  (defun fspec-definition-locations (fspec)  (defun fspec-definition-locations (fspec)
292    (let ((defs (excl::find-multiple-definitions fspec)))    (let ((defs (excl::find-multiple-definitions fspec)))
293      (loop for (fspec type) in defs      (loop for (fspec type) in defs
294            collect (list fspec (find-fspec-location fspec type)))))            collect (list (list type fspec)
295                            (find-fspec-location fspec type)))))
296    
297  (defimplementation find-definitions (symbol)  (defimplementation find-definitions (symbol)
298    (fspec-definition-locations symbol))    (fspec-definition-locations symbol))

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.49

  ViewVC Help
Powered by ViewVC 1.1.5