Hi, Faré

Today I compile latest asdf.lisp in MCL and see two warnings:

? (compile-file #P"Macintosh HD:Users:binghe:Lisp:packages:asdf:asdf.lisp")
;Compiler warnings for "Macintosh HD:users:binghe:Lisp:packages:asdf:asdf.lisp" 
:
;   :LAMBDA compiler warning with args (&OPTIONAL), in WITH-SYSTEM-DEFINITIONS.
;Compiler warnings for "Macintosh HD:users:binghe:Lisp:packages:asdf:asdf.lisp" 
:
;   Undefined function CCL::GETUID, in ASDF::GET-UID.
#P"Macintosh HD:users:binghe:Lisp:packages:asdf:asdf.cfsl"
T
T

The warning "Undefined function CCL::GETUID, in ASDF::GET-UID" was caused by 
#+ccl in following piece of code:

#+asdf-unix
(progn
  #+ecl #.(cl:and (cl:< ext:+ecl-version-number+ 100601)
                  '(ffi:clines "#include <sys/types.h>" "#include <unistd.h>"))
  (defun* get-uid ()
    #+allegro (excl.osi:getuid)
    #+ccl (ccl::getuid)
    ...

Both Clozure CL and MCL contains the feature :CCL, so the form (ccl::getuid) 
was wrongly exposed to MCL.  I think #+clozure (or legacy #+openmcl) should be 
used instead, just like other places in asdf.lisp. (if run-shell-command works 
on MCL, the function GET-UID should also work in MCL)

A trivial patch is in attach (there's another #-ccl, don't forget it)

P. S. For the first warning, why macro with-system-definitions have a 
standalone &optional in its parameter list?

(defmacro with-system-definitions ((&optional) &body body)
  `(call-with-system-definitions #'(lambda () ,@body)))


Regards,

Chun Tian (binghe)

Attachment: asdf2-mcl-get-uid.diff
Description: Binary data

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

Reply via email to