summaryrefslogtreecommitdiff
path: root/ext/tk/tkutil.c
AgeCommit message (Collapse)Author
2005-07-28* ext/tcltklib/stubs.c: When --enable-tcltk-stubs, the initializenagai
routine creates a Tcl/Tk interpreter and deletes it. However, init cost of Tk's MainWindow is not so small. And that makes it impossible to use libraries written with Tcl functions only on an environment without a graphical display. This changes support delaying initalization of Tk_Stubs until the script needs Tk. * ext/tcltklib/stubs.h: New file. Define prototypes and return codes of functions on stubs.c. * ext/tcltklib/tcltklib.c: Support delaying initalization of Tk_Stubs until the script needs Tk. * ext/tcltklib/tcltklib.c: Show friendly error messages for errors on initialization. * ext/tcltklib/tcltklib.c: Avoid SEGV on ip_finalize() when ruby is exiting and $DEBUG is true. (Not fix. If you know the reason of why, please fix it.) * ext/tk/tkutil.c (ary2list, ary2list2): bug fix on handling of encoding. * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string don't work propery. * ext/tk/lib/tk.rb: Forget extending Tk::Encoding module to Tk. * ext/tk/lib/tk/variable.rb: TkVarAccess fails to initialize the object for an element of a Tcl's array variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-21* ext/tk/tkutil.c (tk_conv_args): forget to revert thread_criticalnagai
and gc_disable when raise ArgumentError. * ext/tk/lib/remote-tk.rb: RemoteTkIp doesn't need to include TkUtil. * ext/tcltklib/tcltklib.c: add TclTkIp#has_mainwindow? method. * ext/tk/lib/tk.rb: add Tk.has_mainwindow? method. * ext/tk/lib/multi-tk.rb: add MultiTkIp#has_mainwindow? method. * ext/tk/lib/remote-tk.rb: add RemoteTkIp#has_mainwindow? method. * ext/tk/lib/multi-tk.rb: slave IP fail to exit itself when $SAFE==4. * ext/tk/lib/multi-tk.rb: remove constants from MultiTkIp module to avoid access from external. * ext/tk/lib/multi-tk.rb: check_root flag is ignored on slave IPs' mainloop. * ext/tk/lib/multi-tk.rb: hang-up Tk.mainloop called on a slave IP with $SAFE==4. * ext/tk/lib/multi-tk.rb: MultiTkIp#bg_eval_proc doesn't work properly. * ext/tk/lib/multi-tk.rb: add MultiTkIp#set_cb_error(proc) and cb_error(exc) to log errors at callbacks on safe slave IPs. * ext/tk/lib/multi-tk.rb: fail to get an available slave IP object when call Tk.mainloop in the block which is given to new_* method, because cannot finish initialize while the root widget is alive. * ext/tk/lib/multi-tk.rb: fail to control a slave IP when Tk.mainloop runs on the IP. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-05* ext/tk/tkutil.c: fix typo.nagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-05* ext/tcltklib/tcltklib.c: bug fix on treating Unicode strings.nagai
* ext/tcltklib/tcltklib.c: add methods to treat encoding mode. * ext/tcltklib/MANUAL.eng: add description of TclTkLib#encoding, encoding_system, and so on. * ext/tcltklib/MANUAL.euc: ditto. * ext/tk/tkutil.c: fail to create a Tcl's list string from an array including multiple kind of encoded strings. * ext/tk/lib/tk.rb: ditto. * ext/tk/lib/multi-tk.rb: 2nd arg of _{to|from}UTF8 is omissible. * ext/tk/lib/remote-tk.rb: ditto. * ext/tk/lib/tk.rb: override TclTkLib#encoding and encoding= to use TkCore::INTERP.encoding and encoding=. * ext/tk/lib/tk.rb: when "require 'tk'" and $KCODE=='NONE', check DEFAULT_TK_ENCODING to decide Ruby/Tk's system encoding mode. * ext/tk/lib/tk/encodedstr.rb: check both of Tk.encoding and Tk.encoding_system. Tk.encoding has higher priority. * ext/tk/lib/tk/optiondb.rb: ditto. * ext/tk/lib/tk/spinbox.rb: ditto. * ext/tk/lib/tk/validation.rb: ditto. * ext/tk/lib/tk/namespace.rb: arguemnts for TclTkIp#_merge_tklist should be UTF-8 strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-14* ext/tk/tkutil.c: forgot update RELEASE_DATEnagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-13* ext/tk/tkutil.c: add TkUtil::CallbackSubst.subst_arg(m, ...) &nagai
_define_attribute_aliases(hash) to get substitution-argument from attributes (e.g. subst_arg(:x,:y,:num,:button) --> "%x %y %b %b "). * ext/tk/lib/tk/event.rb: use _define_attribute_aliases(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-15* ext/tk/tkutil.c (ary2list): give wrong arguments to hash2kv()nagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-06* ext/tk/tkutil.c: remove the some codes which depend on thenagai
defference between Ruby1.8 and 1.9, because st.c on Ruby1.9 was changed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-02* ext/tcltklib/tcltklib.c: enforce thread-check and exception-handling tonagai
avoid SEGV trouble. [KNOWN BUG] When supports pthread and running multiple Tk interpreters, an interrupt signal causes SEGV frequently. That may be a trouble of Ruby's signal handler. * ext/tk/tkutil/tkutil.c; fix a bug on converting a SJIS string array to a Tcl's list string. * ext/tk/tcltklib.c: wrap Tcl's original "namespace" command to protect from namespace crash. * ext/tk/lib/multi-tk.rb: enforce exception-handling. * ext/tk/lib/multi-tk.rb: catch IRB_EXIT to work on irb. * ext/tk/lib/tk.rb: ditto. * ext/tk/tcltklib.c: add TclTkLib.mainloop_thread? * ext/tk/lib/multi-tk.rb: (bug fix) callback returns a value. * ext/tk/lib/tk/canvas.rb (delete): bug fix when multiple arguments. * ext/tk/lib/clock.rb: fix 'no method error'. * ext/tk/lib/clock.rb (self.clicks): accept a Symbol argument. * ext/tk/lib/variable.rb: be able to set default_value_type; :numeric, :bool, :string, :symbol, :list, :numlist or nil (default; same to :string). If set a type, TkVariable#value returns a value of the type. * ext/tk/lib/tkextlib/tclx/tclx.rb: add Tk::TclX.signal to warn the risk of using TclX extension's 'signal' command. * ext/tk/sample/irbtk.rb: irb with Ruby/Tk. * ext/tk/sample/demos-*/anilabel.rb: bug fix on 'show code' * ext/tk/sample/demos-*/aniwave.rb: new Ruby/Tk animation demo. * ext/tk/sample/demos-*/pendulum.rb: ditto. * ext/tk/sample/demos-*/goldberg.rb: ditto. * ext/tk/sample/demos-*/widget: add entries of animation demos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-16* ext/tk/tkutil.c: Follow the change of st.c (st_foreach)nagai
[ruby-list:40623]. Sometimes mis-convert from a Ruby's Array of SJIS Strings, which includes some kind of SJIS characters, to a Tcl's UTF8 list string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-25* ext/tcltklib/tcltklib.c: fix SEGV bug; trouble on canceling remainednagai
after scripts [ruby-dev:25479]: NULL current namespce when deleting Tk interpreter [ruby-talk:126225] * ext/tcltklib/extconf.rb: bug fix; TCL_ENABLE_THREAD flag is inverted [ruby-talk:126360] * ext/tcltklib/extconf.rb: add yet another native-thread check * ext/tk/tkutil.c: fix SEGV bug; NULL string pointer when finalize Ruby interpreter * ext/tk/lib/multi-tk.rb: avoid warning for deleted safeTk ip frame * ext/tk/lib/tk/bindtag.rb: bug fix; new method of named bindtag doesn't return the created object [ruby-dev:25479] * ext/tk/lib/tk/menu.rb: bug on treating arguments [ruby-dev:25479] * ext/tk/lib/tk.rb: bug fix; cannot accept a callback ID string for a command argument [ruby-dev:25479] * ext/tk/lib/multi-tk.rb: ditto * ext/tk/lib/tk/*.rb: ditto * ext/tk/lib/tkextlib/*.rb: ditto * ext/tk/sample/demos-jp/anilabel.rb: new demo script * ext/tk/sample/demos-en/anilabel.rb: ditto * ext/tk/sample/tkHTML/ss.rb: local variable scope bug fix [ruby-dev:25479] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23* ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and RELEASE_DATEnagai
* ext/tcltklib/extconf.rb: ditto * ext/tk/lib/tkutil.c: define Tk::RELEASE_DATE * ext/tk/lib/tk.rb: define Tk::RELEASE_DATE git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19* ext/tk/tkutil.c: backport from CVS HEADnagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-11* ext/tk/lib/tk/*: untabifynagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-29* ext/tcltklib/tcltklib.c (ip_init): bug fixnagai
* ext/tk/tkutil.c (get_eval_string_core): accept a Regexp object * ext/tk/lib/multi-tk.rb: fix bug on 'exit' operation * ext/tk/lib/tk/text.rb: 'tksearch' accepts a Regexp object as a matting pattern argument git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-12* ext/tcltklib/tcltklib.c: improve control of preserv/release tcltkipnagai
* ext/tcltklib/tcltklib.c: store original 'exit' command * ext/tk/tkutil.c: fix(?) SEGV git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-11* ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and allow_ruby_exit=nagai
* ext/tk/lib/multi-tk.rb: ditto. * ext/tk/lib/remote-tk.rb: ditto. * ext/tcltklib/MANUAL.euc: ditto. * ext/tcltklib/MANUAL.eng: ditto. * ext/tcltklib/tcltklib.c: fix some reasons of SEGV * ext/tk/tkutil.c: ditto. * ext/tk/lib/multi-tk.rb: ditto. * ext/tk/lib/tk/timer.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-31* ext/tk/tkutil.c (cbsubst_init): fix memory leakocean
* ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-15* ext/tk/, ext/tcltklib/: bug fixnagai
* ext/tk/lib/tk.rb: better operation for SIGINT when processing callbacks. * ext/tk/lib/tk/msgcat.rb: ditto. * ext/tk/lib/tk/variable.rb: ditto. * ext/tk/lib/tk/timer.rb: ditto. * ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd() to define validatecommand methods easier * ext/tk/lib/tk.rb (_genobj_for_tkwidget): support autoload Tk ext classes * ext/tk/lib/tk/canvas.rb and so on: remove the parent widget type check for items (e.g. canvas items; depends on the class) to avoid some troubles on Tk extension widget class definition. * ext/tk/lib/tkextlib/: add Iwidget and TkTable extension support * ext/tk/sample/tkextlib/: add samples of Iwidget and TkTable git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-09* ext/tk/lib/tk.rb: better operation for SIGINT when processing callbacks.nagai
* ext/tk/lib/tk/msgcat.rb: ditto. * ext/tk/lib/tk/variable.rb: ditto. * ext/tk/lib/tk/timer.rb: ditto. * ext/tk/lib/tk/validation.rb: add Tk::ValidateConfigure.__def_validcmd() to define validatecommand methods easier git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-06* ext/tk/lib : improve framework of developping Tcl/Tk extension wrappersnagai
* BWidget extension support on Ruby/Tk git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-01* ext/tk/lib/tcltklib : bug fixnagai
* ext/tk/lib/tk : bug fix and add Tcl/Tk extension support libraries git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-12* ext/tcltklib/extconf.rb: [EXPERIMENTAL] MacOS X (darwin) supportnagai
* ext/tcltklib/tcltklib.c: fix thread trouble on callback proc, and eliminate warning about instance variable access * ext/tk/lib/tk/menubar.rb: improve supported menu_spec * ext/tk/lib/tk/menuspec.rb: [add] menu_spec support library * ext/tk/lib/tk/root.rb: add menu_spec support * ext/tk/lib/tk/text.rb: bug fix * ext/tk/lib/tk/toplevel.rb: add menu_spec support * ext/tk/sample/menubar?.rb: [add] sample of menu_spec usage git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-07* ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]nagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-01* renewal Ruby/Tknagai
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-13tkutil needed to be updatedmatz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-242000-05-24matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-13remove marshal/gtk/kconvmatz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e