Re: I can't convert Texinfo-4.2's Texinfo source files to Info with Emacs.
Koji Arai <[email protected]> Thu, 30 May 2002 02:25:06 +0900 (JST)
| Newsgroups | gmane.org.gnu.japan |
|---|---|
| Message-ID | <[email protected]> |
新井です。 In message "Re: I can't convert Texinfo-4.2's Texinfo source files to Info with Emacs." on 29 May 2002 11:15:01 +0900, Nishio Futoshi <[email protected]> wrote: > 西尾です。 > > 先程、ちょっと角藤さん makeinfo をコンパイルして試してみたら > > SEGV しました(^^; > > 私の方でも、SEGV になるものもありました。原因究明は、、、しばらく後で > やる気になったら、、、という気分です。 私のところで再現したのは autoconf-2.53 日本語版(先日のパッチ 後)だったのですが、理由がわかりました。昔から角藤さんパッチ にはバグがあって、記録によると2000/9には手元で直してました。 以下がそのパッチです。 diff -ru texinfo-4.2/makeinfo/footnote.c texinfo-4.2.fix/makeinfo/footnote.c --- texinfo-4.2/makeinfo/footnote.c Thu May 30 01:47:42 2002 +++ texinfo-4.2.fix/makeinfo/footnote.c Thu May 30 01:43:35 2002 @@ -171,8 +171,10 @@ } #ifdef KANJI - if(iskanji(input_text[loc])) + if(iskanji(input_text[loc])) { loc +=2; + continue; + } #endif if (input_text[loc] == '{') braces++; このパッチ一見必要なさそうに見えるのですが、なんでこういう結 論になったか忘れてしまいました。とりあえず適用してみたところ SEGVしなくなりました。 # 以前も悩んだ記憶があるんですが。うーん。 。。。うーむ、結局考えてもわからなかったのでデバッガで調べま した。そう。元々のコードでは漢字が2文字続く場合が考慮されて ないのでした。(1文字目はiskanji()で検査されるけど2文字目の漢 字は検査されず loc++ される) うーむ、報告を怠ったがために2度はまると言う罠。。。 -- 新井康司 (Koji Arai)