Catonano <catonano@gmail.com> writes:
>> Here’s a version that works for me:
>>
>>
>> ;; Compile .scm files and install.
>> (every (lambda (file)
>> (let ((go-file (string-append module-dir "/"
>> (basename file
>> ".scm") ".go")))
>> ;; Install source module.
>> (install-file file module-dir)
>> ;; Compile and install module.
>> (zero? (system* "guild" "compile" "-L" cwd
>> "-o" go-file file))))
>>
>
> The differences with my version is that you use install-file insted of
> copy-file and you pass the -L (cwd) switch to guild
These were mostly cosmetic changes. I evaluate “(getcwd)” once and bind
it to “cwd” instead of evaluating it again and again for each file.
This is not what fixed the crash.
“install-file” only takes a file and a directory, unlike “copy-file”
which takes a source file name and a target file name. I did this just
to simplify the code.
> I wonder what was causing my issue ?
Another difference is that I’m using “basename”. Your use of “match”
didn’t work, because the match pattern wasn’t correct for the
“find-files” case.