Hello, Chris Marusich <cmmarus...@gmail.com> skribis:
> Andreas Enge <andr...@enge.fr> writes: [...] >> + #~(let ((every (@ (srfi srfi-1) every))) > > Can't you just use "every" on its own? It looks like you've imported > the srfi-1 module earlier on. I’m the one who suggested it as a “temporary hack”, as we call such things. ;-) The story is that this expression here gets stages in non-top-level position, where it cannot directly do ‘use-modules’, hence this hack. This should be fixed eventually, possibly in gexp themselves. >> + (unless (every file-exists? '#$source) >> + (format #t "waiting a bit...~%") >> + (sleep 1) >> + (loop))) > > Does the code in this gexp get invoked every time the system starts up? > Why is a loop better here than an error? What if the source device > files never show up? Right, another super-temporary hack. The right thing would be to do like ‘canonicalize-device-spec’ in (gnu build file-systems) does, which is to error out after a few iterations, with the effect of spawning an emergency REPL. The mechanism to wait for devices should be factorized. > Also, will that string be properly localized? No it won’t, indeed. Currently message catalogs and locales are unavailable in the initrd, and it would probably make the initrd pretty big to add them, so I’d be tempted to ignore i18n for early boot messages that hopefully few people will notice. Thanks, Ludo’.