aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Jasper2014-10-20 20:39:58 +0200
committerUlf Jasper2014-10-20 20:39:58 +0200
commit1e6e7f33a4e0b4e98c41e7089475888cf593d4c5 (patch)
tree773e3f93e7fecd594306d5925a37fed05e229d4b
parentbc0e9e47b645ecd8da86eb8ae5810ebf2fd62b97 (diff)
downloademacs-1e6e7f33a4e0b4e98c41e7089475888cf593d4c5.tar.gz
emacs-1e6e7f33a4e0b4e98c41e7089475888cf593d4c5.zip
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.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/net/newst-backend.el34
2 files changed, 26 insertions, 14 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b27f8a0d17e..187953b41d3 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12014-10-20 Ulf Jasper <ulf.jasper@web.de>
2
3 * net/newst-backend.el
4 (newsticker--image-download-by-url-callback): Make this function
5 actually work: First save image then check status.
6
12014-10-20 Stefan Monnier <monnier@iro.umontreal.ca> 72014-10-20 Stefan Monnier <monnier@iro.umontreal.ca>
2 8
3 * textmodes/css-mode.el (scss-mode): New major-mode. 9 * 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'.
1905FEED-NAME is the name of the feed that the news were retrieved 1905FEED-NAME is the name of the feed that the news were retrieved
1906from. 1906from.
1907The image is saved in DIRECTORY as FILENAME." 1907The image is saved in DIRECTORY as FILENAME."
1908 (let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-"
1909 directory "*")))
1910 (result (string-to-multibyte (buffer-string))))
1911 (set-buffer buf)
1912 (erase-buffer)
1913 (insert result)
1914 ;; remove MIME header
1915 (goto-char (point-min))
1916 (search-forward "\n\n")
1917 (delete-region (point-min) (point))
1918 ;; save
1919 (newsticker--image-save buf directory filename))
1908 (when status 1920 (when status
1909 (let ((status-type (car status)) 1921 (let ((status-type (car status))
1910 (status-details (cdr status))) 1922 (status-details (cdr status)))
1911 (cond ((eq status-type :error) 1923 (cond ((eq status-type :redirect)
1912 (newsticker--image-remove directory feed-name)) 1924 ;; don't care about redirects
1913 (t 1925 )
1914 (let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-" directory "*"))) 1926 ((eq status-type :error)
1915 (result (string-to-multibyte (buffer-string)))) 1927 (message "%s: Error while retrieving image from %s: %s: \"%s\""
1916 (set-buffer buf) 1928 (format-time-string "%A, %H:%M" (current-time))
1917 (erase-buffer) 1929 feed-name
1918 (insert result) 1930 (car status-details) (cdr status-details)))))))
1919 ;; remove MIME header
1920 (goto-char (point-min))
1921 (search-forward "\n\n")
1922 (delete-region (point-min) (point))
1923 ;; save
1924 (newsticker--image-save buf directory filename)))))))
1925 1931
1926(defun newsticker--insert-image (img string) 1932(defun newsticker--insert-image (img string)
1927 "Insert IMG with STRING at point." 1933 "Insert IMG with STRING at point."