Commit graph

7441 commits

Author SHA1 Message Date
ocean
0a8f5ad543 * ext/zlib/zlib.c: should not access ruby objects in finalizer.
[ruby-dev:28286]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-07 14:05:55 +00:00
ocean
22d5757479 * ruby.h: fixed prototype.
* ext/syck/rubyext.c: defined symbol ID as global variable as others.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-03 10:28:27 +00:00
matz
5675cdbd41 * eval.c: unify ruby_class (for method definition) and ruby_cbase
(for constant reference).

* eval.c (rb_call0): use TMP_ALLOC() instead of allocating
  a temporary array object.

* eval.c (eval): need not to protect $SAFE value.
  [ruby-core:07177]

* error.c (Init_Exception): change NameError to direct subclass of
  Exception so that default rescue do not handle it silently.

* struct.c (rb_struct_select): update RDoc description.
  [ruby-core:7254]

* numeric.c (int_upto): return an enumerator if no block is
  attached to the method.

* numeric.c (int_downto): ditto.

* numeric.c (int_dotimes): ditto.

* enum.c (enum_first): new method Enumerable#first to take first n
  element from an enumerable.

* enum.c (enum_group_by): new method Enumerable#group_by that
  groups enumerable values according to their block values.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-03 09:15:42 +00:00
ocean
e4f1feac3e * ext/syck/syck.c (syck_move_tokens): should reset p->cursor or etc
even if skip == 0. This causes buffer overrun.
  (ex: YAML.load('--- "..' + '\x82\xA0' * 511 + '"'))


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-03 06:11:13 +00:00
ocean
8913015f04 * ext/syck/emitter.c (syck_emitter_write): should not set '\0' on
emitter's marker. if marker points to the end of buffer, this is
  buffer overrun. (ex: YAML.dump("." * 12288))


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-02 15:02:49 +00:00
nagai
598451429c * ext/tk/lib/multi-tk.rb: add MultiTkIp#eval and bg_eval.
* ext/tk/lib/tk/namespace.rb: TkNamespace#eval was enbugged at the
  last commit. Now it will return a proper object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-31 03:01:31 +00:00
ocean
8f8f21d168 * ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV.
ex: YAML.load("!map:B {}"). [ruby-core:7217]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-30 15:13:11 +00:00
matz
85176676e5 * ext/socket/socket.c: turn on do_not_reverse_lookup by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-26 07:50:53 +00:00
ocean
d54f7b05e8 * ext/syck/emitter.c (syck_emit_seq, syck_emit_map, syck_emit_item):
should output complex key mark even if map's key is empty seq/map.
  [ruby-core:7129]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-16 01:29:58 +00:00
nagai
3866e48766 * ext/tk/sample/tkballoonhelp.rb: [bug fix] couldn't add to a widget
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
2006-01-12 02:56:11 +00:00
ocean
53cc7ba570 Sorry, commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-10 04:54:10 +00:00
ocean
8e4f2a50da * ext/syck/rubyext.c (syck_resolver_transfer): should be able to load
!ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159] (written
  by akira yamada)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-10 04:38:23 +00:00
ocean
ccbf4ea119 * ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by
http://www.zlib.net/ has zdll.lib. [ruby-dev:28209]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-09 11:00:40 +00:00
ocean
a711b321b7 * ext/syck/rubyext.c: attribute name was truncated with Rev1.64.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-31 10:57:06 +00:00
matz
de3bff164c * eval.c (rb_mod_define_method): should save safe_level in the
proc object.  [ruby-dev:28146]

* test/drb/drbtest.rb (DRbService::self.ext_service): increase
  timeout limit.  a patch from Kazuhiro NISHIYAMA
  <zn at mbf.nifty.com>. [ruby-dev:28132]

* eval.c (ev_const_get): fixed a bug in constant reference during
  instance_eval.  [yarv-dev:707]

* eval.c (ev_const_defined): ditto.

* lib/yaml.rb (YAML::add_domain_type): typo fixed.  a patch from
  Joel VanderWerf <vjoel at path.berkeley.edu>.
  [ruby-talk:165285] [ruby-core:6995]

* ext/digest/sha2/sha2.c (ULL): support AIX C.  a patch from
  Kailden <kailden at gmail.com>.  [ruby-core:06984]

* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory
  leak.

* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory
  leak by explicit symbol allocation.

* lib/delegate.rb (Delegator::method_missing): should delegate
  block as well.

* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to
  use Tempfile.  A fix from Zev Blut <rubyzbibd at ubit.com>.
  [ruby-core:06076]

