Commit graph

6735 commits

Author SHA1 Message Date
marcandre
1af390b1ea * enumerator.c: Optimize Lazy#zip when passed only arrays
[Bug #7706]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-24 07:05:42 +00:00
marcandre
41d6ba8765 * enumerator.c: Fix state handling for Lazy#zip
[bug #7696] [bug #7691]

* test/ruby/test_lazy_enumerator.rb: test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-24 06:24:22 +00:00
marcandre
9d94a1a5a1 * enumerator.c: Fix state handling for Lazy#drop
[bug #7696] [bug #7691]

* test/ruby/test_lazy_enumerator.rb: test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-24 06:23:42 +00:00
marcandre
bcbeb5d008 * enumerator.c: Fix state handling for Lazy#drop_while
[bug #7696] [bug #7691]

* test/ruby/test_lazy_enumerator.rb: test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-24 06:23:07 +00:00
marcandre
de0e887635 * enumerator.c: Fix state handling for Lazy#take
[bug #7696]

* test/ruby/test_lazy_enumerator.rb: test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-24 06:22:34 +00:00
nobu
894f6ba7f1 mkmf.rb: large unsigned
* lib/mkmf.rb (MakeMakefile#try_constant): fix for large unsigned.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 07:18:06 +00:00
nobu
5d223fabb7 mkmf.rb: larger constants
* lib/mkmf.rb (MakeMakefile#try_constant): fix for larger constants.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 07:18:01 +00:00
nobu
e8c229510e mkmf.rb: try_constant tests
* test/mkmf/test_constant.rb: tests for try_constant.
  TODO: define check_constant and use it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 07:16:16 +00:00
drbrain
5864dbc9f1 * lib/rdoc/servlet.rb: Fixed display of site and home documentation.
Fixes rdoc issue #170 by Thomas Leitner.
* test/rdoc/test_rdoc_servlet.rb:  Test for above.

* lib/rdoc/code_object.rb:  Split #initialize_visibility from
  #initialize for reuse when loading a stored object.
  Fixes rdoc issue #171 by Thomas Leitner.

* lib/rdoc/any_method.rb:  Initialize visibility for #display?  For
  rdoc issue #171
* lib/rdoc/attr.rb:  ditto.
* lib/rdoc/class_module.rb:  ditto.
* lib/rdoc/top_level.rb:  ditto.
* test/rdoc/test_rdoc_any_method.rb:  Test for above.
* test/rdoc/test_rdoc_attr.rb:  ditto.
* test/rdoc/test_rdoc_class_module.rb:  ditto.
* test/rdoc/test_rdoc_constant.rb:  ditto.
* test/rdoc/test_rdoc_top_level.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 01:02:24 +00:00
naruse
b536e31faa Sync output message
* sync $stdout to ensure outputting on expected SEGV.
  this caused failure:
  20130121T230101Z.log.html.gz
* check result of invoke_ruby
* use assert_operator

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-22 02:35:48 +00:00
nobu
c7d3039187 test_have_macro.rb: unused variables
* test/mkmf/test_have_macro.rb (test_have_macro_header),
  (test_not_have_macro_header): remove unused variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-21 04:53:43 +00:00
nobu
51e5863aa8 test_logger.rb: uset tmpfile
* test/logger/test_logger.rb (TestLogDevice#test_shifting_size):
  should not create working file in the current directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-20 13:25:58 +00:00
nobu
8208e9872a test_parser.rb: tempfile
* test/rss/test_parser.rb (RSS::TestParser#setup): use temporary file,
  should not use fixed path working files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-20 01:19:44 +00:00
kou
aaff971e01 * lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Remove
.time dependency from *.rb install target. It causes needless
  *.rb install. [Bug #7698] [ruby-core:51437]
  Reported by Tadashi Saito. Thanks!!!
* test/rubygems/test_gem_installer.rb
  (TestGemInstaller#test_install_extension_and_script): Add a test
  for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-17 13:20:12 +00:00
drbrain
219e156687 * lib/rubygems/installer.rb: Untaint string when checking output
for $SAFE=1

	* lib/rubygems/specification.rb:  Keep previously loaded specs as
	  active.  This prevents double loading when refreshing the gem list.
	* test/rubygems/test_gem.rb:  Test for above

	* lib/rubygems.rb:  Bump version to 2.0.0.rc.2


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-17 00:37:28 +00:00
nobu
0c61c3b67b win32ole.rb: use TracePoint
* ext/win32ole/lib/win32ole.rb: use TracePoint to hook all thread
  creation not only by Thread.new and to get rid of interference with
  svar scope.  [Bug #7681] [ruby-core:51365]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-16 09:45:48 +00:00
naruse
063cdaeddc Remove commenting out tests introduced by r38478
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-16 05:30:20 +00:00
marcandre
8892cc5a8f * test_lazy_enumerator: Test that map & flat_map also require a block
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-15 01:40:29 +00:00
drbrain
c8633294c6 * lib/rdoc/top_level.rb: Fixed extension trimming for page names in
RDoc HTML output.  [ruby-trunk - Bug #7673]
* test/rdoc/test_rdoc_top_level.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-14 22:43:21 +00:00
shugo
7dd52f895f * enumerator.c (lazy_flat_map_func): flat_map should call each only
when the value of a block returns a forcable object.
  [ruby-core:51401] [Bug #7690]

* enumerator.c (lazy_flat_map): add documentation.

* test/ruby/test_lazy_enumerator.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-14 08:36:15 +00:00
marcandre
8ca504214d * enumerator.c: Require block for Lazy#{take|drop}_while [Bug #7692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-14 07:42:43 +00:00
marcandre
62e67609b6 * enumerator.c: Fix size for Enumerator::Lazy#flat_map
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-14 01:19:12 +00:00
naruse
b44ac42335 * regparse.c (add_ctype_to_cc): don't check dup warn on adding
negative ctype to cclass. [Bug #7471] [ruby-core:50344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-13 21:51:37 +00:00
mrkn
dc2182aab8 * ext/bigdecimal/bigdecimal.c (BigDecimal_sub):
need to specify precision for converting Rational and Float.
  [ruby-dev:46544] [Bug #7404]

* ext/bigdecimal/bigdecimal.c (BigDecimal_mult): ditto.

* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): ditto.

* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): ditto.

* ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto.

* test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-13 06:15:37 +00:00
tenderlove
0a60805af5 * ext/psych/lib/psych/visitors/to_ruby.rb: merge key values that
contain something besides a hash should be left in tact.

* test/psych/test_merge_keys.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-12 00:00:12 +00:00
suke
92a7da1900 * ext/win32ole/win32ole.c (ole_set_byref): support VT_UI8|VT_BYREF,
VT_I8|VT_BYREF in cygwin and mingw.
	  
* ext/win32ole/win32ole.c (ole_variant2val): ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_with_i8_byref):
  ditto.

* test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11 22:59:51 +00:00
usa
ffe2c179e4 * test/io/wait/test_io_wait.rb (TestIOWait#test_wait_writable_timeout): give
OS more time to clean up the file descriptor.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11 07:11:54 +00:00
shugo
bb54d0ae4c * insns.def (defineclass): private constants should not be accessed
by scoped module definitions.  The bug was introduced in r38495.

* test/ruby/test_module.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11 00:58:08 +00:00
shugo
4707fdea01 * vm_insnhelper.c (vm_search_super_method): raise a TypeError
instead of a NotImplementError if self is not an instance of the
  current class.  [ruby-dev:39772] [Bug #2402]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-10 07:51:35 +00:00
tenderlove
b104e2524d * ext/psych/lib/psych/scalar_scanner.rb: strip trailing dots from
floats so that Float() will not raise an exception.

* test/psych/test_numeric.rb: test to ensure "1." can be loaded

* test/psych/test_string.rb: make sure "1." can round trip

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 19:26:45 +00:00
tenderlove
ac8b1869c0 * ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings
will be dumped as unicode.  Thanks Paul Kunysch!

* test/psych/test_string.rb: appropriate test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 19:26:36 +00:00
nobu
f608b1b8dc test_flip.rb: flip-flop shared by threads
* test/ruby/test_flip.rb (TestFlip#test_shared_thread): flip-flop
  should be separated per threads

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 05:32:33 +00:00
naruse
193e1fc810 Add RUBYOPT=>nil to avoid false negative
add RUBYOPT=nil to suppress circular require warnings to avoid false negative
with stderr assertion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 04:56:34 +00:00
glass
1ff3e23fe8 * test/ruby/test_require.rb: improve test for r38744.
fix to use Tempfile instead of temporary file in current directory.
  the patch is from nobu (Nobuyoshi Nakada).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 04:26:15 +00:00
glass
bc0577c6c8 * load.c (load_lock): fix not to delete thread shield twice.
it may break the shield locked by another thread.
  [Bug #7530] [ruby-core:50645]

* test/ruby/test_require.rb: a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 00:59:30 +00:00
nobu
69b716111f vm_core.h: flip_cnt in rb_iseq_t
* vm_core.h (rb_iseq_t): move flip_cnt from struct iseq_compile_data,
  because it has same life span as enclosing iseq.  [Bug #7671]
  [ruby-core:51296]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-08 05:41:44 +00:00
mrkn
1be6a498ba * ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal):
add RB_GC_GUARD to prevent the immediate object is GCed too early.
  This patch was made by Yusuke Endoh.  [Bug #7044] [ruby-core:47632]

* test/bigdecimal/test_bigdecimal.rb: add a reproduction test for
  the issue [Bug #7044]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 14:42:52 +00:00
shugo
19768b6cac * vm_method.c (Init_eval_method): main.public and main.private
should be private.

* proc.c (Init_Proc): main.define_method should be private.

* test/ruby/test_module.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 12:42:48 +00:00
shugo
4722c20661 * eval.c (Init_eval): main.include should be private.
[ruby-core:51293] [Bug #7670]

* test/ruby/test_module.rb (test_top_include_is_private): a new test
  for the above change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 11:55:17 +00:00
shugo
9cadf0c039 * eval.c (Init_eval): enable Refinements by default.
[ruby-core:51286] [Bug #7667]

* eval.c (rb_mod_refine, top_using): show a warning when
  Module#refine or main.using is called at the first time.

* ext/refinement/*: removed the extension library "refinement".

* test/ruby/test_refinement.rb: fix for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 11:22:31 +00:00
nobu
80ad3e2a43 test_syntax.rb: assert_not_label
* test/ruby/test_syntax.rb (TestSyntax#assert_not_label): need to eval
  in the current binding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 07:50:27 +00:00
nobu
e489dc1ff4 parse.y: bare kwrest_mark
* parse.y (f_kwrest): allow bare kwrest_mark as valid syntax.  its
  semantics is still undefined.  [Bug #7662] [ruby-core:51269]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 06:42:13 +00:00
nobu
38da1a5398 parse.y: duplicated kwrest name
* parse.y (f_kwrest): reject duplicated kwrest argument name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 06:32:01 +00:00
nobu
86c0eae56e envutil.rb: assert_syntax_error
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_syntax_error):
  new assertion for syntax error and error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 06:29:48 +00:00
nobu
5551307dd3 envutil.rb: optional fname
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_valid_syntax):
  make fname optional for inline source.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 06:29:44 +00:00
ko1
b8e6fd6ffe * vm_trace.c (rb_threadptr_exec_event_hooks_orig): pop tag before
JUMP_TAG() if frame is `finish' frame.
  Without this patch, there is an inconsistency between control
  frame stack and tags stack.
  [Bug #7668]
* test/ruby/test_settracefunc.rb: add a test for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 06:24:46 +00:00
nobu
8f1be27017 vm_insnhelper.c: keyrest should not overwrite rest arg
* vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args):
  set keyrest hash after making rest array, so that the last element
  will not be overwritten.  [ruby-core:51278] [Bug #7665]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 03:09:28 +00:00
naruse
bd7184b866 Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-05 15:04:46 +00:00
glass
3b983407ef * string.c (rb_str_enumerate_lines): fix invalid byte sequence error
when a separator is passed. The patch is from yoshidam (Yoshida
  Masato).
  [Bug #7646] [ruby-dev:46827]

* test/ruby/test_string.rb: a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-05 04:45:32 +00:00
nobu
3caea6b6a2 envutil.rb: check stdout and stderr
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):
  check stdout and stderr both.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-05 03:25:44 +00:00