guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/07: inferior: Raise '&inferior-protocol-error' on invalid response.


From: guix-commits
Subject: 04/07: inferior: Raise '&inferior-protocol-error' on invalid response.
Date: Tue, 22 Nov 2022 03:48:19 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 60bea075938cae10147d1d8fd414dc0140f4118f
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Tue Nov 22 07:16:03 2022 +0100

    inferior: Raise '&inferior-protocol-error' on invalid response.
    
    * guix/inferior.scm (&inferior-protocol-error): New condition type.
    (read-repl-response): Add default 'match' clause and raise it.
---
 guix/inferior.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/guix/inferior.scm b/guix/inferior.scm
index 2fe34ca0dc..defdcc4e48 100644
--- a/guix/inferior.scm
+++ b/guix/inferior.scm
@@ -69,6 +69,8 @@
             inferior-exception-arguments
             inferior-exception-inferior
             inferior-exception-stack
+            inferior-protocol-error?
+            inferior-protocol-error-inferior
             read-repl-response
 
             inferior-packages
@@ -314,6 +316,10 @@ equivalent.  Return #f if the inferior could not be 
launched."
   (inferior   inferior-exception-inferior)        ;<inferior> | #f
   (stack      inferior-exception-stack))          ;list of (FILE COLUMN LINE)
 
+(define-condition-type &inferior-protocol-error &error
+  inferior-protocol-error?
+  (inferior  inferior-protocol-error-inferior))   ;<inferior>
+
 (define* (read-repl-response port #:optional inferior)
   "Read a (guix repl) response from PORT and return it as a Scheme object.
 Raise '&inferior-exception' when an exception is read from PORT."
@@ -339,7 +345,11 @@ Raise '&inferior-exception' when an exception is read from 
PORT."
      (raise (condition (&inferior-exception
                         (arguments (cons key (map sexp->object objects)))
                         (inferior inferior)
-                        (stack '())))))))
+                        (stack '())))))
+    (_
+     ;; Protocol error.
+     (raise (condition (&inferior-protocol-error
+                        (inferior inferior)))))))
 
 (define (read-inferior-response inferior)
   (read-repl-response (inferior-socket inferior)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]