[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:1864] meadow set-match-data



阿部です。

At Wed, 1 Nov 2000 11:01:26 +0900 (JST),
Kenichi Handa wrote:
> > ちなみにset-match-dataって直接使わないほうがいいんですか?
> 
> 一応 documentation には以下のように書いてありますからねぇ。

ああ、やっぱりそうなんですよね。

なぜこんなことしたかというと、ruby-mode.elでfont-lockのマッチに使って
る関数があるんですが、こんな感じになっていたのです。

  (defun ruby-font-lock-docs (limit)
    (if (re-search-forward "^=begin\\(\\s \\|$\\)" limit t)
	(let (beg)
	  (beginning-of-line)
	  (setq beg (point))
	  (forward-line 1)
	  (if (re-search-forward "^=end\\(\\s \\|$\\)" limit t)
	      (progn
		(set-match-data (list beg (point)))
		t)))))

これをmatcherとしてfont-lock-keywordsに設定してありました。
で、font-lock-keywordsのドキュメントを見るとmatch-dataを返す関数に
するようだったので、似たような関数で適当^^;にやってると、落ちてしまったわ
けです。

ちなみにこういう場合、どうやってmatch-dataを作るのがいいんでしょうか?
looking-at 等でマッチさせてmatch-dataを設定するというのがまっとうのよ
うな気もしますが、それでいいのかどうか自信がないもので^^;

----
あべやすし