Daniel Barlow dan@telent.net writes:
Do you need this often?
This is a bit too DWIMish for my taste and I think slime-load-file should be used in such situations.
I'm not so sure: we already DWIM as far as setting *package* from the file's package is concerned, and I don't think anyone's going to argue that that's a bad thing: is it so much more wrong to set *compile-file-pathname*?
We should shadow as few variables as possible, especially in important commands like eval-defun and eval-last-expression. I think *load-{true,path}name* are used relatively rarely and only in code that is supposed to be executed at load time. Binding these variables in eval commands doesn't feel right to me. Setting *compile-file-pathname* even more so. The inconvenience of using slime-load-file in these situations is IMO justified.
Of course, this is just my opinion. If you think it is a good idea, change the code and let's try it for some time.
(There's also a possibility that setting *cfp* during function compilation makes the implementation remember where the function came from such that M-. is more likely to continue working afterwards. That depends on the implementation, obviously.)
I'd be surprised if *compile-file-pathname* where not shadowed by COMPILE or COMPILE-FILE.
Helmut.