summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Jasper <ulf.jasper@web.de>2014-12-01 19:14:54 +0100
committerUlf Jasper <ulf.jasper@web.de>2014-12-01 19:14:54 +0100
commit581914e45fbc08b020aa0aeb6a2967f4e77ee484 (patch)
tree83b698792e0a1e16a5e003aa3450738ce729fa1a
parent52fab40c160699d9ca45436c30433360d69f015a (diff)
downloademacs-581914e45fbc08b020aa0aeb6a2967f4e77ee484.tar.gz
newsticker: Prevent multiple "Could not download..." messages. Fixes bug#19166.
* lisp/net/newst-backend.el (newsticker--get-news-by-url-callback): Pass correct status to `newsticker--sentinel-work'. (newsticker--sentinel-work): Use "newsticker--download-error" as guid in order to prevent multiple "Could not download..." messages. Fixes bug#19166. * lisp/net/newst-treeview.el (newsticker--treeview-item-show): Check window liveliness before measuring its width.
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/net/newst-backend.el16
-rw-r--r--lisp/net/newst-treeview.el4
3 files changed, 25 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 375dd080b0f..9f233cdaadf 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,14 @@
+2014-12-01 Ulf Jasper <ulf.jasper@web.de>
+
+ * net/newst-treeview.el (newsticker--treeview-item-show): Check
+ window liveliness before measuring its width.
+
+ * net/newst-backend.el (newsticker--get-news-by-url-callback):
+ Pass correct status to `newsticker--sentinel-work'.
+ (newsticker--sentinel-work): Use "newsticker--download-error" as
+ guid in order to prevent multiple "Could not download..."
+ messages. Fixes bug#19166.
+
2014-12-01 Ivan Shmakov <ivan@siamics.net>
* net/eww.el (eww-render): Call `eww-after-render-hook' in the
diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el
index 31ebc7ac583..de5c23ca4c9 100644
--- a/lisp/net/newst-backend.el
+++ b/lisp/net/newst-backend.el
@@ -745,10 +745,14 @@ from."
(insert result)
;; remove MIME header
(goto-char (point-min))
- (search-forward "\n\n")
+ (search-forward "\n\n" nil t)
(delete-region (point-min) (point))
;; read the rss/atom contents
- (newsticker--sentinel-work nil t feed-name "url-retrieve" (current-buffer))
+ (newsticker--sentinel-work nil
+ (or (not status)
+ (not (eq (car status) :error)))
+ feed-name "url-retrieve"
+ (current-buffer))
(when status
(let ((status-type (car status))
(status-details (cdr status)))
@@ -831,7 +835,8 @@ Argument COMMAND is the command of the retrieval process.
Argument BUFFER is the buffer of the retrieval process."
(let ((time (current-time))
(name-symbol (intern feed-name))
- (something-was-added nil))
+ (something-was-added nil)
+ (ct (current-time)))
;; catch known errors (zombie processes, rubbish-xml etc.
;; if an error occurs the news feed is not updated!
(catch 'oops
@@ -848,9 +853,10 @@ Argument BUFFER is the buffer of the retrieval process."
(format-time-string "%A, %H:%M")
feed-name event command)
""
- (current-time)
+ ct
'new
- 0 nil))
+ 0 '((guid nil "newsticker--download-error"))
+ ct))
(message "%s: Error while retrieving news from %s"
(format-time-string "%A, %H:%M")
feed-name)
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index 30015f499ef..0b159234dfa 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -717,7 +717,9 @@ for the button."
(remove-overlays)
(when (and item feed-name-symbol)
- (let ((wwidth (1- (window-width (newsticker--treeview-item-window)))))
+ (let ((wwidth (1- (if (window-live-p (newsticker--treeview-item-window))
+ (window-width (newsticker--treeview-item-window))
+ fill-column))))
(if newsticker-use-full-width
(set (make-local-variable 'fill-column) wwidth))
(set (make-local-variable 'fill-column) (min fill-column