diff lisp/gnus/gnus-start.el @ 86225:166a6141ae98

Merge from gnus--devo--0 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-933
author Miles Bader <miles@gnu.org>
date Mon, 19 Nov 2007 05:50:39 +0000
parents 1cdfc94602cb
children 781256628613
line wrap: on
line diff
--- a/lisp/gnus/gnus-start.el	Mon Nov 19 00:25:31 2007 +0000
+++ b/lisp/gnus/gnus-start.el	Mon Nov 19 05:50:39 2007 +0000
@@ -2103,7 +2103,8 @@
 			    (if (equal method gnus-select-method)
 				(gnus-make-hashtable
 				 (count-lines (point-min) (point-max)))
-			      (gnus-make-hashtable 4096)))))))
+			      (gnus-make-hashtable 4096))))))
+	group max min)
     ;; Delete unnecessary lines.
     (goto-char (point-min))
     (cond
@@ -2138,8 +2139,12 @@
 		      (insert prefix)
 		      (zerop (forward-line 1)))))))
     ;; Store the active file in a hash table.
-    (goto-char (point-min))
-    (let (group max min)
+    ;; Use a unibyte buffer in order to make `read' read non-ASCII
+    ;; group names (which have been encoded) as unibyte strings.
+    (mm-with-unibyte-buffer
+      (insert-buffer-substring cur)
+      (setq cur (current-buffer))
+      (goto-char (point-min))
       (while (not (eobp))
 	(condition-case ()
 	    (progn