org-feed: Do not stop feed update when a feed is unavailable

* lisp/org-feed.el (org-feed-update-all): Do not stop feed update when
  a feed is unavailable.

Reported-by: Adrian Tritschler <ajft@ajft.org>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00043.html>
This commit is contained in:
Nicolas Goaziou 2018-02-03 15:19:52 +01:00
parent d0c4d9ba23
commit 52c059a10d
1 changed files with 15 additions and 8 deletions

View File

@ -276,14 +276,21 @@ have been saved."
(defun org-feed-update-all () (defun org-feed-update-all ()
"Get inbox items from all feeds in `org-feed-alist'." "Get inbox items from all feeds in `org-feed-alist'."
(interactive) (interactive)
(let ((nfeeds (length org-feed-alist)) (let ((entries 0)
(nnew (apply '+ (mapcar 'org-feed-update org-feed-alist)))) (errors 0)
(message "%s from %d %s" (total-feeds (length org-feed-alist)))
(cond ((= nnew 0) "No new entries") (dolist (feed org-feed-alist)
((= nnew 1) "1 new entry") (let ((items (ignore-errors (org-feed-update feed))))
(t (format "%d new entries" nnew))) (if items (cl-incf entries items)
nfeeds (cl-incf errors))))
(if (= nfeeds 1) "feed" "feeds")))) (message "%s from %d %s%s"
(pcase entries
(0 "No new entries")
(1 "1 new entry")
(_ (format "%d new entries" entries)))
total-feeds
(if (= total-feeds 1) "feed" "feeds")
(if (= 0 errors) "" (format " (unavailable feeds: %d)" errors)))))
;;;###autoload ;;;###autoload
(defun org-feed-update (feed &optional retrieve-only) (defun org-feed-update (feed &optional retrieve-only)