Commit graph

22300 commits

Author SHA1 Message Date
nobu
d81eaaf192 * property.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-29 08:26:57 +00:00
mame
5b74e4f09e * vm_insnhelper.c (vm_get_ev_const): no-scope reference to toplevel
private constant has been prohibited incorrectly.

* test/ruby/test_module.rb (test_toplevel_private_constant): add a
  test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-29 02:01:19 +00:00
ryan
934f537b45 Import rubygems 1.5.0 (release candidate @ 09893d9)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 23:46:47 +00:00
mame
b511e1bfbe * variable.c (rb_mod_const_of, sv_i): Module#constant should exclude
private constants.  see [ruby-core:32912].

* test/ruby/test_module.rb (test_constants_with_private_constant): add
  a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 17:57:48 +00:00
mame
b1e829fb30 * variable.c (rb_const_set): const_set shoud preserve constant
visibility.  see [ruby-core:32912].

* test/ruby/test_module.rb: add a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 17:57:42 +00:00
mame
a2ec8666cf * compile.c (NODE_CLASS, NODE_MODULE), insns.def (defineclass): raise
an exception when "class Foo::Bar" is evaluated and Foo::Bar is
  private.  To implement this, define_type of "defineclass" is added
  so that the instruction can distinguish whether the class definition
  is scoped (class Foo::Bar) or not (class Bar).

* test/ruby/test_class.rb (test_redefine_private_class),
  test/ruby/test_module.rb
  (test_define_module_under_private_constant): add tests for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 17:57:34 +00:00
mame
f0483c494f * constant.h, variable.c: to ensure compatibility, rb_const_get_* must
not raise an exception even when the constant is private.  Instead,
  rb_public_const_get_* and rb_public_const_defined_* are introduced,
  which raise an exception when the referring constant is private.
  see [ruby-core:32912].

* vm_insnhelper.c (vm_get_ev_const): use rb_public_const_get_* instead
  of rb_const_get_* to follow the constant visibility when user code
  refers a constant.

* test/ruby/test_marshal.rb (test_marshal_private_class): add a test.
  This test had failed because of incompatibility of rb_const_get.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 17:57:27 +00:00
svn
a79ff4c7d8 * 2011-01-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 17:57:20 +00:00
mame
b9a1e36c15 * variable.c (set_const_visibility): fix typo. a patch from Tomoyuki
Chikanaga in [ruby-core:32919].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 17:57:19 +00:00
kosaki
77a7137c4b * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create,
TestGDBM2#test_writer_open_notexist): We only need to skip libgdbm 1.8.0,
	not all 1.8.x. 1.8.1 or later don't have GDBM_WRITER sickness.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 14:23:04 +00:00
