Function: newsticker--set-customvar-retrieval
newsticker--set-customvar-retrieval is a byte-compiled function
defined in newst-backend.el.gz.
Signature
(newsticker--set-customvar-retrieval SYMBOL VALUE)
Documentation
Set retrieval related newsticker-variable SYMBOL value to VALUE.
Calls all actions which are necessary in order to make the new value effective.
Source Code
;; Defined in /usr/src/emacs/lisp/net/newst-backend.el.gz
(defun newsticker--set-customvar-retrieval (symbol value)
"Set retrieval related newsticker-variable SYMBOL value to VALUE.
Calls all actions which are necessary in order to make the new
value effective."
(if (or (not (boundp symbol))
(equal (symbol-value symbol) value))
(set symbol value)
;; something must have changed
(let ((need-restart nil)
(new-or-changed-feeds nil)
(removed-feeds))
(cond ((eq symbol 'newsticker-retrieval-interval)
(setq need-restart t))
((memq symbol '(newsticker-url-list-defaults newsticker-url-list))
(dolist (elt value)
(unless (member elt (symbol-value symbol))
(setq new-or-changed-feeds (cons elt new-or-changed-feeds))))
(dolist (elt (symbol-value symbol))
(unless (member elt value)
(setq removed-feeds (cons elt removed-feeds))))))
(cond (need-restart
(set symbol value)
(when (newsticker-running-p)
(message "Restarting newsticker")
(newsticker-stop)
(newsticker-start)))
(t
(dolist (feed removed-feeds)
(message "Stopping feed `%s'" (car feed))
(newsticker--stop-feed (car feed)))
(dolist (feed new-or-changed-feeds)
(message "Starting feed `%s'" (car feed))
(newsticker--stop-feed (car feed))
(newsticker--start-feed feed))
(unless new-or-changed-feeds
(when newsticker--sentinel-callback
(funcall newsticker--sentinel-callback)))))
(set symbol value))))