Hi, Pascal
I took some time for this. It seems that the only problem is in function "getenv":
(defun* getenv (x) (#+(or abcl clisp) ext:getenv #+allegro sys:getenv #+clozure ccl:getenv #+(or cmu scl) (lambda (x) (cdr (assoc x ext:*environment-list* :test #'string=))) #+ecl si:getenv #+gcl system:getenv #+lispworks lispworks:environment-variable #+sbcl sb-ext:posix-getenv x))
This function need to support MCL/RMCL. I couldn't find a exist function to get environment variables, so I wrote one using MCL's FFI (define-entry-point):
#+mcl (eval-when (:compile-toplevel :load-toplevel :execute) (ccl:define-entry-point (_getenv "getenv") ((name :string)) :string))
#+mcl (defun %getenv (x) (ccl:with-cstrs ((name x)) (let ((value (_getenv name))) (unless (ccl:%null-ptr-p value) (ccl:%get-cstring value)))))
(If any MCL guru could tell me a easier way to do the same thing, glad to learn it)
Any way, attached patch should fix ASDF 2 on MCL/RMCL, and I do successfully load at least one ASDF system in MCL/ASDF2.
Please confirm my patch.
Regards,
Chun Tian (binghe)
On 20 Jan 2011, at 14:26, Faré wrote:
On 20 January 2011 06:49, Pascal Costanza pc@p-cos.net wrote:
It seems that ASDF 2.x doesn't work with RMCL (ASDF 1.x did). Is that a known issue?
What is RMCL? Digitool's MCL? It might very well have bitrotten, since I don't think anyone has tried it since we started working on ASDF 2. I certainly don't have access to a machine capable of running it.
RMCL is being maintained, is available from http://code.google.com/p/mcl/ and runs on current Mac OS X versions. (This is just for information, not a hidden attempt to convince anyone to do the work to make ASDF 2 support it.)
Look for places with #+clozure, and test the functions individually, making sure you have proper code with #+digitool. Also, some places may incorrectly be using #+ccl where #+clozure is meant, and even where it works, it is probably better to use #+(or clozure digitool).
I would be particularly wary of functions created in recent refactorings, such as SUBDIRECTORIES.
If you get it to work, please provide a patch, which I will apply. Also, it is nice if you can run the test suite.
I'll see what I can do, but cannot promise anything for the short run.
Thanks for the quick response!
Pascal