Граф коммитов

499 Коммитов

Автор SHA1 Сообщение Дата
matz 70bbad3cfd * array.c: replace rb_protect_inspect() and rb_inspecting_p() by
rb_exec_recursive() in eval.c.

* eval.c (rb_exec_recursive): new function.

* array.c (rb_ary_join): use rb_exec_recursive().

* array.c (rb_ary_inspect, rb_ary_hash): ditto.

* file.c (rb_file_join): ditto.

* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.

* io.c (rb_io_puts): ditto.

* object.c (rb_obj_inspect): ditto

* struct.c (rb_struct_inspect): ditto.

* lib/set.rb (SortedSet::setup): a hack to shut up warning.
  [ruby-talk:132866]

* lib/time.rb (Time::strptime): add new function.  inspired by
  [ruby-talk:132815].

* lib/parsedate.rb (ParseDate::strptime): ditto.

* regparse.c: move st_*_strend() functions from st.c.  fixed some
  potential memory leaks.

* exception error messages updated.  [ruby-core:04497]

* ext/socket/socket.c (Init_socket): add bunch of Socket
  constants.  Patch from Sam Roberts <sroberts@uniserve.com>.
  [ruby-core:04409]

* array.c (rb_ary_s_create): no need for negative argc check.
  [ruby-core:04463]

* array.c (rb_ary_unshift_m): ditto.

* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
  of StandardError class, not Exception class.  [ruby-core:04429]

* parse.y (fcall_gen): lvar(arg) will be evaluated as
  lvar.call(arg) when lvar is a defined local variable. [new]

* object.c (rb_class_initialize): call inherited method before
  calling initializing block.

* eval.c (rb_thread_start_1): initialize newly pushed frame.

* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
  fixed: [ruby-core:04444]

* eval.c (is_defined): NODE_IASGN is an assignment.

* ext/readline/readline.c (Readline.readline): use rl_outstream
  and rl_instream.  [ruby-dev:25699]

* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
  [ruby-dev:25675]

* misc/ruby-mode.el: [ruby-core:04415]

* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]

* lib/rdoc/generators/ri_generator.rb: ditto.

* struct.c (make_struct): fixed: [ruby-core:04402]

* ext/curses/curses.c (window_color_set): [ruby-core:04393]

* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
  [ruby-talk:130092]

* object.c: [ruby-doc:818]

* parse.y (open_args): fix too verbose warnings for the space
  before argument parentheses.  [ruby-dev:25492]

* parse.y (parser_yylex): ditto.

* parse.y (parser_yylex): the first expression in the parentheses
  should not be a command.  [ruby-dev:25492]

* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]

* object.c (Init_Object): remove Object#type.  [ruby-core:04335]

* st.c (st_foreach): report success/failure by return value.
  [ruby-Bugs-1396]

* parse.y: forgot to initialize parser struct.  [ruby-dev:25492]

* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
  [ruby-talk:127711]

* document updates - [ruby-core:04296], [ruby-core:04301],
  [ruby-core:04302], [ruby-core:04307]

* dir.c (rb_push_glob): should work for NUL delimited patterns.

* dir.c (rb_glob2): should aware of offset in the pattern.

* string.c (rb_str_new4): should propagate taintedness.

* env.h: rename member names in struct FRAME; last_func -> callee,
  orig_func -> this_func, last_class -> this_class.

* struct.c (rb_struct_set): use original method name, not callee
  name, to retrieve member slot.  [ruby-core:04268]

* time.c (time_strftime): protect from format modification from GC
  finalizers.

* object.c (Init_Object): remove rb_obj_id_obsolete()

* eval.c (rb_mod_define_method): incomplete subclass check.
  [ruby-dev:25464]

* gc.c (rb_data_object_alloc): klass may be NULL.
  [ruby-list:40498]

* bignum.c (rb_big_rand): should return positive random number.
  [ruby-dev:25401]

* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
  random bignums.  [ruby-dev:25396]

* variable.c (rb_autoload): [ruby-dev:25373]

* eval.c (svalue_to_avalue): [ruby-dev:25366]

* string.c (rb_str_justify): [ruby-dev:25367]

* io.c (rb_f_select): [ruby-dev:25312]

* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]

* struct.c (make_struct): [ruby-dev:25249]

* dir.c (dir_open_dir): new function.  [ruby-dev:25242]

* io.c (rb_f_open): add type check for return value from to_open.

