diff options
| author | Ulf Jasper | 2014-10-20 20:39:58 +0200 |
|---|---|---|
| committer | Ulf Jasper | 2014-10-20 20:39:58 +0200 |
| commit | 1e6e7f33a4e0b4e98c41e7089475888cf593d4c5 (patch) | |
| tree | 773e3f93e7fecd594306d5925a37fed05e229d4b | |
| parent | bc0e9e47b645ecd8da86eb8ae5810ebf2fd62b97 (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/net/newst-backend.el | 34 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-10-20 Stefan Monnier <monnier@iro.umontreal.ca> | 7 | 2014-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'. | |||
| 1905 | FEED-NAME is the name of the feed that the news were retrieved | 1905 | FEED-NAME is the name of the feed that the news were retrieved |
| 1906 | from. | 1906 | from. |
| 1907 | The image is saved in DIRECTORY as FILENAME." | 1907 | The 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." |