summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tissue/issue.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/tissue/issue.scm b/tissue/issue.scm
index 7a5b6ff..59e7ee9 100644
--- a/tissue/issue.scm
+++ b/tissue/issue.scm
@@ -66,10 +66,14 @@
(define (hashtable-append! hashtable key new-values)
"Append NEW-VALUES to the list of values KEY is associated to in
-HASHTABLE. If KEY is not associated to any value in HASHTABLE, assume
-it is associated to the empty list."
- (hashtable-update!
- hashtable key (cut append <> new-values) '()))
+HASHTABLE. Deduplicate the resulting list if necessary. If KEY is not
+associated to any value in HASHTABLE, assume it is associated to the
+empty list."
+ (hashtable-update! hashtable
+ key
+ (lambda (old-values)
+ (delete-duplicates (append old-values new-values)))
+ '()))
(define (comma-split str)
"Split string at commas, trim whitespace from both ends of the split