emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r105622: gnus-group.el (gnus-group-na


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105622: gnus-group.el (gnus-group-name-charset): Don't bug out on server names.
Date: Tue, 30 Aug 2011 22:07:52 +0000
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105622
author: Lars Magne Ingebrigtsen <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Tue 2011-08-30 22:07:52 +0000
message:
  gnus-group.el (gnus-group-name-charset): Don't bug out on server names.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-group.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2011-08-28 22:04:32 +0000
+++ b/lisp/gnus/ChangeLog       2011-08-30 22:07:52 +0000
@@ -1,3 +1,8 @@
+2011-08-30  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * gnus-group.el (gnus-group-name-charset): Don't bug out on server
+       names.
+
 2011-08-27  Daiki Ueno  <address@hidden>
 
        * mml-smime.el (mml-smime-epg-verify): Don't use the 4th arg of

=== modified file 'lisp/gnus/gnus-group.el'
--- a/lisp/gnus/gnus-group.el   2011-08-20 00:20:39 +0000
+++ b/lisp/gnus/gnus-group.el   2011-08-30 22:07:52 +0000
@@ -1194,21 +1194,27 @@
     (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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]