1# -*- ruby -*-
2#
3# tkencoding.rb
4# written by ttate@jaist.ac.jp
5
6class TclTkIp
7  alias __eval _eval
8  alias __invoke _invoke
9  private :__eval
10  private :__invoke
11
12  attr_accessor :encoding
13
14  def _eval(cmd)
15    if( @encoding )
16      _fromUTF8(__eval(_toUTF8(cmd,@encoding)),@encoding)
17    else
18      __eval(cmd)
19    end
20  end
21
22  def _invoke(*cmds)
23    if( @encoding )
24      cmds = cmds.collect{|cmd| _toUTF8(cmd,@encoding)}
25      _fromUTF8(__invoke(*cmds),@encoding)
26    else
27      __invoke(*cmds)
28    end
29  end
30end
31
32module Tk
33  INTERP = TkCore::INTERP
34
35  def encoding=(name)
36    INTERP.encoding = name
37  end
38
39  def encoding
40    INTERP.encoding
41  end
42end
43