Re: Where to go with EQL5 and QT specific questions?
Pascal Bourguignon <pjb-jNDFPZUTrfRkIYSJMME8NAC/[email protected]> Thu, 29 Apr 2021 17:31:47 +0200
| Newsgroups | gmane.lisp.ecl.general |
|---|---|
| Message-ID | <[email protected]> |
Le 29/04/2021 à 17:25, pls.153 a écrit : > On Thursday, April 29, 2021 4:31 PM, Erik Winkels <aerique-qWit8jRvyhVmR6Xm/[email protected]> 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__