summaryrefslogtreecommitdiffstats
path: root/repl.c
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:34 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:34 -0800
commit50eb784bfcf15ee3c6b0b53d747db92673395040 (patch)
tree60f039bb5aa27bc58d92ab0c7bab0d82dbfe7686 /repl.c
parentae2b295c7deaf2d7c18ad1ed9b6050970e56bae7 (diff)
downloadscm-50eb784bfcf15ee3c6b0b53d747db92673395040.tar.gz
scm-50eb784bfcf15ee3c6b0b53d747db92673395040.zip
Import Upstream version 5e3upstream/5e3
Diffstat (limited to 'repl.c')
-rw-r--r--repl.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/repl.c b/repl.c
index a8856ae..b6d2602 100644
--- a/repl.c
+++ b/repl.c
@@ -44,7 +44,7 @@
#include "scm.h"
#include "setjump.h"
-void igc P((const char *what, STACKITEM *stackbase));
+void igc P((const char *what, SCM rootcont));
void unexec P((char *new_name, char *a_name, unsigned data_start,
unsigned bss_start, unsigned entry_address));
void scm_fill_freelist P((void));
@@ -346,9 +346,9 @@ taloop:
}
lputc(')', port);
break;
- case tc7_bvect:
- case tc7_ivect: case tc7_uvect: case tc7_svect:
- case tc7_fvect: case tc7_dvect: case tc7_cvect:
+ case tc7_Vbool: case tc7_VfixN8: case tc7_VfixZ8:
+ case tc7_VfixN16: case tc7_VfixZ16: case tc7_VfixN32: case tc7_VfixZ32:
+ case tc7_VfloR32: case tc7_VfloC32: case tc7_VfloR64: case tc7_VfloC64:
raprin1(exp, port, writing);
break;
case tcs_subrs:
@@ -863,10 +863,13 @@ static int flush_ws(port)
}
/* Top-level readers */
-static SCM p_read_numbered, p_read_for_load, p_read;
+static SCM p_read_for_load, p_read;
static char s_read[] = "read";
static char s_read_for_load[] = "read-for-load";
+#ifndef MEMOIZE_LOCALS
+static SCM p_read_numbered;
static char s_read_numbered[] = "read-numbered";
+#endif
SCM scm_read(port)
SCM port;
{
@@ -879,11 +882,13 @@ SCM scm_read_for_load(port)
return lread1(port, 4, s_read_for_load);
}
+#ifndef MEMOIZE_LOCALS
SCM scm_read_numbered(port)
SCM port;
{
return lread1(port, 6, s_read_numbered);
}
+#endif
static SCM lread1(port, flgs, what)
SCM port;
@@ -995,7 +1000,10 @@ static SCM lreadpr(tok_buf, port, flgs)
goto tryagain;
default: callshrp:
{
- SCM reader = (3&flgs) ? p_read_numbered :
+ SCM reader =
+#ifndef MEMOIZE_LOCALS
+ (3&flgs) ? p_read_numbered :
+#endif
((4&flgs) ? p_read_for_load : p_read);
SCM args = cons2(MAKICHR(c), port, cons(reader, EOL));
if ((4&flgs) && loc_loadsharp && NIMP(*loc_loadsharp)) {
@@ -1440,7 +1448,7 @@ SCM scm_top_level(initpath, toplvl_fun)
DEFER_INTS;
scm_estk_reset(0);
scm_egc();
- igc(s_unexec, (STACKITEM *)0);
+ igc(s_unexec, BOOL_F);
ALLOW_INTS;
dumped = 1;
# ifdef linux
@@ -2256,8 +2264,10 @@ void init_repl( iverbose )
add_feature(s_char_readyp);
make_subr(s_swapcar, tc7_subr_2, swapcar);
make_subr(s_wfi, tc7_lsubr, wait_for_input);
+#ifndef MEMOIZE_LOCALS
p_read_numbered =
make_subr(s_read_numbered, tc7_subr_1, scm_read_numbered);
+#endif
p_read_for_load =
make_subr(s_read_for_load, tc7_subr_1, scm_read_for_load);
p_read =