From: Toby Cubitt Date: Fri, 27 May 2011 23:03:26 +0000 (-0300) Subject: * lisp/emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~134 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=93a1c12a9a098902721062e32273e5014804b6b5;p=emacs.git * lisp/emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new traversal functions for avl-trees. Consolidate rebalancing code. --- 93a1c12a9a098902721062e32273e5014804b6b5 diff --cc lisp/ChangeLog index 64dd2af280a,8c40eab356b..29749a75087 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,4 -1,32 +1,34 @@@ - 2011-05-27 David Michael + 2009-11-23 Toby Cubitt + + * emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new + traversal functions for avl-trees. + (avl-tree--stack): New struct. + (avl-tree-stack-p, avl-tree--stack-repopulate): New funs. + (avl-tree-enter): Add optional `updatefun' arg. - (avl-tree--do-enter): Add optional `updatefun' arg. Change return value. ++ (avl-tree--do-enter): Add optional `updatefun' arg. ++ Change return value. + (avl-tree-delete): Add optional `test' and `nilflag' args. - (avl-tree--do-delete): Add `test' and `nilflag' args. Change return value. ++ (avl-tree--do-delete): Add `test' and `nilflag' args. ++ Change return value. + (avl-tree-member): Add optional `nilflag' + (avl-tree-member-p): New function. + (avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar): New functions. + (avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first) + (avl-tree-stack-empty-p): New functions. + + 2009-11-23 Toby Cubitt + + * emacs-lisp/avl-tree.el (avl-tree--del-balance): Rename from + avl-tree--del-balance1 and make it work both ways. + (avl-tree--del-balance2): Remove. + (avl-tree--enter-balance): Rename from avl-tree--enter-balance1 and + make it work both ways. + (avl-tree--enter-balance2): Remove. + (avl-tree--switch-dir, avl-tree--dir-to-sign, avl-tree--sign-to-dir): + New macros. + (avl-tree--mapc, avl-tree-map): Add direction argument. + + 2011-05-27 David Michael (tiny change) * files.el (interpreter-mode-alist): Add rbash (bug#8745).