Subject: [bug#27977] [PATCH 1/2] services: herd: Fix matching ok responses from shepherd service.

From: Christopher Baines <[email-masked]>
Date: Sat, 5 Aug 2017 22:30:33 +0100

Previously the match expression case for a successful response
(where error is #f) required that the result component contained a list with a
single element.

As far as I see when looking at the responses from the shepherd, this is not
normally the case. Therefore, to avoid treating successful responses as
errors, make the match requirement more permissive, accepting any value.

* gnu/services/herd.scm (invoke-action): Change match condition for ok responses.
---
 gnu/services/herd.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm
index f8d60a480..49400aba4 100644
--- a/gnu/services/herd.scm
+++ b/gnu/services/herd.scm
@@ -146,7 +146,7 @@ result.  Otherwise return #f."
     (force-output sock)
 
     (match (read sock)
-      (('reply ('version 0 _ ...) ('result (result)) ('error #f)
+      (('reply ('version 0 _ ...) ('result result) ('error #f)
                ('messages messages))
        (for-each display-message messages)
        (cont result))
-- 
2.13.1