[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cgreek-ja:01036] Re: cgreek のごく些細な挙動不審
高橋です。遅くなりましたが、cgreek-emacs20 での incremental search の
実験をやってみました。
haruichi yabuki writes:
> 疑問.2 ギリシャ語モードでの検索の場合(文書の先頭から), 最初の候補者
> が見過ごされて, 2番目の候補者が示されることがある.
> a.今,私の環境で症状を再現させる例を探しました. 以下がその簡単な
> 例です.
> 次のギリシャ語ファイルがあるとします(以下は
> cgreek-keybord の対応するラテン文字での表示です).
> --------------------------
> .
> .
> idiokthsi/a ...........
> .
> .
> .
> oktw/ ..... =octw/ ......
> .
> .
> .
> octw/ ..... =oktw/ ......
> .
> .
> ---------------------------
> ここで, Ctrl + S oktw/ では 上の方の idiokthsi/a でカーソル
> が止まります. 次に Ctrl + S と押すと 最初の候補者を飛ばして,
> 下の方の oktw/ へカーソルが移動します.
こちらでも再現しました。
> b. これは cgreek の仕様かな(?)とも思います.
> キー入力を Ctrl + S oktw/ ENTER とすると 最初の候補者をき
> ちんと見付けてくれます.
仕様です。ENTER を打つまでは4文字目が確定しませんから、カーソルは最初
に見付かるoktの上にとどまったままです。
> c. 後置アクセントが決定しない間は先へ進めないということは理解
> できますが, 不便に感じることはあります.
その気持ちはわかります。文字が完全に確定する前でも、その時点までで合成
された位置に飛んでいってほしい気がします。つまりwを打った時点で最初のwまで、
w/と打てば最初のw/まで。でもそれをやるためには、Emacs の方を修正するか、
Emacs の isearch と同等の機能を CGreek の方で実装する必要があり、かな
り面倒です。というわけで許して下さい。
> d. いずれにしても, 後置アクセントをENTER KEYで決定しないで(?)
> 検索を継続すると,
> 何故,最初の候補者を見過ごすことになるのでしょうか?
isearch.el のソースコードを読んでいないので本当の理由はわかりませんが、
oktw/ の次に C-s を打つことによって、確定と再検索が同時に行なわれてい
るのではないでしょうか。つまり oktw/ RET C-s と打った場合と同じことが
起きているのですが、RET と C-s が一瞬にして行なわれるため、あたかも最
初の候補がスキップされたように見えるのだと想像します。
--
TAKAHASHI Naoto
ntakahas@xxxxxxxx
http://www.m17n.org/ntakahas/