]> git.eshelyaron.com Git - emacs.git/commitdiff
gnus-group.el (gnus-group-name-charset): Don't bug out on server names.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 30 Aug 2011 22:07:52 +0000 (22:07 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Tue, 30 Aug 2011 22:07:52 +0000 (22:07 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-group.el

index feee3c49f3aad114e99c1857b6768cd81b2171d1..3893ec8ea7b9932dce38ca0dedecb64cfeee0467 100644 (file)
@@ -1,3 +1,8 @@
+2011-08-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-group.el (gnus-group-name-charset): Don't bug out on server
+       names.
+
 2011-08-27  Daiki Ueno  <ueno@unixuser.org>
 
        * mml-smime.el (mml-smime-epg-verify): Don't use the 4th arg of
index 5ae29053b6f61419a0c26a5f576e0fd6566a7809..5cc01759a04e414c66b9e326561a236939416908 100644 (file)
@@ -1194,21 +1194,27 @@ The following commands are available:
     (gnus-group-mode)))
 
 (defun gnus-group-name-charset (method group)
-  (if (null method)
-      (setq method (gnus-find-method-for-group group)))
-  (let ((item (or (assoc method gnus-group-name-charset-method-alist)
-                 (and (consp method)
-                      (assoc (list (car method) (cadr method))
-                             gnus-group-name-charset-method-alist))))
-       (alist gnus-group-name-charset-group-alist)
-       result)
-    (if item
-       (cdr item)
-      (while (setq item (pop alist))
-       (if (string-match (car item) group)
-           (setq alist nil
-                 result (cdr item))))
-      result)))
+  (unless method
+    (setq method (gnus-find-method-for-group group)))
+  (when (stringp method)
+    (setq method (gnus-server-to-method method)))
+  (if (eq (car method) 'nnimap)
+      ;; IMAP groups should not be encoded, since they do the encoding
+      ;; in utf7 in the protocol.
+      nil
+    (let ((item (or (assoc method gnus-group-name-charset-method-alist)
+                   (and (consp method)
+                        (assoc (list (car method) (cadr method))
+                               gnus-group-name-charset-method-alist))))
+         (alist gnus-group-name-charset-group-alist)
+         result)
+      (if item
+         (cdr item)
+       (while (setq item (pop alist))
+         (if (string-match (car item) group)
+             (setq alist nil
+                   result (cdr item))))
+       result))))
 
 (defun gnus-group-name-decode (string charset)
   ;; Fixme: Don't decode in unibyte mode.