[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

メールアーカイブの References



あべです。

ちょっと息抜きと、素敵な解説(*)を発見したので、javaカンファレンスの
servlet-mlのbackendを作ってみました。
(*)http://www.nijino.com/ari/emacs/shimbun.html

で、質問です。
このバックエンドをWanderlustから使ってみたのですが、スレッドがまったく
繋がりません。

一応、referencesやmessage-idを取得できているようなので、うまくいきそう
な気もするんですが。。。

どこかまずいところがあるのでしょうか?

# なにしろ理解しないで作ってるんで、どっかで間抜けなことしてると思うん
n# ですが。

P.S.
----
ABE Yasushi
;;; sb-javaconf.el --- shimbun backend class for java-conference archive.

;; Author: ABE Yasushi <yasushi@stbbs.net>

;; Keywords: news

;;; Copyright:

;; 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 this program; if not, you can either send email to this
;; program's maintainer or write to: The Free Software Foundation,
;; Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA.

;;; Commentary:

;;; Code:

(require 'shimbun)
(require 'sb-mhonarc)

(luna-define-class shimbun-javaconf (shimbun-mhonarc) ())

(defvar shimbun-javaconf-url "http://www.java-conf.gr.jp/archives/";)
(defvar shimbun-javaconf-groups '("servlet-ml"))
(defvar shimbun-javaconf-reverse-flag nil)
(defvar shimbun-javaconf-litemplate-regexp
  "<strong><a NAME=\"\\([0-9]+\\)\" HREF=\"\\(msg[0-9]+\.html\\)\">\\([^<]+\\)\n</a></strong> <em>\\([^<]+\\)\n</em>")

(defmacro shimbun-javaconf-concat-url (shimbun url)
  (` (concat (shimbun-url-internal (, shimbun))
	     (shimbun-current-group-internal shimbun)
	     "/"
	     (, url))))

(luna-define-method shimbun-index-url ((shimbun shimbun-javaconf))
  (shimbun-url-internal shimbun))

(luna-define-method shimbun-get-headers ((shimbun shimbun-javaconf)
					 &optional range)
  (let* ((group (shimbun-current-group-internal shimbun))
	 (regexp (format "<a href=\"\\(%s/mail\\([0-9]+\\)\.html\\)\"" (regexp-quote group)))
	 (case-fold-search t)
	 (pages (shimbun-header-index-pages range))
	 (count 0)
	 (indeces)
	 (headers))
    (while (re-search-forward regexp nil t)
      (push (shimbun-expand-url (match-string 1) shimbun-javaconf-url) indeces))
    (catch 'stop
      (dolist (elem indeces)
	(delete-region (point-min) (point-max))
	(unless (if pages (<= (incf count) pages) t)
	  (throw 'stop headers))
	(shimbun-retrieve-url elem t)
	(goto-char (point-min))
	(shimbun-mhonarc-get-headers shimbun elem headers)))
      headers))

(provide 'sb-javaconf)