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:
parent
ef65804903
commit
bce4ed2f72
5 changed files with 42 additions and 12 deletions
10
ChangeLog
10
ChangeLog
|
@ -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>
|
Sat Apr 8 18:06:28 2006 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
||||||
|
|
||||||
* ext/win32ole/win32ole.c: add WIN32OLE_METHOD#inspect,
|
* ext/win32ole/win32ole.c: add WIN32OLE_METHOD#inspect,
|
||||||
|
|
|
@ -944,6 +944,7 @@ class MultiTkIp
|
||||||
dup_keys['fill'] = :both unless dup_keys.key?('fill')
|
dup_keys['fill'] = :both unless dup_keys.key?('fill')
|
||||||
dup_keys['expand'] = true unless dup_keys.key?('expand')
|
dup_keys['expand'] = true unless dup_keys.key?('expand')
|
||||||
c = TkFrame.new(top, :container=>true).pack(dup_keys)
|
c = TkFrame.new(top, :container=>true).pack(dup_keys)
|
||||||
|
c.bind('Destroy', proc{top.destroy})
|
||||||
|
|
||||||
# return keys
|
# return keys
|
||||||
loadTk_keys['use'] = TkWinfo.id(c)
|
loadTk_keys['use'] = TkWinfo.id(c)
|
||||||
|
|
|
@ -4559,7 +4559,7 @@ end
|
||||||
#Tk.freeze
|
#Tk.freeze
|
||||||
|
|
||||||
module Tk
|
module Tk
|
||||||
RELEASE_DATE = '2006-04-06'.freeze
|
RELEASE_DATE = '2006-04-18'.freeze
|
||||||
|
|
||||||
autoload :AUTO_PATH, 'tk/variable'
|
autoload :AUTO_PATH, 'tk/variable'
|
||||||
autoload :TCL_PACKAGE_PATH, 'tk/variable'
|
autoload :TCL_PACKAGE_PATH, 'tk/variable'
|
||||||
|
|
|
@ -141,7 +141,8 @@ ruby_open_tk_dll()
|
||||||
char tk_name[20];
|
char tk_name[20];
|
||||||
|
|
||||||
if (!tcl_dll) {
|
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;
|
if (ret != TCLTK_STUBS_OK) return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,7 +213,9 @@ ruby_tcl_create_ip_and_stubs_init(st)
|
||||||
Tcl_Interp *(*p_Tcl_DeleteInterp)();
|
Tcl_Interp *(*p_Tcl_DeleteInterp)();
|
||||||
|
|
||||||
if (!tcl_dll) {
|
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 (ret != TCLTK_STUBS_OK) {
|
||||||
if (st) *st = ret;
|
if (st) *st = ret;
|
||||||
return (Tcl_Interp*)NULL;
|
return (Tcl_Interp*)NULL;
|
||||||
|
@ -345,7 +348,8 @@ ruby_tcltk_stubs()
|
||||||
int st;
|
int st;
|
||||||
Tcl_Interp *tcl_ip;
|
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) {
|
switch(st) {
|
||||||
case NO_FindExecutable:
|
case NO_FindExecutable:
|
||||||
return -7;
|
return -7;
|
||||||
|
@ -407,7 +411,8 @@ ruby_open_tcl_dll(appname)
|
||||||
int ruby_open_tk_dll()
|
int ruby_open_tk_dll()
|
||||||
{
|
{
|
||||||
if (!open_tcl_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;
|
return TCLTK_STUBS_OK;
|
||||||
|
@ -438,7 +443,8 @@ ruby_tcl_create_ip_and_stubs_init(st)
|
||||||
Tcl_Interp *tcl_ip;
|
Tcl_Interp *tcl_ip;
|
||||||
|
|
||||||
if (!open_tcl_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);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (st) *st = 0;
|
if (st) *st = 0;
|
||||||
|
@ -502,7 +508,8 @@ ruby_tk_stubs_safeinit(tcl_ip)
|
||||||
int
|
int
|
||||||
ruby_tcltk_stubs()
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* Oct. 24, 1997 Y. Matsumoto
|
* Oct. 24, 1997 Y. Matsumoto
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define TCLTKLIB_RELEASE_DATE "2006-04-06"
|
#define TCLTKLIB_RELEASE_DATE "2006-04-18"
|
||||||
|
|
||||||
#include "ruby.h"
|
#include "ruby.h"
|
||||||
#include "rubysig.h"
|
#include "rubysig.h"
|
||||||
|
@ -5118,7 +5118,10 @@ ip_make_safe_core(interp, argc, argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Tcl_MakeSafe(ptr->ip) == TCL_ERROR) {
|
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;
|
ptr->allow_ruby_exit = 0;
|
||||||
|
@ -7050,7 +7053,10 @@ ip_get_variable2_core(interp, argc, argv)
|
||||||
|
|
||||||
if (ret == (Tcl_Obj*)NULL) {
|
if (ret == (Tcl_Obj*)NULL) {
|
||||||
volatile VALUE exc;
|
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); */
|
/* Tcl_Release(ptr->ip); */
|
||||||
rbtk_release_ip(ptr);
|
rbtk_release_ip(ptr);
|
||||||
rb_thread_critical = thr_crit_bup;
|
rb_thread_critical = thr_crit_bup;
|
||||||
|
@ -7186,7 +7192,10 @@ ip_set_variable2_core(interp, argc, argv)
|
||||||
|
|
||||||
if (ret == (Tcl_Obj*)NULL) {
|
if (ret == (Tcl_Obj*)NULL) {
|
||||||
volatile VALUE exc;
|
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); */
|
/* Tcl_Release(ptr->ip); */
|
||||||
rbtk_release_ip(ptr);
|
rbtk_release_ip(ptr);
|
||||||
rb_thread_critical = thr_crit_bup;
|
rb_thread_critical = thr_crit_bup;
|
||||||
|
@ -7303,7 +7312,10 @@ ip_unset_variable2_core(interp, argc, argv)
|
||||||
|
|
||||||
if (ptr->return_value == TCL_ERROR) {
|
if (ptr->return_value == TCL_ERROR) {
|
||||||
if (FIX2INT(flag) & TCL_LEAVE_ERR_MSG) {
|
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;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue