From dc2ab667ae97f2194f5a258084e0dd96eb064bff Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Wed, 11 Apr 2012 22:31:16 +0000 Subject: [PATCH] gnus-art.el (article-wash-html): Fix non-ASCII characters when washing HTML (bug#7410). gnus-msg.el (gnus-inews-insert-gcc): Protect against when we don't have a group name. gnus-start.el (gnus-read-newsrc-el-file): Protect against broken .newsrc.el files. --- lisp/gnus/ChangeLog | 13 +++++++++++++ lisp/gnus/gnus-art.el | 4 +++- lisp/gnus/gnus-msg.el | 6 ++++-- lisp/gnus/gnus-start.el | 4 +++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index ef0f1c5c852..bac79f492bc 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,16 @@ +2012-04-10 Lars Magne Ingebrigtsen + + * gnus-msg.el (gnus-inews-insert-gcc): Protect against when we don't + have a group name. + + * gnus-art.el (article-wash-html): Ensure that we insert the HTML into + a multibyte buffer (bug#7410). + (article-wash-html): Parse the original article buffer to get the + unencoded data (bug#7410). + + * gnus-start.el (gnus-read-newsrc-el-file): Protect against broken + .newsrc.el files. + 2012-03-22 Lars Magne Ingebrigtsen * auth-source.el (auth-source-netrc-create): Quote tokens that contain diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 048f8956567..b04615dc5a9 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -2754,9 +2754,11 @@ If READ-CHARSET, ask for a coding system." (let ((handles nil) (buffer-read-only nil)) (when (gnus-buffer-live-p gnus-original-article-buffer) - (setq handles (mm-dissect-buffer t t))) + (with-current-buffer gnus-original-article-buffer + (setq handles (mm-dissect-buffer t t)))) (article-goto-body) (delete-region (point) (point-max)) + (mm-enable-multibyte) (mm-inline-text-html handles))) (defvar gnus-article-browse-html-temp-list nil diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index 500ace9e8ff..507f0406ea1 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el @@ -1670,11 +1670,13 @@ this is a reply." (not (setq result (cond - ((stringp (caar var)) + ((and group + (stringp (caar var))) ;; Regexp. (when (string-match (caar var) group) (cdar var))) - ((functionp (car var)) + ((and group + (functionp (car var))) ;; Function. (funcall (car var) group)) (t diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index bb7dd76d590..f025960c348 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -2442,7 +2442,9 @@ If FORCE is non-nil, the .newsrc file is read." (when gnus-newsrc-assoc (setq gnus-newsrc-alist gnus-newsrc-assoc)))) (dolist (elem gnus-newsrc-alist) - (setcar elem (mm-string-as-unibyte (car elem)))) + ;; Protect against broken .newsrc.el files. + (when (car elem) + (setcar elem (mm-string-as-unibyte (car elem))))) (gnus-make-hashtable-from-newsrc-alist) (when (file-newer-than-file-p file ding-file) ;; Old format quick file -- 2.39.2