OK, the problem is that make_frame fails to put the arguments into the frame.

I do not (yet) know why not, but that is the problem.
This commit is contained in:
Simon Brooke 2026-04-16 12:34:47 +01:00
parent ba985474f6
commit cb3dcb352e
6 changed files with 23 additions and 8 deletions

View file

@ -127,7 +127,7 @@ struct pso_pointer make_keyword( wint_t c, struct pso_pointer tail ) {
* @param tail the symbol which is being built.
*/
struct pso_pointer make_symbol( wint_t c, struct pso_pointer tail ) {
return make_string_like_thing( c, tail, STRINGTAG );
return make_string_like_thing( c, tail, SYMBOLTAG );
}

View file

@ -49,12 +49,15 @@ bool not( struct pso_pointer p ) {
* each is considered equivalent. So we don't check the node when considering
* whether `nil` really is `nil`, or `t` really is `t`.
*
* Note that the offset is 4 because `t` should be the second pso2 allocated,
* the offset is given in words, and the size of a pso2 should be four words
*
* @param p a pointer
* @return true if `p` points to `t`.
* @return false otherwise.
*/
bool truep( struct pso_pointer p ) {
return ( p.page == 0 && p.offset == 1 );
return ( p.page == 0 && p.offset == 4 );
}
/**