From: Georges Ko <gk...@gk...> - 2006-06-09 11:00:43
|
Dear all: I'm trying to copy files like this: (copy-file "../a/a/a/t.txt" "../b/b/b/u.txt") On Windows, it works, but on Solaris, I have the following error: nonexistent directory: #1=#P"/home/gko/test/cdr/a/a/b/b/b/" [Condition of type SYSTEM::SIMPLE-FILE-ERROR] The current working directory is "$HOME/cdr/main". To make it work, I have to issue this: (copy-file "../a/a/a/t.txt" "../../../b/b/b/u.txt") If I do this: (copy-file "../a/a/a/t.txt" "../u.txt") - on Windows, the file is copied to "cdr/u.txt", - on Solaris, the file is copied to "cdr/a/a/u.txt". Both version are clisp 2.38 taken from SourceForge. Solaris is: SunOS omega 5.8 Generic_117350-16 sun4u sparc SUNW,Sun-Fire-V240 Georges |
Re: [clisp-list] Bug? copy-file: different behavior on Solaris
(bad) and Windows (good and expected)
From: Sam S. <sd...@po...> - 2006-06-09 17:39:49
|
> * Georges Ko <tx...@tx...g> [2006-06-09 11:00:07 +0000]: > > I'm trying to copy files like this: > > (copy-file "../a/a/a/t.txt" "../b/b/b/u.txt") > > On Windows, it works, but on Solaris, I have the following error: > > nonexistent directory: #1=#P"/home/gko/test/cdr/a/a/b/b/b/" > [Condition of type SYSTEM::SIMPLE-FILE-ERROR] this is not how clisp prints errors. you are using slime (or something), right? is it possible that it sets some variables? (slime may start clisp with the "-ansi" option; are you running slime on both machines?) please take a look at: http://clisp.cons.org/impnotes/filename-dict.html#pathmerge if your settings on these two machines are identical (CUSTOM:*MERGE-PATHNAMES-ANSI*, *DEFAULT-PATHNAME-DEFAULTS* &c) then please file a bug report on the SF bug tracker. please make your bug report clear and self-contained. specifically, please include all the necessary commands in a cut-and-pasteable format. e.g.: mkdir -p foo/bar/baz mkdir -p foo/a/b/c/d date > foo/a/b/c/d/zot mkdir -p foo/1/2/3/4 cd foo/1/2 clisp -q -norc -x '(copy-file "../../a/b/c/d/zot" "../../1/2/3/4/quux")' # prints: ((#P"/home/sds/foo/a/b/c/d/zot" #P"/home/sds/foo/1/2/3/4/quux" 29)) cd ../../../ rm -rfv foo -- Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 5 (Bordeaux) http://thereligionofpeace.com http://camera.org http://palestinefacts.org http://pmw.org.il http://jihadwatch.org http://honestreporting.com Vegetarians eat Vegetables, Humanitarians are scary. |
Re: [clisp-list] Bug? copy-file: different behavior on Solaris
(bad) and Windows (good and expected)
From: Georges Ko <gk...@gk...> - 2006-06-11 14:57:38
|
Sam Steingold <sd...@po...> writes: >> (copy-file "../a/a/a/t.txt" "../b/b/b/u.txt") >> >> On Windows, it works, but on Solaris, I have the following error: >> >> nonexistent directory: #1=#P"/home/gko/test/cdr/a/a/b/b/b/" >> [Condition of type SYSTEM::SIMPLE-FILE-ERROR] > > please take a look at: > http://clisp.cons.org/impnotes/filename-dict.html#pathmerge OK, I got it, thanks. So, my solutions are: 1) set custom:*merge-pathnames-ansi* to nil, 2) not using the -ansi flag, 3) change the path of destination. Any reason why merge-pathnames is used in copy-file? So that incomplete pathnames can be used in its arguments? Georges -- Georges Ko gk...@gk... 2006-06-11 |