[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