永井@知能.九工大です.

From: 門脇 修司 <kadowaki.shuji / jp.fujitsu.com>
Subject: [ruby-list:46807] Re: TkTable.rbで"[BUG] Segmentaion fauilt"発生
Date: Mon, 25 Jan 2010 09:57:56 +0900
Message-ID: <20100125095747.A396.DA7C2934 / jp.fujitsu.com>
> 永井さんの意図通りに挟んだかどうか自信がないのですが、
> 状況は変化し、syntax errorとなりました。
> 
> 挟みかたの1 tktable.rbを挟みました。

期待していた挟み方はこちらです.

> tkextlib\tktable\tktable.rbの372行目と421行目の
> 「_setup_subst_table(KEY_TBL, PROC_TBL);」を囲んで次のように
> しました。
> 
>   GC.disable
>         _setup_subst_table(KEY_TBL, PROC_TBL);
>   GC.enable
> 
> この状態で実行すると次のようにsyntax errorとなります。
>   D:\X\demoA>demoa5-2.rb
>   "ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]"
>   C:/Program Files/ruby-1.8/lib/ruby/1.8/tkextlib/tktable.rb:14:in `require': C:/P
>   rogram Files/ruby-1.8/lib/ruby/1.8/tkextlib/tktable/tktable.rb:372: syntax error
>   , unexpected '\n', expecting '=' (SyntaxError)
>           from C:/Program Files/ruby-1.8/lib/ruby/1.8/tkextlib/tktable.rb:14
>           from D:/X/SysproEternus/demoA/demoA5-2.rb:17:in `require'
>           from D:/X/SysproEternus/demoA/demoA5-2.rb:17
>   
>   D:\X\demoA>
> 
> はさみ方を誤解しているように思うのですが、すみません、
> どうするのが正しいはさみ方はわかりません。

変更自体は間違っていないですから,
ファイル (tktable.rb) の元々の改行コード (多分 UNIX 形式) と
編集した部分の改行コード (DOS 形式?) とが揃っていないことによる
トラブル (^M を誤解釈) のような気がします.

改行コードを指定できるエディタをお持ちであれば,
UNIX 形式での改行を指定して編集してみていただけますか?

# 念のため,こちらで編集したものも別便で送ります.
-- 
永井 秀利  (nagai / ai.kyutech.ac.jp)
九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門