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)

Attachment: asdf2-mcl.diff
Description: Binary data


> 
> On 20 Jan 2011, at 14:26, Faré wrote:
> 
>> On 20 January 2011 06:49, Pascal Costanza <[email protected]> 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

_______________________________________________
asdf-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to