--- swank-sbcl.lisp.~1.196.~ 2008-05-19 09:12:52.000000000 -0400 +++ swank-sbcl.lisp 2008-06-19 15:57:20.992066000 -0400 @@ -850,9 +850,14 @@ (plist (sb-c::debug-source-plist dsource))) (if (getf plist :emacs-buffer) (emacs-buffer-source-location code-location plist) + #+#.(swank-backend::sbcl-with-symbol 'debug-source-from 'sb-di) (ecase (sb-di:debug-source-from dsource) (:file (file-source-location code-location)) - (:lisp (lisp-source-location code-location)))))) + (:lisp (lisp-source-location code-location))) + #-#.(swank-backend::sbcl-with-symbol 'debug-source-from 'sb-di) + (if (sb-di:debug-source-namestring dsource) + (file-source-location code-location) + (lisp-source-location code-location))))) ;;; FIXME: The naming policy of source-location functions is a bit ;;; fuzzy: we have FUNCTION-SOURCE-LOCATION which returns the @@ -906,7 +911,12 @@ `(:snippet ,snippet))))))) (defun code-location-debug-source-name (code-location) - (namestring (truename (sb-c::debug-source-name + (namestring (truename (#+#.(swank-backend::sbcl-with-symbol + 'debug-source-name 'sb-di) + sb-c::debug-source-name + #-#.(swank-backend::sbcl-with-symbol + 'debug-source-name 'sb-di) + sb-c::debug-source-namestring (sb-di::code-location-debug-source code-location))))) (defun code-location-debug-source-created (code-location)