Function: avl-tree--mapc
avl-tree--mapc is a byte-compiled function defined in avl-tree.el.gz.
Signature
(avl-tree--mapc MAP-FUNCTION ROOT DIR)
Documentation
Apply MAP-FUNCTION to all nodes in the tree starting with ROOT.
The function is applied in-order, either ascending (DIR=0) or descending (DIR=1).
Note: MAP-FUNCTION is applied to the node and not to the data itself.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/avl-tree.el.gz
;; ----------------------------------------------------------------
;;; INTERNAL USE ONLY
(defun avl-tree--mapc (map-function root dir)
"Apply MAP-FUNCTION to all nodes in the tree starting with ROOT.
The function is applied in-order, either ascending (DIR=0) or
descending (DIR=1).
Note: MAP-FUNCTION is applied to the node and not to the data
itself."
(let ((node root)
(stack nil)
(go-dir t))
(push nil stack)
(while node
(if (and go-dir
(avl-tree--node-branch node dir))
;; Do the DIR subtree first.
(progn
(push node stack)
(setq node (avl-tree--node-branch node dir)))
;; Apply the function...
(funcall map-function node)
;; and do the opposite subtree.
(setq node (if (setq go-dir (avl-tree--node-branch
node (avl-tree--switch-dir dir)))
(avl-tree--node-branch
node (avl-tree--switch-dir dir))
(pop stack)))))))