From 88fbcb5ff797ee9a9eb5087e108280cb65a98508 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 26 Oct 2019 13:32:10 +0200 Subject: [PATCH] M2/VALUE: reader --- src/reader.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/reader.c b/src/reader.c index 54c06de6..71edaf22 100644 --- a/src/reader.c +++ b/src/reader.c @@ -37,8 +37,6 @@ read_input_file_env_ (SCM e, SCM a) SCM read_input_file_env (SCM a) { - //R0 = a; - //return read_input_file_env_ (read_env (R0), R0); return read_input_file_env_ (read_env (cell_nil), cell_nil); } @@ -186,7 +184,10 @@ reader_read_list (int c, SCM a) //return cell_nil; SCM s = reader_read_sexp_ (c, a); if (s == cell_dot) - return CAR (reader_read_list (readchar (), a)); + { + s = reader_read_list (readchar (), a); + return CAR (s); + } return cons (s, reader_read_list (readchar (), a)); } @@ -286,7 +287,8 @@ reader_read_character () } else if (c == 'x' && ((p >= '0' && p <= '9') || (p >= 'a' && p <= 'f') || (p >= 'F' && p <= 'F'))) { - c = VALUE (reader_read_hex ()); + SCM n = reader_read_hex (); + c = VALUE (n); eputs ("reading hex c="); eputs (itoa (c)); eputs ("\n"); @@ -482,7 +484,10 @@ reader_read_string () // c = '\e'; c = 27; else if (c == 'x') - c = VALUE (reader_read_hex ()); + { + SCM n = reader_read_hex (); + c = VALUE (n); + } } g_buf[i] = c; i = i + 1;