diff options
| author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-01-31 03:01:31 +0000 |
|---|---|---|
| committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-01-31 03:01:31 +0000 |
| commit | 5adc8318383ee9bf23f2147dfc18a93fb85254e6 (patch) | |
| tree | bfd1cac61d4cdc0a1ff426b502ce69f445a9a8a7 /ext/tk/lib/multi-tk.rb | |
| parent | 8ae6e84138955ac1434c835cab37eb26e6a42279 (diff) | |
| download | ruby-5adc8318383ee9bf23f2147dfc18a93fb85254e6.tar.gz ruby-5adc8318383ee9bf23f2147dfc18a93fb85254e6.tar.xz ruby-5adc8318383ee9bf23f2147dfc18a93fb85254e6.zip | |
* ext/tk/lib/multi-tk.rb: add MultiTkIp#eval and bg_eval.
* ext/tk/lib/tk/namespace.rb: TkNamespace#eval was enbugged at the
last commit. Now it will return a proper object.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/multi-tk.rb')
| -rw-r--r-- | ext/tk/lib/multi-tk.rb | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/ext/tk/lib/multi-tk.rb b/ext/tk/lib/multi-tk.rb index a022a5c62..6581ff8da 100644 --- a/ext/tk/lib/multi-tk.rb +++ b/ext/tk/lib/multi-tk.rb @@ -1702,6 +1702,35 @@ class MultiTkIp alias background_eval_string bg_eval_string alias bg_eval_str bg_eval_string alias background_eval_str bg_eval_string + + def eval(*args, &blk) + if block_given? + eval_proc(*args, &blk) + elsif args[0] + if args[0].respond_to?(:call) + eval_proc(*args) + else + eval_string(*args) + end + else + fail ArgumentError, "no argument to eval" + end + end + + def bg_eval(*args, &blk) + if block_given? + bg_eval_proc(*args, &blk) + elsif args[0] + if args[0].respond_to?(:call) + bg_eval_proc(*args) + else + bg_eval_string(*args) + end + else + fail ArgumentError, "no argument to eval" + end + end + alias background_eval bg_eval end class << MultiTkIp @@ -1711,7 +1740,39 @@ class << MultiTkIp __getip.eval_proc(*args, &blk) end alias call eval_proc - alias eval_string eval_proc + + def bg_eval_proc(*args, &blk) + # class ==> interp object + __getip.bg_eval_proc(*args, &blk) + end + alias background_eval_proc bg_eval_proc + alias thread_eval_proc bg_eval_proc + alias bg_call bg_eval_proc + alias background_call bg_eval_proc + + def eval_string(cmd, *eval_args) + # class ==> interp object + __getip.eval_string(cmd, *eval_args) + end + alias eval_str eval_string + + def bg_eval_string(cmd, *eval_args) + # class ==> interp object + __getip.bg_eval_string(cmd, *eval_args) + end + alias background_eval_string bg_eval_string + alias bg_eval_str bg_eval_string + alias background_eval_str bg_eval_string + + def eval(*args, &blk) + # class ==> interp object + __getip.eval(*args, &blk) + end + def bg_eval(*args, &blk) + # class ==> interp object + __getip.bg_eval(*args, &blk) + end + alias background_eval bg_eval end |
