Function: newsticker--cache-remove
newsticker--cache-remove is a byte-compiled function defined in
newst-backend.el.gz.
Signature
(newsticker--cache-remove DATA FEED-SYMBOL AGE)
Documentation
Remove all entries from DATA in the feed FEED-SYMBOL with AGE.
FEED-SYMBOL may be any. Entries from old feeds, which are no longer in
newsticker-url-list or newsticker-url-list-defaults, are removed as
well.
Source Code
;; Defined in /usr/src/emacs/lisp/net/newst-backend.el.gz
(defun newsticker--cache-remove (data feed-symbol age)
"Remove all entries from DATA in the feed FEED-SYMBOL with AGE.
FEED-SYMBOL may be `any'. Entries from old feeds, which are no longer in
`newsticker-url-list' or `newsticker-url-list-defaults', are removed as
well."
(let* ((pos data)
(feed (car pos))
(last-pos nil))
(while feed
(if (or (assoc (symbol-name (car feed)) newsticker-url-list)
(assoc (symbol-name (car feed)) newsticker-url-list-defaults))
;; feed is still valid=active
;; (message "Keeping feed %s" (car feed))
(if (or (eq feed-symbol 'any)
(eq feed-symbol (car feed)))
(let* ((item-pos (cdr feed))
(item (car item-pos))
(prev-pos nil))
(while item
;;(message "%s" (car item))
(if (eq age (newsticker--age item))
;; remove this item
(progn
;;(message "Removing item %s" (car item))
(if prev-pos
(setcdr prev-pos (cdr item-pos))
(setcdr feed (cdr item-pos))))
;;(message "Keeping item %s" (car item))
(setq prev-pos item-pos))
(setq item-pos (cdr item-pos))
(setq item (car item-pos)))))
;; feed is not active anymore
;; (message "Removing feed %s" (car feed))
(if last-pos
(setcdr last-pos (cdr pos))
(setq data (cdr pos))))
(setq last-pos pos)
(setq pos (cdr pos))
(setq feed (car pos)))))