emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/trie 4dc003b 006/111: Fixed bug when deleting non-exist


From: Stefan Monnier
Subject: [elpa] externals/trie 4dc003b 006/111: Fixed bug when deleting non-existent entries.
Date: Mon, 14 Dec 2020 11:35:09 -0500 (EST)

branch: externals/trie
commit 4dc003b7cc57fb4ed5fc69055e7e639f6035066f
Author: Toby Cubitt <toby-predictive@dr-qubit.org>
Commit: tsc25 <toby-predictive@dr-qubit.org>

    Fixed bug when deleting non-existent entries.
---
 trie.el | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/trie.el b/trie.el
index e51309c..4909d99 100644
--- a/trie.el
+++ b/trie.el
@@ -736,13 +736,15 @@ order, or descending order if REVERSE is non-nil."
        trie-mapf--accumulate)
     (trie--mapc
      (lambda (node seq)
-       (funcall combinator
-               (funcall trie-mapf--function seq (trie--node-data node))
-               trie-mapf--accumulate))
+       (setq trie-mapf--accumulate
+            (funcall combinator
+                     (funcall trie-mapf--function seq (trie--node-data node))
+                     trie-mapf--accumulate)))
      (trie--mapfun trie)
      (trie--root trie)
      (cond ((eq type 'string) "") ((eq type 'lisp) ()) (t []))
-     reverse)))
+     reverse)
+    trie-mapf--accumulate))
 
 
 (defun trie-mapcar (function trie &optional type reverse)
@@ -924,7 +926,8 @@ TRIE."
                     (trie--deletefun trie)
                     (trie--emptyfun trie)
                     (trie--cmpfun trie))
-    (cons key (trie--node-data trie--deleted-node))))
+    (when trie--deleted-node
+      (cons key (trie--node-data trie--deleted-node)))))
 
 
 (defun trie--do-delete (node seq deletefun emptyfun cmpfun)
@@ -949,7 +952,7 @@ TRIE."
               (and (trie--do-delete n (trie--subseq seq 1)
                                       deletefun emptyfun cmpfun)
                    (funcall emptyfun (trie--node-subtree n))))
-            cmpfun)))
+            nil cmpfun)))
 
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]