branch: externals/dict-tree commit 9e6d0f230df987a6bc446b77f2388c0d8201a6bf Author: Toby Cubitt <toby-predict...@dr-qubit.org> Commit: tsc25 <toby-predict...@dr-qubit.org>
Fixed bug when deleting non-existent entries. --- dict-tree.el | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/dict-tree.el b/dict-tree.el index e744da1..7e8728a 100644 --- a/dict-tree.el +++ b/dict-tree.el @@ -1039,7 +1039,8 @@ Returns non-nil if KEY was deleted, nil if KEY was not in DICT." (dictree--meta-dict-list dict))))) ;; return deleted key/data pair - (cons (car deleted) (dictree--unwrap-data (cdr deleted))))) + (when deleted + (cons (car deleted) (dictree--unwrap-data (cdr deleted)))))) @@ -1372,11 +1373,13 @@ descending order if REVERSE is non-nil." dictree-mapf--accumulate) (while (setq dictree-mapf--entry (dictree-stack-pop dictree-mapf--stack)) - (funcall dictree-mapf--combinator - (funcall dictree-mapf--function - (car dictree-mapf--entry) - (cdr dictree-mapf--entry))))) - ))) + (setq dictree-mapf--accumulate + (funcall dictree-mapf--combinator + (funcall dictree-mapf--function + (car dictree-mapf--entry) + (cdr dictree-mapf--entry)) + dictree-mapf--accumulate))) + dictree-mapf--accumulate))))