Hi!
Nicolas, can you resolve source locations at SWANK level? E.g. functions like SWANK/SBCL::SOURCE-FILE-SOURCE-LOCATION might be appropriate for patching: you take the location that SBCL gives you, but then redirect SWANK to other place. I guess this is not the only place you have to patch, it would require patching private functions and it might not work at all. But if that works for you please let me know. I'm also maintaining a thing a bit similar to portacle and it looks like I would suffer from the same issue. Also let me remind you that you can set up the path to SBCL sources by
sb-ext:set-sbcl-source-location
AFAIR locating sources of SBCL functions didn't work in portacle when I saw it, and it was not very long ago.