From dae76037566084c72dc55c0728ad53e1f28d2c40 Mon Sep 17 00:00:00 2001 From: tsuchiya Date: Mon, 5 Aug 2002 23:56:53 +0000 Subject: [PATCH] * texi/gnus-ja.texi (Namazu Groups): Update documents. * lisp/gnus-namazu.el (gnus-namazu/update-p): Print error messages. (gnus-namazu-update-index): Small clean up. (gnus-namazu-update-all-indices): Ditto. --- ChangeLog | 9 +++++++ lisp/gnus-namazu.el | 68 +++++++++++++++++++++++++-------------------------- texi/gnus-ja.texi | 50 ++++++++++++++++++++++--------------- 3 files changed, 73 insertions(+), 54 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5970698..9fac8b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2002-08-06 TSUCHIYA Masatoshi + + * texi/gnus-ja.texi (Namazu Groups): Update documents. + + * lisp/gnus-namazu.el (gnus-namazu/update-p): Print error + messages. + (gnus-namazu-update-index): Small clean up. + (gnus-namazu-update-all-indices): Ditto. + 2002-08-05 TSUCHIYA Masatoshi * lisp/gnus-namazu.el: Bug fix of updating multiple indices. diff --git a/lisp/gnus-namazu.el b/lisp/gnus-namazu.el index f8bdddf..151c496 100644 --- a/lisp/gnus-namazu.el +++ b/lisp/gnus-namazu.el @@ -1,4 +1,4 @@ -;;; gnus-namazu.el --- Search mail with Namazu. -*- coding: iso-2022-7bit; -*- +;;; gnus-namazu.el --- Search mail with Namazu -*- coding: iso-2022-7bit; -*- ;; Copyright (C) 2000,2001,2002 TSUCHIYA Masatoshi @@ -37,7 +37,7 @@ ;;; Quick Start: ;; If this module has already been installed, only 3 steps are -;; required to search articles. +;; required to search articles with this module. ;; ;; (1) Install Namazu. ;; (2) Start Gnus and type M-x gnus-namazu-create-index RET to make @@ -74,13 +74,14 @@ ;; 3 days; this period is set to `gnus-namazu-index-update-interval'. ;; ;; Indices will be updated when `gnus-namazu-search' is called. If -;; you want to update indices whenever Gnus is started, you can put -;; the following expression to your ~/.gnus or your ~/.emacs. +;; you want to update indices everywhen Gnus is started, you can put +;; the following expression to your ~/.gnus. ;; ;; (add-hook 'gnus-startup-hook 'gnus-namazu-update-all-indices) ;; -;; In order to control mknmz closely, disable this feature and run -;; mknmz by yourself. In this case, set nil to the above option. +;; In order to control mknmz closely, disable the automatic updating +;; feature and run mknmz by yourself. In this case, set nil to the +;; above option. ;; ;; (setq gnus-namazu-index-update-interval nil) ;; @@ -768,32 +769,21 @@ than the period that is set to `gnus-namazu-index-update-interval'" (defun gnus-namazu/update-p (directory &optional force) "Return the DIRECTORY when the index undef the DIRECTORY should be updated." - (setq directory (expand-file-name directory)) - (if gnus-namazu/update-process - (when force - (error "%s" "Can not run two update processes simultaneously")) - (and (or force - (gnus-namazu/index-old-p directory)) - (let ((status-file (gnus-namazu/status-file-name directory))) - (or (file-exists-p status-file) - (when force - (error "Can not find status file: %s" status-file)))) - (let ((lock-file (gnus-namazu/lock-file-name directory))) - (or (not (file-exists-p lock-file)) - (when force - (error "Found lock file: %s" lock-file)))) - directory))) - -;;;###autoload -(defun gnus-namazu-update-all-indices (&optional directories force) - "Update all indices which is set to `gnus-namazu-index-directories'." - (interactive (list nil t)) - (when (setq directories - (delq nil (mapcar - (lambda (d) (gnus-namazu/update-p d force)) - (or directories gnus-namazu-index-directories)))) - (gnus-namazu-update-index (car directories) force) - (setq gnus-namazu/update-directories (cdr directories)))) + (setq directory (file-name-as-directory (expand-file-name directory))) + (labels ((error-message (format &rest args) + (apply (if force 'error 'message) format args) + nil)) + (if gnus-namazu/update-process + (error-message "%s" "Can not run two update processes simultaneously") + (and (or force + (gnus-namazu/index-old-p directory)) + (let ((status-file (gnus-namazu/status-file-name directory))) + (or (file-exists-p status-file) + (error-message "Can not find status file: %s" status-file))) + (let ((lock-file (gnus-namazu/lock-file-name directory))) + (or (not (file-exists-p lock-file)) + (error-message "Found lock file: %s" lock-file))) + directory)))) ;;;###autoload (defun gnus-namazu-update-index (directory &optional force) @@ -805,8 +795,7 @@ than the period that is set to `gnus-namazu-index-update-interval'" (mapcar 'list gnus-namazu-index-directories) nil t) (gnus-namazu/default-index-directory)) t)) - (setq directory (file-name-as-directory (expand-file-name directory))) - (when (gnus-namazu/update-p directory force) + (when (setq directory (gnus-namazu/update-p directory force)) (with-current-buffer (get-buffer-create (concat " *mknmz*" directory)) (erase-buffer) (unless (file-directory-p directory) @@ -827,6 +816,17 @@ than the period that is set to `gnus-namazu-index-update-interval'" (error "Can not start %s" gnus-namazu-make-index-command))))))) +;;;###autoload +(defun gnus-namazu-update-all-indices (&optional directories force) + "Update all indices which is set to `gnus-namazu-index-directories'." + (interactive (list nil t)) + (when (setq directories + (delq nil (mapcar + (lambda (d) (gnus-namazu/update-p d force)) + (or directories gnus-namazu-index-directories)))) + (setq gnus-namazu/update-directories (cdr directories)) + (gnus-namazu-update-index (car directories)))) + (defun gnus-namazu/update-sentinel (process event) (let ((buffer (process-buffer process))) (when (buffer-name buffer) diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index df66655..f3fdd70 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -15679,20 +15679,10 @@ Namazu を使って、メールの山からあなたの好きなキーワードを含む記事を見 @uref{http://namazu.org/} @end example -次に、あなたの秘蔵のメールと永続記事の山の索引を作ります。そのためには、 -以下の2つのコマンドを実行する必要があるでしょう。 - -@example - % mkdir ~/News/namazu - % mknmz -a -h -O ~/News/namazu ~/Mail ~/News/cache -@end example - -このコマンドは、(1) @file{~/News/namazu/} というディレクトリを作成する、 -(2) そのディレクトリに @file{~/Mail/} 以下に保存されているメールと -@file{~/News/cache/} 以下に保存されている永続記事の索引を作成する、と -いう意味です。 - -さあ、これで準備ができました。 +@findex gnus-namazu-create-index +次に、あなたの秘蔵のメールと永続記事の山の索引を作るために、 +@kbd{M-x gnus-namazu-create-index} としてください。さあ、これで準備が +できたはずです。 @kindex C-c C-n (グループ) @kindex C-c C-n (概略) @@ -15714,7 +15704,7 @@ gnus の通常の数字接頭辞や、プロセス接頭辞を理解します。ですから、あな の行に移動して、次のように検索することができます。 @example - @kbd{M-1 C-c C-n namazu RET} + @kbd{1 C-c C-n namazu RET} @end example また、概略バッファから、いきなり検索することもできます。この場合、検索 @@ -15726,11 +15716,31 @@ gnus の通常の数字接頭辞や、プロセス接頭辞を理解します。ですから、あな @kbd{C-c C-n +from:"Your E-Mail Address" RET} @end example -最後に、Namazu をよく分かっている人には、不要な注意を一つ。Namazu は、 -事前に作成された索引を用いて検索を行い、索引にのっていないファイルには -目もくれません。だから、定期的に @code{mknmz} を呼び出して、新たなメー -ルの索引を追加しないと、新しいメールはいつまでたっても検索されないこと -になりますから、あしからず。 +@vindex gnus-namazu-index-update-interval +Namazu は、事前に準備された索引を用いて検索を行うように設計された検索 +エンジンなので、索引に登録されていないファイルは完全に無視されます。つ +まり、定期的に @code{mknmz} を呼び出して、新たなメールの索引を追加しな +いと、新しいメールはいつまでたっても検索対象にならないことになります。 +@file{gnus-namazu.el} は、@code{gnus-namazu-index-update-interval} に +指定された期間毎に自動的に索引を更新する機能を提供しています。デフォル +トの設定では、3日おきに索引を更新するようになっていますが、もっと頻繁 +に(例えば1日おき)に更新するようにしたいならば、以下の設定を +@file{~/.gnus} に追加してください。 + +@example +(setq gnus-namazu-index-update-interval 86400) +@end example + +逆に、索引の更新を自動的に行いたくないならば、以下の指定を +@file{~/.gnus} に追加してください。 + +@example +(setq gnus-namazu-index-update-interval nil) +@end example + +@findex{gnus-namazu-update-all-indices} +この場合、索引を手動で更新するために @kbd{M-x +gnus-namazu-update-all-indices} とする必要があるかもしれません。 @node Gnus Unplugged @section Gnus の切り離し -- 1.7.10.4