aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJosef Pospíšil <josef.pospisil@laststar.eu>2026-01-31 10:47:20 +0100
committerCalvin Rose <calsrose@gmail.com>2026-02-04 18:37:43 -0600
commit79e9a40961593dedcd9c8af260d67bcbd3dc4dd0 (patch)
tree3bba33232a27c2f9a6c1371a7223b31b7fb4ad89
parentRemove win11 only flag (diff)
Fix select-keys for false values
-rw-r--r--spork/misc.janet2
-rw-r--r--test/suite-misc.janet3
2 files changed, 4 insertions, 1 deletions
diff --git a/spork/misc.janet b/spork/misc.janet
index 2837f6b..85eea08 100644
--- a/spork/misc.janet
+++ b/spork/misc.janet
@@ -257,7 +257,7 @@
"Returns new table with selected `keyz` from dictionary `data`."
[data keyz]
(def res @{})
- (loop [k :in keyz :when (data k)]
+ (loop [k :in keyz :when (not= nil (data k))]
(put res k (data k)))
res)
diff --git a/test/suite-misc.janet b/test/suite-misc.janet
index 38b9367..04ae410 100644
--- a/test/suite-misc.janet
+++ b/test/suite-misc.janet
@@ -89,6 +89,9 @@
(deep= (misc/select-keys {1 2 3 4 5 6} [1]) @{1 2})
"selects key from dictionary")
(assert
+ (deep= (misc/select-keys {1 false 3 4 5 6} [1]) @{1 false})
+ "selects key with false value")
+(assert
(deep= (misc/select-keys {1 2 3 4 5 {:a :b}} [1 5]) @{1 2 5 {:a :b}})
"selects keys from nested dictionary")