diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2009-11-21 11:12:20 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2009-11-21 11:12:20 -0800 |
commit | 4a1556a848c5bfb527cecb2b823a750ba63e6f80 (patch) | |
tree | be9378666222056692e4770a8f0eb79b45ef8993 /txr.c | |
parent | 00f823aee439ed8c2cdd71dfbb89385dc68eae7b (diff) | |
download | txr-4a1556a848c5bfb527cecb2b823a750ba63e6f80.tar.gz txr-4a1556a848c5bfb527cecb2b823a750ba63e6f80.tar.bz2 txr-4a1556a848c5bfb527cecb2b823a750ba63e6f80.zip |
Introducing symbol packages. Internal symbols are now in
a system package instead of being hacked with the $ prefix.
Keyword symbols are provided. In the matcher, evaluation
is tightened up. Keywords, nil and t are not bindeable, and
errors are thrown if attempts are made to bind them.
Destructuring in dest_bind is strict in the number of items.
String streams are exploited to print bindings to objects
that are not strings or characters. Numerous bugfixes.
Diffstat (limited to 'txr.c')
-rw-r--r-- | txr.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -201,13 +201,15 @@ static int txr_main(int argc, char **argv) } list = nreverse(list); - bindings = cons(cons(intern(string_utf8(var)), list), bindings); + bindings = cons(cons(intern(string_utf8(var), nil), list), bindings); } else if (equals) { char *pval = equals + 1; *equals = 0; - bindings = cons(cons(intern(string_utf8(var)), string_utf8(pval)), bindings); + bindings = cons(cons(intern(string_utf8(var), nil), + string_utf8(pval)), bindings); } else { - bindings = cons(cons(intern(string_utf8(var)), null_string), bindings); + bindings = cons(cons(intern(string_utf8(var), nil), + null_string), bindings); } argc--, argv++; |