Hi,
I just found this bug in the hash-table-merge! function
(modul/srfi/srfi-69.scm). Instead of merging both hash tables, it was
ignoring one of them (other-ht). Attached is the fix, where it now folds
over other-ht and store its data in ht.
Cheers,
Ricardo G. Herdt
From 180a9e14b807295aa31966a52bfd732647458ef9 Mon Sep 17 00:00:00 2001
From: "Ricardo G. Herdt" <r.he...@posteo.de>
Date: Fri, 8 May 2020 01:37:24 +0200
Subject: [PATCH] Fix hash-table-merge! bug.
* module/srfi/srfi-69.scm : fold over second hash table.
---
module/srfi/srfi-69.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/module/srfi/srfi-69.scm b/module/srfi/srfi-69.scm
index b9486c465..91bcc77db 100644
--- a/module/srfi/srfi-69.scm
+++ b/module/srfi/srfi-69.scm
@@ -330,7 +330,7 @@ Answer the final F result."
"Add all key/value pairs from OTHER-HT to HT, overriding HT's
mappings where present. Return HT."
(hash-table-fold
- ht (lambda (k v ign) (hash-table-set! ht k v)) #f)
+ other-ht (lambda (k v ign) (hash-table-set! ht k v)) #f)
ht)
;;; srfi-69.scm ends here
--
2.20.1
2020-05-08 Ricardo G. Herdt <r.he...@posteo.de>
* srfi-69.scm: hash-table-merge! was ignoring the second hash table.
Fold over other-ht, and store its key-values in ht.