From: Katsuyuki Komatsu Date: 1999-11-05T13:53:43+09:00 Subject: [ruby-dev:8234] Syntax check in test.rb 小松です。 [ruby-list:17528]でmswin32の文字コードのデフォルトをSJISに変えた のが裏目に出て、sample/*.rbの文字コードをSJISに変換せずにEUCの ままでmake testをかけると、miniruby -cがsample/mine.rbで失敗して しまいます。 いままで、SJISだったcygwin版でなんでmake testが通っていたかと 思ったら、VPATHなbuildをしていたので、 for script in Dir["{lib,sample}/*.rb"] に何もひっかからなかったためでした。 SJISでsample/mine.rbの文法チェックが失敗する方は、パッチのように miniruby -cをminiruby -Kn -cに変えるぐらいでいいと思います。 で、VPATHなbuildでのスクリプトの文法チェックはどうしましょうか? CONFIG["srcdir"]を引数で渡すとか、$0からディレクトリを抜き出すとか、 気にしない(笑)とか? C:\lang\ruby-1.5.0>ruby -v ruby 1.5.0 (1999-10-12) [i386-mswin32] C:\lang\ruby-1.5.0>nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. not ok system 9 -- C:/lang/ruby-1.5.0/sample/test.rb:947 test failed NMAKE : fatal error U1077: '.\miniruby.exe' : リターン コード '0x1' Stop. C:\lang\ruby-1.5.0> --- sample/test.rb.dist Fri Aug 13 14:45:19 1999 +++ sample/test.rb Thu Nov 4 23:10:24 1999 @@ -941,5 +941,5 @@ $bad = false for script in Dir["{lib,sample}/*.rb"] - unless `./miniruby -c #{script}`.chomp == "Syntax OK" + unless `./miniruby -Kn -c #{script}`.chomp == "Syntax OK" $bad = true end -- 小松克行 / Katsuyuki Komatsu