* string.c: remove global functions work on $_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 12:05:16 +00:00
gotoyuzo
6f640b29cc * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_chech):
treat wildcard character in commonName. [ruby-dev:28121]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-26 23:26:21 +00:00
why
cda674e39c * ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility
with previous Ruby versions, documents are no longer headless.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-20 04:25:48 +00:00
ocean
fb7f646086 * ext/syck/rubyext.c (syck_node_transform): ruby object holding
explicitly freed SyckNode caused SEGV. [ruby-dev:28067]

... I think syck GC problem was solved now!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-20 03:34:39 +00:00
ocean
9488784157 * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is
NULL or not before S_FREE.

* ext/syck/rubyext.c (syck_parser_assign_io): rb_check_string_type can
  return new RString. if so, it becomes unreachable from GC after
  returns syck_parser_assign_io, and can be freed by GC. (dangling
  in syck io system) so extends its life time till syck_parse is called.

* ext/syck/rubyext.c (syck_parser_s_alloc): always allocates bonus,
  so no need to check if NULL, and "volatile VALUE hash"
  is not needed. (bonus->port was not protected in syck_emitter_reset)

* ext/syck/rubyext.c (syck_mark_parser): ditto.

* ext/syck/rubyext.c (syck_parser_load): ditto.

* ext/syck/rubyext.c (syck_parser_load_documents): ditto.

* ext/syck/rubyext.c (syck_emitter_s_alloc): ditto.

* ext/syck/rubyext.c (syck_mark_emitter): ditto.

* ext/syck/rubyext.c (syck_emitter_reset): ditto.

* ext/syck/rubyext.c (syck_scalar_value_set): "should set newly
  allocated memory instead of RString's internal storage" stuff again.
  by this, should call syck_free_node instead of rb_syck_free_node.

* ext/syck/rubyext.c (syck_node_type_id_set): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-19 14:13:27 +00:00
ocean
af5edce080 * ext/syck/rubyext.c: sorry, I reverted my "should set newly
allocated memory instead of RString's internal storage" stuff.
  node allocated in rubyext.c seems to be freed by rb_syck_free_node
  not syck_free_node, and it won't free data.str->ptr and type_id.

 (I still think this is unsafe because RString(foo)->ptr becomes
  dangling pointer when RString is modified or freed, but anyway
  I misunderstood, so go back to original code for now)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-19 02:42:33 +00:00
ocean
8ed2a927e8 * ext/syck/rubyext.c (syck_emitter_reset): should initialize
emitter->bonus->oid. otherwise rb_gc_mark crashes.

* ext/syck/rubyext.c (syck_mark_parser): should mark anchor nodes
  because they hold ruby objects. (ie: rb_syck_bad_anchor_handler)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-17 12:57:05 +00:00
ocean
44ebf5de34 * ext/syck/rubyext.c (rb_syck_compile): fixed memory leak.
* ext/syck/rubyext.c: should protect global variable from GC.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-16 08:56:09 +00:00
ocean
87ea59c208 * ext/syck/rubyext.c (syck_scalar_value_set): should set newly
allocated memory instead of RString's internal storage.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-16 03:17:16 +00:00
ocean
7680ca8d26 * ext/syck/rubyext.c (syck_resolver_tagurize): fixed memory leak.
* ext/syck/rubyext.c (syck_node_type_id_set): should set newly
  allocated memory instead of RString's internal storage.

... these fixes won't fix [ruby-dev:27839]. more work is needed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-16 02:45:35 +00:00
akr
73b88f6be8 * ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on
x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-14 16:37:56 +00:00
akr
0158c70645 remove unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-12 05:15:33 +00:00
matz
4d467a0865 * ext/digest/digest.c (rb_digest_base_s_digest): add volatile to
protect temporary context object.  [ruby-dev:27979]

* ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should
  be called before actual variable initialization.
  [ruby-dev:27986]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-12 00:36:54 +00:00
nagai
1ca94a0307 * ext/tk/lib/tkextlib/SUPPORT_STATUS: update to support libraries in
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
2005-12-11 14:59:49 +00:00
nagai
dfcbc92614 * ext/tk/tcltklib.c: forgot to update RELEASE_DATE.
* ext/tk/lib/tk.rb: ditto.
* ext/tk/sample/demos-en/menu.rb: commit miss.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-06 16:24:22 +00:00
nagai
976124788e * ext/tk/README.macosx-aqua: [new document] tips to avoid the known
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
2005-12-06 16:05:50 +00:00
matz
088fb2a36e * gc.c (ruby_xmalloc2): change check for integer overflow.
[ruby-dev:27399]

