mieki256's diary



2007/10/02(火) [n年前の日記]

#7 [prog] xyzzy + ruby-modeで実行できなくて悩む

環境変数 RUBYOPT に -Ku を指定してる状態で、DOS窓から下のスクリプトを実行すると両方動いてくれるのだけど。(DOS窓内なので、上は文字化けするが、実行はされる。)
#!/usr/bin/ruby

puts '終了'
#!/usr/bin/ruby

require "tk"

TkLabel.new {
  text 'こんにちは'
}.pack

TkButton.new {
  text '終了'
  command 'exit'
}.pack

Tk.mainloop

_ruby-mode for xyzzy で、C-c C-x (editor::ruby-run-script-immediate) をしても、前者は動くが、後者はエラーが出る。こんな感じのメッセージが。
C:/home/prg/ruby/__temp_u4kp.rb:10: Invalid char `\217' in expression
C:/home/prg/ruby/__temp_u4kp.rb:10: syntax error
  text '終了'
          ^
C:/home/prg/ruby/__temp_u4kp.rb:10: Invalid char `\227' in expression
C:/home/prg/ruby/__temp_u4kp.rb:10: Invalid char `\271' in expression
C:/home/prg/ruby/__temp_u4kp.rb:11: syntax error
  command 'exit'
               ^
C:/home/prg/ruby/__temp_u4kp.rb:11: unterminated string meets end of file
C:/home/prg/ruby/__temp_u4kp.rb:11: syntax error
何故。utf8nで保存してるんだけどなぁ…。

スクリプトファイルを直接保存して実行するようにしたら動いた。 :

ruby-mode for xyzzy によるスクリプト実行は、標準設定なら仮ファイルを保存して、その仮ファイルを実行するのだけど。
~/.xyzzy に、
(setq *ruby-save-bufer-before-run* t)
と書くと、編集中のファイルを保存→実行するように処理が変わるようで。それならエラーを出さずに実行できた。

おそらく、仮ファイルを保存する際に、元ファイルの文字コードによってはおかしな状態で保存・実行されてしまうのでは。と根拠のない想像を。

_ [Ruby] Windowsのメモ帳によるUTF-8エンコーディング - Day by day (2007-03-05) :

関係あるかどうかわからないけどメモ。UTF8はBOMが入るのでよろしくないという話。

_Rubyist Magazine - 標準添付ライブラリ紹介 【第 3 回】 Kconv/NKF/Iconv :


以上です。

過去ログ表示

Prev - 2007/10 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project