Function: newsticker--treeview-tree-update-tag
newsticker--treeview-tree-update-tag is a byte-compiled function
defined in newst-treeview.el.gz.
Signature
(newsticker--treeview-tree-update-tag W &optional RECURSIVE &rest IGNORE)
Documentation
Update tag for tree widget W.
If RECURSIVE is non-nil recursively update parent widgets as well. Argument IGNORE is ignored. Note that this function, if called recursively, makes w invalid. You should keep w's nt-id in that case.
Source Code
;; Defined in /usr/src/emacs/lisp/net/newst-treeview.el.gz
(defun newsticker--treeview-tree-update-tag (w &optional recursive
&rest _ignore)
"Update tag for tree widget W.
If RECURSIVE is non-nil recursively update parent widgets as
well. Argument IGNORE is ignored. Note that this function, if
called recursively, makes w invalid. You should keep w's nt-id in
that case."
(let* ((parent (widget-get w :parent))
(feed (or (widget-get w :nt-feed) (widget-get parent :nt-feed)))
(vfeed (or (widget-get w :nt-vfeed) (widget-get parent :nt-vfeed)))
(nt-id (or (widget-get w :nt-id) (widget-get parent :nt-id)))
(num-new (newsticker--treeview-count-node-items (or feed vfeed)
vfeed))
(tag (newsticker--treeview-tree-get-tag feed vfeed nt-id))
(n (widget-get w :node)))
(if parent
(if recursive
(newsticker--treeview-tree-update-tag parent)))
(when tag
(when n
(widget-put n :tag tag))
(widget-put w :num-new num-new)
(widget-put w :tag tag)
(when (marker-position (widget-get w :from))
(let ((p (point)))
;; FIXME: This moves point!!!!
(with-current-buffer (newsticker--treeview-tree-buffer)
(widget-value-set w (widget-value w)))
(goto-char p))))))