poke-devel
[Top][All Lists]
Advanced

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

[COMMITTED 2/2] poked: Remove OUTCMD_EVAL_{BEGIN, END} and add OUTCMD_EV


From: Mohammad-Reza Nabipoor
Subject: [COMMITTED 2/2] poked: Remove OUTCMD_EVAL_{BEGIN, END} and add OUTCMD_EVAL
Date: Fri, 11 Mar 2022 16:26:06 +0330

2022-03-11  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

        * poked/poked.c (OUTCMD_EVAL_BEGIN): Removed.
        (OUTCMD_EVAL_END): Removed.
        (OUTCMD_EVAL): New macro.
        (termout_eval): New function.
        (main): Print the value of Poke statement using OUTCMD_EVAL.
---
 ChangeLog     |  8 ++++++++
 poked/poked.c | 18 +++++++++++++-----
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1059240e..53377f96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-03-11  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
+
+       * poked/poked.c (OUTCMD_EVAL_BEGIN): Removed.
+       (OUTCMD_EVAL_END): Removed.
+       (OUTCMD_EVAL): New macro.
+       (termout_eval): New function.
+       (main): Print the value of Poke statement using OUTCMD_EVAL.
+
 2022-03-11  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>
 
        * poked/poked.c (OUTKIND_ITER_BEGIN): s/OUTKIND_/OUTCMD_/.
diff --git a/poked/poked.c b/poked/poked.c
index 7fb59c4d..287bccaa 100644
--- a/poked/poked.c
+++ b/poked/poked.c
@@ -44,8 +44,7 @@ static void poked_free (void);
 #define OUTCMD_ITER_END 3
 #define OUTCMD_CLS_BEGIN 4
 #define OUTCMD_CLS_END 5
-#define OUTCMD_EVAL_BEGIN 6
-#define OUTCMD_EVAL_END 7
+#define OUTCMD_EVAL 6
 
 #define VUKIND_CLEAR 1
 #define VUKIND_APPEND 2
@@ -67,6 +66,13 @@ termout_vu_append (void)
   termout_cmdkind = VUKIND_APPEND;
 }
 
+static void
+termout_eval (void)
+{
+  termout_chan = USOCK_CHAN_OUT_OUT;
+  termout_cmdkind = OUTCMD_EVAL;
+}
+
 static void *
 srvthread (void *data)
 {
@@ -207,10 +213,12 @@ poked_restart:
                     else if (val != PK_NULL)
                       {
                         ok = 1;
-                        usock_out (srv, OUTCMD_EVAL_BEGIN, termout_chan, "",
-                                   1);
+                        termout_eval ();
+                        /* We need to signal the pokelet that we're switching
+                           to EVAL data (before emitting the class data).  */
+                        usock_out (srv, OUTCMD_EVAL, termout_chan, "", 1);
                         pk_print_val (pkc, val, &exc);
-                        usock_out (srv, OUTCMD_EVAL_END, termout_chan, "", 1);
+                        termout_restore ();
                       }
                   }
               }
-- 
2.35.1




reply via email to

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