From d1c931009004aef847105b7bac6b6ffafd985b82 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Tue, 31 Jan 2017 17:52:51 +0100 Subject: [PATCH] DOn't use string-as-unibyte in Gnus * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use string-as-unibyte. (nnmail-insert-xref): Ditto. * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto. * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto. * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto. (gnus-browse-foreign-server): Ditto. (gnus-browse-foreign-server): Ditto. * lisp/gnus/gnus-start.el (gnus-update-active-hashtb-from-killed): Ditto. (gnus-read-newsrc-el-file): Ditto. * lisp/gnus/mml.el (mml-generate-mime-1): Ditto. * lisp/gnus/nnir.el (nnir-get-active): Ditto. (nnir-get-active): Ditto. --- lisp/gnus/canlock.el | 2 +- lisp/gnus/gnus-art.el | 3 ++- lisp/gnus/gnus-srvr.el | 10 ++++++---- lisp/gnus/gnus-start.el | 4 ++-- lisp/gnus/mml.el | 5 +++-- lisp/gnus/nnir.el | 10 ++++++---- lisp/gnus/nnmail.el | 7 ++++--- 7 files changed, 24 insertions(+), 17 deletions(-) diff --git a/lisp/gnus/canlock.el b/lisp/gnus/canlock.el index 9e13ced4670..6c28b1c66df 100644 --- a/lisp/gnus/canlock.el +++ b/lisp/gnus/canlock.el @@ -90,7 +90,7 @@ buffer does not look like a news message." (canlock-sha1 (concat opad (canlock-sha1 - (concat ipad (string-as-unibyte message-id)))))))) + (concat ipad (encode-coding-string message-id 'utf-8)))))))) (defun canlock-narrow-to-header () "Narrow the buffer to the head of the message." diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index a4ff840f755..d96c511ec0d 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -2938,7 +2938,8 @@ message header will be added to the bodies of the \"text/html\" parts." (encode-coding-string title coding)) body content)) - (setq eheader (string-as-unibyte (buffer-string)) + (setq eheader (encode-coding-string + (buffer-string) 'utf-8) body content))) (erase-buffer) (mm-disable-multibyte) diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el index bed5993b9c1..67744cebc87 100644 --- a/lisp/gnus/gnus-srvr.el +++ b/lisp/gnus/gnus-srvr.el @@ -821,12 +821,13 @@ claim them." (while (not (eobp)) (ignore-errors (push (cons - (string-as-unibyte + (encode-coding-string (buffer-substring (point) (progn (skip-chars-forward "^ \t") - (point)))) + (point))) + 'utf-8) (let ((last (read cur))) (cons (read cur) last))) groups)) @@ -834,7 +835,7 @@ claim them." (while (not (eobp)) (ignore-errors (push (cons - (string-as-unibyte + (encode-coding-string (if (eq (char-after) ?\") (read cur) (let ((p (point)) (name "")) @@ -846,7 +847,8 @@ claim them." (skip-chars-forward "^ \t\\\\") (setq name (concat name (buffer-substring p (point))))) - name))) + name)) + 'utf-8) (let ((last (read cur))) (cons (read cur) last))) groups)) diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index be46339cd38..2cefc78fb9e 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -1990,7 +1990,7 @@ backend check whether the group actually exists." (while lists (setq killed (car lists)) (while killed - (gnus-sethash (string-as-unibyte (car killed)) nil hashtb) + (gnus-sethash (encode-coding-string (car killed) 'utf-8) nil hashtb) (setq killed (cdr killed))) (setq lists (cdr lists))))) @@ -2453,7 +2453,7 @@ If FORCE is non-nil, the .newsrc file is read." (dolist (elem gnus-newsrc-alist) ;; Protect against broken .newsrc.el files. (when (car elem) - (setcar elem (string-as-unibyte (car elem))))) + (setcar elem (encode-coding-string (car elem) 'utf-8)))) (gnus-make-hashtable-from-newsrc-alist) (when (file-newer-than-file-p file ding-file) ;; Old format quick file diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index 3a31349d378..aaadf0c7778 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el @@ -696,9 +696,10 @@ be \"related\" or \"alternate\"." (set-buffer-multibyte nil) (cond ((cdr (assq 'buffer cont)) - (insert (string-as-unibyte + (insert (encode-coding-string (with-current-buffer (cdr (assq 'buffer cont)) - (buffer-string))))) + (buffer-string)) + 'utf-8))) ((and filename (not (equal (cdr (assq 'nofile cont)) "yes"))) (let ((coding-system-for-read mm-binary-coding-system)) diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index 9640f2c746f..174be65035f 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el @@ -1818,19 +1818,20 @@ article came from is also searched." (if (eq (car method) 'nntp) (while (not (eobp)) (ignore-errors - (push (string-as-unibyte + (push (encode-coding-string (gnus-group-full-name (buffer-substring (point) (progn (skip-chars-forward "^ \t") (point))) - method)) + method) + 'utf-8) groups)) (forward-line)) (while (not (eobp)) (ignore-errors - (push (string-as-unibyte + (push (encode-coding-string (if (eq (char-after) ?\") (gnus-group-full-name (read cur) method) (let ((p (point)) (name "")) @@ -1842,7 +1843,8 @@ article came from is also searched." (skip-chars-forward "^ \t\\\\") (setq name (concat name (buffer-substring p (point))))) - (gnus-group-full-name name method)))) + (gnus-group-full-name name method))) + 'utf-8) groups)) (forward-line))))) groups)) diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index 3f2e08171e0..224d5db5427 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el @@ -665,7 +665,7 @@ nn*-request-list should have been called before calling this function." (setq group (symbol-name group))) (if (and (numberp (setq max (read buffer))) (numberp (setq min (read buffer)))) - (push (list (string-as-unibyte group) (cons min max)) + (push (list (encode-coding-string group 'utf-8) (cons min max)) group-assoc))) (error nil)) (widen) @@ -1251,8 +1251,9 @@ Return the number of characters in the body." (insert (if (mm-multibyte-p) (string-as-multibyte (format " %s:%d" (caar group-alist) (cdar group-alist))) - (string-as-unibyte - (format " %s:%d" (caar group-alist) (cdar group-alist))))) + (encode-coding-string + (format " %s:%d" (caar group-alist) (cdar group-alist)) + 'utf-8))) (setq group-alist (cdr group-alist))) (insert "\n"))) -- 2.39.5