summary refs log tree commit diff
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
parent104b1bde7327f23ccb2719727d6d5e4748078825 (diff)
downloadguix-b36217c54dd92bdfa0984b9eded0765a3b388426.tar.gz
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'.
-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."