From 0efa1daad354216e9ce2adb078eb4d5254792e49 Mon Sep 17 00:00:00 2001 From: Richard Sent Date: Wed, 8 May 2024 08:17:51 -0400 Subject: [PATCH] =?UTF-8?q?doc:=20Document=20=E2=80=98assume-valid-file-na?= =?UTF-8?q?me=E2=80=99=20in=20=E2=80=98local-file=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (G-Expressions): Document the use of assume-valid-file-name with local-file. Signed-off-by: Ludovic Courtès Change-Id: I132f78e198cbf3ba2e5a677d671563d753de534c --- doc/guix.texi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index b8812cc60af..d0ce8927b43 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12192,6 +12192,18 @@ When @var{recursive?} is true, call @code{(@var{select?} @var{file} absolute file name and @var{stat} is the result of @code{lstat}; exclude entries for which @var{select?} does not return true. +@var{file} can be wrapped in the @code{assume-valid-file-name} syntactic +keyword. When this is done, there will not be a warning when +@code{local-file} is used with a non-literal path. The path is still +looked up relative to the current working directory at run time. +Wrapping is done like this: + +@lisp +(define alice-key-file-path "alice.pub") +;; ... +(local-file (assume-valid-file-name alice-key-file-path)) +@end lisp + This is the declarative counterpart of the @code{interned-file} monadic procedure (@pxref{The Store Monad, @code{interned-file}}). @end deffn