From dcc81ac2eb00de298f46b22aa3b2cc69989f8733 Mon Sep 17 00:00:00 2001 From: Nathan Braswell Date: Wed, 6 Apr 2022 00:13:46 -0400 Subject: [PATCH] make prints of top level strings not include the quotes --- partial_eval.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/partial_eval.scm b/partial_eval.scm index 15a6f07..6d43dbd 100644 --- a/partial_eval.scm +++ b/partial_eval.scm @@ -2261,8 +2261,16 @@ (local.set '$iov (call '$malloc (i32.add (i32.const 8) (local.tee '$data_size (call '$str_len (local.get '$to_print)))))) (drop (call '$str_helper (local.get '$to_print) (i32.add (i32.const 8) (local.get '$iov)))) - (i32.store (local.get '$iov) (i32.add (i32.const 8) (local.get '$iov))) ;; adder of data - (i32.store 4 (local.get '$iov) (local.get '$data_size)) ;; len of data + (_if '$is_str (i64.eq (i64.and (local.get '$to_print) (i64.const #b111)) (i64.const #b011)) + (then + (i32.store (local.get '$iov) (i32.add (i32.const 9) (local.get '$iov))) ;; adder of data + (i32.store 4 (local.get '$iov) (i32.sub (local.get '$data_size) (i32.const 2))) ;; len of data + ) + (else + (i32.store (local.get '$iov) (i32.add (i32.const 8) (local.get '$iov))) ;; adder of data + (i32.store 4 (local.get '$iov) (local.get '$data_size)) ;; len of data + ) + ) (drop (call '$fd_write (i32.const 1) ;; file descriptor (local.get '$iov) ;; *iovs