summaryrefslogtreecommitdiff
path: root/symbol.c
diff options
context:
space:
mode:
Diffstat (limited to 'symbol.c')
-rw-r--r--symbol.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/symbol.c b/symbol.c
index 046857b..8f4797a 100644
--- a/symbol.c
+++ b/symbol.c
@@ -47,9 +47,9 @@ getsym(Rune *name, int fresh)
tab->syms = erealloc(tab->syms, sizeof(Symbol *) * tab->nsyms);
tab->syms[tab->nsyms-1] = emalloc(sizeof(Symbol));
tab->syms[tab->nsyms-1]->name = runestrdup(name);
- tab->syms[tab->nsyms-1]->undefined = 1;
tab->syms[tab->nsyms-1]->getfn = nil;
tab->syms[tab->nsyms-1]->setfn = nil;
+ tab->syms[tab->nsyms-1]->value = nil;
return tab->syms[tab->nsyms-1];
}
@@ -71,8 +71,7 @@ freesymtab(Symtab *tab)
int i;
for(i = 0; i < tab->nsyms; i++){
Symbol *s = tab->syms[i];
- if(s->undefined == 0)
- freedatum(s->value);
+ freedatum(s->value);
free(s->name);
}
free(tab->syms);
@@ -87,22 +86,18 @@ initsymtab(void)
s = getsym(L"⍺", 1);
s->getfn = getalpha;
s->setfn = setalpha;
- s->undefined = 0;
s = getsym(L"⍵", 1);
s->getfn = getomega;
s->setfn = setsyntaxerr;
- s->undefined = 0;
s = getsym(L"⍶", 1);
s->getfn = getalphao;
s->setfn = setsyntaxerr;
- s->undefined = 0;
s = getsym(L"⍹", 1);
s->getfn = getomegao;
s->setfn = setsyntaxerr;
- s->undefined = 0;
}
DfnFrame *