[mew-dist 28635] HyperEstraierでインデックス更新中でも検索をしたい
HORIE Tetsuya
t_horie at example.com
2008年 9月 25日 (木) 00:34:55 JST
はじめまして。
堀江といいます。
HyperEstraierを検索エンジンに使っている場合で、kMでインデックスを更新
中に、k/で検索すると、Emacsが固まってしまいます。
http://hyperestraier.sourceforge.net/uguide-ja.html#tips
を参考に以下のパッチを作ってみました。
取り込んでいただけるとうれしいです。
では。
Index: mewest
===================================================================
RCS file: /cvsmew/mew/bin/mewest,v
retrieving revision 1.19
diff -u -r1.19 mewest
--- mewest 21 Mar 2008 03:59:58 -0000 1.19
+++ mewest 24 Sep 2008 15:16:29 -0000
@@ -12,7 +12,9 @@
RM=rm
MKDIR=mkdir
BASEDIR=${HOME}/Mail
-INDEXDIR=casket
+INDEXDIR_ORG=casket
+INDEXDIR_REPLICA=casket_replica
+INDEXDIR=${INDEXDIR_ORG}
OUTPUT=${OUTPUT:-/dev/null}
LOCK=${BASEDIR}/.mewest.lock
CYGWINENV=no
@@ -126,6 +128,13 @@
fi
if [ -d "${BASEDIR}/${INDEXDIR}" ]; then
+ echo "Replicating index..."
+ if [ -d "${BASEDIR}/${INDEXDIR_REPLICA}" ]; then
+ rm -fr "${BASEDIR}/${INDEXDIR_REPLICA}"
+ fi
+ cp -R "${BASEDIR}/${INDEXDIR}" "${BASEDIR}/${INDEXDIR_REPLICA}"
+ INDEXDIR=${INDEXDIR_REPLICA}
+ echo "Replicating index...done"
echo "Purging old messages..."
${ESTCMD} purge "`path_conv \"${BASEDIR}/${INDEXDIR}\"`" "`path_conv \"${TGTDIR}\"`" > ${OUTPUT} ||\
cleanup_lock_exit "Purging old messages...failed"
@@ -144,6 +153,12 @@
cleanup_lock_exit "Indexing new messages...failed"
echo "Indexing new messages...done"
+if [ "${BASEDIR}/${INDEXDIR}" = "${BASEDIR}/${INDEXDIR_REPLICA}" ]; then
+ echo "Replacing old index with new one..."
+ rm -fr "${BASEDIR}/${INDEXDIR_ORG}"
+ mv "${BASEDIR}/${INDEXDIR_REPLICA}" "${BASEDIR}/${INDEXDIR_ORG}"
+ echo "Replacing old index with new one...done"
+fi
# clean up lock
${RM} -fr "${LOCK}"
Mew-dist メーリングリストの案内