* gc.c (ruby_xrealloc2): ditto.

* eval.c (exec_under): avoid accessing ruby_frame->prev.
  [ruby-dev:27948]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-06 07:52:18 +00:00
usa
3be312869d * ext/socket/socket.c (init_inetsock_internal): remove setting
SO_REUSEADDR option on server socket on Cygwin.
  fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ])


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-28 09:56:45 +00:00
usa
21d45159de * ext/socket/socket.c (init_inetsock_internal): remove setting
SO_REUSEADDR option on server socket. fixed: [ruby-core:6765]
  ([ ruby-Bugs-2872 ])


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-28 04:26:46 +00:00
nagai
8245833fb4 commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-25 07:12:58 +00:00
nagai
b244f5d57b * sample/tkextlib/tile/demo.rb: bug fix
* sample/tkextlib/tile/themes/*: add some themes (blue, keramik, and
  plastik; require Tile-0.5 or later).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-25 07:05:22 +00:00
nagai
4b87fa9de2 Add lacks for Tk8.5 support.
* ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get [Tk8.5 feature].
* ext/tk/lib/tk/text.rb: supports new indices modifires on a Text widget
  [Tk8.5 feature].
* ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent.
* ext/tk/lib/tk/autoload.rb: ditto.
* ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5 feature].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-23 12:01:24 +00:00
gotoyuzo
67673f6b47 * ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.
* ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use
  OPENSSL_malloc to allocate X509V3_CTX.

* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): use
  X509V3_EXT_nconf_nid to avoid SEGV (and to build extensions which
  values are placed in separate section).

* test/openssl/test_x509ext.rb: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-22 22:29:13 +00:00
nagai
63e6a0a91f * ext/tk/lib/tkextlib/tile.rb: bug fix (Tk::Tile::USE_TTK_NAMESPACE
is not defined).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-21 17:34:12 +00:00
ocean
0e97a81adf * ext/socket/socket.c: Socket Documentation. [ruby-core:6580]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 23:34:06 +00:00
nagai
bfab52caff * ext/tk/lib/tk/font.rb: remove dependency on Ruby's version (1.8 or 1.9).
* ext/tk/lib/tkextlib/ICONS/icons.rb: ditto.
* ext/tk/sample/tkextlib/treectrl/demo.rb: ditto.
* ext/tk/lib/tk.rb: update RELEASE_DATE


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 22:37:53 +00:00
nagai
ed9a1f3e8f * ext/tk/lib/multi-tk.rb: add restriction to access the entried
command table and manipulate other IPs (for reason of security).
  Now, a IP object can be controlled by only its master IP or the
  default IP.
* ext/tk/lib/remote-tk.rb: add restriction to manipulate.
* ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip)
  to check manipulability.
* ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces.
* ext/tk/lib/tk/namespace.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-18 08:39:29 +00:00
nobu
f3727f5928 * common.mk (static-ruby): overridable.
* ext/extmk.rb (parse_args): force to link extensions statically only
  if static is given for extstatic.

* ext/extmk.rb (RUBY, RUBYW): overridable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-16 14:25:53 +00:00
nagai
fb10e93036 * ext/tk/sample/24hr_clock.rb: a new example about handling of canvas items.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-15 07:51:30 +00:00
ttate
6ddd56a130 should compare SIZEOF_VOIDP with SIZEOF_LONG_LONG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-08 13:50:38 +00:00
nobu
1aa48a4ea9 * ext/iconv/iconv.c: iconvctl() support. [EXPERIMENTAL]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-07 11:55:48 +00:00
usa
f4413f1487 * ext/openssl/ossl.h: need to include winsock2.h before including
windows.h by some openssl headers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-07 07:25:25 +00:00
nagai
f1d4dfca2b * ext/tk/stubs.c (_nativethread_consistency_check): use simpler
(low cost) way to check whether the Tcl interpreter was compiled
  with threads enabled of not.
* ext/tk/tcltklib.c: reduce warnings.
* ext/tk/tkutil/tkutil.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-07 04:47:08 +00:00
nobu
7665deeb12 * ext/iconv/iconv.c (Iconv::BrokenLibrary): exception when detected a
bug of underlying library.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-06 14:41:53 +00:00
nobu
62bb03bf5a * ext/iconv/extconf.rb: use 3rd argument to have_library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-06 14:08:56 +00:00
ocean
84c2dc95de * ext/tk/stubs.c (ruby_tcl_create_ip_and_stubs_init): should touch
interpreter after initialization is done. [ruby-dev:27638]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-06 12:48:43 +00:00