Newsgroups: fj.questions.misc,fj.news.group,fj.editor.emacs
Path: galaxy.trc.rwcp.or.jp!jaist-news!cs.titech!nirvana.cs.titech!wnoc-tyo-news!sh.wide!fgw!fdm!flab!meridian!flab.fujitsu!tanaka
From: tanaka@flab.fujitsu.co.jp (Hiroshi TANAKA)
Subject: Re: charter
In-Reply-To: hattori@kurims.kyoto-u.ac.jp's message of Wed, 2 Mar 1994 03:25:09 GMT
Message-ID: <TANAKA.94Mar2173537@ikuko.pssys.flab.fujitsu.co.jp>
Sender: news@akashi.flab.fujitsu.co.jp
Nntp-Posting-Host: sayumi.pssys.flab.fujitsu.co.jp
Organization: Fujitsu Laboratories Ltd., Akashi, Japan.
References: <ENAMI.94Mar1181938@kitt.sys.ptg.sony.co.jp>
	<HATTORI.94Mar2122509@tanpopo.kurims.kyoto-u.ac.jp>
Date: Wed, 2 Mar 1994 08:35:37 GMT
Dnas-Posting-Host: ikuko.pssys.flab.fujitsu.co.jp
Lines: 123
Xref: galaxy.trc.rwcp.or.jp fj.questions.misc:5172 fj.news.group:3858 fj.editor.emacs:4487
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.editor.emacs&nb=4487&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$BEDCf!w$U8&$G$9!#(B

In article <HATTORI.94Mar2122509@tanpopo.kurims.kyoto-u.ac.jp> hattori@kurims.kyoto-u.ac.jp (Takashi Hattori) writes:

 |   $B@N!"%K%e!<%9$G(B gnuscharter.el $B$H$$$&$N$,N.$l$F$$$^$7$?!#(BGNUS 3.* $BMQ$J(B
 |   $B$N$G!"(BGNUS 4.1 $B$G;H$&$K$O=$@5$,I,MW$@$H;W$$$^$9!#(B

$B$*$*!"2{$+$7$$%3!<%I(B:-)

