From 06b76accebd5c98ae50dc7ec4c3f4dad764a637e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 25 Feb 2016 12:12:50 +0100 Subject: [PATCH] store: Clarify documentation of 'valid-path?'. * guix/store.scm (valid-path?): Improve docstring. * doc/guix.texi (The Store): Update accordingly. --- doc/guix.texi | 9 ++++++++- guix/store.scm | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b48f988a0d..2bebeeddf7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2913,7 +2913,14 @@ Procedures that make RPCs all take a server object as their first argument. @deffn {Scheme Procedure} valid-path? @var{server} @var{path} -Return @code{#t} when @var{path} is a valid store path. +@cindex invalid store items +Return @code{#t} when @var{path} designates a valid store item and +@code{#f} otherwise (an invalid item may exist on disk but still be +invalid, for instance because it is the result of an aborted or failed +build.) + +A @code{&nix-protocol-error} condition is raised if @var{path} is not +prefixed by the store directory (@file{/gnu/store}). @end deffn @deffn {Scheme Procedure} add-text-to-store @var{server} @var{name} @var{text} [@var{references}] diff --git a/guix/store.scm b/guix/store.scm index 8123407816..3d6cff4c21 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -582,7 +582,12 @@ encoding conversion errors." (operation (name args ...) docstring return ...))) (define-operation (valid-path? (string path)) - "Return #t when PATH is a valid store path." + "Return #t when PATH designates a valid store item and #f otherwise (an +invalid item may exist on disk but still be invalid, for instance because it +is the result of an aborted or failed build.) + +A '&nix-protocol-error' condition is raised if PATH is not prefixed by the +store directory (/gnu/store)." boolean) (define-operation (query-path-hash (store-path path))