[mew-win32 03935] Re: mew-nmz.el でインデックスが作成できない
Mimpei MORISHITA
mimpei at example.com
2003年 7月 20日 (日) 01:59:35 JST
森下 民平 @ CAC です。
From: Mimpei MORISHITA <mimpei at example.com>
Subject: [mew-win32 03929] mew-nmz.el でインデックスが作成できない
Date: Fri, 04 Jul 2003 17:46:41 +0900 (JST)
Message-ID: <20030704.174641.78212741.mimpei at example.com>
> mew-nmz.el を利用し、Mew から Namazu を利用しようとしていますが、イン
> デックスが作成できずに躓いております。
(snip)
> と出ていました。ファイル名の形式が Cygwin とごっちゃになっておかしくなっ
> ているのが原因のように思えるのですが、なぜこうなるのか分かっていません。
(snip)
> 環境と、関連しそうな設定は以下の通りです。
>
> Meadow: 2.00b1 (Cygwin でコンパイルしたもの)
> Mew: 3.2
> Namazu: 2.0.12
> mew-nmz.el: mew-nmz-version 0.70 (Mew 3.2 の contrib に入っていたもの)
> Perl: v5.8.0 for cygwin-multi-64int
mew-nmz.el に以下のようなパッチをあてることにより、Cygwin の Perl を利
用していても動作するようになりました。
# Perl は Active Perl を利用する方が幸せになれるものなんでしょうか?
----- mew-nmz.el.cygwin-patch ここから -----
--- mew-nmz.el.ORG 2002-11-29 15:40:12.000000000 +0900
+++ mew-nmz.el 2003-07-20 00:27:32.000000000 +0900
@@ -83,6 +83,8 @@
"*Use namazu-mode from mew.")
(defvar mew-nmz-namazu-full-window t "*Use namazu-mode full window.")
+(defvar mew-nmz-use-cygwin-perl nil "*Use Cygwin Perl.")
+
;; internal variable, don't modify.
(defconst mew-nmz-namazu-version1-str "^ Search Program of Namazu v1\.[34]\.")
(defconst mew-nmz-namazu-version2-str "^namazu of Namazu [1-9.]+")
@@ -230,7 +232,10 @@
()
(if backslash
(insert (mew-nmz-slash-to-backslash file) "\n")
- (insert file "\n")))
+ (if mew-nmz-use-cygwin-perl
+ (insert (progn (string-match "^\\([a-zA-Z]\\):\\(.*\\)" file)
+ (replace-match "/cygdrive/\\1\\2" t nil file)) "\n")
+ (insert file "\n"))))
(setq flist (cdr flist)))
(mew-frwlet
mew-cs-autoconv mew-cs-text-for-write
@@ -1043,6 +1048,9 @@
(substring url (match-beginning 1) (match-end 1))
":"
(substring url (match-beginning 2) (match-end 2)))))
+ (and mew-nmz-use-cygwin-perl
+ (string-match "^/cygdrive/\\([a-zA-Z]\\)\\(/.*\\)" url)
+ (setq url (replace-match "\\1:\\2" t nil url)))
(setq url (expand-file-name url))
(if (string-match mew-nmz-url-to-folder-regex url)
(concat "+" (substring url (match-beginning 1) (match-end 1)))
----- mew-nmz.el.cygwin-patch ここまで -----
あとは .emacs などで
(setq mew-nmz-use-cygwin-perl t)
と設定すれば Cygwin の Perl を利用しているものとして動作します。
まだちょっと動かしてみた、程度にしか試していませんし、よりスマートに
実装できるものなのかもしれませんが、どなたかのご参考になれば幸いです。
--
もりした みんぺい
Mew-win32 メーリングリストの案内