~ruther/guix-local

ad3729536ab4fe233b32017ac889f026a4bad43e — Ludovic Courtès 11 years ago 00ab945
store: Add optional 'references' parameter to 'text-file'.

* guix/store.scm (text-file): Add optional 'references' parameter.  Pass
  it to 'add-text-to-store'.
* doc/guix.texi (The Store Monad): Adjust accordingly.
2 files changed, 8 insertions(+), 5 deletions(-)

M doc/guix.texi
M guix/store.scm
M doc/guix.texi => doc/guix.texi +3 -2
@@ 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}] @

M guix/store.scm => guix/store.scm +5 -3
@@ 890,11 890,13 @@ taking the store as its first argument."
;; 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