projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: macros appear to work now
[fw/altos]
/
src
/
lisp
/
ao_lisp_atom.c
diff --git
a/src/lisp/ao_lisp_atom.c
b/src/lisp/ao_lisp_atom.c
index 5f1bcda02ac372b0bff2ba72c91d1bd9b7177de6..5c6d5a67dc72bac26d4abb1afd14a955e7165136 100644
(file)
--- a/
src/lisp/ao_lisp_atom.c
+++ b/
src/lisp/ao_lisp_atom.c
@@
-48,7
+48,7
@@
static void atom_move(void *addr)
struct ao_lisp_atom *atom = addr;
for (;;) {
struct ao_lisp_atom *atom = addr;
for (;;) {
- if (ao_lisp_poly_move(&atom->next))
+ if (ao_lisp_poly_move(&atom->next
, 0
))
break;
atom = ao_lisp_poly_atom(atom->next);
}
break;
atom = ao_lisp_poly_atom(atom->next);
}
@@
-89,8
+89,8
@@
ao_lisp_atom_intern(char *name)
return atom;
}
return atom;
}
-st
atic struct ao_lisp_frame
*ao_lisp_frame_global;
-struct ao_lisp_frame
*ao_lisp_frame_current;
+st
ruct ao_lisp_frame
*ao_lisp_frame_global;
+struct ao_lisp_frame *ao_lisp_frame_current;
static void
ao_lisp_atom_init(void)
static void
ao_lisp_atom_init(void)
@@
-134,7
+134,7
@@
ao_lisp_atom_get(ao_poly atom)
#endif
if (ref)
return *ref;
#endif
if (ref)
return *ref;
- return
AO_LISP_NIL
;
+ return
ao_lisp_error(AO_LISP_UNDEFINED, "undefined atom %s", ao_lisp_poly_atom(atom)->name)
;
}
ao_poly
}
ao_poly