Re: CLISP on Haiku
Bruno Haible via clisp-devel <[email protected]> Wed, 20 Nov 2024 15:02:03 +0100
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <1805227.r9UgagUNlL@nimes> |
Alexandru Popa wrote:
> So QuickLisp is the guilty party. I will debug it further. It is not fail
> of CLISP.
In the quicklisp-client, searching for side-effects to *features* leads me to:
$ grep -rni 'set.* [*]features[*]' .
./asdf.lisp:1908: :do (setf o feature) (pushnew feature *features*)
./asdf.lisp:1909: :else :do (setf *features* (remove feature *features*))
asdf.lisp contains this code:
(defun detect-os ()
"Detects the current operating system. Only needs be run at compile-time,
except on ABCL where it might change between FASL compilation and runtime."
(loop* :with o
:for (feature . detect) :in '((:os-unix . os-unix-p) (:os-macosx . os-macosx-p)
(:os-windows . os-windows-p)
(:genera . os-genera-p) (:os-oldmac . os-oldmac-p)
(:haiku . os-haiku-p))
:when (and (or (not o) (eq feature :os-macosx)) (funcall detect))
:do (setf o feature) (pushnew feature *features*)
:else :do (setf *features* (remove feature *features*))
:finally
(return (or o (error "Congratulations for trying ASDF on an operating system~%~
that is neither Unix, nor Windows, nor Genera, nor even old MacOS.~%Now you port it.")))))
What is this code meant to do??
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel