Archived
1
0
Fork 0

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'.
This commit is contained in:
Ludovic Courtès 2020-04-13 00:08:48 +02:00
parent 104b1bde73
commit b36217c54d
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -489,6 +489,13 @@ TRANSLATIONS, an alist of msgid and msgstr."
(computed-file "guix-manual" build)) (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")) (define* (guile-module-union things #:key (name "guix-module-union"))
"Return the union of the subset of THINGS (packages, computed files, etc.) "Return the union of the subset of THINGS (packages, computed files, etc.)
that provide Guile modules." that provide Guile modules."