Jonathan Meeks jdmmmmm@sbcglobal.net writes:
I think there is a bug in slime-load-file.
I have noticed that when a file has its *.lisp extension in the parameter to slime-load-file, swank/xref is not able to find its callees (with slime-list-callees).
When called interactively, the extension is stripped and slime-list-callees works. So, shouldn't the extension be stripped by slime-load-file when called non-interactively, as well?
Most implementations load the fasl file if the filename has no extension (and if there is a fasl file in the directory). I think the problem you are seen is more related to interpreted functions. When you load the .lisp file, the loaded functions are usually interpreted and not compiled. That's at least the situation for CMUCL.
slime-list-callees currently only works for compiled and byte-compiled functions; interpreted functions are basically ignored. Also CMUCL doesn't record the source location for interpreted functions.
To support slime-list-callees for interpreted functions we probably need to walk the IR code. To record the source location we would need a little change to CMUCL itself. Not sure if interpreted code is important enough for the added complexity.
Helmut.