* lib/pstore.rb (PStore#transaction): Use the empty content when a
  file is not found.  [ruby-dev:24561]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 06:47:45 +00:00
nobu 90bdc33677 * ext/tk/tcltklib.c (ip_rbUpdateCommand, ip_rb_threadUpdateCommand):
get rid of warnings with Tcl/Tk 8.3 or former.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-03 09:47:30 +00:00
nagai ca01426867 * ext/tk/tcltklib.c (lib_eventloop_core): fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-02 08:18:06 +00:00
nagai 3124427ccb * ext/tk/tcltklib.c: enforce thread-check and exception-handling to
avoid SEGV trouble.
* 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/trunk@8046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-02 07:06:52 +00:00
usa b0a71179ea * ext/tk/make-tkutil, ext/tk/tkutil/subconf.rb: no longer used.
* ext/tk/tkutil/extconf.rb: need to compile tkutil. [ruby-dev:25607]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-09 01:03:41 +00:00
nobu 7a07ffe479 * ext/extmk.rb (extract_makefile): extract previously collected
informations from existing Makefile.

* ext/socket/extconf.rb: check if getaddrinfo() works fine only when
  wide-getaddrinfo option is not given.  fixed: [ruby-dev:25422]

* ext/tk/extconf.rb: separate tkutil configuration.

* lib/mkmf.rb ($extmk): check if under ext directory.

* lib/mkmf.rb (Logging.postpone): allow recursive operation.

* lib/mkmf.rb (try_constant): make sure if really a constant, reduce
  the number of times of compile.

* lib/mkmf.rb (have_macro, have_var, byte_order): new functions.

* lib/mkmf.rb (find_library): allow directory list with separators.

* lib/mkmf.rb (arg_config): manage provided configuration options.

* lib/mkmf.rb (dir_config): accept arrays of directory names as
  default values.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-06 14:51:44 +00:00
nagai dbe83e69d8 * ext/tk/extconf.rb: add tkutil configuration step (remove old schema)
* ext/tk/depend: remove the information of tkutil
* ext/tk/make-tkutil: sub-part of Makefile to compile tkutil
* ext/tk/tkutil/tkutil.c: move tkutil.c to subdirectory
* ext/tk/tkutil/subconf.rb: configuration file for tkutil.c
* ext/tk/tkutil/depend: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-31 04:17:23 +00:00
nagai 75b202c933 * ext/tk/tcltklib.c: add invalid namespace check
* ext/tk/lib/multi-tk.rb: add invalid_namespace? method
* ext/tk/lib/remote-tk.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-31 04:14:50 +00:00
usa ba492a05a5 * ext/tk/extconf.rb: support new tk scheme on bccwin32.
fixed: [ruby-dev:25546]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-27 08:16:11 +00:00
usa e7d56fde5f * ext/tk/extconf.rb: support new tk scheme on mswin32.
fixed: [ruby-dev:25535]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-26 03:49:26 +00:00
nagai 4116b8b0f5 * ext/tk: merge tcltklib for Ruby/Tk installation control
* ext/tcltklib: remove


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-25 14:31:45 +00:00
nagai 17e40d68e0 * ext/tk/sample/vu/vu_demo.rb: rename from vu.rb; avoid the bug on
Windows version of Tcl/Tk. The trouble based on the bug occurs when
  the script name (without extension) is a same name as a Tcl/Tk's
  library file name (without extension) required in the script.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-25 05:42:49 +00:00
nagai 10484e5c95 * ext/tcltklib/tcltklib.c: fix SEGV bug; trouble on canceling remained
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/trunk@7821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-25 05:09:22 +00:00
nagai 53c584d35d * ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp
* ext/tk/lib/multi-tk.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-27 11:04:21 +00:00
nagai 0634c07610 * ext/tk/lib/tk/image.rb: TkPhotoImage#cget bug fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-24 14:30:14 +00:00
nagai 532e34fcd2 * ext/tk/lib/tkextlib/blt.rb: add BLT extension support
* ext/tk/lib/tkextlib/blt/*.rb: ditto
* ext/tk/lib/tkextlib/blt/tile/*.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 16:23:30 +00:00
nagai 13fde676fe * ext/tcltklib/tcltklib.c: define TclTkLib::COMPILE_INFO and RELEASE_DATE
* 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/trunk@7640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-23 04:17:03 +00:00
nagai 3019758857 * ext/tk/lib/tk/grid.rb: rescue bug of 'grid configure' on Tcl/Tk8.3-
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-21 03:12:40 +00:00
nagai 5cd1282f21 * ext/tk/lib/multi-tk.rb: supports new features of Tcl/Tk8.5a2
* ext/tk/lib/tk/clock.rb: ditto
* ext/tk/lib/tk/text.rb: ditto
* ext/tk/lib/tk/panedwindow.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-20 05:10:59 +00:00
nagai cb2349d653 * ext/tk/lib/tk.rb: fix bug on setting up system encoding
* ext/tk/lib/tk/event.rb: fix error on require process
* ext/tk/lib/font.rb: fix abnormal termination error on Windows
* ext/tk/lib/tk/virtevent.rb: TkVirtualEvent::PreDefVirtEvent.new()
  accepts event-sequence arguments
* ext/tk/lib/text.rb: fail to dump embedded images
* ext/tk/lib/text.rb: tag_nextrange and tag_prevrange returns wrong
  types of values
* ext/tk/lib/texttag.rb: nextrange and prevrange returns wrong types of values
* ext/tk/lib/text.rb: add TkText::IndexModMethods module and
  TkText::IndexString class to treat text index modifiers
* ext/tk/lib/texttag.rb: use TkText::IndexModMethods module
* ext/tk/lib/textmark.rb: ditto
* ext/tk/lib/textimage.rb: ditto
* ext/tk/lib/textwindow.rb: ditto
* ext/tk/lib/textimage.rb: wrong gravity of text mark for embedded image
* ext/tk/lib/textwindow.rb: wrong gravity of text mark for embedded window


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-17 07:31:51 +00:00
nagai a247c7715d * ext/tk/sample/demos-en/widget: modify version check for supporting features
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-16 07:32:01 +00:00
nagai 9e51ec666b * ext/tk/lib/tk/bindtag.rb: bug fix [ruby-talk: 123667]
* ext/tk/lib/tk/timer.rb: accept :idle for the interval argument
* ext/tk/lib/tk.rb: add TkComm._callback_entry?()
* ext/tk/lib/multi-tk.rb: add MultiTkIp.cb_entry_class
* ext/tk/lib/tk/canvas.rb: use TkComm._callback_entry?()
* ext/tk/lib/tk/canvastag.rb: ditto
* ext/tk/lib/tk/dialog.rb: ditto
* ext/tk/lib/tk/optiondb.rb: ditto
* ext/tk/lib/tk/text.rb: ditto
* ext/tk/lib/tk/texttag.rb: ditto
* ext/tk/lib/tk/textwindow.rb: ditto
* ext/tk/lib/tk/timer.rb: ditto
* ext/tk/lib/tk/validation.rb: ditto
* ext/tk/lib/tkextlib/*: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-16 07:13:14 +00:00
nagai 3e75f9b513 * ext/tk/ChangeLog.tkextlib: forgot to commit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-08 18:19:53 +00:00
nagai b9bdee95f1 * ext/tcltklib/tcltklib.c (ip_init): set root-win title to "ruby" when
the running script is '-e one-liner' or '-' (stdin).
* ext/tcltklib/extconf.rb: add find_library("#{lib}#{ver}",..) for stub libs
* ext/tk/lib/tk/textmark.rb: TkTextMarkCurrent and TkTextMarkAnchor
  have a wrong parent class.
* ext/tk/lib/tk/dialog.rb: rename TkDialog2 --> TkDialogObj and
  TkWarning2 --> TkWarningObj (old names are changed to alias names)
* ext/tk/lib/tk/dialog.rb: bug fix of treatment of 'prev_command'
  option and hashes for configuration
* ext/tk/lib/tk/dialog.rb: add TkDialogObj#name to return the button name
* ext/tk/lib/tk/radiobutton.rb: rename enbugged method value() ==> get_value()
  and value=(val) ==> set_value(val).
* ext/tk/lib/tk/menu.rb: add TkMenu.new_menuspec
* ext/tk/lib/tk/menu.rb: add alias (TkMenuButton = TkMenubutton,
  TkOptionMenuButton = TkOptionMenubutton)
* ext/tk/lib/tk/event.rb: new method aliases (same as option keys of
  event_generate) for Event object
* ext/tk/lib/tk/font.rb: configinfo returns proper types of values
* ext/tk/lib/tk.rb: bind methods accept subst_args + block
* ext/tk/lib/tk/canvas.rb: ditto
* ext/tk/lib/tk/canvastag.rb: ditto
* ext/tk/lib/tk/frame.rb: ditto
* ext/tk/lib/tk/text.rb: ditto
* ext/tk/lib/tk/texttag.rb: ditto
* ext/tk/lib/tk/toplevel.rb: ditto
* ext/tk/lib/tkextlib/*: ditto and bug fix


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-08 18:14:15 +00:00
nagai 697908d0d4 * ext/tk/lib/tk.rb: widget configuration by TkWindow#method_missing
returns proper object. "widget.option = val" returns val, and
  "widget.option(val)" returns self.
* ext/tk/lib/tk/font.rb: TkFont#replace accepts only one font argument.
* ext/tk/lib/tk/radiobutton.rb: add TkRadiobutton#value and value=(val).
* ext/tk/lib/tk/spinbox.rb: callback substitution support on command option.
* ext/tk/sample/demos-en/widget: bug fix (wrong image height)
* ext/tk/sample/demos-jp/widget: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-02 16:59:02 +00:00
nagai 27c24b0f3b * ext/tk/lib/tk.rb: Tk.destroy uses TkWindow#epath
* ext/tk/lib/tk/image.rb: bug fix
* ext/tk/lib/tk/wm.rb: add 'iconphoto' method(Windows only)
* ext/tk/lib/tkextlib/*: some methods uses TkWindow#epath


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-26 09:07:25 +00:00
nagai d852a4e317 * ext/tk/lib/tk/menu.rb: improve usability of TkOptionMenubutton
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-22 23:12:37 +00:00
nagai 47fa2caf2e * ext/tk/lib/tk/event.rb: remove $LOADED_FEATURES trick
* ext/tk/lib/tk.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-12 05:09:37 +00:00
nagai cd84994255 * ext/tcltklib/tcltklib.c: fix SEGV when compiled with Tcl/Tk8.3.x or older
* ext/tk/lib/tkextlib/tile/style.rb: bug fix


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-09 18:35:52 +00:00
nagai c2ac862f1a * ext/tk/lib/tk.rb: bind-event methods accept multi substitution arguments.
* ext/tk/lib/tk/canvas.rb: ditto.
* ext/tk/lib/tk/canvastag.rb: ditto.
* ext/tk/lib/tk/text.rb: ditto.
* ext/tk/lib/tk/texttag.rb: ditto.
* ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb: ditto.
* ext/tk/lib/tkextlib/tktable/tktable.rb: ditto.
* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-07 14:53:02 +00:00
nagai 27425a52ba * ext/tk/lib/tk/scrollable.rb: divide Scrollable module into X_Scrollable
and Y_Scrollable
* ext/tk/lib/tk/entry.rb: include X_Scrollable instead of Scrollable
* ext/tk/lib/tk/autoload.rb: define autoload for X_Scrollable and Y_Scrollable


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-05 09:15:18 +00:00
nagai ff814d4c37 * ext/tk/lib/tk.rb: TkComm._at() supprts both of "@x,y" and "@x"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-05 07:07:39 +00:00
nagai 4286469353 * ext/tk/lib/tk/text.rb: sorry. bug fix again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-05 04:24:03 +00:00
nagai 91192d19a9 * ext/tk/lib/tk/text.rb: bug fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-05 04:19:16 +00:00
nagai e42cec58db * ext/tk/lib/tk/variable.rb: forget to initialize instance_variables
of TkVarAccess objects


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-04 06:03:53 +00:00
nagai 39c871c925 * ext/tk/lib/tk.rb: support to use different Tcl commands between
configure and configinfo
* ext/tk/lib/font.rb: ditto.
* ext/tk/lib/itemconfig.rb: support to use different Tcl commands
  between item_configure and item_configinfo
* ext/tk/lib/itemfont.rb: ditto.
* ext/tk/extconf.rb: install SUPPORT_STATUS
* ext/tk/lib/tkextlib: some bug fixes (see ext/tk/ChangeLog.tkextlib)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-03 08:09:55 +00:00
eban 49fb289ea1 * MANIFEST, ext/**/MANIFEST: removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-01 10:13:52 +00:00
nagai 9f196e03cb * ext/tk/sample/tkextlib/bwidget/tree.rb: bug fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-24 13:13:12 +00:00
eban 79e68a49d9 * ext/tk/MANIFEST: add lib/tkextlib/tcllib/ico.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-18 02:40:13 +00:00
nagai 6fb00e8a1f * ext/tk/lib/tk/timer.rb: TkTimer#start and restart accept a block
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-17 14:05:19 +00:00
nagai 64422ae494 * ext/tk/lib/tkextlib/tcllib: based on Tcllib 1.7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-16 02:13:54 +00:00
nagai bb4e34110b * ext/tk/lib/tk/timer.rb: TkTimer.new(interval, loop){ ... } is acceptable.
Add TkTimer.start ( == new + start ).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-15 09:06:52 +00:00
nagai 3514110b89 * ext/tk/lib/tk/*: untabify
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-11 04:51:21 +00:00
nagai d2eea09f4a * ext/tk/lib/tk/optiondb.rb: make it more secure
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 16:14:29 +00:00
nagai c2f8cec766 * ext/tk/lib/tk/scrollbar.rb: When 'set' operation, a scrollbar cannot
propagate view port information from the source widget (that calls
  'set') to other assigned widgets.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 14:50:59 +00:00
nagai 046d4e7ee1 * ext/tk/lib/tk.rb: When CHILDKILLED and so on, Tk.errorCode returns
a Fixnum for 2nd element (it's pid) of the return value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-07 08:38:03 +00:00
nagai fd6f4e20cc * ext/tk/lib/tk.rb: add Tk.errorInfo and Tk.errorCode
* ext/tk/lib/tkextlib/bwidget.rb: bug fix


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-06 16:08:45 +00:00
nagai 581ca6097e * ext/tk/lib/tk/image.rb: bug fix
* ext/tk/lib/tk/optiondb.rb: support definition of command resources on widgets


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-04 03:56:00 +00:00
nagai 8e292f6285 * ext/tk/lib/tk/grid.rb: revive TkGrid.grid
* ext/tk/lib/tk/pack.rb: revive TkPack.pack
* ext/tk/lib/tk/place.rb: revive TkPlace.place


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-01 02:27:03 +00:00
nagai 83185f9ff0 * ext/tcltklib/tcltklib.c (ip_init): bug fix
* 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/trunk@6973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-29 15:54:32 +00:00
matz c0a998d027 * parse.y (rb_parser_append_print): should handle prelude.
[llama@u01.gate0]

* parse.y (rb_parser_while_loop): ditto.

* array.c (rb_ary_subseq): original object might be modified after
  sharing data creation.  [ruby-dev:24327]

* array.c (rb_ary_replace): ditto.

* array.c (ary_make_shared): freeze shared array. [ruby-dev:24325]

* struct.c (struct_members): always check struct size and size of
  members list in the class.  [ruby-dev:24320]

* string.c (rb_str_sub_bang): check if string is not modified
  during iteration.  [ruby-dev:24315]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-24 05:53:43 +00:00
nagai 7b66963f61 * ext/tk/lib/multi-tk.rb: improve exit operation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 07:09:28 +00:00
nagai 2785975489 * ext/tcltklib/tcltklib.c: fix SEGV when (thread_)vwait or (thread_)tkwait
* ext/tk/lib/tk.rb: add alias wait_window to wait_destroy
* ext/tk/lib/multi-tk.rb: support calling 'mainloop' on slave interpreters
  (however, the 'real' eventloop must be run on the Default Master IP)
* ext/tk/lib/remote-tk.rb: follow the changes of ext/tk/lib/multi-tk.rb
* ext/tk/sample/remote-ip_sample2.rb: ditto
* ext/tk/sample/tkoptdb-safeTk.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 06:05:33 +00:00
nagai 3c37859186 * ext/tk/lib/tkoptdb-safeTk.rb: fix a bug depend on the changes of MultiTkIp
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-15 11:24:22 +00:00
nagai 011a851696 * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string was en-bugged by the
previous changes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-14 14:59:04 +00:00
nagai 1130f2cbfa * ext/tcltklib/tcltklib.c: fix SEGV
* ext/tk/lib/multi-tk.rb: improve safe-level handling of argument proc
* ext/tk/sample/multi-ip_sample.rb: rename of old 'safe-tk.rb'
* ext/tk/sample/safe-tk.rb: new sample script


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-14 08:01:55 +00:00
nagai 7945cd5978 * ext/tk/lib/multi-tk.rb: MultiTkIp.new_master and new_slave accept
safe-level value argument


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-13 07:25:02 +00:00
nagai 5bea219a9d * ext/tcltklib/tcltklib.c: improve control of preserv/release tcltkip
* ext/tcltklib/tcltklib.c: store original 'exit' command
* ext/tk/tkutil.c: fix(?) SEGV


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-12 16:05:59 +00:00
nagai 82ba5974c4 * ext/tcltklib/tcltklib.c: add TclTkIp#allow_ruby_exit? and allow_ruby_exit=
* 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/trunk@6884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-11 17:45:53 +00:00
nagai d782aad77d * ext/tcltklib/tcltklib.c (ip_init): change flag value for setting 'argv' and 'argv0' variable
* ext/tk/lib/remote-tk.rb: follow changes of multi-tk.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-09 05:03:21 +00:00
nagai 38bbb9673f * ext/tcltklib/tcltklib.c (ip_init): cannot create a IP at level 4
* ext/tk/lib/multi-tk.rb: improve 'exit' operation, security check, and error treatment
* ext/tk/lib/multi-tk.rb: allow a trusted slave IP to create slave IPs.
* ext/tk/lib/tk/listbox.rb: add TkListbox#value, value=, clear, and erase
* ext/tk/lib/tk/text.rb: add TkText#clear and erase


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-08 06:23:41 +00:00
ocean 70f8c054b2 * ext/tk/lib/tk/menu.rb(TkOptionMenubutton#insert): call correct method
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-06 02:03:02 +00:00
nagai 7cf8256075 * ext/tk/lib/tk.rb: Tk.after makes TkCore::INTERP.tk_cmd_tbl grow [ruby-dev:24207]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-03 02:33:08 +00:00
nagai 0a054a5fd8 * ext/tcltklib/tcltklib.c: fix typo [ruby-talk:111266]
* ext/tk/lib/tk/text.rb: fix typo
* ext/tk/lib/multi-tk.rb: improve safe-level treatment on slave IPs


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-02 17:17:20 +00:00
ocean 9e73d16db2 * ext/tk/lib/tk/spinbox.rb: fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-01 12:27:43 +00:00
ocean 3fb0d33b19 * ext/tk/tkutil.c (cbsubst_init): fix memory leak
* ext/tk/tkutil.c (cbsubst_get_all_subst_keys): fix SEGV


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-31 09:24:36 +00:00
nagai e80e14c788 * ext/tk/lib/multi-tk.rb: 'restart' method accepts arguments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-30 13:42:19 +00:00
nagai 1cf49eb9f3 * ext/tcltklib/tcltklib.c: compile error on bcc32 [ruby-dev:24081]
* ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string does not work


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-29 05:12:00 +00:00
nagai c59f1e6c90 * ext/tk/lib/tk.rb: Fail to treat a hash value of 'font' option.
* ext/tk/lib/tk.rb: bindinfo cannot return '%' substiturion infomation.
* ext/tk/lib/menu.rb: typo bug.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-19 07:43:54 +00:00
nagai 7fc53294f2 * ext/tk/lib/tk/namespace.rb: bug fix
* ext/tk/lib/tkextlib/treectrl/tktreectrl.rb: add Tk::TreeCtrl.loupe


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-03 04:49:20 +00:00
nagai b259fddba8 * ext/tk/lib/msgcat.rb (set_translation): bug fix (fail to set
trans_str to the same as src_str when trans_str is not given.)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-02 09:06:18 +00:00
nagai bfab094512 * ext/tcltklib/tcltklib.c(lib_fromUTF8_core): raise ArgumentError when
the unknown encoding name is given.
* ext/tcltklib/tcltklib.c(lib_toUTF8_core): ditto.
* ext/tk/lib/tk.rb(Tk::Encoding.encoding_convertfrom): bug fix.
* ext/tk/lib/tk.rb(Tk::Encoding.encoding_convertto): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-30 07:13:55 +00:00
nagai 73472b4b7b * ext/tk/lib/tkextlib/pkg_checker.rb: improve the check process
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-29 03:09:38 +00:00
nagai 3f1f17c8c5 * ext/tk/lib/validate.rb: accept a Method object for the validatecommand option
* ext/tk/lib/tkextlib/winico.rb: add winico extension support


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-28 08:29:53 +00:00
nagai 92e7fccf41 * for backward compatibility (see [ruby-talk:107510], [ruby-talk:107647])
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-28 05:58:49 +00:00
eban 9a983e5150 * ext/tk/MANIFEST: added.
lib/tkextlib/tclx.rb
  lib/tkextlib/tclx/setup.rb
  lib/tkextlib/tclx/tclx.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-24 12:33:55 +00:00
nagai a32c01d85a * add TclX extension support (partially)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-23 06:31:57 +00:00
nagai b841a6fce5 * TkMsgCatalog.callback: bug fix (wrong number of argument)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-18 07:26:44 +00:00
nagai de804fe235 * ext/tk/lib/tk/variable.rb: TkVariable#ref returns a TkVariable object
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-17 14:57:33 +00:00
nagai 9c376bc5e8 * rename files to avoid application (cvs and so on) troubles
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-16 13:58:43 +00:00
nagai 108db34fa3 * ext/tk/lib/tk.rb(module TkObjecct): extend TkCore module
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-16 02:12:58 +00:00
nagai 13d4e3b5cd * ext/tk/sample/tkextlib/tktable/spreadsheet.rb: add a new sample
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-15 04:49:01 +00:00
nagai ce1b23b7a5 * ext/tk/, ext/tcltklib/: bug fix
* 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/trunk@6630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-15 01:18:57 +00:00
nagai e55330c9c4 * 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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-09 19:29:29 +00:00
nagai b3f8249bab * add entries
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-08 16:59:56 +00:00
nagai afcfca607e * ext/tk/lib : bug fix
* ext/tk/lib/tkextlib/itcl : add [incr Tcl] support
* ext/tk/lib/tkextlib/itk  : add [incr Tk] support
* ext/tk/lib/tkextlib/iwidgets : midway point of [incr Widgets] support
* ext/tk/sample/tkextlib/iwidgets : very simple examples of [incr Widgets]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-08 16:50:07 +00:00
eban 012c7afa27 * ext/tk/lib/tkextlib/tktrans.rb,
ext/tk/lib/tkextlib/treectrl.rb: fix syntax errors.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-06 15:52:18 +00:00
nagai d8465ff9ab * ext/tk/lib : improve framework of developping Tcl/Tk extension wrappers
* BWidget extension support on Ruby/Tk


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-06 09:42:12 +00:00
eban 5b84fe46eb * ext/tk/lib/tkextlib/tkDND.rb: fix syntax error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-03 08:28:05 +00:00
nagai ffcedd7950 * ext/tk/lib/tcltklib : bug fix
* ext/tk/lib/tk : bug fix and add Tcl/Tk extension support libraries


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-01 09:38:48 +00:00
nagai f895f94cce * ext/tk/lib/tk.rb: bug fix (TkWindow#grab)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-15 03:12:40 +00:00
nagai 3676a70e7b * ext/tk/lib/remote-tk.rb: bug fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-14 09:25:06 +00:00
nagai c0271cadd7 * ext/tcltklib/extconf.rb: [EXPERIMENTAL] MacOS X (darwin) support
* 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/trunk@6454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-12 15:25:49 +00:00
nagai 961d66abc2 * ext/tk/sample/remote-ip_sample2.rb: modify
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-22 05:22:09 +00:00
nobu edf9c3da4b * MANIFEST: add test/openssl/test_x509store.rb.
* ext/tk/MANIFEST: add recent files.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-22 02:54:16 +00:00
nagai c93c500910 * add a new sample 'ext/tk/sample/remote-ikp_sample2.rb'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-22 02:23:59 +00:00
nagai 56761e29f6 * ext/tk/lib/tk.rb: add Tk.appsend_deny and improve Tk.rb_appsend
* ext/tk/lib/tk.rb, ext/tk/lib/tk/*.rb : replace obj.send() -> obj.__send__()
* ext/tk/lib/remote-tk.rb: add a new library which create an object to
                           control a Tk interpreter on the other process


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-21 20:45:27 +00:00
nagai 3011f45158 * ext/tk/lib/tk.rb: change permition of TkObject#tk_send from private to public
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-19 02:10:02 +00:00
nagai 14b693c1b3 * add a new sample script
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-16 21:43:37 +00:00
nagai d3a8f9b361 * ext/tk/lib/tk/canvas.rb: improve coords support for canvas items.
Now, supports all of the followings.
    TkcLine.new(c, 0, 0, 100, 100, :fill=>'red')
    TkcLine.new(c, [0, 0, 100, 100], :fill=>'red')
    TkcLine.new(c, [0, 0], [100, 100], :fill=>'red')
    TkcLine.new(c, [[0, 0], [100, 100]], :fill=>'red')
    TkcLine.new(c, :coords=>[0, 0, 100, 100], :fill=>'red')
    TkcLine.new(c, :coords=>[[0, 0], [100, 100]], :fill=>'red')


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-14 09:41:59 +00:00
nagai 6e0085b137 * ext/tk/lib/tk/composite.rb: improve configure methods. (based on the proposal of [ruby-talk:99671])
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-12 04:24:55 +00:00
nagai fb019df11e * ext/tk/tkutil.c (get_eval_string_core): bug fix. [ruby-dev:23466]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-06 13:12:12 +00:00
nagai 4c4631c2da * renewal Ruby/Tk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-01 16:09:54 +00:00
nagai 82482f67e2 * ext/tk/lib/tk.rb: en-bugged at last commit (Feb 11 23:24:22 2004)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-13 05:46:49 +00:00
nobu 6531904a1c * ext/tk/lib/tk.rb (TkComm::tk_split_list): suppress a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-12 00:56:24 +00:00
nagai 6283babd21 * ext/tk/lib/tk.rb: properly treat a Tcl/Tk's string with escaping
special characters.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-11 14:31:33 +00:00
nagai cfcebb7e8f * ext/tk/lib/tk.rb: use $0 as the default application class name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-13 07:52:03 +00:00
nagai c24349e32d * ext/tk/lib/tk.rb: use epath for embedded windows of TkPanedWindow.
* ext/tk/lib/tktext.rb: use epath for embedded windows.
* ext/tk/lib/tkcanvas.rb: use epath for window items.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-07 05:28:53 +00:00
matz 59dbfa3e4c * dir.c: merge tuning from H.Yamamoto <ocean@m2.ccsnet.ne.jp>.
[ruby-dev:22476]

* io.c (argf_eof): ARGF.eof? should not have any side effect.
  [ruby-dev:22469]

* io.c (argf_each_byte): should return self.  [ruby-dev:22465]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-02 16:21:26 +00:00
nagai 8855456929 * ext/tk/sample/tkmulticolumnlist.rb: new sample
* ext/tk/sample/tkmultilistframe.rb: bug fix


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 11:57:21 +00:00
nagai 342aba0b84 * ext/tk/lib/tk.rb: add new methods (TkScrollbar#assign, assign_list)
* ext/tk/sample/tkmultilistframe.rb: use TkScrollbar#assign method


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-20 15:15:51 +00:00
nagai 687cb91127 * ext/tk/sample/tkmultilistbox.rb: bug fix
* ext/tk/sample/tkmultilistframe.rb: new sample script


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-19 08:38:01 +00:00
nagai 3270fda500 * bug fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-17 07:16:05 +00:00
nagai dcd30a1236 * condition bug of if statement on {pack,grid}_propagate methods
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-16 04:27:15 +00:00
eban d2e6f552f3 ext/tk/MANIFEST: add sample/tkalignbox.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-14 05:25:37 +00:00
nagai edc03a2912 * overrided instance methods, which are private methods on the super
class, are changed to 'private'


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-09 14:38:15 +00:00
nagai 31963249b9 * typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-09 00:49:23 +00:00
nagai 7bc53bf0f6 * new sample script
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-08 17:55:24 +00:00
nagai a7c382223c * 'format'==>'Kernel.format' (avoid override trouble)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-03 04:55:07 +00:00
nagai 53dd83eebd * ext/tk/lib/tk.rb: bug fix [ruby-talk:86746]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 08:41:15 +00:00
nagai 1dd762d181 * ext/tk/lib/tkafter.rb: bug fix on TkTimer#cancel_on_exception=(mode).
TkTimer#wait recieves the exception of the callback.
  The exception is kept on @return_value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-27 08:39:33 +00:00
nagai 615a54e77d * ext/tk/lib/tk.rb: add Tk.grab_release and fix bug of TkComposite
* ext/tk/lib/tkafter.rb: bug fix
* ext/tk/sample/tkcombobox.rb: new sample script
* ext/tcltklib/tcltklib.c: add native thread check


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 13:52:48 +00:00
nagai cf971d47b9 * ext/tk/lib/tkentry.rb: fix the encoding trouble of percent
substitutions on validatecommand option of TkEntry widget
* ext/tk/lib/tk.rb: fix bug on {pack|grid}_propagate() method


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-21 07:49:11 +00:00
nagai f465e8a1c8 * ext/tk/sample/tkballoonhelp.rb: new sample script
* ext/tk/sample/tkmultilistbox.rb: ditto
* ext/tk/sample/tktextframe.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-20 08:53:52 +00:00
nagai 906d408e7c * ext/tcltklib/tcltklib.c: fix (en-bugged at 2003/11/07)
* ext/tk/lib/tkdialog.rb: TkDialog.new accepts the parent widget [ruby-talk:85066]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-14 04:25:11 +00:00
nagai c90fab98a2 * ext/tk/lib/tk.rb,multi-tk.rb: stop freezing some classes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-12 21:11:40 +00:00
nagai 0fd9439894 * ext/tk/lib/tk.rb: raise an exception when creating TkWindow
object, because TkWindow class is an abstract class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-11 01:45:06 +00:00
nagai ea03c3fc2c configure.in, eval.c, signal.c: : add '--with-pthread-ext' option
to fix the pthread trouble on 'tcltklib'
ext/tcltklib/README.1st: add the description of '--with-pthread-ext'
ext/tk/lib/tktext.rb : add TkText#text_copy, text_cut, text_paste to
        support Tcl/Tk8.4's tk_textCopy, tk_textCut, tk_textPaste
ext/tk/lib/tk.rb : add TkMenu#set_focus support Tcl/Tk's tk_menuSetFocus


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-05 14:00:11 +00:00
nagai 90e087b697 add TkRoot.destroy
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-25 22:36:50 +00:00
nagai 477f730aa4 bug fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-21 04:46:21 +00:00
nagai ec40d939af modify the message and comments on the source
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-17 22:36:40 +00:00
nagai b860656cb0 add some documents
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-17 07:59:32 +00:00
nagai 4cb439cac9 forgot to add 'unicodeout.rb'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-17 01:09:19 +00:00
matz 8ef5da3be1 consistent parentheses in assignment RHS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-16 17:47:19 +00:00
nagai 653ad6fd4b (bug fix) instance variable @frame was used without initializing on
TkComposite module


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-16 15:14:41 +00:00
nagai 6559430fb7 If $DEBUG == true and some exception is caused in a callback
operation, Ruby/Tk shows a (verbose) backtrace information on
the callback process.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-16 14:53:47 +00:00
nagai 98a3a9db97 Add Tk::EncodedString and Tk::UTF8_String class to support characters
using the \uXXXX escape to the UNICODE string.
sample/{demos-en,demos-jp}/unicodeout.rb are samples of Tk::UTF8_String.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-16 07:45:51 +00:00
nagai 08c383279b add entry3.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-15 00:39:17 +00:00
nagai 6bd9229984 ext/tk/sample/demos-en/entry3.rb, ext/tk/sample/demos-jp/entry3.rb :
* new demo-scripts

ext/tk/sample/demos-en/widget, ext/tk/sample/demos-jp/widget :
 * add entries for 'entry3.rb'


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-14 19:36:09 +00:00
nagai b4337be29f ext/tk/lib/tk.rb:
* fixed trouble on auto-load Tcl commands (enbug on the last commit).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-14 18:54:21 +00:00
nagai 382b4ae9a3 ext/tcltklib/tcltklib.c:
* replace Tcl/Tk's vwait and tkwait to switch on threads smoothly and
   avoid seg-fault.
 * add TclTkIp._thread_vwait and _thread_tkwait for waiting on a thread.
   ( Because Tcl/Tk's vwait and tkwait command wait on a eventloop. )
ext/tk/lib/multi-tk.rb:
 * support TclTkIp._thread_vwait and _thread_tkwait
ext/tk/lib/tk.rb:
 * now, TkVariable#wait has 2 arguments.
   If 1st argument is true, waits on a thread. If false, waits on an eventloop.
   If 2nd argument is true, checks existence of rootwidgets. If false, doesn't.
   Default is wait(true, false).
 * add TkVariable#tkwait(arg) which is equal to TkVariable#wait(arg, true)
 * wait_visibility and wait_destroy have an argument for waiting on a
   thread or an eventloop.
 * improve of accessing Tcl/Tk's special variables
ext/tk/lib/tkafter.rb:
 * support 'wait on a thread' and 'wait on an eventloop'


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-14 15:25:45 +00:00
nagai 8951a69a16 * multi-tk.rb: modify security check at creating a new interpreter
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-08 13:16:57 +00:00
nagai 865ff7fb4f * tcltklib.c (lib_mainloop_core): fixed signal-trap bug
* multi-tk.rb, tk.rb, tkafter.rb, tkcanvas.rb, tkfont.rb, tktext.rb,
  tkvirtevent.rb : Ruby/Tk works at $SAFE == 4


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-07 07:10:44 +00:00
nagai 9388ed284d * ext/tcltklib/tcltklib.c (ip_invoke): fixed bug on passing a exception
* ext/tk/lib/{tk.rb, tkcanvas.rb, tkfont.rb, tktext.rb} :
  bug fix and improvement of font control


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-02 05:04:30 +00:00
matz b6feeb2945 * parse.y (aref_args): forgot to call NEW_SPLAT(). reported by
Dave Butcher.

* eval.c (Init_Thread): protect thgroup_default.  suggested by Guy
  Decoux in [ruby-talk:80623]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-01 09:02:43 +00:00
nagai 24ff3f4448 * doc/ChangeLog-1.8.0: add changes of Ruby/Tk
* ext/tcltklib/tcltklib.c : some methods have no effect if on slave-IP
* ext/tcltklib/tcltklib.c : can create a interpreter without Tk
* ext/tcltklib/tcltklib.c : bug fix on handling exceptions
* ext/tcltklib/MANUAL.euc : modify
* ext/tk/lib/tk.rb : freeze some core modules
* ext/tk/lib/multi-tk.rb : more secure
* ext/tk/lib/tk.rb: TkVariable.new(array) --> treat the array as the
  Tk's list
* ext/tk/lib/tk.rb: improve accessibility of TkVariable object
* ext/tk/lib/tk.rb, ext/tk/lib/tkfont.rb, ext/tk/lib/tkcanvas.rb,
  ext/tk/lib/tktext.rb : fix bug of font handling
* ext/tk/lib/tkfont.rb TkFont.new() accepts compound fonts
* process.c: bug fix
* process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys}
* process.c: deny handling IDs during evaluating the block given to
  the Process::{UID,GID}.switch method


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-29 08:34:14 +00:00
nagai a09c02a600 * ready to use 'validatecommand' option of TkEntry/TkSpinbox widget
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-03 22:07:47 +00:00
nagai ebe22aafa2 * typo bug
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-03 10:53:09 +00:00
nagai 2dd7a6ab7e * additional message
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-03 09:18:22 +00:00
nagai d34dbd1118 * (bug fix) bug on Tk object ID management
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-03 08:53:06 +00:00
nagai 25cd84e00c * add widget demo scripts
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-03 08:17:41 +00:00
nagai 6c288fe84a * sorry. fixed commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-03 06:00:54 +00:00
nagai f820839f17 * add or modify some widget demo scripts
* (bug fix) TkGrid failed to treat RELATIVE PLACEMENT


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-02 21:39:23 +00:00
matz 2c225e77e0 * numeric.c (flo_to_s): get rid of buffer overflow.
* io.c (appendline): clearerr(3) before raising exception, since
  exception may be captured by rescue. [ruby-talk:77794]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-02 18:05:02 +00:00
nagai 6277a66deb * (bug fix) forgot to entry a widget class name of 'labelframe' widget
* add demo-scripts to the JP/EN widget demos


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-02 09:58:13 +00:00
nagai 4c3328f547 * (bug fix) TkEntry#delete
* (bug fix) some widget demos
* support <TkVariable object> == <Symbol>
  ( "coerce TkVariable" add to the TODO list :-) )
* freeze some object for security reason


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-02 05:04:30 +00:00
nagai c07f1bf06e * forgot to commit a sample script
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-01 04:58:55 +00:00
nagai c49c8a942e * bug fix : forget to eval given block to TkRoot.new method
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-01 03:53:38 +00:00
nobu 66e0051193 MANIFEST
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-01 01:23:15 +00:00
nagai bc8b42fc1e * bug fix : wrong resource file format (resource.{en,jp})
* add Tk::Encoding.{encoding_convertfrom, encoding_convertto}
* add TkOptionDB.read_with_encoding to read non-utf8 resource file


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-31 23:04:45 +00:00
nagai 75362fbd47 * (IMPORTANT BUG FIX) scan of event keywords doesn't work on recent
versions of Tck/Tk
* (bug fix) initialize error of instance variable on TkComposite
* (bug fix) initialize error on encoding-system on MultiTkIp
* (bug fix) trouble on destroying widgets
* (new) add JP and EN version of Ruby/Tk widget demos


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-31 20:52:40 +00:00
nagai 7126624b4e * wrap the command-proc of TkScale : pass the numeric object to the proc
* better support for widgets created on Tk interpreter (without Ruby)
* a little more stable on Multiple Tk interpreters running


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-31 07:59:18 +00:00
nagai 8b97353bf2 * MultiTkIp.new_* accept a block to eval under the new interpreter
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 07:23:14 +00:00
nagai 4e0bb56f21 * bug fix
* fix lack of methods for TkEntry
* fix reference of uninitialized variables


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 07:15:00 +00:00
nagai b873f41c1e * additional check of Tk interpreters' status for a little more safety
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 04:36:29 +00:00
nagai 7d1de7464b * fix a bug of the procedure for 'Delete' button on the safe-Tk frmae
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-29 16:20:36 +00:00
nagai 12d3662b39 * change default mode of mainloop_abort_on_exception on multi-tk.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-29 15:45:51 +00:00
nagai a3dbb3c822 * bug fix
* change mainloop_abort_on_no_widget_cmd => mainloop_abort_on_exception
  ( to avoid thread timing trouble on accessing destroyed widgets )


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-29 15:39:59 +00:00
nagai 7544bfc130 * bug fix ( tested with Ruby/Tk widget demo )
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-29 08:05:30 +00:00
nagai df33012935 tcltklib.c : bug fix
multi-tk.rb : bug fix and pack options are pssed to the safeTk container
sample/safe-tk.rb : add example for pack options of safeTk container


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-29 01:24:32 +00:00
nagai 4158a73ee4 tcltklib.c : *bug fix
multi-tk.rb : *bug fix
              *add methods depend on Tcl's 'interp' command
              *suppot to control safe-level of each interpreter


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-28 06:10:13 +00:00
nagai b388591ab7 multi-tk.rb : (new) library to support multiple Tk interpreters (high level)
tcltklib.c : add some methods to support multiple interpreters (low level)
MANUAL.euc : modify descriptions
tcltklib/sample/safeTk.rb : (new) sample : how to use safeTk interpreter
tk/sample/safe-tk.rb : (new) sample : how to use multi-tk.rb
tk.rb, tkafter.rb : bug fix and add feature to supprt multi-tk


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-27 19:35:06 +00:00
matz 56408f7abc * ext/tk/lib/tk.rb (TkCore::chooseDirectory): back up wrongly
removed method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-26 05:27:42 +00:00
matz 34ca2ab058 * variable.c (rb_mod_const_missing): "const_missing" should not
appear in the caller(); add call frame adjustment.

* eval.c (rb_method_missing): simplify call frame adjustment.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-26 02:26:08 +00:00
nagai cc66b1fae4 tcltklib.c : add TclTkIp#create_slave , TclTkIp#_make_safe and TclTkIp#safe?
MANUAL.euc : modify descriptions
tk.rb      : bug fix [ruby-talk:76980] and modify to support multi Tk IPs
tkafter.rb : modify to support multi Tk IPs


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 16:43:03 +00:00
nagai fd46a1da0a process.c : unify indentation
configure.in : add --enable-setreuid option
tcltklib.c : TclTkIp.new accepts 'ip-name' and 'options'
             ( e.g. TclTkIp.new('FOO', '-geometry 500x200 -use 0x2200009') )
tk.rb      : support arguments of TclTkIp.new
             ( see TkCore::IP_NAME, TkCore::IP_OPTS )
tk*.rb     : preparations for multi-Tk interpreter support


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 16:07:35 +00:00
nagai 9a27cf9499 tk.rb :
* recover and fix typo : Tk.chooseDirectory (Tk8.4 feature)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-17 06:40:28 +00:00
matz 46bf621737 * eval.c (ruby_init): set ruby_running to true after
initialization.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-17 05:23:54 +00:00
nagai 7a89869340 tk.rb :
* not create a Tcl/Tk interpreter if already defined TkCore::INTERP
  * bugfix on TkWindow#configure


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-11 07:17:46 +00:00
nagai 28f8fc7f88 tk.rb :
* TkWindow include TkWinfo
  * treat unknown widget classes as subclasses of TkWindow


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-01 22:08:19 +00:00
nagai 79edd1af70 tk.rb :
* add and modify :
      TkWidget.database_class, TkWidget.database_classname,
      TkWidget#database_class, TkWidget#database_classname
  * instances of a subclass of TkToplevel or TkFrame are
    created with ":class=>subclass" option as default.
    For example, the followings create similar objects.
      (1) TkFrame.new(:class=>'XXX')
      (2) class XXX < TkFrame; end; XXX.new

sample/tkoptdb.rb :
  * add new part of sample script


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-25 14:40:32 +00:00
nagai 9a47a04607 tkcanvas.rb :
* Although requiring manual control of GC, memory eating problem
    of TkCanvas Items is fixed. Probably, a time when GC should run
    is only after removing many canvas items. GC's cost is large
    and the man who knows proper timing to start GC is the man who
    create the script. So, Ruby/Tk doesn't start GC automatically.

tktext.rb :
  * add some methods and bug fix

tk.rb :
  * add widget destroy hook binding to TkBindTag::ALL


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-25 05:49:10 +00:00
nagai 17e1936d8b tk.rb :
* TkToplevel, TkFrame, TkPanedwindow, TkOptionDB : bug fix
  * TkOptionDB : make it more secure to use procs defined on resourceDB

sample/tkoptdb.rb, sample/resource.ja, sample/resource.en :
  * sample script how to use TkOptionDB.
    resource.ja and resource.en are samples of resource definition file
    which are read by tkoptdb.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-24 16:46:07 +00:00
eban 30235cd14e * MANIFEST: add wince files.
* ext/tk/MANIFEST: add sample/tkmenubutton.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-23 14:30:27 +00:00
nagai 65e7ebb14f tk.rb :
* TkRoot and TkToplevel : bug fix


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-23 14:22:44 +00:00
nagai f34b15e5d2 tk.rb :
* TkRoot.new and TkToplevel.new accept Wm commands as elements
    of a hash argument.
    e.g. TkRoot.new(:title=>'App Title')
         TkToplevel.new(:parent=>Tk.root, :title=>'XXX', :class=>'ZZZ')
  * TkMenu :: add some methods
  * TkOptionMenubutton :: bug fix

sample/tktimer2.rb
  * add comments about the usage of a TkTimer object.

sample/tkmenubutton.rb
  * sample of TkMenubutton and TkOptionMenubutton


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-22 16:17:02 +00:00
nagai 07cff4bd71 tk.rb :
* TkRoot.new and TkToplevel.new accept Wm commands as elements
    of a hash argument.
    e.g. TkRoot.new(:title=>'App Title')
         TkToplevel.new(:parent=>Tk.root, :title=>'XXX', :class=>'ZZZ')

sample/tktimer2.rb
  * add comments about the usage of a TkTimer object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-21 12:55:17 +00:00
nagai e8ab40d239 Ruby/Tk libraries except tk.rb :
* remove direct-accesses to a TkComm::INTERP
  * remove direct-accesses to a TkComm::INITIALIZE_TARGETS
  * use TkINTERP_SETUP_SCRIPTS constant for setting up the interpreter

tcltklib.c :
  * support to create a safe interpreter with safe-Tk ( Tk8.x )
    you can test it by the following
    ---------------------------------------------
    require 'tk'
    safeip = Tk::INTERP._eval('::safe::interpCreate')
    Tk::INTERP._eval('::safe::loadTk ' + safeip)
    Tk::INTERP._eval(safeip + ' eval button .b -text SlaveIP -command exit')
    Tk::INTERP._eval(safeip + ' eval pack .b')
    Tk.mainloop
    ---------------------------------------------


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-21 08:47:22 +00:00
nagai ff75ab3e3c tcltklib.c :
* Tk interpreter returns TAINTED strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-20 14:52:45 +00:00
nagai 068bc7e43a tcltklib.c :
* lib_do_one_event() : change default value of the argument
 * lib_do_one_event() : returns true/false
 * add TclTkLib::EventFlag::NONE ( == 0 )
 * add set_no_event_wait() and get_no_event_wait()
 * modify MANUAL.euc and README.euc

tk.rb :
 * change default value of TkCore.do_one_event argument
 * add TkCore.set_no_event_wait(wait) and TkCore.get_no_event_wait
 * add Tk.exit ( == destroy root widget )

tkafter.rb :
 * rename TkAfter => TkTimer ( TkAfter is an alias name now. )
 * set_callback returns self
 * continue() raises an exception, if already running or no procedure.
 * skip() raises an exception, if not running.

sample/tktimer2.rb
 * new sample for TkTimer class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-19 16:14:43 +00:00
nagai d8b02b5096 tk.rb :
* small bug fix
 * rename 'no_create' option to 'without_creating'
 * add TkWindow#pack_in,  TkWindow#grid_in,  TkWindow#place_in
 * add TkWindow#bind_class and TkWindow#database_class
   If defined specific_class (@db_class), bind_class returns @db_class.
   In other case, bind_class returns TkWinow#class().
   It is useful for binding.
   TkWindow#database_class is defined for querying the option database.
   It's same to TkWinfo.classname(self).
 * add TkBindTag.new_by_name and TkDatabaseClass for binding to database class
 * check varname whether already exsist or not. (TkVarAccess.new)
 * TkTextWin#bbox returns an array of four numbers
 * autoload TkDialog2, TkWarning2
 * scan event callback arguments and convert to proper type
 * TkBindTag.new accepts a block ( TkBindTag.new(context){callback} )
 * If given taglist, TkWindow#bindtags(taglist) returns taglist
 * add TkWindow#bindtags=(taglist)
 * Tk.focue and Tk.focus_lastfor return nil if there is no target widget.
 * Tk::Wm.client returns the argument string when setting name
 * TkGrid.columnconfiginfo and rowconfiginfo given a slot return a number.
 * TkWindow.grid_columnconfiginfo and grid_rowconfiginfo :: ditto
 * rename and define alias :: TkOption ==> TkOptionDB
 * define alias :: TkTimer ==> TkAfter
 * some instance methods change from public to private
 * some TkComm methods change to module functions
   (help to treat return values from Tk)
 * add support for -displayof option to some TkWinfo methods
 * bind, bind_append and bind_remove :: returns the target of event-binding
 * add Tk8.4 features
 * add TkPaneWindow

tkdialog.rb:
 * classes without showing at initialize : TkDialog2, TkWarning2
 * add show method to reuse TkDialog object
 * some instance methods change from public to private
 * add new features for configuration

tktext.rb :
 * small bug fix
 * some methods return self
 * add TkTextMark#+(mod) and TkTextMark#-(mod) (e.g. mark + '3 chars')
 * add some methods

tkcanvas.rb :
 * small bug fix
 * some methods return self

tkentry.rb :
 * some methods return self
 * TkEntry#bbox returns an array of four numbers
 * scan validatecommand arguments and convert to proper type

tkbgerror.rb :
 * support to define a error handler by user

tcltklib.rb :
 * reported by Ferenc Engard <engard@all.hu> on [ruby-talk:60759]

                                     ... and so on


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-18 19:46:20 +00:00
matz 590a37880c * eval.c (proc_alloc): re-unification of Block and Proc. Block
class is no longer available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-16 07:14:50 +00:00
nagai 2850b7c481 tk.rb : add 'no_create' option to widget initialize method.
It allows to create ruby objects for widgets created on Tcl/Tk.
         (e.g. TkButton.new('widgetname'=>'.bbb', 'no_create'=>true) )
        It is useful for some Tcl/Tk Mega Widgets.
MANIFEST, README : forgot to commit when added tkmacpkg.rb and tkwinpkg.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-12 22:13:13 +00:00
nagai 598e993018 tk.rb : widget configure returns self (for method call chain)
tkmacpkg.rb : Mac resource (not new but not included untill now)
tkwinpkg.rb : Win DDE and registry (not new but not included untill now)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-12 21:14:11 +00:00
matz c5fc4bca6d * eval.c (rb_call_super): inheritance line adjustment moved from
rb_call(). [ruby-core:01113]

* eval.c (rb_eval): use rb_call_super() to follow DRY principle.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-03 09:40:21 +00:00
matz b4fd4d6018 * eval.c (Init_Proc): Block/Proc separation. [huge change]
* eval.c (block_arity): returns exact arity number for Procs out
  of methods. also gives 1 for {|a|..}.

* string.c (rb_str_match): revert use of String#index for
  invocation like string =~ string.

* eval.c (rb_Array): move Object#to_a exclusion hack from
  splat_value().  need to be in eval.c for a while.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-26 08:22:33 +00:00
matz cec20793cb * eval.c (ruby_finalize): turn off ruby_debug flag before calling
at_exit procs and finalizers. (ruby-bugs-ja:PR473)

* ext/tcltklib/tcltklib.c (lib_mainloop_core): OK to block if
  there's no other thread. (ruby-bugs:PR#861)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-23 08:11:21 +00:00
matz c94187bce0 * eval.c (rb_f_missing): use "inspect" for T_OBJECT as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-03 05:25:00 +00:00
matz e5282ef182 update NotImplementError to NotImplementedError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-23 17:58:57 +00:00
akr e689d077e3 * lib/optparse.rb, lib/jcode.rb, ext/tk/lib/tk.rb: reorder character
class /[\]\[]/ to /[\[\]]/ to readability.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-22 04:31:24 +00:00
akr 58ef7c2088 * regex.c (re_compile_pattern): fix previous change.
* instruby.rb, ext/extmk.rb, ext/tk/lib/tk.rb, lib/benchmark.rb,
  lib/cgi.rb, lib/debug.rb, lib/getoptlong.rb, lib/jcode.rb,
  lib/optparse.rb, lib/time.rb, lib/date/format.rb,
  lib/irb/ruby-lex.rb: escape `[', `]', `-' in chracter class in
  regexp to avoid warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-21 15:13:23 +00:00
matz ab6b478615 * commit miss; and tcltklib fix too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 06:02:17 +00:00
knu 07188bbee2 Update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-27 13:36:11 +00:00
matz b031fdbc0e * dir.c (glob_helper): prevent memory leak using rb_protect().
* string.c (rb_str_associate): no need to check freeze flag.

* string.c (rb_str_resize): should honor STR_ASSOC flag on
  resize.

* string.c (rb_str_resize): proper STR_ASSOC handling.  pointed
  out by Michal Rokos.

* string.c (rb_str_buf_cat): ditto.

* string.c (rb_str_cat): ditto.

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_append): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-12 06:27:15 +00:00
eban 4f26f3b890 * configure.in: modify program_prefix only if specified
--program-prefix.

* configure.in: don't generate ext/extmk.rb.

* Makefile.in: execute directly $(srcdir)/ext/extmk.rb.
  remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb.

* {win32,bccwin32}/Makefile.sub: ditto.

* instruby.rb: ditto.

* ext/extmk.rb: renamed from ext/extmk.rb.in.

* lib/mkmf.rb (module Logging): create log files (mkmf.log)
  in each extension module directories.

* ext/extmk.rb: ditto.

* lib/mkmf.rb (macro_defined?): new method.

* ext/.cvsignore: remove extmk.rb.

* ext/*/.cvsignore: add "*.def".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 09:08:15 +00:00
matz f0221db462 * re.c (rb_reg_expr_str): need to process backslashes properly.
* object.c (rb_any_to_a): declare Object#to_a to be obsolete.

* object.c (rb_Array): do not convert nil into [] automagically.

* object.c (rb_Integer): use "to_int" instead of
  "to_i". [experimental]

* object.c (nil_to_f): new method.

* object.c (rb_Integer): Symbols and nil should cause error.

* object.c (rb_Float): nil should cause error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-28 14:42:46 +00:00
eban 4a470051b6 * ext/tk/lib/tkentry.rb: typo fix(!! -> ||).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-04 07:48:30 +00:00
nagai 4cb164ee2a * tkfont.rb: Fix bugs on TkFont.init_widget_font for Tk8.x.
* tkafter.rb: Add self to 1st argument of interval- and loop-proc
    TkAfter#current_interval returns an interval (sleep) time value
    TkAfter#current_args returns an array of arguments
    TkAfter#return_value returns a return value of last loop-proc
      e.g.
         TkAfter.new(
           proc{|obj| 500 - obj.current_interval}, 10,
           [proc{|obj| p obj.current_args}, 'proc', 1],
           proc{|obj| p obj.current_args; ['return', 2]},
           [proc{|obj|
              p obj.return_value
              p ['proc', obj.current_args[0].call(obj.return_value[1],
                                                  obj.current_args[1])]},
            proc{|*args| args[0] + args[1]}, 1],
           proc{p ['proc', 4]} ).start(100)

* tk*.rb: Allow to use Symbols for parameters.
    Allow new notation of constructor (also allow old notation).
      e.g.
        TkFrame.new('classname'=>'User'){|base|
          pack
          f = TkFrame.new(base, :classname=>'ButtonFrame').pack
          TkButton.new(
             :parent     => f,
             :text       => 'Quit',
             :command    => proc{exit}
          ).pack(
             :fill => :x,
             :pady => 2
          )
        }

* tkcanvas.rb: (TkcItem) Add 'coords' parameter to the canvas item
    constructor (for new notation of constructor).
      e.g.
        c = TkCanvas.new.pack
        l = TkcLine.new(c, :coords=>[[0,0], [100,100]])

* tcltklib.c: New 'mainloop' and 'mainloop_watchdog'.
    The priority of their event-loop can be controlled.
    They accept an optional argument.
    If it false, they don't exit although the root widget is destroyed.
    This function is sometimes useful, if it is used with 'restart'.
    'mainloop' can't treat Thread#join/value in a callback routine.
    (e.g. TkButton.new(:command=>proc{p Thread.new{button.invoke}.value}) )
    'mainloop_watchdog' can treat them, but watchdog thread is always running
    (so, a little heavier than 'mainloop').
    If the purpose of using Thread#join/value is to do something under some
    safe-level, please use Proc object.
    (e.g. :command=>proc{$SAFE=1;proc{$SAFE=2;button.invoke}.call;p $SAFE})

* tk.rb: Support functions of new 'mainloop' and 'mainloop_watchdog'.

* tk.rb: (Tk.restart) Add 'app-name' paramater and 'use' parameter.
    'app-name' specifies the name and the resource class of the
    application. If 'app-name' is specified to 'xxx', the application
    class on the resource database is set to 'Xxx' and the application
    name is changed by the same rule of Tk.appname method.  'use'
    specifies the main window for embedding the root widget instead of
    generating a new window.

* tk.rb: Add new parameter 'widgetname' to the widget constructor to
    support effective use of Resource Database.  For example, the
    resource 'Xxx*quit.text: QUIT' can set the text of the button
    generated by the following code.
      e.g.
        Tk.restart('Xxx')
        TkButton.new(nil, 'widgetname'=>'quit', 'command'=>proc{exit}).pack
        Tk.mainloop

* tk.rb: TkOption::get always returns a tainted string.
    Add TkOption::new_proc_class.
    It generates a class to import procedures defined on the resource
    database. For example, there is a following resource file.
      ----< resource-test >------------
      *CMD.foo: {|*args| p [$SAFE, :foo, args]}
      *CMD.XXX.bar: {|*args| p [$SAFE, :bar, args]}
      *Button.command: ruby {p self; p $SAFE; TkOption::CMD::XXX.bar(1,2,3)}
      ---------------------------------
    The following code is a sample of use of the resource file.
      e.g.
        require 'tk'
        TkOption.readfile 'resource-test'
        p TkOption.new_proc_class(:CMD, [:foo], 1)
        p TkOption.new_proc_class(:XXX, [:bar], 2, false, TkOption::CMD)
        TkButton.new(:text=>'test').pack
        Tk.mainloop


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-04 07:03:33 +00:00
matz 86c6af5873 * marshal.c (w_object): module inclusion using extend() should
also be detected.

* eval.c (rb_eval_cmd): cbase should not be NULL; it should be
  either ruby_wrapper or Object.

* enum.c (enum_each_with_index): should return self.

* process.c (proc_setpgrp): should return value for non-void function.

* process.c (proc_getpgid): should raise exception if getpgid() return -1.

* string.c (rb_str_ljust): should return a duplicated string.

* string.c (rb_str_rjust): ditto.

* string.c (rb_str_center): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-11 08:02:04 +00:00
matz d497898c23 * eval.c (cvar_cbase): utility function to find innermost non
singleton cbase.

* eval.c (is_defined): adopt new cvar behavior.

* eval.c (rb_eval): ditto.

* eval.c (assign): ditto.

* class.c (rb_mod_clone): should not call rb_obj_clone(), since
  Module does not provide "allocate".

* class.c (rb_singleton_class): should crate new singleton class
  if obj is a class or module and attached object is different,
  which means metaclass of singleton class is sought.

* time.c (time_s_alloc): now follows allocation framework.

* eval.c (rb_eval): should initialize outer class variables from
  methods in singleton class definitions.

* eval.c (assign): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-08 07:03:09 +00:00
knu 8c85fc1ec9 Make cvs ignore mkmf.log.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-04 04:11:22 +00:00
matz e88d2cec1f * eval.c (rb_mod_include): load modules in argument order.
* st.c (st_init_table_with_size): num_bins should be prime numbers
  (no decrement).

* st.c (rehash): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-28 06:53:33 +00:00
matz 4f38c453b4 * eval.c (is_defined): defined?(Foo::Baz) should check constants
only, no methods.

* eval.c (is_defined): should not dump core on defined?(a::b)
  where a is not a class nor a module.

* object.c (Init_Object): remove dup and clone from TrueClass,
  FalseClass, and NilClass.

* array.c (rb_ary_fill): Array#fill takes block to get the value to
  fill.

* string.c (rb_str_to_i): to_i(0) auto-detects base radix.

* array.c (rb_ary_initialize): fill by the block evaluation value
  if block is given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-28 08:44:45 +00:00
matz 36192dfa4a * eval.c (block_pass): allow "retry" from within argument passed
block. [new]

* eval.c (localjump_error): should preserve exit status in the
  exception object. [new]

* eval.c (proc_invoke): should raise exception for "break" if it's
  yielding, not calling. [new]

* eval.c (block_pass): should NOT raise exception for "break". [new]

* eval.c (block_pass): should allow block argument relay even in
  the tainted mode.

* ext/socket/socket.c: support subclassing by proper "initialize"
  calling convention. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-17 08:05:01 +00:00
matz df96f994f1 * parse.y (parse_regx): should raise error on untermitated
expression interpolation.

* pack.c (pack_unpack): should give length to utf8_to_uv().

* pack.c (utf8_to_uv): add length check.

* massages: replace "wrong #" by "wrong number".

* marshal.c (w_float): output Infinity and NaN explicitly.

* marshal.c (r_object): support new explicit float format.

* eval.c (rb_thread_wait_for): select may cause ERESTART on
  Solaris.

* eval.c (rb_thread_select): ditto.

* array.c (rb_ary_join): dumped core if sep is not T_STRING nor T_NIL.

* array.c (rb_ary_join): buffer size calculattion was wrong.

* array.c (rb_ary_to_s): if rb_output_fs is nil, insert newlines
  between array elements (use rb_default_rs as newline litral)
  [experimental].

* gc.c (init_mark_stack): no need to clear mark_stack.

* gc.c (gc_mark_all): need to handle finalizer mark.

* gc.c (gc_mark_rest): use MEMCPY instead of memcpy.

* gc.c (rb_gc_mark): earlier const check to avoid pusing special
  constants into mark stack.

* numeric.c (fix_to_s): 'to_s' now takes optional argument to
  specify radix. [new]

* bignum.c (rb_big_to_s): ditto. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-19 05:03:03 +00:00
matz 9d59b0d1a1 tkutil needed to be updated
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-13 08:53:15 +00:00
matz 88abd791f5 * parse.y (str_extend): shuould allow interpolation of $-x.
* variable.c (rb_cvar_set): empty iv_tbl may cause infinite loop.

* variable.c (rb_cvar_get): ditto.

* variable.c (cvar_override_check): ditto.

* bignum.c (rb_big_eq): convert Bignum to Float, instead of
  reverse.

* time.c (time_localtime): getting tm should not be prohibited for
  frozen time objects.

* time.c (time_gmtime): ditto.

* version.c (Init_version): freeze RUBY_VERSION,
  RUBY_RELEASE_DATE, and RUBY_PLATFORM.

* file.c (Init_File): freeze File::SEPARATOR, ALT_SEPARATOR and
  PATH_SEPARATOR.

* file.c (rb_stat_cmp): should check operand type before calling
  get_stat().

* eval.c (rb_eval_cmd): should not invoke "call" with a block on
  any occasion.

* numeric.c (fix_aref): idx may be a Bignum.

* numeric.c (num_remainder): a bug in Numeric#remainder.

* eval.c (rb_exec_end_proc): END might be called within END
  block.

* class.c (rb_mod_clone): should not copy class name, since clone
  should remain anonymous.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-10-29 05:07:26 +00:00
matz 2e2786ccab * re.c (Init_Regexp): to_s to be alias to inspect.
* parse.y (yylex): should support 'keyword='.

* ruby.c (proc_options): should not adjust argc/argv if -e option
  is supplied.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-09-05 06:54:57 +00:00
matz c9d1be6327 * ruby.c (proc_options): should not alter origargv[].
* ruby.c (set_arg0): long strings for $0 dumped core.

* ruby.c (set_arg0): use setprogtitle() if it's available.

* io.c (rb_io_popen): accept integer flags as mode.

* file.c (rb_find_file_ext): extension table can be supplied from
  outside.  renamed.

* eval.c (rb_f_require): replace rb_find_file_noext by
  rb_find_file_ext.

* eval.c (rb_provided): should also check feature without
  extension.

* numeric.c (flo_to_s): do not rely on decimal point to be '.'


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-09-03 05:31:36 +00:00
matz 353650e6b4 * parse.y (yylex): fixed 'print CGI::bar() {}, "\n"' syntax
breakage, adding new lex_state status.  sigh. [new]

* file.c (rb_file_s_unlink): should not allow if $SAFE >= 2.

* range.c (Init_Range): define "to_ary".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-01 06:47:32 +00:00
matz 4cd1cd7201 * ruby.c (proc_options): unexpected SecurityError happens when -T4.
* regex.c (re_compile_pattern): * \1 .. \9 should be
  backreferences always.

* regex.c (re_match): backreferences corresponding to
  unclosed/unmatched parentheses should fail always.

* string.c (rb_str_cat): use rb_str_buf_cat() if possible. [new]

* string.c (rb_str_append): ditto.

* string.c (rb_str_buf_cat): remove unnecessary check (type,
  taint, modify) to gain performance.

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_finish): removed.

