From b36217c54dd92bdfa0984b9eded0765a3b388426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 13 Apr 2020 00:08:48 +0200 Subject: 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. : Use it for 'file-append*', 'translate-texi-manuals', and 'info-manual'. --- guix/self.scm | 7 +++++++ 1 file changed, 7 insertions(+) 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." -- cgit v1.2.3