REPL defers to sh when a symbol isn't found.

This commit is contained in:
Sage Vaillancourt 2022-03-29 22:51:13 -04:00
parent 85d8ee73e7
commit f48e1bf5c9
1 changed files with 7 additions and 1 deletions

View File

@ -618,10 +618,16 @@ void repl(struct Environment* env)
free(oldBuf); free(oldBuf);
} }
Object o = parseEval(buf, env); Object o = parseEval(buf, env);
if (isError(o, DID_NOT_FIND_SYMBOL)) {
cleanObject(&o);
system(buf);
free(buf);
continue;
}
free(buf); free(buf);
size_t length; size_t length;
char *output = stringObj(&o, &length); char* output = stringObj(&o, &length);
cleanObject(&o); cleanObject(&o);
printColored(output); printColored(output);
free(output); free(output);