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.
Best Regards,
Dave Cooper Genworks Support
Dave Cooper gendl@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.