[slime-devel] suggestion for ~/.slime/fasl/*
Martin Simmons
martin at xanalys.com
Mon Oct 25 09:54:52 UTC 2004
>>>>> On Sun, 24 Oct 2004 01:07:32 +0200, Reini Urban <rurban at x-ray.at> said:
Reini> Pascal J.Bourguignon schrieb:
>> Martin Simmons writes:
>>
>>>>>>>> On Fri, 22 Oct 2004 05:11:27 +0200 (CEST), "Pascal J.Bourguignon" <pjb at informatimago.com> said:
>>>
Pascal> Some lisp implementation can be run on different architectures.
>>>
Pascal> If users keep the same home on different computers this will lead to
Pascal> collision in ~/.slime/fasl/* directories.
>>>
Pascal> To generate the directory name for fasl files, I use the following
Pascal> function, adding the machine type:
>>>
Pascal> (defun first-word (text)
Pascal> (let ((pos (position (character " ") text)))
Pascal> (if pos (subseq text 0 pos) text)))
>>>
Pascal> (defun implementation-id ()
Pascal> (format nil "~A-~A-~A"
Pascal> (first-word (lisp-implementation-type))
Pascal> (first-word (lisp-implementation-version))
Pascal> (first-word (machine-type))));;implementation-id
>>>
>>> This could be problematic if any of the functions returns a string containing
>>> illegal filename characters (e.g. /).
>>
>>
>> We could do further filtering, or once such an implementation is
>> identified, we could map the values it returns to sane words.
>>
>> Anyway, the point here is to add the machine type (uname -m) to be
>> able to have in the same NFS-mounted home directory both
>> SBCL-0.8.14.9-X86 and SBCL-0.8.14.9-PowerPC.
Reini> This problems also bite me on clisp-cygwin against clisp-win32.
Reini> fasl and filenames are incompatible.
Reini> `uname -m` gives i386 which doesn't help. uname -s is required in this case.
OK, but more interesting is what the proposed implementation-id function
returns.
__Martin
More information about the slime-devel
mailing list