Function: mh-thread-rewind-pruning
mh-thread-rewind-pruning is a byte-compiled function defined in
mh-thread.el.gz.
Signature
(mh-thread-rewind-pruning)
Documentation
Restore the thread tree to its state before pruning.
Source Code
;; Defined in /usr/src/emacs/lisp/mh-e/mh-thread.el.gz
(defun mh-thread-rewind-pruning ()
"Restore the thread tree to its state before pruning."
(while mh-thread-history
(let ((action (pop mh-thread-history)))
(cond ((eq (car action) 'DROP)
(mh-thread-remove-parent-link (cadr action))
(mh-thread-add-link (caddr action) (cadr action)))
((eq (car action) 'PROMOTE)
(let ((node (cadr action))
(parent (caddr action))
(children (cdddr action)))
(dolist (child children)
(mh-thread-remove-parent-link child)
(mh-thread-add-link node child))
(mh-thread-add-link parent node)))
((eq (car action) 'SUBJECT)
(let ((node (cadr action)))
(mh-thread-remove-parent-link node)
(setf (mh-container-real-child-p node) t)))))))