summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorRichard Sent <[email protected]>2024-06-02 15:44:27 -0400
committerLudovic Courtès <[email protected]>2024-09-04 19:17:00 +0200
commitf3ea876895f19b7460c2d3647578905cc80e0cfe (patch)
tree0369eca900fc119ea57b81ffe0a07a335e099dd5 /doc
parent8da7f4a1103abc2abeef1ba149e6beb8b7966ab2 (diff)
gexp: Add ‘assume-source-relative-file-name’.
* guix/gexp.scm (assume-source-relative-file-name): New macro. (local-file): Use assume-source-relative-file-name to look up a non-literal file relative to the current source directory. * doc/guix.texi (G-expressions): Document it. * tests/gexp.scm ("local-file, non-literal source relative file name"): New test. Signed-off-by: Ludovic Courtès <[email protected]> Change-Id: I18573c8c7a6c87e8351b34412f9d26bb23b068b4
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi5
1 files changed, 5 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 16c697586a..cb8efa1e50 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -12251,6 +12251,11 @@ Wrapping is done like this:
(local-file (assume-valid-file-name alice-key-file-path))
@end lisp
+@var{file} can be wrapped in the @code{assume-source-relative-file-name}
+syntactic keyword. When this is done, the file name will be looked up
+relative to the source file where it appears even when it is not a
+string literal.
+
This is the declarative counterpart of the @code{interned-file} monadic
procedure (@pxref{The Store Monad, @code{interned-file}}).
@end deffn