1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/tk/lib/multi-tk.rb: add a binding to a container for a slave IP.

* ext/tk/lib/tk.rb: update RELEASE_DATE.
* ext/tk/tcltklib.c: forget to reset a Tcl interpreter.
* ext/tk/stubs.c: fix potential bugs about handling rb_argv0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nagai 2006-04-18 08:43:10 +00:00
parent ef65804903
commit bce4ed2f72
5 changed files with 42 additions and 12 deletions

View file

@ -1,3 +1,13 @@
Tue Apr 18 17:40:37 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/lib/multi-tk.rb: add a binding to a container for a slave IP.
* ext/tk/lib/tk.rb: update RELEASE_DATE.
* ext/tk/tcltklib.c: forget to reset a Tcl interpreter.
* ext/tk/stubs.c: fix potential bugs about handling rb_argv0.
Sat Apr 8 18:06:28 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c: add WIN32OLE_METHOD#inspect,

View file

@ -944,6 +944,7 @@ class MultiTkIp
dup_keys['fill'] = :both unless dup_keys.key?('fill')
dup_keys['expand'] = true unless dup_keys.key?('expand')
c = TkFrame.new(top, :container=>true).pack(dup_keys)
c.bind('Destroy', proc{top.destroy})
# return keys
loadTk_keys['use'] = TkWinfo.id(c)

View file

@ -4559,7 +4559,7 @@ end
#Tk.freeze
module Tk
RELEASE_DATE = '2006-04-06'.freeze
RELEASE_DATE = '2006-04-18'.freeze
autoload :AUTO_PATH, 'tk/variable'
autoload :TCL_PACKAGE_PATH, 'tk/variable'

View file

@ -141,7 +141,8 @@ ruby_open_tk_dll()
char tk_name[20];
if (!tcl_dll) {
int ret = ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr);
/* int ret = ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
int ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
if (ret != TCLTK_STUBS_OK) return ret;
}
@ -212,7 +213,9 @@ ruby_tcl_create_ip_and_stubs_init(st)
Tcl_Interp *(*p_Tcl_DeleteInterp)();
if (!tcl_dll) {
int ret = ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr);
/* int ret = ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
int ret = ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
if (ret != TCLTK_STUBS_OK) {
if (st) *st = ret;
return (Tcl_Interp*)NULL;
@ -345,7 +348,8 @@ ruby_tcltk_stubs()
int st;
Tcl_Interp *tcl_ip;
st = ruby_open_tcltk_dll(RSTRING(rb_argv0)->ptr);
/* st = ruby_open_tcltk_dll(RSTRING(rb_argv0)->ptr); */
st = ruby_open_tcltk_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
switch(st) {
case NO_FindExecutable:
return -7;
@ -407,7 +411,8 @@ ruby_open_tcl_dll(appname)
int ruby_open_tk_dll()
{
if (!open_tcl_dll) {
ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr);
/* ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
}
return TCLTK_STUBS_OK;
@ -438,7 +443,8 @@ ruby_tcl_create_ip_and_stubs_init(st)
Tcl_Interp *tcl_ip;
if (!open_tcl_dll) {
ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr);
/* ruby_open_tcl_dll(RSTRING(rb_argv0)->ptr); */
ruby_open_tcl_dll(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
}
if (st) *st = 0;
@ -502,7 +508,8 @@ ruby_tk_stubs_safeinit(tcl_ip)
int
ruby_tcltk_stubs()
{
Tcl_FindExecutable(RSTRING(rb_argv0)->ptr);
/* Tcl_FindExecutable(RSTRING(rb_argv0)->ptr); */
Tcl_FindExecutable(rb_argv0 ? RSTRING(rb_argv0)->ptr : 0);
return 0;
}

View file

@ -4,7 +4,7 @@
* Oct. 24, 1997 Y. Matsumoto
*/
#define TCLTKLIB_RELEASE_DATE "2006-04-06"
#define TCLTKLIB_RELEASE_DATE "2006-04-18"
#include "ruby.h"
#include "rubysig.h"
@ -5118,7 +5118,10 @@ ip_make_safe_core(interp, argc, argv)
}
if (Tcl_MakeSafe(ptr->ip) == TCL_ERROR) {
return rb_exc_new2(rb_eRuntimeError, Tcl_GetStringResult(ptr->ip));
/* return rb_exc_new2(rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip)); */
return create_ip_exc(interp, rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip));
}
ptr->allow_ruby_exit = 0;
@ -7050,7 +7053,10 @@ ip_get_variable2_core(interp, argc, argv)
if (ret == (Tcl_Obj*)NULL) {
volatile VALUE exc;
exc = rb_exc_new2(rb_eRuntimeError, Tcl_GetStringResult(ptr->ip));
/* exc = rb_exc_new2(rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip)); */
exc = create_ip_exc(interp, rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip));
/* Tcl_Release(ptr->ip); */
rbtk_release_ip(ptr);
rb_thread_critical = thr_crit_bup;
@ -7186,7 +7192,10 @@ ip_set_variable2_core(interp, argc, argv)
if (ret == (Tcl_Obj*)NULL) {
volatile VALUE exc;
exc = rb_exc_new2(rb_eRuntimeError, Tcl_GetStringResult(ptr->ip));
/* exc = rb_exc_new2(rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip)); */
exc = create_ip_exc(interp, rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip));
/* Tcl_Release(ptr->ip); */
rbtk_release_ip(ptr);
rb_thread_critical = thr_crit_bup;
@ -7303,7 +7312,10 @@ ip_unset_variable2_core(interp, argc, argv)
if (ptr->return_value == TCL_ERROR) {
if (FIX2INT(flag) & TCL_LEAVE_ERR_MSG) {
return rb_exc_new2(rb_eRuntimeError, Tcl_GetStringResult(ptr->ip));
/* return rb_exc_new2(rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip)); */
return create_ip_exc(interp, rb_eRuntimeError,
Tcl_GetStringResult(ptr->ip));
}
return Qfalse;
}