kosaki
cb96213fad * ext/dbm/extconf.rb: Added new header places for Fedora13.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 12:58:15 +00:00
akr
f6de1a3f00 * ext/zlib/zlib.c: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 12:49:53 +00:00
kosaki
3a0ec68109 * test/gdbm/test_gdbm.rb (TestGDBM2#test_writer_open_notexist):
gdbm 1.8.x changed GDBM::WRITER behavior. Thus our testcase need
	  to be changed too.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 08:50:18 +00:00
kosaki
36f71db31e * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create): skip
the test if gdbm version is 1.8.x.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 08:36:46 +00:00
kosaki
a3d861ef2f * test/ruby/test_require.rb (TestRequire#test_require_too_long_filename):
Added -w option because too long path error don't output a message
	  by default since r30660. [Bug #4336] [ruby-dev:43134]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 07:31:44 +00:00
kosaki
bacc7e6a42 * test/ruby/test_require.rb (TestRequire#test_require_path_home_{1,2}):
Added -w option because too long path error don't output a message
	  by default since r30660. [Bug #4336] [ruby-dev:43134]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 07:21:38 +00:00
kosaki
6526985522 remove unnecessary local variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 07:13:49 +00:00
kosaki
29422e5d31 * test/ruby/test_require.rb (TestRequire#test_require_path_home_{1,2,3}):
split from test_require_path_home.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 07:06:48 +00:00
kosaki
aea93cbed8 * configure.in (--with-valgrind): Fixed r29683. Now this option
is really default on.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 04:05:23 +00:00
kosaki
e5971e8c7e We don't only need to change "struct stat.st_size" test, but also
need to change "struct stat.st_blocks" test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 03:12:32 +00:00
kosaki
cb1366b48f * configure.in: Add #include<sys/stat.h> when struct stat is
tested. Otherwise, incomplete type dereference error will occur.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 03:07:23 +00:00
kosaki
39473b88a9 * configure.in: redundant variable names made strange conftest
error. Fixed it.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 02:57:21 +00:00
usa
d4f8142d18 * test/ruby/test_process.rb (TestProcess#test_too_long_path{,2}):
should handle Errno::E2BIG, because this test checks crash of ruby,
  not the error type system.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 02:48:46 +00:00
kosaki
4afa5fead8 * io.c (rb_io_open): Use NUM2MODET() instead NUM2UINT().
* io.c (rb_scan_open_args): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 02:23:58 +00:00
kosaki
92c1dfd9d2 * configure.in: Added mode_t type checking.
* process.c (rb_exec_arg_addopt): Use NUM2MODET() instead
	  NUM2LONG because clang makes compile error by this narrowing
	  conversion.
	* process.c (rb_run_exec_options_err): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 02:00:08 +00:00
kosaki
58da04b398 * re.c (rb_reg_raise): add GC guard to prevent intermediate
variable from GC.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 17:37:30 +00:00
kosaki
1e60af4d67 * hash.c (rb_hash_fetch_m): add GC guard to prevent intermediate
variable from GC.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 17:36:32 +00:00
kosaki
41bbb319dd * test/ruby/test_process.rb (TestProcess#test_too_long_path)
TestProcess#test_too_long_path): Reduced string size from 100MB
	  to 10MB. 100MB may cause no memory error. It isn't intended.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 16:36:21 +00:00
svn
7bae5dd370 * 2011-01-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 16:33:24 +00:00
kosaki
6c2b2c2853 * test/ruby/test_process.rb (TestProcess#test_too_long_path2):
Factored out from test_too_long_path. A test should only do
	  one test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 16:33:23 +00:00
nobu
4a42b101a9 * st.c (st_foreach): check if unpacked.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 14:30:00 +00:00
nobu
c5b45d252a * misc/ruby-mode.el (ruby-mode-map): remove deprecated binding.
use M-; instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 14:14:24 +00:00
kosaki
5a00a61681 * bignum.c (rb_str_to_inum): get rid of too huge alloca().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 12:58:44 +00:00
kosaki
ac0178910e * object.c (rb_str_to_dbl): rewrite again. use ALLOCV instead
rb_str_tmp_new().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 12:46:30 +00:00
kosaki
8d397b77ea * win32/win32.c: get rid of STRNDUPA(). It's dangerous API.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 12:42:45 +00:00
kosaki
2529d2c38d * win32/win32.c (rb_w32_aspawn): get rid of too huge alloca().
[Bug #4330] [ruby-core:34898]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 12:33:57 +00:00
kosaki
f7fb66bd35 * win32/win32.c (rb_w32_spawn): get rid of too huge alloca().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 11:31:48 +00:00
kosaki
ab720532ef * win32/win32.c (open_dir_handle): get rid of too huge alloca().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 09:50:30 +00:00
kosaki
18c11392af * file.c (w32_io_info): get rid of too huge alloca().
[Bug #4313] [ruby-core:34830]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 09:35:56 +00:00
kosaki
21931d6aa2 * win32/win32.c (wstati64): get rid of too huge alloca().
[Bug #4316] [ruby-core:34834]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 09:21:40 +00:00
usa
11c5daa698 * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): fixed previous commit. sorry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 06:21:40 +00:00
usa
98929a2dfd * win32/win32.c (rb_w32_spawn, rb_w32_aspawn): get rid of too huge
alloca(). this is the real fix of [ruby-core:34833].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 06:12:48 +00:00
nobu
fa57e46896 * process.c (ALLOC_ARGV_WITH_STR): fix void pointer arithmetic.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 03:46:44 +00:00
nobu
beec203a1d * process.c (proc_exec_v, rb_proc_exec_n, rb_proc_exec)
(proc_spawn_n, proc_spawn): get rid of too huge alloca().
  [ruby-core:34827], [ruby-core:34833]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26 23:41:47 +00:00
nobu
8489ac41ca * include/ruby/ruby.h (ALLOCV): new API for exception-safe
temporary buffer.  [ruby-core:34844]
* string.c (rb_alloc_tmp_buffer, rb_free_tmp_buffer):
  implementation of the API.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26 23:32:22 +00:00
nobu
d6eb807878 * dln_find.c (dln_find_1): use rb_warning and return immediately
if fname is longer than buffer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26 23:22:54 +00:00
nagachika
c8e5ba0e84 * class.c (clone_method): add GC guard to prevent intermediate
variable from GC. [Bug #4321] [ruby-dev:43107]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26 13:59:20 +00:00
akr
de4c25a001 * template/id.h.tmpl: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26 13:45:42 +00:00
nagachika
ab083dc640 * vm_eval.c (rb_throw_obj): add GC guard to prevent intermediate
variable from GC. [Bug #4322] [ruby-dev:43108]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26 13:34:20 +00:00
nahi
0522ffd51f * ext/openssl/ossl_asn1.c (ossl_asn1_decode0): OpenSSL::ASN1.decode
should reject indefinite length primitive encodings as that is
          illegal. Patch by Martin Bosslet. See #4324.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26 08:17:01 +00:00