From: ShengHuo ZHU Date: Sat, 9 Feb 2002 13:30:38 +0000 (+0000) Subject: * gnus-start.el (gnus-read-descriptions-file): Use X-Git-Url: http://cgit.sxemacs.org/?a=commitdiff_plain;h=bf0772a241487186d4bd8be417955d89dad1c443;p=gnus * 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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index aa76169b5..ed24148da 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 * gnus-art.el (gnus-treat-display-grey-xface): New variable. diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index abeb12a1c..8a8a0f41f 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -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))) diff --git a/lisp/gnus.el b/lisp/gnus.el index fd6d8bec7..9dad7d787 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -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 diff --git a/lisp/mm-util.el b/lisp/mm-util.el index cf512a7bc..8738f6a3f 100644 --- a/lisp/mm-util.el +++ b/lisp/mm-util.el @@ -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