diff --git a/doc/guix.texi b/doc/guix.texi index 0c6b1e4384..04b9b4aaae 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2358,9 +2358,10 @@ Run @var{mval}, a monadic value in the store monad, in @var{store}, an open store connection. @end deffn -@deffn {Monadic Procedure} text-file @var{name} @var{text} +@deffn {Monadic Procedure} text-file @var{name} @var{text} [@var{references}] Return as a monadic value the absolute file name in the store of the file -containing @var{text}, a string. +containing @var{text}, a string. @var{references} is a list of store items that the +resulting text file refers to; it defaults to the empty list. @end deffn @deffn {Monadic Procedure} interned-file @var{file} [@var{name}] @ diff --git a/guix/store.scm b/guix/store.scm index 02d84eb517..d88fb3ea54 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -890,11 +890,13 @@ (define (store-lower proc) ;; Store monad operators. ;; -(define* (text-file name text) +(define* (text-file name text + #:optional (references '())) "Return as a monadic value the absolute file name in the store of the file -containing TEXT, a string." +containing TEXT, a string. REFERENCES is a list of store items that the +resulting text file refers to; it defaults to the empty list." (lambda (store) - (values (add-text-to-store store name text '()) + (values (add-text-to-store store name text references) store))) (define* (interned-file file #:optional name