diff options
-rw-r--r-- | filter.c | 4 | ||||
-rw-r--r-- | tests/015/trie.tl | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -121,7 +121,7 @@ static val regex_from_trie(val trie) { switch (type(trie)) { case NIL: - return nil; + return t; case CONS: { val a = car(trie); @@ -145,7 +145,7 @@ static val regex_from_trie(val trie) case COBJ: if (trie->co.cls == hash_s) { if (zerop(hash_count(trie))) { - return nil; + return tnil(!get_hash_userdata(trie)); } else { val out = nil; val cell; diff --git a/tests/015/trie.tl b/tests/015/trie.tl index de88a797..c145c060 100644 --- a/tests/015/trie.tl +++ b/tests/015/trie.tl @@ -52,3 +52,7 @@ (mvtest (build (each ((d dat)) (add [rx1 d]))) dat (build (each ((n ndt)) (add [rx1 n]))) (repeat '(nil) (len dat))) + +(mtest + (regex-from-trie (make-trie)) t + (regex-from-trie (trie-compress (make-trie))) t) |