[slime-devel] updated lisp-version-string in swank-loader.lisp for Allegro CL 9.0 with SMP

Dave Cooper gendl at genworks.com
Tue Sep 4 14:47:12 UTC 2012


 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

(defun lisp-version-string ()
  #+(or clozure cmu) (substitute-if #\_ (lambda (x) (find x " /"))
  #+(or cormanlisp scl) (lisp-implementation-version)
  #+sbcl (format nil "~a~:[~;-no-threads~]"
                 #+sb-thread nil
                 #-sb-thread t)
  #+lispworks (lisp-implementation-version)
  #+allegro   (format nil "~A~A~@[~A~]~A~A"
                      (if (eq 'h 'H) "A" "M")     ; ANSI vs MoDeRn
                      (and (member :smp *features*) "s")
                      (if (member :64bit *features*) "-64bit" "")
                       (:-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.

Best Regards,

 Dave Cooper
 Genworks Support

More information about the slime-devel mailing list