Hello, ludo@gnu.org (Ludovic Courtès) writes: > Mathieu Lirzin skribis: > >> From 342444897673d5f9d9a475986e76ca2e912f6674 Mon Sep 17 00:00:00 2001 >> From: Mathieu Lirzin >> Date: Wed, 17 Jan 2018 17:14:24 +0100 >> Subject: [PATCH 1/2] =?UTF-8?q?build:=20Expand=20=E2=80=98scripts/guix?= >> =?UTF-8?q?=E2=80=99=20at=20Make=20time.?= >> MIME-Version: 1.0 >> Content-Type: text/plain; charset=UTF-8 >> Content-Transfer-Encoding: 8bit >> >> This moves the complexity of Autotools variable expansion outside of the >> application code. >> >> * scripts/guix.in (config-lookup): Delete. >> (maybe-augment-load-paths!, run-guix-main): Use fully expanded variables >> instead of calling ‘config-lookup’. >> * configure.ac: Don't use AC_CONFIG_FILES for ‘scripts/guix’. >> * Makefile.am (scripts/guix): New rule. >> (do_subst): New variable. >> (CLEANFILES, EXTRA_DIST): Adapt. > > That’s a good idea. I applied it with the changes below, mostly to > account for Eric’s suggestions. Thanks. >> From b6f8331455da1ffc4896b06cd2ee98e09b05be43 Mon Sep 17 00:00:00 2001 >> From: Mathieu Lirzin >> Date: Wed, 17 Jan 2018 19:55:49 +0100 >> Subject: [PATCH 2/2] guix: Refactor script. >> MIME-Version: 1.0 >> Content-Type: text/plain; charset=UTF-8 >> Content-Transfer-Encoding: 8bit >> >> * scripts/guix.in: Use ‘and-let*’ and remove empty surrounding ‘let’. >> (run-guix-main, maybe-augment-load-paths!): Inline them. > > This is entirely subjective but I prefer the current style (in fact I > never use SRFI-2), so I’d rather skip this patch. WDYT? :-) I tried to avoid it, but the pipelining of checks for #f makes it very tempting to use it. But indeed this is a matter of style, so let's not use it. Here is an alternative patch that beside the pedantic issue of replacing (and updates-dir (file-exists? updates-dir)) with (and=> updates-dir file-exists?) removes the surrounding empty 'let' that doesn't make sense to me. Additionaly the compilation of the script is now possible which is convenient for basic syntax checks. This is done by using the ‘-e main -s’ command-line switches.