[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sbcl-devel
Subject:    Re: [Sbcl-devel] Redefinition STYLE-WARNINGS and attendant nonsense
From:       Richard M Kreuter <kreuter () progn ! net>
Date:       2008-06-19 20:22:16
Message-ID: 29734.1213906936 () progn ! net
[Download RAW message or body]

Richard M Kreuter writes:

>    2. Alter the DEBUG-SOURCE structure so that it can record both a
>       filename and an S-expression (this is mostly for
>       FUNCTION-LAMBDA-EXPRESSION).

In case anybody tries the patch with SLIME, the way I changed
DEBUG-SOURCE affects SLIME.  Below is a backward-compatible patch for
swank-sbcl.lisp, which I'll submit to the SLIME list if I commit the
changes.

--
Richard

--- 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)

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Sbcl-devel mailing list
Sbcl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic