Fixed bug in sexp arity

This commit is contained in:
Dmitry Boulytchev 2018-11-05 20:17:11 +03:00
parent 8a4874797b
commit cf045e0be5
6 changed files with 42 additions and 31 deletions

View file

@ -217,9 +217,9 @@ extern void* Bsexp (int n, ...) {
return d->contents;
}
extern int Btag (void *d, int t) {
extern int Btag (void *d, int t, int n) {
data *r = TO_DATA(d);
return BOX(TAG(r->tag) == SEXP_TAG && TO_SEXP(d)->tag == t);
return BOX(TAG(r->tag) == SEXP_TAG && TO_SEXP(d)->tag == t && LEN(r->tag) == n);
}
extern void Bsta (int n, int v, void *s, ...) {