Synch with Oort Gnus.
[elisp/gnus.git-] / lisp / gnus-i18n.el
index b45b119..c71b1e2 100644 (file)
 
 ;;; Code:
 
-(require 'gnus-sum)
-(require 'gnus-util)
-
 ;;; @ newsgroup default charset
 ;;;
 
 (defvar gnus-newsgroup-default-charset-alist
-  '(("^\\(fj\\|tnn\\|japan\\)\\."      . iso-2022-jp-2)
-    ("^han\\."                         . euc-kr)
-    ("^relcom\\."                      . koi8-r)
-    ("^alt\\.chinese\\.text\\.big5"    . cn-big5)
-    ("^hk\\(star\\)?\\."               . cn-big5)
-    ("^tw\\."                          . cn-big5)
-    ("^alt\\.chinese"                  . hz-gb-2312)
+  '(("\\(^\\|:\\)\\(fj\\|tnn\\|japan\\)\\."    . iso-2022-jp-2)
+    ("\\(^\\|:\\)han\\."                       . euc-kr)
+    ("\\(^\\|:\\)relcom\\."                    . koi8-r)
+    ("\\(^\\|:\\)alt\\.chinese\\.text\\.big5"  . cn-big5)
+    ("\\(^\\|:\\)hk\\(star\\)?\\."             . cn-big5)
+    ("\\(^\\|:\\)tw\\."                                . cn-big5)
+    ("\\(^\\|:\\)alt\\.chinese"                        . hz-gb-2312)
     )
   "Alist of newsgroup patterns vs. corresponding default MIME charset.
 Each element looks like (REGEXP . SYMBOL).  REGEXP is pattern for
@@ -47,12 +44,14 @@ newsgroup name.  SYMBOL is MIME charset or coding-system.")
 (defun gnus-set-newsgroup-default-charset (newsgroup charset)
   "Set CHARSET for the NEWSGROUP as default MIME charset."
   (let* ((ng-regexp (concat "^" (regexp-quote newsgroup) "\\($\\|\\.\\)"))
-        (pair (assoc ng-regexp gnus-newsgroup-default-charset-alist)))
+        (pair (assoc ng-regexp gnus-newsgroup-default-charset-alist))
+        )
     (if pair
        (setcdr pair charset)
       (setq gnus-newsgroup-default-charset-alist
            (cons (cons ng-regexp charset)
-                 gnus-newsgroup-default-charset-alist)))))
+                 gnus-newsgroup-default-charset-alist))
+      )))
 
 
 ;;; @ localization
@@ -63,24 +62,20 @@ newsgroup name.  SYMBOL is MIME charset or coding-system.")
 It is specified by variable `gnus-newsgroup-default-charset-alist'
 \(cf. function `gnus-set-newsgroup-default-charset')."
   (if (buffer-live-p gnus-summary-buffer)
-      (let* ((qgroup (save-excursion
-                      (set-buffer gnus-summary-buffer)
-                      gnus-newsgroup-name))
-            (rgroup (gnus-group-real-name qgroup))
-            alist pair charset)
-       (setq charset (catch 'found
-                       ;; First, use "qualified" newsgroup name.
-                       (setq alist gnus-newsgroup-default-charset-alist)
-                       (while (setq pair (car alist))
-                         (if (string-match (car pair) qgroup)
-                             (throw 'found (cdr pair)))
-                         (setq alist (cdr alist)))
-                       ;; Next, try "real" newsgroup name.
-                       (setq alist gnus-newsgroup-default-charset-alist)
-                       (while (setq pair (car alist))
-                         (if (string-match (car pair) rgroup)
-                             (throw 'found (cdr pair)))
-                         (setq alist (cdr alist)))))
+      (let ((charset
+            (catch 'found
+              (let ((group
+                     (save-excursion
+                       (set-buffer gnus-summary-buffer)
+                       gnus-newsgroup-name))
+                    (alist gnus-newsgroup-default-charset-alist))
+                (while alist
+                  (let ((pair (car alist)))
+                    (if (string-match (car pair) group)
+                        (throw 'found (cdr pair))
+                      ))
+                  (setq alist (cdr alist)))
+                ))))
        (if charset
            (progn
              (save-excursion