Hi! Maxim Cournoyer <maxim.courno...@gmail.com> skribis:
> This version field exposes the (already present) version information of a boot > parameters file. > > * gnu/system.scm (%boot-parameters-version): New variable. > (<boot-parameters>)[version]: New field. > (read-boot-parameters): Use it. > (operating-system-boot-parameters-file): Likewise. > * tests/boot-parameters.scm (test-read-boot-parameters): Use > %boot-parameters-version as the default version value in the template. [...] > + ;; New versions are not backward-compatible, so only accept past and > current > + ;; versions, not future ones. > + (define (version? n) > + (member n (iota (1+ %boot-parameters-version)))) > + > (match (read port) > - (('boot-parameters ('version 0) > + (('boot-parameters ('version (? version? version)) I still have a preference for an explicit list right here, for clarity, and so that we don’t unwillingly find ourselves treating any past version in the same way in the future. I think I wasn’t clear about it (sorry!) but I wonder if we could, instead of bumping the version, use something like: (find (cut string-prefix? "gnu.load=") kernel-arguments) to determine whether we’re dealing with an “old-style” “parameters” file. If that’s not possible, then what this patch is doing SGTM. Thanks, Ludo’.