;;; 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
(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
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