[slime-devel] updated lisp-version-string in swank-loader.lisp for Allegro CL 9.0 with SMP
Stas Boukarev
stassats at gmail.com
Tue Sep 4 15:03:35 UTC 2012
Dave Cooper <gendl at genworks.com> writes:
> Hello,
>
> I made a proposed change to swanker-loader.lisp to make the
> unique-dir-name for fasl files be unique for Allegro CL 9.0 with SMP
> which was released in late July.
>
> The fasls produced by the SMP version of Allegro are incompatible
> with the non-SMP version, so the unique-dir-name for fasls should be
> named differently.
>
> Here is my version of lisp-version-string --- it has just the
> additional ~@[~A~] in the format, for the possible inclusion of "s"
> for smp, and the conditional
>
> (and (member :smp *features*) "s")
>
> as a format argument to match this new format directive.
>
> This is compatible with the way the current asdf (2.24) is handling
> the naming for this new fasl distinction between SMP and non-SMP
> Allegro.
>
>
> (defun lisp-version-string ()
> #+(or clozure cmu) (substitute-if #\_ (lambda (x) (find x " /"))
> (lisp-implementation-version))
> #+(or cormanlisp scl) (lisp-implementation-version)
> #+sbcl (format nil "~a~:[~;-no-threads~]"
> (lisp-implementation-version)
> #+sb-thread nil
> #-sb-thread t)
> #+lispworks (lisp-implementation-version)
> #+allegro (format nil "~A~A~@[~A~]~A~A"
> excl::*common-lisp-version-number*
> (if (eq 'h 'H) "A" "M") ; ANSI vs MoDeRn
> (and (member :smp *features*) "s")
> (if (member :64bit *features*) "-64bit" "")
> (excl:ics-target-case
> (:-ics "")
> (:+ics "-ics")))
> #+clisp (let ((s (lisp-implementation-version)))
> (subseq s 0 (position #\space s)))
> #+armedbear (lisp-implementation-version)
> #+ecl (ecl-version-string) )
>
>
>
> Please advise if this is the correct place and format to submit
> proposals like this.
Applied, thanks.
--
With best regards, Stas.
More information about the slime-devel
mailing list