* gnus-start.el (gnus-read-descriptions-file): Use
authorShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 9 Feb 2002 13:30:38 +0000 (13:30 +0000)
committerShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 9 Feb 2002 13:30:38 +0000 (13:30 +0000)
gnus-default-charset.

* mm-util.el (mm-guess-mime-charset): New function.

* gnus.el (gnus-default-charset): Use it.
(gnus-group-charset-alist): Remove .*, Let gnus-default-charset be
the default.

lisp/ChangeLog
lisp/gnus-start.el
lisp/gnus.el
lisp/mm-util.el

index aa76169..ed24148 100644 (file)
@@ -3,12 +3,12 @@
        * gnus-start.el (gnus-read-descriptions-file): Use
        gnus-default-charset.
 
+       * mm-util.el (mm-guess-mime-charset): New function.
+
        * gnus.el (gnus-default-charset): Use it.
        (gnus-group-charset-alist): Remove .*, Let gnus-default-charset be
        the default.
 
-       * mm-util.el (mm-guess-mime-charset): New function.
-
 2002-02-08  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * gnus-art.el (gnus-treat-display-grey-xface): New variable.
index abeb12a..8a8a0f4 100644 (file)
@@ -2711,7 +2711,8 @@ If FORCE is non-nil, the .newsrc file is read."
                     (name (symbol-name group))
                     (charset
                      (or (gnus-group-name-charset method name)
-                         (gnus-parameter-charset name))))
+                         (gnus-parameter-charset name)
+                         gnus-default-charset)))
                (when (and str charset (featurep 'mule))
                  (setq str (mm-decode-coding-string str charset)))
                (set group str)))
index fd6d8be..9dad7d7 100644 (file)
@@ -1610,8 +1610,7 @@ Use with caution.")
    ("\\(^\\|:\\)han\\>" euc-kr)
    ("\\(^\\|:\\)alt.chinese.text.big5\\>" chinese-big5)
    ("\\(^\\|:\\)soc.culture.vietnamese\\>" vietnamese-viqr)
-   ("\\(^\\|:\\)\\(comp\\|rec\\|alt\\|sci\\|soc\\|news\\|gnu\\|bofh\\)\\>" iso-8859-1)
-   (".*" iso-8859-1))
+   ("\\(^\\|:\\)\\(comp\\|rec\\|alt\\|sci\\|soc\\|news\\|gnu\\|bofh\\)\\>" iso-8859-1))
  :variable-document
  "Alist of regexps (to match group names) and default charsets to be used when reading."
  :variable-group gnus-charset
@@ -1771,7 +1770,7 @@ face."
   :group 'gnus-agent
   :type 'boolean)
 
-(defcustom gnus-default-charset 'iso-8859-1
+(defcustom gnus-default-charset (mm-guess-mime-charset)
   "Default charset assumed to be used when viewing non-ASCII characters.
 This variable is overridden on a group-to-group basis by the
 gnus-group-charset-alist variable and is only used on groups not
index cf512a7..8738f6a 100644 (file)
@@ -755,6 +755,31 @@ If INHIBIT is non-nil, inhibit mm-inhibit-file-name-handlers."
     (let ((cs (mm-detect-coding-region start end)))
       cs)))
 
+(defun mm-guess-mime-charset ()
+  "Guess the default MIME charset from the language environment."
+  (let ((language-info
+        (and (boundp 'current-language-environment)
+             (assoc current-language-environment
+                    language-info-alist)))
+       item)
+    (cond
+     ((null language-info)
+      'iso-8859-1)
+     ((setq item
+           (cadr
+            (or (assq 'coding-priority language-info)
+                (assq 'coding-system language-info))))
+      (if (fboundp 'coding-system-get)
+         (or (coding-system-get item 'mime-charset)
+             item)
+       item))
+     ((setq item (car (last (assq 'charset language-info))))
+      (if (eq item 'ascii)
+         'iso-8859-1
+       (mm-mime-charset item)))
+     (t
+      'iso-8859-1))))
+
 (provide 'mm-util)
 
 ;;; mm-util.el ends here