Hi,
what should I patch in defsystem-3.x to make it work in openmcl? I've
tried but failed so far. Too late in the night, probably (4AM local
time).
David
> what should I patch in defsystem-3.x to make it work in openmcl?
defsystem applies pathname-host to its own result, which is wrong
because the result type is not a subset of the argument's type. Here is
the fix:
#--- Sourceforge/clocc/src/defsystem-3.x/defsystem.lisp Sat Feb 5
01:13:15 2005
#+++ Library/Lisp/defsystem.lisp Wed Mar 9 10:39:47 2005
·@@ -2800,7 +2800,7 @@
# (make-pathname :host (when (component-host component)
# ;; MCL2.0b1 and ACLPC cause an error
on
# ;; (pathname-host nil)
#- (pathname-host (component-host
component)
#+ (pathname-host (make-pathname :host
(component-host component))
# #+scl :case #+scl
:common
# ))
# :directory (pathname-directory pathname
·@@ -2819,7 +2819,7 @@
# #-(or :sbcl)
# (let ((dev (component-device component)))
# (if dev
#- (pathname-device dev
#+ (pathname-device (make-pathname
:device dev)
# #+scl :case #+scl
:common
# )
# (pathname-device pathname
Thanks.
This is a good report.
It should be fixed in CVS, and in a more general way. If not, please
send bug reports to the CLOCC mailing lists.
To get the latest CVS of MK:DEFSYSTEM you can checkout the module
`defsystem-3.x' from the CLOCC repository.
Cheers
--
Marco
············@gmail.com wrote:
>>what should I patch in defsystem-3.x to make it work in openmcl?
>
>
> defsystem applies pathname-host to its own result, which is wrong
> because the result type is not a subset of the argument's type. Here is
> the fix:
>
> #--- Sourceforge/clocc/src/defsystem-3.x/defsystem.lisp Sat Feb 5
> 01:13:15 2005
> #+++ Library/Lisp/defsystem.lisp Wed Mar 9 10:39:47 2005
> ·@@ -2800,7 +2800,7 @@
> # (make-pathname :host (when (component-host component)
> # ;; MCL2.0b1 and ACLPC cause an error
> on
> # ;; (pathname-host nil)
> #- (pathname-host (component-host
> component)
> #+ (pathname-host (make-pathname :host
> (component-host component))
> # #+scl :case #+scl
> :common
> # ))
> # :directory (pathname-directory pathname
> ·@@ -2819,7 +2819,7 @@
> # #-(or :sbcl)
> # (let ((dev (component-device component)))
> # (if dev
> #- (pathname-device dev
> #+ (pathname-device (make-pathname
> :device dev)
> # #+scl :case #+scl
> :common
> # )
> # (pathname-device pathname
>