tk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/MANUAL_tcltklib.eng +0 -2
  4. data/MANUAL_tcltklib.ja +0 -2
  5. data/README.ActiveTcl +1 -1
  6. data/README.md +43 -0
  7. data/ext/tk/extconf.rb +4 -2
  8. data/ext/tk/old-extconf.rb +0 -1
  9. data/ext/tk/tcltklib.c +46 -148
  10. data/ext/tk/tkutil/extconf.rb +0 -2
  11. data/ext/tk/tkutil/tkutil.c +6 -9
  12. data/lib/multi-tk.rb +95 -315
  13. data/lib/remote-tk.rb +6 -23
  14. data/lib/tk.rb +41 -122
  15. data/lib/tk/bgerror.rb +2 -2
  16. data/lib/tk/bindtag.rb +1 -1
  17. data/lib/tk/canvas.rb +6 -14
  18. data/lib/tk/canvastag.rb +8 -16
  19. data/lib/tk/font.rb +1 -1
  20. data/lib/tk/fontchooser.rb +1 -1
  21. data/lib/tk/image.rb +1 -1
  22. data/lib/tk/menu.rb +4 -4
  23. data/lib/tk/msgcat.rb +5 -5
  24. data/lib/tk/namespace.rb +12 -32
  25. data/lib/tk/optiondb.rb +3 -73
  26. data/lib/tk/scale.rb +2 -2
  27. data/lib/tk/scrollable.rb +4 -2
  28. data/lib/tk/selection.rb +5 -4
  29. data/lib/tk/text.rb +8 -16
  30. data/lib/tk/textmark.rb +1 -1
  31. data/lib/tk/texttag.rb +7 -15
  32. data/lib/tk/timer.rb +2 -2
  33. data/lib/tk/tk_mac.rb +18 -18
  34. data/lib/tk/validation.rb +4 -35
  35. data/lib/tk/variable.rb +7 -5
  36. data/lib/tk/virtevent.rb +1 -1
  37. data/lib/tkextlib/blt/barchart.rb +0 -17
  38. data/lib/tkextlib/blt/bitmap.rb +1 -1
  39. data/lib/tkextlib/blt/component.rb +34 -34
  40. data/lib/tkextlib/blt/dragdrop.rb +6 -6
  41. data/lib/tkextlib/blt/graph.rb +0 -17
  42. data/lib/tkextlib/blt/stripchart.rb +0 -17
  43. data/lib/tkextlib/blt/tabset.rb +16 -31
  44. data/lib/tkextlib/blt/tree.rb +5 -5
  45. data/lib/tkextlib/blt/treeview.rb +14 -14
  46. data/lib/tkextlib/blt/watch.rb +1 -1
  47. data/lib/tkextlib/bwidget/labelentry.rb +6 -14
  48. data/lib/tkextlib/bwidget/listbox.rb +13 -29
  49. data/lib/tkextlib/bwidget/notebook.rb +6 -14
  50. data/lib/tkextlib/bwidget/spinbox.rb +6 -14
  51. data/lib/tkextlib/bwidget/tree.rb +19 -35
  52. data/lib/tkextlib/itcl/incr_tcl.rb +2 -2
  53. data/lib/tkextlib/itk/incr_tk.rb +7 -29
  54. data/lib/tkextlib/iwidgets/calendar.rb +0 -15
  55. data/lib/tkextlib/iwidgets/entryfield.rb +0 -21
  56. data/lib/tkextlib/iwidgets/notebook.rb +2 -2
  57. data/lib/tkextlib/iwidgets/scrolledcanvas.rb +6 -14
  58. data/lib/tkextlib/iwidgets/tabnotebook.rb +2 -2
  59. data/lib/tkextlib/tcllib/ctext.rb +2 -2
  60. data/lib/tkextlib/tcllib/plotchart.rb +5 -5
  61. data/lib/tkextlib/tcllib/validator.rb +6 -6
  62. data/lib/tkextlib/tile.rb +1 -1
  63. data/lib/tkextlib/tile/style.rb +1 -1
  64. data/lib/tkextlib/tile/treeview.rb +13 -20
  65. data/lib/tkextlib/tkDND/tkdnd.rb +6 -22
  66. data/lib/tkextlib/tkHTML/htmlwidget.rb +1 -1
  67. data/lib/tkextlib/tktable/tktable.rb +1 -1
  68. data/lib/tkextlib/treectrl/tktreectrl.rb +12 -20
  69. data/lib/tkextlib/vu/pie.rb +1 -1
  70. data/sample/binding_sample.rb +2 -2
  71. data/sample/cmd_res_test.rb +1 -1
  72. data/sample/demos-en/widget +21 -21
  73. data/sample/demos-jp/widget +4 -4
  74. data/sample/multi-ip_sample.rb +0 -3
  75. data/sample/multi-ip_sample2.rb +1 -1
  76. data/sample/resource.en +3 -3
  77. data/sample/resource.ja +3 -3
  78. data/sample/tcltklib/sample1.rb +2 -2
  79. data/sample/tkballoonhelp.rb +2 -2
  80. data/sample/tkextlib/tkHTML/ss.rb +0 -6
  81. data/sample/tkmulticolumnlist.rb +2 -2
  82. data/sample/tkmultilistframe.rb +2 -2
  83. data/sample/tkoptdb.rb +14 -16
  84. data/tk.gemspec +4 -4
  85. metadata +6 -13
  86. data/ChangeLog.tkextlib +0 -949
  87. data/old-README.tcltklib.ja +0 -159
  88. data/sample/binstr_usage.rb +0 -46
  89. data/sample/remote-ip_sample2.rb +0 -57
  90. data/sample/safe-tk.rb +0 -132
  91. data/sample/tkoptdb-safeTk.rb +0 -74
  92. data/sample/tktree.rb +0 -104
  93. data/sample/tktree.tcl +0 -305
