
Helmut Eller <e9626484@stud3.tuwien.ac.at> writes:
Nicolas Neuss <Nicolas.Neuss@iwr.uni-heidelberg.de> writes:
1. If Slime is not already running, the load command is not executed.
2. If Slime is already running, Femlisp is loaded, but the package is not set.
Can someone tell me how I can achieve my goal?
Yes, this is bit more difficult because most of the commands work asynchronously. I changed slime-start-and-load a bit so that it should be usable for your needs.
Thank you, Helmut. This works fine. Femlisp loads, and I am left with an "APPLICATION>" prompt.
In general If you need commands of this sort, it's usually the easiest to write a small CL function for the job, so that Emacs can make a single RPC and doesn't need so much synchronization.
I tried to set the package in the file being loaded, but it did not work because *PACKAGE* is specially bound during LOAD.
PS: Another problem is that executing (slime) apparently sets back some variables, e.g. *READ-DEFAULT-FLOAT-FORMAT* which I have set to DOUBLE-FLOAT when loading Femlisp. Why is that?
Can't help you here without more details. Which Lisp are you using? Which communication style? Are threads involved? We don't set *READ-DEFAULT-FLOAT-FORMAT* explicit, but there's always the possibility for bug and that we used WITH-STANDARD-IO-SYNTAX in a wrong place.
I have tried it now again with CMUCL and I could not reproduce this error, i.e. when I do `M-x slime', *READ-DEFAULT-FLOAT-FORMAT* remains at 'DOUBLE-FLOAT. Fine. However, I see that the package of the REPL is reset to CL-USER. For me, it would be better if it remained FL.APPLICATION. Or should I use a different function for bringing up the SLIME-REPL buffer? Thank you very much, Niko.