chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] is posix-extras#resolve-pathname calling non-existan


From: Matt Welland
Subject: Re: [Chicken-users] is posix-extras#resolve-pathname calling non-existant ##sys#expand-home-path?
Date: Sun, 9 Aug 2015 23:35:42 -0700



On Sun, Aug 9, 2015 at 10:37 PM, Matt Welland <address@hidden> wrote:
I'm testing Chicken 4.10.0, so far it is fine but the calls to resolve-pathname give the kind of error shown below which implies to me that the expand-home-path is still being called. I'm fixing by wrapping with a call to pathname-expand but I must say this looks rather silly:

CORRECTION: wrapping did not fix it. I assumed some paths had a ~ triggering a call to ##sys#expand-home-path but posix-extras is peppered with those calls. I replaced them locally with pathname-expand and can move on to the next suite of errors.

diff posix-extras/posix-extras.scm posix-extras-fix/posix-extras.scm
85a86,87
> (use pathname-expand)
>
248c250
<       (when (fx< (##core#inline "C_lchmod" (##sys#make-c-string (##sys#expand-home-path fname)) m) 0)
---
>       (when (fx< (##core#inline "C_lchmod" (##sys#make-c-string (pathname-expand fname)) m) 0)
256c258
<       (when (fx< (##core#inline "C_lchown" (##sys#make-c-string (##sys#expand-home-path fn)) uid gid) 0)
---
>       (when (fx< (##core#inline "C_lchown" (##sys#make-c-string (pathname-expand fn)) uid gid) 0)
266c268
<             (when (fx< (##core#inline "C_mknod64" (##sys#make-c-string (##sys#expand-home-path fn))
---
>             (when (fx< (##core#inline "C_mknod64" (##sys#make-c-string (pathname-expand fn))
271c273
<             (when (fx< (##core#inline "C_mknod" (##sys#make-c-string (##sys#expand-home-path fn))
---
>             (when (fx< (##core#inline "C_mknod" (##sys#make-c-string (pathname-expand fn))
320c322
<      (let ((fn (##sys#expand-home-path f)))
---
>      (let ((fn (pathname-expand f)))
332c334
<        (##sys#expand-home-path p) #f)
---
>        (pathname-expand p) #f)

 
(resolve-pathname (pathname-expand somepath))

If the calls are going to be that pedantically specific I suggest equally pedantic and specific names:

(resolve-dots-double-dots-and-other-things (resolve-tildes somepath))

Why not a pragmatic coalescing of resolve and expand into a single call? Not a big deal but does seem a tad tiresome to me.

The error:

Warning (#<thread: runs:run-tests-queue>): in thread: unbound variable: ##sys#expand-home-path

        Call history:

        http-transport.scm:290: thread-terminate!        
        http-transport.scm:291: debug:print-info         
        common_records.scm:96: debug:debug-mode  
        rmt.scm:111: k103        
        rmt.scm:111: g107        
        rmt.scm:121: http-transport:server-dat-update-last-access        
        http-transport.scm:338: current-seconds  
        launch.scm:723: hash-table-set!  
        launch.scm:726: file-exists?     
        launch.scm:727: posix-extras#resolve-pathname





reply via email to

[Prev in Thread] Current Thread [Next in Thread]