[asdf-devel] ASDF with RMCL?

Chun Tian (binghe) binghe.lisp at gmail.com
Thu Jan 20 18:32:15 UTC 2011

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

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):

(eval-when (:compile-toplevel :load-toplevel :execute)
  (ccl:define-entry-point (_getenv "getenv") ((name :string)) :string))

(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.


Chun Tian (binghe)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: asdf2-mcl.diff
Type: application/octet-stream
Size: 766 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20110121/7cdeadae/attachment.obj>
-------------- next part --------------

> On 20 Jan 2011, at 14:26, Far? wrote:
>> On 20 January 2011 06:49, Pascal Costanza <pc at 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,
>> 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

More information about the asdf-devel mailing list