IKEYAMA Tomonori <tomonori(a)suiyokai.org> writes:
以下の変更で、おかしくなっているみたいです。元に戻すと正常に行数が表示
されます。
ぜひ xemacs-patches に送ってください。buffer の先頭にいると
きだけ、pos == beg なので、問題がはっきりとわかるようです。
cache の関係で pos > beg で search しているときもたぶん気付
かないだけで狂っているような気がします。
以下の変更でおかしくなった理由ですが、 EMACS_INT_MIN は
-EMACS_INT_MAX - 1 だからです。pos == beg のときは当然 \n は
見つからないので、shortage には EMACS_INT_MIN の絶対値がその
まま入ってきます。で、line が 0 ではなく -1 になってしまい、
1つずれてしまいます。
僕のところの Windows だと warning は出ないんですけどどうしてですかね。
Ben さんの変更で warning が消えるとすると、括弧が増えている
だけなので、(EMACS_INT_MIN + 1) とか、(-EMACS_INT_MAX) とか
にしても Warning は消えると思います。で、ついでに
EMACS_INT_MIN を導入したところで間違えたんでしょう。:-P
--
Yoshiki Hayashi