summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-04-13 00:08:48 +0200
committerLudovic Courtès <ludo@gnu.org>2020-04-13 01:21:49 +0200
commitb36217c54dd92bdfa0984b9eded0765a3b388426 (patch)
tree27f270e4c46cb26814125b6bfeae2bc9dca1fcd9 /guix
parent104b1bde7327f23ccb2719727d6d5e4748078825 (diff)
self: Prevent inlining of internal procedures used by 'doc/build.scm'.
This allows 'doc/build.scm' to keep using '@@' for these. (This sets a bad example, don't follow it.) * guix/self.scm (prevent-inlining!): New macro. <top level>: Use it for 'file-append*', 'translate-texi-manuals', and 'info-manual'.
Diffstat (limited to 'guix')
-rw-r--r--guix/self.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/guix/self.scm b/guix/self.scm
index 6b633f9bc0..1040c27a6b 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -489,6 +489,13 @@ TRANSLATIONS, an alist of msgid and msgstr."
(computed-file "guix-manual" build))
+(define-syntax-rule (prevent-inlining! identifier ...)
+ (begin (set! identifier identifier) ...))
+
+;; XXX: These procedures are actually used by 'doc/build.scm'. Protect them
+;; from inlining on Guile 3.
+(prevent-inlining! file-append* translate-texi-manuals info-manual)
+
(define* (guile-module-union things #:key (name "guix-module-union"))
"Return the union of the subset of THINGS (packages, computed files, etc.)
that provide Guile modules."