(rb_enc_nth): don't check the return value of rb_enc_mbclen.
(rb_enc_strlen): ditto.
(rb_enc_precise_mbclen): return needmore(1) if e <= p.
(rb_enc_get_ascii): new function for extracting ASCII character.
* include/ruby/encoding.h (rb_enc_get_ascii): declared.
* include/ruby/regex.h (ismbchar): removed.
* re.c (rb_reg_expr_str): use rb_enc_get_ascii.
(unescape_escaped_nonascii): use rb_enc_precise_mbclen to determine
the termination of escaped non-ASCII character.
(unescape_nonascii): use rb_enc_precise_mbclen.
(rb_reg_quote): use rb_enc_get_ascii.
(rb_reg_regsub): use rb_enc_get_ascii.
* string.c (rb_str_reverse) don't check the return value of
rb_enc_mbclen.
(rb_str_split_m): don't call rb_enc_mbclen with e <= p.
* parse.y (is_identchar): use ISASCII.
(parser_ismbchar): removed.
(parser_precise_mbclen): new macro.
(parser_isascii): new macro.
(parser_tokadd_mbchar): use parser_precise_mbclen to check invalid
character precisely.
(parser_tokadd_string): use parser_isascii.
(parser_yylex): ditto.
(is_special_global_name): don't call is_identchar with e <= p.
(rb_enc_symname_p): ditto.
[ruby-dev:32455]
* ext/tk/sample/tkextlib/vu/canvSticker2.rb: remove coding cookie
because the encoding is not UTF-8. [ruby-dev:32475]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
modify to make it easy to override 'itemconfiginfo' method.
* ext/tk/lib/tkextlib/tile/treeview.rb : support Tile 0.7.8.
* ext/tk/lib/tkextlib/version.rb : [new] add Tk::Tkextlib_RELEASE_DATE
to get the information from scripts.
* ext/tk/lib/tk.rb: load 'tkextlib/version.rb', and update RELEASE_DATE.
* ext/tk/lib/tkextlib/SUPPORT_STATUS: update.
* ext/tk/sample/editable_listbox.rb: [new] the listbox with editable
items. It's one of the example about usage of Place geometry manager.
* ext/tk/sample/tktextio.rb: improve the functions of TkTextIO class.
Those are required by 'irbtkw.rbw'.
* ext/tk/sample/irbtkw.rbw: [new] IRB on Ruby/Tk. It doesn't need any
real console. IRB works on a text widget without I/O blocking. That
is, thread switching on IRB will work properly, even if on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/tk/lib/tk.rb: ditto.
* ext/tk/lib/multi-tk.rb: fail to call function-style methods on slave
interpreters. The strategy (MultiTkIp_PseudoToplevel_Evaluable) to
fix the problem is a little tricky. You may have to take care of
conflicting with it.
* ext/tk/lib/tk.rb: a little change for the pseudo-toplevel strategy.
* ext/tk/lib/tk/font.rb: ditto.
* ext/tk/lib/tk/msgcat.rb: ditto.
* ext/tk/lib/tkextlib/itk/incr_tk.rb: ditto.
* ext/tk/sample/demos-en/widget: fail to call function-style methods
on sample scripts. To fix it, a strategy which similar to the way
on MultiTiIp is used. Please take care when re-write and re-run a
demo script on the Widget-Demo code viewer.
* ext/tk/sample/demos-jp/widget: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
which is constructed with TkComposite module.
[new feature] support 'command' option which is called just before
popping up the balloon help.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ActiveTcl8.4.12.0.
* ext/tk/lib/tkextlib/tile/tnotebook.rb: add Tk::Tile::TNotebook#insert.
* ext/tk/sample/tkextlib/tile/demo.rb: improve the look of a part of the demo.
* ext/tk/sample/scrollframe.rb: add a new sample.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.
* ext/tk/tcltklib.c: fix bug on switching threads and waiting on the
deleted interpreter on vwait and tkwait command.
* ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
interpreter.
* ext/tk/sample/demos-jp/image3.rb: [bug fix] wrong argument.
* ext/tk/sample/demos-en/image3.rb: ditto.
* ext/tk/sample/demos-jp/menu.rb: fix message for MacOS X.
* ext/tk/sample/demos-jp/menu8x.rb: ditto.
* ext/tk/sample/demos-en/menu.rb: ditto.
* ext/tk/sample/demos-jp/widget; update version-info.
* ext/tk/sample/demos-en/widget; ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merged to allow arbitrary names for update methods.
[ruby-core:05416]
* eval.c (rb_f_fcall): new method to avoid inefficiency of
obj.instance_eval{send(...)} tricks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
TkVariable if key name is 'variable' or 'textvariable'
by default. [ruby-dev:26749]
* ext/tk/lib/tk/{label,radiobutton}.rb: removed its own
{variable,textvariable} function.
* ext/tk/lib/tk/variable.rb: retains backward conpatibility.
(written by Hidetoshi NAGAI)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
supported on tile 0.6 or later, not tile 0.5.
* ext/tk/sample/tkextlib/tile/demo.rb: updated scales demo to use
Tk::Tile::TProgressbar for tile 0.6 or later.
* ext/tk/sample/tkextlib/tile/demo.rb: set some TkVariable default values.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
is now working and more. [ruby-dev:26716]
* ext/tk/sample/tkextlib/tile/demo.rb: use Tk::Tile::Treeview#headingconfigure
instead of direct Tk.tk_call.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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/tk/stubs.h: New file. Define prototypes and return codes of
functions on stubs.c.
* ext/tk/tcltklib.c: Support delaying initalization of Tk_Stubs
until the script needs Tk.
* ext/tk/tcltklib.c: Show friendly error messages for errors on
initialization.
* ext/tk/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/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/trunk@8860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sample/tkextlib/treectrl/explorer.rb: File.executable? returns true
even if it's plain text file. (this function only checks access right)
again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/tk/lib/tk/image.rb: support to create TkImage object without
creating a new image object on Tk.
* ext/tk/lib/tk/menu.rb: use TkCommandNames on create_self()
* ext/tk/lib/tk/root.rb: TkRoot.to_eval() returns '.'.
* ext/tk/lib/tk/text.rb: add methods to create a TkText::IndexString
from (x, y) coords.
* ext/tk/lib/tkextlib/tile.rb: bug fix and update support status.
* ext/tk/lib/tkextlib/tile/*.rb: ditto.
* ext/tk/sample/tkextlib/tile: New demo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
even if it's plain text file. (this function only checks access right)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e