projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/scheme: Pull out per-frame vals while printing list of frames
[fw/altos]
/
src
/
scheme
/
ao_scheme_frame.c
diff --git
a/src/scheme/ao_scheme_frame.c
b/src/scheme/ao_scheme_frame.c
index a7e5153f5257f22d2594cdce596e94ed9bfcc62c..9ae5bb7293e95b09eeddf41e5534d7044be25880 100644
(file)
--- a/
src/scheme/ao_scheme_frame.c
+++ b/
src/scheme/ao_scheme_frame.c
@@
-153,12
+153,13
@@
ao_scheme_frame_write(ao_poly p, bool write)
{
struct ao_scheme_frame *frame = ao_scheme_poly_frame(p);
struct ao_scheme_frame *clear = frame;
{
struct ao_scheme_frame *frame = ao_scheme_poly_frame(p);
struct ao_scheme_frame *clear = frame;
- struct ao_scheme_frame_vals *vals = ao_scheme_poly_frame_vals(frame->vals);
int f;
int written = 0;
ao_scheme_print_start();
while (frame) {
int f;
int written = 0;
ao_scheme_print_start();
while (frame) {
+ struct ao_scheme_frame_vals *vals = ao_scheme_poly_frame_vals(frame->vals);
+
if (written != 0)
printf(", ");
if (ao_scheme_print_mark_addr(frame)) {
if (written != 0)
printf(", ");
if (ao_scheme_print_mark_addr(frame)) {
@@
-250,9
+251,9
@@
ao_scheme_frame_new(int num)
frame->num = 0;
frame->prev = AO_SCHEME_NIL;
frame->vals = AO_SCHEME_NIL;
frame->num = 0;
frame->prev = AO_SCHEME_NIL;
frame->vals = AO_SCHEME_NIL;
- ao_scheme_frame_stash(
0,
frame);
+ ao_scheme_frame_stash(frame);
vals = ao_scheme_frame_vals_new(num);
vals = ao_scheme_frame_vals_new(num);
- frame = ao_scheme_frame_fetch(
0
);
+ frame = ao_scheme_frame_fetch();
if (!vals)
return NULL;
frame->vals = ao_scheme_frame_vals_poly(vals);
if (!vals)
return NULL;
frame->vals = ao_scheme_frame_vals_poly(vals);
@@
-296,9
+297,9
@@
ao_scheme_frame_realloc(struct ao_scheme_frame *frame, int new_num)
if (new_num == frame->num)
return frame;
if (new_num == frame->num)
return frame;
- ao_scheme_frame_stash(
0,
frame);
+ ao_scheme_frame_stash(frame);
new_vals = ao_scheme_frame_vals_new(new_num);
new_vals = ao_scheme_frame_vals_new(new_num);
- frame = ao_scheme_frame_fetch(
0
);
+ frame = ao_scheme_frame_fetch();
if (!new_vals)
return NULL;
vals = ao_scheme_poly_frame_vals(frame->vals);
if (!new_vals)
return NULL;
vals = ao_scheme_poly_frame_vals(frame->vals);
@@
-331,11
+332,11
@@
ao_scheme_frame_add(struct ao_scheme_frame *frame, ao_poly atom, ao_poly val)
if (!ref) {
int f = frame->num;
if (!ref) {
int f = frame->num;
- ao_scheme_poly_stash(
0,
atom);
- ao_scheme_poly_stash(
1,
val);
+ ao_scheme_poly_stash(atom);
+ ao_scheme_poly_stash(val);
frame = ao_scheme_frame_realloc(frame, f + 1);
frame = ao_scheme_frame_realloc(frame, f + 1);
- val = ao_scheme_poly_fetch(
1
);
- atom = ao_scheme_poly_fetch(
0
);
+ val = ao_scheme_poly_fetch();
+ atom = ao_scheme_poly_fetch();
if (!frame)
return AO_SCHEME_NIL;
ao_scheme_frame_bind(frame, frame->num - 1, atom, val);
if (!frame)
return AO_SCHEME_NIL;
ao_scheme_frame_bind(frame, frame->num - 1, atom, val);