Le 29/04/2021 à 17:25, pls.153 a écrit :
On Thursday, April 29, 2021 4:31 PM, Erik Winkels <aeri...@xs4all.nl> wrote:
Condition of type: FILE-ERROR
Filesystem error with pathname "SYS:help.doc".
Either
1. the file does not exist, or
2. we are not allowed to access the file, or
3. the pathname points to a broken symbolic link.
No restarts available.
Top level in: #<process TOP-LEVEL 0xb0581fc0>.
I had the same issue on iOS, here is what I did:
;; needed e.g. for loading 'help.doc'
(setf (logical-pathname-translations "SYS")
(list (list #p"sys:**;*.*"
(merge-pathnames "**/*.*"
(user-homedir-pathname)))))
Now you can put "help.doc" in (user-homedir-pathname), and ECL will find it.
It's not prudent to use #P in the logical-pathname-translations. This is
because #P is a read-time reader macro: it calls PATHNAME at read-time,
before the logical-pathname-translations may be set, ie. potentially
before the logical host is created. Therefore it will fail.
For a time, I just created the logical hosts with
(setf (logical-pathname-translations "SYS") '()) ; creation of the
logical host
(setf (logical-pathname-translations "SYS")
(list (list #p"sys:**;*.*"
(merge-pathnames "**/*.*"
(user-homedir-pathname)))))
but in fact, we may just use namestrings:
(setf (logical-pathname-translations "SYS")
(list (list "SYS:**;*.*"
(merge-pathnames "**/*.*"
(user-homedir-pathname)))))
--
__Pascal Bourguignon__