@@ -1420,31 +1420,23 @@ class Tk::TreeCtrl
1420
1420
  marquee_visible()
1421
1421
  end
1422
1422
 
1423
- #def notify_bind(obj, event, cmd=Proc.new, *args)
1424
- # _bind([@path, 'notify', 'bind', obj], event, cmd, *args)
1425
- # self
1426
- #end
1427
- def notify_bind(obj, event, *args)
1423
+ def notify_bind(obj, event, *args, &block)
1428
1424
  # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
1429
- if TkComm._callback_entry?(args[0]) || !block_given?
1425
+ if TkComm._callback_entry?(args[0]) || !block
1430
1426
  cmd = args.shift
1431
1427
  else
1432
- cmd = Proc.new
1428
+ cmd = block
1433
1429
  end
1434
1430
  _bind([@path, 'notify', 'bind', obj], event, cmd, *args)
1435
1431
  self
1436
1432
  end
1437
1433
 
1438
- #def notify_bind_append(obj, event, cmd=Proc.new, *args)
1439
- # _bind_append([@path, 'notify', 'bind', obj], event, cmd, *args)
1440
- # self
1441
- #end
1442
- def notify_bind_append(obj, event, *args)
1434
+ def notify_bind_append(obj, event, *args, &block)
1443
1435
  # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
1444
- if TkComm._callback_entry?(args[0]) || !block_given?
1436
+ if TkComm._callback_entry?(args[0]) || !block
1445
1437
  cmd = args.shift
1446
1438
  else
1447
- cmd = Proc.new
1439
+ cmd = block
1448
1440
  end
1449
1441
  _bind_append([@path, 'notify', 'bind', obj], event, cmd, *args)
1450
1442
  self
@@ -1475,7 +1467,7 @@ class Tk::TreeCtrl
1475
1467
 
1476
1468
  def notify_install(pattern, percents_cmd=nil, &b)
1477
1469
  pattern = "<#{pattern}>"
1478
- percents_cmd = Proc.new(&b) if !percents_cmd && b
1470
+ percents_cmd = b if !percents_cmd && b
1479
1471
  if percents_cmd
1480
1472
  procedure(tk_send('notify', 'install', pattern, percents_cmd))
1481
1473
  else
@@ -1484,7 +1476,7 @@ class Tk::TreeCtrl
1484
1476
  end
1485
1477
 
1486
1478
  def notify_install_detail(event, detail, percents_cmd=nil, &b)
1487
- percents_cmd = Proc.new(&b) if !percents_cmd && b
1479
+ percents_cmd = b if !percents_cmd && b
1488
1480
  if percents_cmd
1489
1481
  tk_send('notify', 'install', 'detail', event, detail, percents_cmd)
1490
1482
  else
