Christopher Baines <m...@cbaines.net> skribis: > Mark H Weaver <m...@netris.org> writes:
[...] >>> +(define-gexp-compiler (gitolite-rc-file-compiler >>> + (file <gitolite-rc-file>) system target) >>> + (match file >>> + (($ <gitolite-rc-file> umask git-config-keys roles enable) >>> + (apply text-file* "gitolite.rc" >>> + `("%RC = (\n" >>> + " UMASK => " ,(format #f "~4,'0o" umask) ",\n" [...] >> --8<---------------cut here---------------start------------->8--- >> 0 (simple-format #f "~4,'0o" 63) >> >> ERROR: In procedure simple-format: >> In procedure simple-format: FORMAT: Unsupported format option ~4 - use >> (ice-9 format) instead >> --8<---------------cut here---------------end--------------->8--- [...] > It sounds to me like adding #:use-modules (ice-9 format) to (gnu > services version-control) would fix this, but I'll wait until I can > reproduce the failure before re-adding the service. Yes, adding #:use-module (ice-9 format) will fix the problem. You should be able to reproduce it by running “make hydra-jobs”. As to why you can’t necessarily reproduce it… It turns out that loading (ice-9 format) has the effect of set!ting the global ‘format’ binding. So if some unrelated piece of code loads (ice-9 format), you don’t have any problems; but if that doesn’t happen, you get the error. This terrible behavior has been in Guile forever and nobody has dared changing it so far. :-) The -Wformat warning tries hard to diagnose the issue though. HTH! Ludo’.