>>>>> "Edi" == Edi Weitz <[EMAIL PROTECTED]> writes:
Edi> I can't find the article anymore but the essence that I remember was
Edi> that there is no portable right way... :(
Edi> A few things that come to mind:
Edi> 1. The environment that CMUCL sees (specifically the value of PATH) is
Edi> not necessary the one that was in place when CMUCL was started.
Hmm. I must be stupid. I don't see how that happens.
Edi> 2. You could start CMUCL with execve and feed whatever you want to
Edi> argv[0].
Yes, that's a problem. I don't know how to solve that issue.
Edi> 3. How does CMUCL find the core file if there are several hard links
Edi> to the same executable in different directories?
First it tries to find out where the lisp binary is, using PATH if
necessary. Once that has been determined, it looks in a few relative
directories and absolute directories in order to find lisp.core.
First match that is readable wins.
think.
Edi> 4. Does the procedure which finds CMUCL's core file take into account
Edi> file permissions? If my PATH is, say "/tmp:/usr/bin" and I have a
Edi> file "lisp" in /tmp then on my Linux machine "lisp" will
Edi> nevertheless invoke /usr/bin/lisp if /tmp/lisp doesn't have the
Edi> right x bit set.
If PATH was used to find cmucl, then cmucl uses PATH too, and it does
check for the execute bit. (Someone already found that problem, so it
was fixed a few months ago.)
You can give CMCUL the -debug-lisp-search option to watch how CMUCL is
doing its search. (Not very pretty, but it contains the information.)
Ray