[asdf-devel] 1.675 bug
szergling
senatorzergling at gmail.com
Thu Apr 15 06:51:27 UTC 2010
On 4/15/10, Faré <fahree at gmail.com> wrote:
> Ahem. Does it work better with 1.679?
>
> It's hard to test these things without access to a Windows machine...
>
> Also, I realize that in Unix, I rely on absolute-pathname-p meaning
> "a completely qualified pathname", which breaks down on Windows,
> with potentially "interesting" implications. Sigh.
Hi again,
Ok, forget about the hot-upgrade issue. I had wrongly assumed without
checking that asdf runs well on clisp win32. Apologies, I should've
checked that before.
Here's what I discovered on deeper inspection. I had been sidetracked
into the wrong line before, as the problem with truenamize lies
elsewhere, and I've worked around it for now. A proper patch would
require fixes to clisp (this is tentative for now) but may require
version checking conditionalisation in any case. One should probably
keep track of:
http://sourceforge.net/tracker/?func=detail&aid=2987521&group_id=1355&atid=101355
As an aside I made another edit which may also need version
conditionalisation. Check out
http://sourceforge.net/tracker/?func=detail&aid=2959335&group_id=1355&atid=101355
maybe a dummy stub get-uid is required for clisp win32 in the future?
And is the #-windows meant to be Lispworks only? Which implementation
was it meant for?
[and I don't know why that posix:uid thing didn't throw an error
before for me... very strange]
So the following are not patches to be applied, but merely highlights
some issues that I don't know how to fix elegantly, as yet. Perhaps
this issue should remain open for now, while we adopt a wait and see
attitude?
Yong.
PS And yep, I have now tried the 1.679 release.
$ diff -u 1.679.lisp asdf.lisp
--- 1.679.lisp 2010-04-15 16:11:09.395991000 +1200
+++ asdf.lisp 2010-04-15 18:23:20.009511500 +1200
@@ -651,7 +651,8 @@
#-windows
(progn
-#+clisp (defun get-uid () (posix:uid))
+;; vvvvvvvvv---- This may need to be clisp version tested
in the future?
+#+(and clisp (not win32)) (defun get-uid () (posix:uid))
#+sbcl (defun get-uid () (sb-unix:unix-getuid))
#+cmu (defun get-uid () (unix:unix-getuid))
#+ecl (ffi:clines "#include <sys/types.h>" "#include <unistd.h>")
@@ -705,9 +706,11 @@
:finally
(return
(merge-pathnames*
- (make-pathname :host nil :device nil
- :directory nil
- :defaults p)
+ ;; Unwieldy, but fixes clisp pre-???2.47 bug
+ (merge-pathnames
+ (make-pathname :host nil :device nil
+ :directory nil)
+ p)
sofar)))))))
(defun lispize-pathname (input-file)
More information about the asdf-devel
mailing list