@@ -1493,7 +1485,7 @@ class Tk::TreeCtrl
1493
1485
  end
1494
1486
 
1495
1487
  def notify_install_event(event, percents_cmd=nil, &b)
1496
- percents_cmd = Proc.new(&b) if !percents_cmd && b
1488
+ percents_cmd = b if !percents_cmd && b
1497
1489
  if percents_cmd
1498
1490
  tk_send('notify', 'install', 'event', event, percents_cmd)
1499
1491
  else
@@ -1733,7 +1725,7 @@ end
1733
1725
  class Tk::TreeCtrl::Column < TkObject
1734
1726
  TreeCtrlColumnID_TBL = TkCore::INTERP.create_table
1735
1727
 
1736
- (TreeCtrlColumnID = ['treectrl_column'.freeze, TkUtil.untrust('00000')]).instance_eval{
1728
+ (TreeCtrlColumnID = ['treectrl_column'.freeze, '00000']).instance_eval{
1737
1729
  @mutex = Mutex.new
1738
1730
  def mutex; @mutex; end
1739
1731
  freeze
@@ -1839,7 +1831,7 @@ end
1839
1831
  class Tk::TreeCtrl::Element < TkObject
1840
1832
  TreeCtrlElementID_TBL = TkCore::INTERP.create_table
1841
1833
 
1842
- (TreeCtrlElementID = ['treectrl_element'.freeze, TkUtil.untrust('00000')]).instance_eval{
1834
+ (TreeCtrlElementID = ['treectrl_element'.freeze, '00000']).instance_eval{
1843
1835
  @mutex = Mutex.new
1844
1836
  def mutex; @mutex; end
1845
1837
  freeze
@@ -2277,7 +2269,7 @@ end
2277
2269
  class Tk::TreeCtrl::Style < TkObject
2278
2270
  TreeCtrlStyleID_TBL = TkCore::INTERP.create_table
2279
2271
 
2280
- (TreeCtrlStyleID = ['treectrl_style'.freeze, TkUtil.untrust('00000')]).instance_eval{
2272
+ (TreeCtrlStyleID = ['treectrl_style'.freeze, '00000']).instance_eval{
2281
2273
  @mutex = Mutex.new
2282
2274
  def mutex; @mutex; end
2283
2275
  freeze
@@ -118,7 +118,7 @@ end
118
118
  class Tk::Vu::PieSlice
119
119
  SliceID_TBL = TkCore::INTERP.create_table
120
120
 
121
- (Pie_Slice_ID = ['vu:pie'.freeze, TkUtil.untrust('00000')]).instance_eval{
121
+ (Pie_Slice_ID = ['vu:pie'.freeze, '00000']).instance_eval{
122
122
  @mutex = Mutex.new
123
123
  def mutex; @mutex; end
124
124
  freeze
@@ -38,8 +38,8 @@ class Button_clone < TkLabel
38
38
  })
39
39
  end
40
40
 
41
- def command(cmd = Proc.new)
42
- @command = cmd
41
+ def command(cmd = nil, &block)
42
+ @command = cmd || block
43
43
  end
44
44
 
45
45
  def invoke
@@ -9,7 +9,7 @@ cmd2 = TkOptionDB.new_proc_class(:ZZZ, [:show_msg, :bye_msg], 3, false, cmd1)
9
9
  cmd3 = TkOptionDB.new_proc_class(:ZZZ, [:show_msg, :bye_msg], 3, false, b)
10
10
  cmd4 = TkOptionDB.new_proc_class(:BTN_CMD, [:show_msg, :bye_msg], 3){
11
11
  def self.__check_proc_string__(str)
12
- "{|arg| print [arg, $SAFE].inspect, ': '; Proc.new#{str}.call(arg)}"
12
+ "{|arg| print arg.inspect, ': '; Proc.new#{str}.call(arg)}"
13
13
  end
14
14
  }
15
15
  cmd1.show_msg('cmd1')
@@ -582,10 +582,10 @@ end
582
582
 
583
583
  # Pseudo-Toplevel support
584
584
  module PseudoToplevel_Evaluable
585
- def pseudo_toplevel_eval(body = Proc.new)
585
+ def pseudo_toplevel_eval(body = nil, &block)
586
586
  Thread.current[:TOPLEVEL] = self
587
587
  begin
588
- body.call
588
+ (body || block).call
589
589
  ensure
590
590
  Thread.current[:TOPLEVEL] = nil
591
591
  end
@@ -605,25 +605,25 @@ module PseudoToplevel_Evaluable
605
605
  end
606
606
 
607
607
  class Object
608
- alias __method_missing__ method_missing
609
- private :__method_missing__
610
-
611
- def method_missing(id, *args)
612
- begin
613
- has_top = (top = Thread.current[:TOPLEVEL]) &&
614
- top.respond_to?(:pseudo_toplevel_evaluable?) &&
615
- top.pseudo_toplevel_evaluable? &&
616
- top.respond_to?(id)
617
- rescue Exception => e
618
- has_top = false
619
- end
608
+ include(Module.new do
609
+ private
610
+ def method_missing(id, *args)
611
+ begin
612
+ has_top = (top = Thread.current[:TOPLEVEL]) &&
613
+ top.respond_to?(:pseudo_toplevel_evaluable?) &&
614
+ top.pseudo_toplevel_evaluable? &&
615
+ top.respond_to?(id)
616
+ rescue Exception => e
617
+ has_top = false
618
+ end
620
619
 
621
- if has_top
622
- top.__send__(id, *args)
623
- else
624
- __method_missing__(id, *args)
620
+ if has_top
621
+ top.__send__(id, *args)
622
+ else
623
+ super
624
+ end
625
625
  end
626
- end
626
+ end)
627
627
  end
628
628
 
629
629
  class Proc
@@ -649,10 +649,10 @@ class Proc
649
649
  end
650
650
 
651
651
  def proc(&b)
652
- Proc.new(&b)
652
+ b
653
653
  end
654
654
  def lambda(&b)
655
- Proc.new(&b)
655
+ b
656
656
  end
657
657
 
658
658
  def _null_binding
@@ -639,10 +639,10 @@ end
639
639
 
640
640
  # 疑似トップレベルサポート
641
641
  module PseudoToplevel_Evaluable
642
- def pseudo_toplevel_eval(body = Proc.new)
642
+ def pseudo_toplevel_eval(body = nil, &block)
643
643
  Thread.current[:TOPLEVEL] = self
644
644
  begin
645
- body.call
645
+ (body || block).call
646
646
  ensure
647
647
  Thread.current[:TOPLEVEL] = nil
648
648
  end
@@ -706,10 +706,10 @@ class Proc
706
706
  end
707
707
 
708
708
  def proc(&b)
709
- Proc.new(&b)
709
+ b
710
710
  end
711
711
  def lambda(&b)
712
- Proc.new(&b)
712
+ b
713
713
  end
714
714
 
715
715
  def _null_binding
@@ -80,9 +80,6 @@ safe_slave1.eval_proc(cmd, 'safe1') # label -> .w00016
80
80
  safe_slave2.eval_proc(cmd, 'safe2') # label -> .w00020
81
81
  cmd.call('master') # label -> .w00024
82
82
 
83
- #second_master = MultiTkIp.new(&cmd)
84
- #second_master = MultiTkIp.new(:safe=>2){p [:second_master, $SAFE]}
85
-
86
83
  TkTimer.new(2000, -1, proc{p ['safe1', safe_slave1.deleted?]}).start
87
84
  TkTimer.new(2000, -1, proc{p ['safe2', safe_slave2.deleted?]}).start
88
85
  TkTimer.new(2000, -1, proc{p ['trusted', trusted_slave.deleted?]}).start
@@ -13,7 +13,7 @@ cmd = proc{|s|
13
13
 
14
14
  TkButton.new(:text=>'b1: p self', :command=>proc{p self}).pack(:fill=>:x)
15
15
  sleep s
16
- TkButton.new(:text=>'b2: p $SAFE', :command=>proc{p $SAFE}).pack(:fill=>:x)
16
+ TkButton.new(:text=>'b2: p 0', :command=>proc{p 0}).pack(:fill=>:x)
17
17
  sleep s
18
18
  TkButton.new(:text=>'b3: p MultiTkIp.ip_name',
19
19
  :command=>proc{p MultiTkIp.ip_name}).pack(:fill=>:x)
@@ -7,7 +7,7 @@
7
7
  *BtnFrame.Button.foreground: red
8
8
  *hello.text: HELLO
9
9
  *quit.text: QUIT
10
- *BTN_CMD.show_msg: {|arg| print "($SAFE=#{$SAFE}) ";\
10
+ *BTN_CMD.show_msg: {|arg| print "(0) ";\
11
11
  print "Hello!! This is a sample of #{arg}.";\
12
- print "(<<< $SAFE=#{$SAFE})\n"}
13
- *BTN_CMD.bye_msg: {print "($SAFE=#{$SAFE} >>>) Good-bye��(<<< $SAFE=#{$SAFE})\n"}
12
+ print "(<<< 0)\n"}
13
+ *BTN_CMD.bye_msg: {print "(0 >>>) Good-bye��(<<< 0)\n"}
@@ -7,7 +7,7 @@
7
7
  *BtnFrame.Button.foreground: red
8
8
  *hello.text: こんにちは
9
9
  *quit.text: 終了
10
- *BTN_CMD.show_msg: {|arg| print "($SAFE=#{$SAFE} >>>) ";\
10
+ *BTN_CMD.show_msg: {|arg| print "(0 >>>) ";\
11
11
  print "こんにちは!! #{arg} のサンプルです.";\
12
- print "(<<< $SAFE=#{$SAFE})\n"}
13
- *BTN_CMD.bye_msg: {print "($SAFE=#{$SAFE} >>>) さようなら.(<<< $SAFE=#{$SAFE})\n"}
12
+ print "(<<< 0)\n"}
13
+ *BTN_CMD.bye_msg: {print "(0 >>>) さようなら.(<<< 0)\n"}
@@ -293,7 +293,7 @@ class Test1
293
293
  def test_checkbutton(ip, parent)
294
294
  checkbutton, global, pack = ip.commands().values_at(
295
295
  "checkbutton", "global", "pack")
296
- t1, b1, cb = inittoplevel(ip, parent, "checkbutton")
296
+ t1, b1, _ = inittoplevel(ip, parent, "checkbutton")
297
297
 
298
298
  ## checkbutton
299
299
 
@@ -616,7 +616,7 @@ print "start\n"
616
616
  ip = []
617
617
 
618
618
  # インタプリタ, ウィジェット等の生成.
619
- for i in 1 .. n
619
+ for _ in 1 .. n
620
620
  ip.push(Test1.new())
621
621
  end
622
622
 
@@ -84,8 +84,8 @@ class Tk::RbWidget::BalloonHelp<TkLabel
84
84
  end
85
85
  end
86
86
 
87
- def command(cmd = Proc.new)
88
- @command = cmd
87
+ def command(cmd = nil, &block)
88
+ @command = cmd || block
89
89
  self
90
90
  end
91
91
 
@@ -84,9 +84,6 @@ EOD
84
84
  :scriptcommand=>proc{|*args|
85
85
  script_cmd(*args)
86
86
  },
87
- :appletcommand=>proc{|*args|
88
- applet_cmd(*args)
89
- },
90
87
  :hyperlinkcommand=>proc{|*args|
91
88
  hyper_cmd(*args)
92
89
  },
@@ -385,9 +382,6 @@ EOD
385
382
  :scriptcommand=>proc{|*args|
386
383
  script_cmd(*args)
387
384
  },
388
- :appletcommand=>proc{|*args|
389
- applet_cmd(*args)
390
- },
391
385
  :hyperlinkcommand=>proc{|*args|
392
386
  hyper_cmd(*args)
393
387
  },
@@ -412,8 +412,8 @@ class TkMultiColumnList < TkText
412
412
  end
413
413
 
414
414
  # set title cmds
415
- def titlecommand(idx, cmd=Proc.new)
416
- @title_cmd[idx] = cmd
415
+ def titlecommand(idx, cmd=nil, &block)
416
+ @title_cmd[idx] = cmd || block
417
417
  end
418
418
 
419
419
  # call title cmds
@@ -421,8 +421,8 @@ class TkMultiListFrame < TkListbox
421
421
  end
422
422
 
423
423
  # set title cmds
424
- def titlecommand(idx, cmd=Proc.new)
425
- @title_cmd[idx] = cmd
424
+ def titlecommand(idx, cmd=nil, &block)
425
+ @title_cmd[idx] = cmd || block
426
426
  end
427
427
 
428
428
  # call title cmds
@@ -23,15 +23,13 @@ if __FILE__ == $0 || !TkCore::INTERP.safe?
23
23
  end
24
24
 
25
25
  # 'show_msg' and 'bye_msg' procedures can be defined on BTN_CMD resource.
26
- # Those procedures are called under $SAFE==2
27
26
  cmd = TkOptionDB.new_proc_class(:BTN_CMD, [:show_msg, :bye_msg], 3) {
28
27
  # If you want to check resource string (str),
29
28
  # please define __check_proc_string__(str) like this.
30
29
  class << self
31
30
  def __check_proc_string__(str)
32
- print "($SAFE=#{$SAFE} >>>) check!! str.tainted?::#{str.tainted?}"
33
- str.untaint
34
- print "==>#{str.tainted?} (<<< $SAFE=#{$SAFE}): "
31
+ print "(0 >>>) check!! str.tainted?::false"
32
+ print "==>#{false} (<<< 0): "
35
33
  str
36
34
  end
37
35
  private :__check_proc_string__
@@ -43,16 +41,16 @@ TkFrame.new(:class=>'BtnFrame'){|f|
43
41
  pack(:padx=>5, :pady=>5)
44
42
  TkButton.new(:parent=>f, :widgetname=>'hello'){
45
43
  command proc{
46
- print "($SAFE=#{$SAFE} >>>) : "
44
+ print "(0 >>>) : "
47
45
  cmd.show_msg(TkOptionDB.inspect)
48
- print "(<<< $SAFE=#{$SAFE})"
46
+ print "(<<< 0)"
49
47
  }
50
48
  pack(:fill=>:x, :padx=>10, :pady=>10)
51
49
  }
52
50
  TkButton.new(:command=>proc{
53
- print "($SAFE=#{$SAFE} >>>) : "
51
+ print "(0 >>>) : "
54
52
  cmd.bye_msg
55
- print "(<<< $SAFE=#{$SAFE} ) : "
53
+ print "(<<< 0) : "
56
54
  exit
57
55
  },
58
56
  :parent=>f, :widgetname=>'quit'){
@@ -65,16 +63,16 @@ BtnFrame.new{|f|
65
63
  pack(:padx=>5, :pady=>5)
66
64
  TkButton.new(:parent=>f, :widgetname=>'hello'){
67
65
  command proc{
68
- print "($SAFE=#{$SAFE} >>>) : "
66
+ print "(0 >>>) : "
69
67
  cmd.show_msg(TkOptionDB.inspect)
70
- print "(<<< $SAFE=#{$SAFE})"
68
+ print "(<<< 0)"
71
69
  }
72
70
  pack(:fill=>:x, :padx=>10, :pady=>10)
73
71
  }
74
72
  TkButton.new(:command=>proc{
75
- print "($SAFE=#{$SAFE} >>>) : "
73
+ print "(0 >>>) : "
76
74
  cmd.bye_msg
77
- print "(<<< $SAFE=#{$SAFE})"
75
+ print "(<<< 0)"
78
76
  exit
79
77
  },
80
78
  :parent=>f, :widgetname=>'quit'){
@@ -87,16 +85,16 @@ TkFrame.new(:class=>'BtnFrame2'){|f|
87
85
  pack(:padx=>5, :pady=>5)
88
86
  TkButton.new(:parent=>f, :widgetname=>'hello'){
89
87
  command proc{
90
- print "($SAFE=#{$SAFE} >>>) : "
88
+ print "(0 >>>) : "
91
89
  cmd.show_msg(TkOptionDB.inspect)
92
- print "(<<< $SAFE=#{$SAFE})"
90
+ print "(<<< 0)"
93
91
  }
94
92
  pack(:fill=>:x, :padx=>10, :pady=>10)
95
93
  }
96
94
  TkButton.new(:command=>proc{
97
- print "($SAFE=#{$SAFE} >>>) : "
95
+ print "(0 >>>) : "
98
96
  cmd.bye_msg
99
- print "(<<< $SAFE=#{$SAFE})"
97
+ print "(<<< 0)"
100
98
  exit
101
99
  },
102
100
  :parent=>f, :widgetname=>'quit'){
data/tk.gemspec CHANGED
@@ -1,13 +1,13 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "tk"
3
- spec.version = "0.2.0"
4
- spec.authors = ["SHIBATA Hiroshi", "Nobuyoshi Nakada"]
5
- spec.email = ["hsbt@ruby-lang.org", "nobu@ruby-lang.org"]
3
+ spec.version = "0.3.0"
4
+ spec.authors = ["SHIBATA Hiroshi", "Nobuyoshi Nakada", "Jeremy Evans"]
5
+ spec.email = ["hsbt@ruby-lang.org", "nobu@ruby-lang.org", "code@jeremyevans.net"]
6
6
 
7
7
  spec.summary = %q{Tk interface module using tcltklib.}
8
8
  spec.description = %q{Tk interface module using tcltklib.}
9
9
  spec.homepage = "https://github.com/ruby/tk"
10
- spec.license = "2-clause BSDL"
10
+ spec.license = "BSD-2-Clause"
11
11
 
12
12
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
13
13
  spec.bindir = "exe"
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SHIBATA Hiroshi
8
8
  - Nobuyoshi Nakada
9
+ - Jeremy Evans
9
10
  autorequire:
10
11
  bindir: exe
11
12
  cert_chain: []
12
- date: 2017-08-01 00:00:00.000000000 Z
13
+ date: 2020-10-08 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: bundler
@@ -57,6 +58,7 @@ description: Tk interface module using tcltklib.
57
58
  email:
58
59
  - hsbt@ruby-lang.org
59
60
  - nobu@ruby-lang.org
61
+ - code@jeremyevans.net
60
62
  executables: []
61
63
  extensions:
62
64
  - ext/tk/extconf.rb
@@ -66,7 +68,6 @@ files:
66
68
  - ".gitignore"
67
69
  - ".travis.yml"
68
70
  - BSDL
69
- - ChangeLog.tkextlib
70
71
  - Gemfile
71
72
  - LICENSE.txt
72
73
  - MANUAL_tcltklib.eng
@@ -431,11 +432,9 @@ files:
431
432
  - lib/tktext.rb
432
433
  - lib/tkvirtevent.rb
433
434
  - lib/tkwinpkg.rb
434
- - old-README.tcltklib.ja
435
435
  - sample/24hr_clock.rb
436
436
  - sample/binding_sample.rb
437
437
  - sample/bindtag_sample.rb
438
- - sample/binstr_usage.rb
439
438
  - sample/btn_with_frame.rb
440
439
  - sample/cd_timer.rb
441
440
  - sample/cmd_res_test.rb
@@ -671,10 +670,8 @@ files:
671
670
  - sample/optobj_sample.rb
672
671
  - sample/propagate.rb
673
672
  - sample/remote-ip_sample.rb
674
- - sample/remote-ip_sample2.rb
675
673
  - sample/resource.en
676
674
  - sample/resource.ja
677
- - sample/safe-tk.rb
678
675
  - sample/scrollframe.rb
679
676
  - sample/tcltklib/batsu.gif
680
677
  - sample/tcltklib/lines0.tcl
@@ -1108,7 +1105,6 @@ files:
1108
1105
  - sample/tkmulticolumnlist.rb
1109
1106
  - sample/tkmultilistbox.rb
1110
1107
  - sample/tkmultilistframe.rb
1111
- - sample/tkoptdb-safeTk.rb
1112
1108
  - sample/tkoptdb.rb
1113
1109
  - sample/tkrttimer.rb
1114
1110
  - sample/tksleep_sample.rb
@@ -1117,13 +1113,11 @@ files:
1117
1113
  - sample/tktimer.rb
1118
1114
  - sample/tktimer2.rb
1119
1115
  - sample/tktimer3.rb
1120
- - sample/tktree.rb
1121
- - sample/tktree.tcl
1122
1116
  - sample/ttk_wrapper.rb
1123
1117
  - tk.gemspec
1124
1118
  homepage: https://github.com/ruby/tk
1125
1119
  licenses:
1126
- - 2-clause BSDL
1120
+ - BSD-2-Clause
1127
1121
  metadata:
1128
1122
  msys2_mingw_dependencies: tk
1129
1123
  post_install_message:
@@ -1141,8 +1135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1141
1135
  - !ruby/object:Gem::Version
1142
1136
  version: '0'
1143
1137
  requirements: []
1144
- rubyforge_project:
1145
- rubygems_version: 2.6.11
1138
+ rubygems_version: 3.1.4
1146
1139
  signing_key:
1147
1140
  specification_version: 4
1148
1141
  summary: Tk interface module using tcltklib.