[xyzzy:00583] Re: info
- Subject: [xyzzy:00583] Re: info
- From: Tetsuya Kamei <kamei@xxxxxxxxxxxx>
- X-mailer: Denshin 8 Go V321.1b7
- X-yzzy-version: 0.0.0.63.7
須田さん、こんにちは。
Tue, 13 Oct 1998 20:42:16 +0900 の
[xyzzy:00582] Re: info
への返事です.
| その文字列がファイルの中になくてもですか?
えーと、ここのサーチは文字列を探しているのではありません。
たとえば mule-jp の場合、mule-jp にこんなのがありますよね?
mule-jp>
mule-jp>
mule-jp> Indirect:
mule-jp> mule-jp-1: 151
mule-jp> mule-jp-2: 50180
mule-jp>
で、ここら辺のコードで "Indirect:" の直後から "" の直前まで
narrow しているので、
info> (scan-buffer "\n\nIndirect:" :tail t)
info> (save-restriction
info> (narrow-to-region (point)
info> (progn (scan-buffer "\n" :tail t)
info> (1- (point))))
サーチ対象は以下の範囲になります。
mule-jp> <改行>
mule-jp> mule-jp-1: 151<改行>
mule-jp> mule-jp-2: 50180<改行>
mule-jp> <EOB>
osubfile は、現在読み込んでいるファイル名なので mule-jp-1 か
mule-jp-2 のどちらかです。ですから、この scan-buffer は必ずマッ
チするはずです。
info> (goto-char (point-min))
info> (scan-buffer (concat "\n" osubfile ": ") :tail t)
info> (beginning-of-line)
info> (while (not (eobp))
ほんで、^.*: [0-9]+$ をサーチして、マッチした位置+1 に移動して
いるので EOB 以外ではこの scan-buffer も常にマッチするはずです。
info> (scan-buffer "\\(^.*\\): [0-9]+$" :regexp t)
info> (goto-char (+ (match-end 1) 2))
info> (setq list (cons (cons (with-input-from-selected-buffer (read))
info> (buffer-substring (match-beginning 1)
info> (match-end 1)))
info> list))
info> (goto-char (1+ (match-end 0))))
つまり、マッチしないのであれば mule-jp の形式が変なのではないか
という想像なのですが、余計なスペースとか入ってません?
# 書いてて分からなくなってきた(^^;
--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx/JCA00343@xxxxxxxxxxx