changeset 19996:cb6f1cb0f072

Require nntp instead of gnus and message. Set euc-kr for newsgroup "han". Delete code for add-hooking gnus-mule-initialize and setting coding system for nntp. Set default coding system for encoding to iso-latin-1. (gnus-mule-select-coding-system): Get a coding system of the current newsgroup from gnus-summary-buffer. (gnus-mule-decode-summary): Deleted. (gnus-mule-initialize): Add-hook gnus-mule-select-coding-system to gnus-parse-headers-hook. Don't add-hook gnus-mule-decode-summary and gnus-mule-decode-article. Don't set process coding system for nntp stream to 'no-conversion, instead set nntp-coding-system-for-read to 'binary. Set nnheader-file-coding-system and nnmail-file-coding-system to 'binary. Set nntp-coding-system-for-write to binary.
author Kenichi Handa <handa@m17n.org>
date Fri, 26 Sep 1997 01:50:55 +0000
parents 6182146747a7
children 5b29242aea2a
files lisp/gnus/gnus-mule.el
diffstat 1 files changed, 21 insertions(+), 38 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/gnus-mule.el	Fri Sep 26 01:50:55 1997 +0000
+++ b/lisp/gnus/gnus-mule.el	Fri Sep 26 01:50:55 1997 +0000
@@ -1,6 +1,6 @@
 ;;; gnus-mule.el --- Provide multilingual environment to GNUS
 
-;; Copyright (C) 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1995,1997 Free Software Foundation, Inc.
 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
 
 ;; Keywords: gnus, mule
@@ -24,10 +24,8 @@
 
 ;;; Commentary:
 
-;; This package enables GNUS to code convert automatically
+;; This package enables Gnus to code convert automatically
 ;; accoding to a coding system specified for each news group.
-;; Please put the following line in your .emacs:
-;;	(add-hook 'gnus-startup-hook 'gnus-mule-initialize)
 ;; If you want to specify some coding system for a specific news
 ;; group, add the fllowing line in your .emacs:
 ;;	(gnus-mule-add-group "xxx.yyy.zzz" 'some-coding-system)
@@ -37,8 +35,7 @@
 ;; appropriate coding system for as below:
 ;;	(gnus-mule-add-group "" 'iso-2022-jp)  ;; the case for Japanese
 
-(require 'gnus)
-(require 'message)
+(require 'nntp)
 
 (defvar gnus-newsgroup-coding-systems nil
   "Assoc list of news groups vs corresponding coding systems.
@@ -82,6 +79,7 @@
 (defvar gnus-mule-article-decoded nil)
 ;; Coding system for reading articles of the current news group.
 (defvar gnus-mule-coding-system nil)
+;;(make-variable-buffer-local 'gnus-mule-coding-system)
 (defvar gnus-mule-subject nil)
 (defvar gnus-mule-decoded-subject nil)
 (defvar gnus-mule-original-subject nil)
@@ -125,35 +123,21 @@
 
 ;; Set `gnus-mule-coding-system' to the coding system articles of the
 ;; current news group is encoded.   This function is set in
-;; `gnus-select-group-hook'.
+;; `gnus-parse-headers-hook'.
 (defun gnus-mule-select-coding-system ()
-  (let ((coding-system (gnus-mule-get-coding-system gnus-newsgroup-name)))
-    (setq gnus-mule-coding-system
-	  (if (and coding-system (coding-system-p (car coding-system)))
-	      (car coding-system)))))
+  (save-excursion
+    (set-buffer gnus-summary-buffer)
+    (let ((coding-system (gnus-mule-get-coding-system gnus-newsgroup-name)))
+      (setq gnus-mule-coding-system
+	    (if (and coding-system (coding-system-p (car coding-system)))
+		(car coding-system))))))
 
 ;; Decode the current article.  This function is set in
-;; `gnus-article-prepare-hook'.
+;; `gnus-show-traditional-method'.
 (defun gnus-mule-decode-article ()
   (gnus-mule-code-convert gnus-mule-coding-system nil)
   (setq gnus-mule-article-decoded t))
 
-;; Decode the current summary buffer.  This function is set in
-;; `gnus-summary-generate-hook'.
-;; Made by <sangil@hugsvr.kaist.ac.kr>,
-;; coded by <crisp@hugsvr.kaist.ac.kr>.
-(defun gnus-mule-decode-summary ()
-  (if gnus-mule-coding-system 
-      (mapcar 
-       (lambda (headers)
-         (let ((subject (aref headers 1))
-               (author  (aref headers 2)))
-           (aset headers 1 
-                 (decode-coding-string subject gnus-mule-coding-system))
-           (aset headers 2
-                 (decode-coding-string author gnus-mule-coding-system))))
-       gnus-newsgroup-headers)))
-
 (defun gnus-mule-toggle-article-format ()
   "Toggle decoding/encoding of the current article buffer."
   (interactive)
@@ -200,30 +184,29 @@
   (define-key gnus-article-mode-map "z" 'gnus-mule-toggle-article-format)
   (define-key gnus-summary-mode-map "z" 'gnus-mule-toggle-article-format)
   ;; Hook definition
-  (add-hook 'gnus-select-group-hook 'gnus-mule-select-coding-system)
-  (add-hook 'gnus-summary-generate-hook 'gnus-mule-decode-summary)
-  (add-hook 'gnus-article-prepare-hook 'gnus-mule-decode-article)
+  (add-hook 'gnus-parse-headers-hook 'gnus-mule-select-coding-system)
   (add-hook 'message-send-news-hook
 	    'gnus-mule-message-send-news-function)
   (add-hook 'message-send-mail-hook
 	    'gnus-mule-message-send-mail-function)
-  (let ((stream (get-process "nntpd")))
-    (if (processp stream)
-	(set-process-coding-system stream 'no-conversion 'no-conversion))))
+  (setq nntp-coding-system-for-read 'binary
+	nntp-coding-system-for-write 'binary
+	nnheader-file-coding-system 'binary
+	nnmail-file-coding-system   'binary)
+  )
 
-(gnus-mule-add-group "" 'undecided)
+(gnus-mule-add-group "" '(undecided . iso-latin-1))
 (gnus-mule-add-group "fj" 'iso-2022-7bit)
 (gnus-mule-add-group "tnn" 'iso-2022-7bit)
 (gnus-mule-add-group "japan" 'iso-2022-7bit)
 (gnus-mule-add-group "pin" 'iso-2022-7bit)
+(gnus-mule-add-group "han" 'euc-kr)
 (gnus-mule-add-group "alt.chinese.text" 'chinese-hz)
 (gnus-mule-add-group "alt.hk" 'chinese-hz)
 (gnus-mule-add-group "alt.chinese.text.big5" 'chinese-big5)
 (gnus-mule-add-group "soc.culture.vietnamese" '(nil . vietnamese-viqr))
 (gnus-mule-add-group "relcom" 'cyrillic-koi8)
 
-(add-hook 'gnus-startup-hook 'gnus-mule-initialize)
-
-(modify-coding-system-alist 'network "nntp" 'no-conversion)
+(provide 'gnus-mule)
 
 ;; gnus-mule.el ends here