From: Bruno H. <br...@cl...> - 2024-11-20 14:02:17
|
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?? |