* string.c (rb_str_buf_new): buffering string function. [new]

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_cat): ditto.

* string.c (rb_str_buf_finish): ditto.

* time.c (make_time_t): local time adjustment revised.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-30 09:10:30 +00:00
matz 1d3d27b42d forgot some checkins.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-06 15:06:00 +00:00
matz b60a365763 * eval.c (rb_mod_define_method): should have clear method cache.
* eval.c (rb_mod_define_method): should have raised exception for
  type error.

* ruby.h: changed "extern INLINE" to "static inline".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-27 07:10:58 +00:00
knu cf4d89f23b Add .cvsignore's.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-09 17:11:36 +00:00
matz 08ec02b92b changes from personal modifies -- matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-28 05:00:47 +00:00
matz f54418b71f matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-27 09:23:38 +00:00
matz 39563af994 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-20 07:31:55 +00:00
matz c12c7ab1dc matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-17 09:09:03 +00:00
matz f32c76a266 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-08-02 04:54:21 +00:00
matz d3a6170010 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-08-01 09:25:37 +00:00
matz ce175376b2 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-14 04:34:43 +00:00
matz d1375688cd matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-06 07:21:26 +00:00
matz 00bd38a3b1 tk font patch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-13 09:57:40 +00:00
matz 548b5143db 2000-06-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-12 07:48:31 +00:00
matz 8b1de0b1ad 2000-05-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-24 04:34:26 +00:00
matz fedf48986d 2000-05-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-01 09:42:38 +00:00
matz dc2f6b3d25 2000-04-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-04-10 06:05:19 +00:00
matz 4a67017698 2000-04-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-04-10 05:57:37 +00:00
matz 7194267b3b 2000-04-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-04-10 05:48:43 +00:00
matz 5c13dd59db 2000-03-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-03-17 08:58:21 +00:00
matz e4b53b2222 2000-02-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-02-01 03:12:21 +00:00
matz dde62bcd2e 2000-01-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-01-17 08:37:53 +00:00
matz de71615260 20000105
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-01-05 04:41:21 +00:00
matz 9d228b13de 19991214
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-14 06:50:43 +00:00
matz dee96209bf 19991206
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-06 09:04:03 +00:00
matz a3f29338ad 19991201
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-01 09:24:48 +00:00
matz a9e9697994 19991104
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-11-04 08:39:57 +00:00
matz a1b57d0add 1.4.1 to be
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-24 08:21:56 +00:00
matz 0a64817fb8 remove marshal/gtk/kconv
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-13 05:37:52 +00:00