From 54ca0f4a40054977cdcb7c1dd4fcf6f0fbf280af Mon Sep 17 00:00:00 2001 From: morioka Date: Thu, 27 Nov 1997 16:23:17 +0000 Subject: [PATCH] New file. --- lisp/gnus-i18n.el | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 lisp/gnus-i18n.el diff --git a/lisp/gnus-i18n.el b/lisp/gnus-i18n.el new file mode 100644 index 0000000..3737fb9 --- /dev/null +++ b/lisp/gnus-i18n.el @@ -0,0 +1,95 @@ +;;; gnus-i18n.el --- Internationalization for Gnus + +;; Copyright (C) 1996,1997 Free Software Foundation, Inc. + +;; Author: MORIOKA Tomohiko +;; Created: 1997/11/27 +;; Keywords: internationalization, news, mail + +;; This file is not part of GNU Emacs yet. + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2, or (at +;; your option) any later version. + +;; This program is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Code: + +;;; @ 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) + ) + "Alist of newsgroup patterns vs. corresponding default MIME charset. +Each element looks like (REGEXP . SYMBOL). REGEXP is pattern for +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)) + ) + (if pair + (setcdr pair charset) + (setq gnus-newsgroup-default-charset-alist + (cons (cons ng-regexp charset) + gnus-newsgroup-default-charset-alist)) + ))) + + +;;; @ localization +;;; + +(defun gnus-set-summary-default-charset () + "Set up `default-mime-charset' of summary buffer. +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 ((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))) + )))) + (when charset + (save-excursion + (set-buffer gnus-summary-buffer) + (make-local-variable 'default-mime-charset) + (setq default-mime-charset charset) + ) + (make-local-variable 'default-mime-charset) + (setq default-mime-charset charset) + )))) + + +;;; @ end +;;; + +(provide 'gnus-i18n) + +;;; gnus-i18n.el ends here -- 1.7.10.4