$B$3$l$O!"(BGNUS3.14.1$B0JA0MQ$@$H5-21$7$F$$$^$9!J$A$g$C$H0c$&$+$b!K!#(B
GNUS4.1$B$KBP1~$9$k$K$O!"(Bgnus-request-list-newsgroups$B$r;H$&$h$&$KJQ99$9(B
$B$k$@$1$G#O#K$@$H;W$$$^$9!#$+$D$F$O(B "LIST NEWSGROUPS" $B$rH/9T$9$k4X?t$,(B
GNUS$B$NCf$KL5$+$C$?$N$G!"(Bnntp-request-charter $B$H$$$&4X?t$r?7$?$K:n$j$^(B
$B$7$?!#(B
$B$J$*!"(BSubject --> summary$B!"(BGroup --> group $B$NL>A0JQ99$OI,MW$G$9!#(B

$B<B$O!":#$G$O<c433HD%$7$F$$$^$7$F!"%0%k!<%W%P%C%U%!$NCf$N%K%e!<%9%0%k!<(B
$B%WL>$N1&B&$K(Bcharter$B$rI=<($G$-$k$h$&$K$7$F$$$^$9!#$^$?!"%m!<%+%k$K(B
newsgroups$B%U%!%$%k$rMQ0U$G$-$k$h$&$K$b$7$F$$$^$9!#6=L#$N$"$kJ}$O%a!<%k(B
$B$G$G$b$*Ld$$9g$o$;2<$5$$!#(B

$B!tB>$N%m!<%+%k5!G=$bDI2C$7$F$k$N$G!"(Bdiff$B$r:n$k$N$,LLE]$J$@$1$G$9$,(B:-)

$B$H$j$"$($:(BGNUS4.1$BBP1~$G$9!#(B
$B$"$^$j%F%9%H$7$F$^$;$s$,!"BgBNF0$/$H;W$$$^$9!#(B

------------CutHere--------------CutHere--------------CutHere------------
   ;; by tanaka@flab for charter (3/2/1994)
   (defvar gnus-charter-hashtb nil
     "Hashtable for Charter info.")
   gnus-charter-hashtb

   (defun gnus-setup-news-info (&optional rawfile)
     "Setup news information.
   If optional argument RAWFILE is non-nil, force to read raw startup file."
     (let ((init (not (and gnus-newsrc-assoc
   gnus-active-hashtb
   gnus-unread-hashtb
   (not rawfile)
   ))))
       ;; We have to clear some variables to re-initialize news info.
       (if init
   (setq gnus-newsrc-assoc nil
 gnus-active-hashtb nil
 gnus-unread-hashtb nil))
       (if init
   (gnus-read-newsrc-file rawfile))
       (gnus-read-active-file)
   ;; by tanaka@flab for charter (3/2/1994)
       (gnus-read-charter)
       (gnus-expire-marked-articles)
       (gnus-get-unread-articles)
       ;; Check new newsgroups and subscribe them.
       (if init
   (let ((new-newsgroups (gnus-find-new-newsgroups)))
     (while new-newsgroups
       (funcall gnus-subscribe-newsgroup-method (car new-newsgroups))
       (setq new-newsgroups (cdr new-newsgroups))
       )))
       ))

   ;; by tanaka@flab for charter (3/2/1994)
   (defun gnus-read-charter ()
     "Get charter from NNTP server."
     (message "Reading Charter...")
     (if (gnus-request-list-newsgroups)
 (save-excursion
   (set-buffer nntp-server-buffer)
   (setq gnus-charter-hashtb (gnus-make-hashtable))
   (gnus-charter-gnus-format)
   (message "Reading Charter... done"))
       (error "Cannot read Charter from NNTP server.")))

   (defun gnus-charter-gnus-format ()
     "Convert charter info. to internal format."
     ;; Delete unnecessary lines.
     (goto-char (point-min))
     (delete-matching-lines "^to\\..*$")
     ;; Store active file in hashtable.
     (goto-char (point-min))
     (while
 (re-search-forward
  "^\\([^ \t]+\\)[ \t]+\\(.*\\)$"
  nil t)
       (gnus-sethash
(buffer-substring (match-beginning 1) (match-end 1))
(list (buffer-substring (match-beginning 1) (match-end 1))
      (buffer-substring (match-beginning 2) (match-end 2)))
gnus-charter-hashtb)
       ))

   (defun gnus-group-read-charter ()
     "Read charter in this newsgroup."
     (interactive)
     (let ((group (gnus-Group-group-name))) ;Newsgroup name to read.
       (if group
   (let ((charter (nth 1 (gnus-gethash group gnus-charter-hashtb))))
     (if (stringp charter)
 (message (format "%s : %s" group charter))
       (message (format "No Charter for the Newsgroup \"%s\"" group)))))))

   ;; by hasegawa@cec for charter (3/3/1992)
   (defun gnus-summary-read-charter ()
     "Read charter in this newsgroup."
     (interactive)
       (if gnus-newsgroup-name
 (let ((charter (nth 1
   (gnus-gethash gnus-newsgroup-name gnus-charter-hashtb))))
     (if (stringp charter)
 (message (format "%s : %s" gnus-newsgroup-name charter))
       (message (format "No Charter for the Newsgroup \"%s\""
     gnus-newsgroup-name))))))
   ;
   ; key-define
   ;
   (define-key gnus-group-mode-map "\C-c?" 'gnus-Group-read-charter)
   (define-key gnus-summary-mode-map "\C-c?" 'gnus-Subject-read-charter)
------------CutHere--------------CutHere--------------CutHere------------
--
Simple is BEST. (^-^)
$BIY;NDL8&5f=j(B
$BEDCf(B   $B9((B
tanaka@flab.fujitsu.CO.JP
