diff options
author | Andrea Corallo <akrl@sdf.org> | 2021-01-24 21:05:33 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2021-01-24 21:05:33 +0100 |
commit | b8d3ae78c54db7c7bb65d367a80f9be3d8744c48 (patch) | |
tree | 982f190d1dd79685c43a9829dd66e6a7cbbd0c67 /lisp/gnus/nnml.el | |
parent | 0ffb3dfaa483b0c5cf1f7f367efcb5e9c041ab53 (diff) | |
parent | e5aaa1251cfb9d6d18682a5eda137a2e12ca4213 (diff) | |
download | emacs-b8d3ae78c54db7c7bb65d367a80f9be3d8744c48.tar.gz emacs-b8d3ae78c54db7c7bb65d367a80f9be3d8744c48.tar.bz2 emacs-b8d3ae78c54db7c7bb65d367a80f9be3d8744c48.zip |
Merge remote-tracking branch 'savannah/master' into native-comp
Diffstat (limited to 'lisp/gnus/nnml.el')
-rw-r--r-- | lisp/gnus/nnml.el | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el index ebececa3ce2..3cdfc749703 100644 --- a/lisp/gnus/nnml.el +++ b/lisp/gnus/nnml.el @@ -769,8 +769,24 @@ article number. This function is called narrowed to an article." (let ((headers (nnheader-parse-head t))) (setf (mail-header-chars headers) chars) (setf (mail-header-number headers) number) + ;; If there's non-ASCII raw characters in the data, + ;; RFC2047-encode them to avoid having arbitrary data in the + ;; .overview file. + (nnml--encode-headers headers) headers)))) +(defun nnml--encode-headers (headers) + (let ((subject (mail-header-subject headers)) + (rfc2047-encoding-type 'mime)) + (unless (string-match "\\`[[:ascii:]]*\\'" subject) + (setf (mail-header-subject headers) + (mail-encode-encoded-word-string subject t)))) + (let ((from (mail-header-from headers)) + (rfc2047-encoding-type 'address-mime)) + (unless (string-match "\\`[[:ascii:]]*\\'" from) + (setf (mail-header-from headers) + (rfc2047-encode-string from t))))) + (defun nnml-get-nov-buffer (group &optional incrementalp) (let ((buffer (gnus-get-buffer-create (format " *nnml %soverview %s*" |