self: Prevent inlining of internal procedures used by 'doc/build.scm'.
authorLudovic Courtès <ludo@gnu.org>
Sun, 12 Apr 2020 22:08:48 +0000 (00:08 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sun, 12 Apr 2020 23:21:49 +0000 (01:21 +0200)
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'.

guix/self.scm

index 6b633f9..1040c27 100644 (file)
@@ -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."