From: Ulf Jasper <> Date: Mon, 20 Oct 2014 18:39:58 +0000 (+0200) Subject: Newsticker: fix broken image download via url-retrieve. X-Git-Tag: emacs-25.0.90~2635^2~679^2~6 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1e6e7f33a4e0b4e98c41e7089475888cf593d4c5;p=emacs.git Newsticker: fix broken image download via url-retrieve. * lisp/net/newst-backend.el (newsticker--image-download-by-url-callback): Make this function actually work: First save image then check status. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b27f8a0d17e..187953b41d3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2014-10-20 Ulf Jasper + + * net/newst-backend.el + (newsticker--image-download-by-url-callback): Make this function + actually work: First save image then check status. + 2014-10-20 Stefan Monnier * textmodes/css-mode.el (scss-mode): New major-mode. diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el index 4052116074d..a8b0d1b7d62 100644 --- a/lisp/net/newst-backend.el +++ b/lisp/net/newst-backend.el @@ -1905,23 +1905,29 @@ STATUS is the return status as delivered by `url-retrieve'. FEED-NAME is the name of the feed that the news were retrieved from. The image is saved in DIRECTORY as FILENAME." + (let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-" + directory "*"))) + (result (string-to-multibyte (buffer-string)))) + (set-buffer buf) + (erase-buffer) + (insert result) + ;; remove MIME header + (goto-char (point-min)) + (search-forward "\n\n") + (delete-region (point-min) (point)) + ;; save + (newsticker--image-save buf directory filename)) (when status (let ((status-type (car status)) (status-details (cdr status))) - (cond ((eq status-type :error) - (newsticker--image-remove directory feed-name)) - (t - (let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-" directory "*"))) - (result (string-to-multibyte (buffer-string)))) - (set-buffer buf) - (erase-buffer) - (insert result) - ;; remove MIME header - (goto-char (point-min)) - (search-forward "\n\n") - (delete-region (point-min) (point)) - ;; save - (newsticker--image-save buf directory filename))))))) + (cond ((eq status-type :redirect) + ;; don't care about redirects + ) + ((eq status-type :error) + (message "%s: Error while retrieving image from %s: %s: \"%s\"" + (format-time-string "%A, %H:%M" (current-time)) + feed-name + (car status-details) (cdr status-details))))))) (defun newsticker--insert-image (img string) "Insert IMG with STRING at point."