summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 32be8f2f..a97aa819 100644
--- a/eval.c
+++ b/eval.c
@@ -1035,7 +1035,7 @@ static val op_dohash(val form, val env)
uw_block_begin (nil, result);
- while ((cell = hash_next(&iter)) != nil) {
+ while ((cell = hash_next(iter)) != nil) {
/* These assignments are gc-safe, because keyvar and valvar
are newer objects than existing entries in the hash,
unless the body mutates hash by inserting newer objects,
@@ -2241,6 +2241,10 @@ void eval_init(void)
reg_fun(intern(lit("maphash"), user_package), func_n2(maphash));
reg_fun(intern(lit("hash-eql"), user_package), func_n1(hash_eql));
reg_fun(intern(lit("hash-equal"), user_package), func_n1(hash_equal));
+ reg_fun(intern(lit("hash-keys"), user_package), func_n1(hash_keys));
+ reg_fun(intern(lit("hash-values"), user_package), func_n1(hash_values));
+ reg_fun(intern(lit("hash-pairs"), user_package), func_n1(hash_pairs));
+ reg_fun(intern(lit("hash-alist"), user_package), func_n1(hash_alist));
reg_fun(intern(lit("eval"), user_package), func_n2o(eval_intrinsic, 1));