diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2010-01-05 18:29:31 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2010-01-05 18:29:31 -0800 |
commit | f70f76d6e8ada0e386c3708673eafa2e8abb8ca8 (patch) | |
tree | 878d3a4d473298f347eeacd73bc2f557a75a5572 /lib.c | |
parent | b553f54bca43cda8ac0eaca5c21469dd36415d2b (diff) | |
parent | f9ea3b7c156391758aa0356c7636983393184a39 (diff) | |
download | txr-f70f76d6e8ada0e386c3708673eafa2e8abb8ca8.tar.gz txr-f70f76d6e8ada0e386c3708673eafa2e8abb8ca8.tar.bz2 txr-f70f76d6e8ada0e386c3708673eafa2e8abb8ca8.zip |
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/txr
Conflicts:
ChangeLog
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 20 |
1 files changed, 11 insertions, 9 deletions
@@ -1103,16 +1103,17 @@ val make_sym(val name) val make_package(val name) { - if (find_package(name)) + if (find_package(name)) { uw_throwf(error_s, lit("make_package: ~a exists already"), name, nao); + } else { + val obj = make_obj(); + obj->pk.type = PKG; + obj->pk.name = name; + obj->pk.symhash = make_hash(nil, nil); - val obj = make_obj(); - obj->pk.type = PKG; - obj->pk.name = name; - obj->pk.symhash = make_hash(nil, nil); - - push(cons(name, obj), &packages); - return obj; + push(cons(name, obj), &packages); + return obj; + } } val find_package(val name) @@ -1123,6 +1124,7 @@ val find_package(val name) val intern(val str, val package) { val new_p; + val *place; if (nullp(package)) { package = user_package; @@ -1134,7 +1136,7 @@ val intern(val str, val package) type_check (package, PKG); - val *place = gethash_l(package->pk.symhash, str, &new_p); + place = gethash_l(package->pk.symhash, str, &new_p); if (!new_p) { return *place; |