summaryrefslogtreecommitdiffstats
path: root/txr.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2009-11-21 11:12:20 -0800
committerKaz Kylheku <kaz@kylheku.com>2009-11-21 11:12:20 -0800
commit4a1556a848c5bfb527cecb2b823a750ba63e6f80 (patch)
treebe9378666222056692e4770a8f0eb79b45ef8993 /txr.c
parent00f823aee439ed8c2cdd71dfbb89385dc68eae7b (diff)
downloadtxr-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.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/txr.c b/txr.c
index 52edb734..b6b49b9c 100644
--- a/txr.c
+++ b/txr.c
@@ -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++;