Commit graph

29857 commits

Author SHA1 Message Date
mame
412b023742 * range.c (range_bsearch): fix some bugs: a documentation bug, a wrong
condition, missed break in switch/case, and workaround for GCC
  optimization. See [ruby-core:49364] in detail.  A great patch from
  Heesob Park. [Bug #7352] [Feature #4766]

* array.c (rb_ary_bsearch): fix similar bug (missed break).

* test/ruby/test_range.rb: add two test cases for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-15 13:50:55 +00:00
ko1
768801b020 * vm_exec.h (GENTRY): GENTRY should be pointer size.
A patch by yoshidam (Yoshida Masato) [Bug #7332].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-15 13:42:27 +00:00
zzak
5457b86aaf * man/erb.1: Fix grammar and copyright dates
* man/goruby.1: ditto
* man/irb.1: ditto
* man/rake.1: ditto
* man/ri.1: ditto
* man/ruby.1: ditto
  Patch by Arthur Gunn
  [Fixes Github #210]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-15 04:22:44 +00:00
zzak
81d71fee9b * man/ruby.1: Grammar edits for man page
Based on a patch by Michael Endsley [Fixes Github #183]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-15 02:37:05 +00:00
svn
5c30ce373f * 2012-11-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-14 16:03:04 +00:00
mame
de07850e47 * array.c (rb_ary_bsearch): add Array#bsearch for binary search.
[ruby-core:36390] [Feature #4766]

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

* range.c (range_bsearch): add Range#bsearch for binary search.
  [ruby-core:36390] [Feature #4766]

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

* NEWS: added the two new methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-14 15:53:50 +00:00
zzak
c8b0b5362c * lib/fileutils.rb (chmod): Add "X" to modes, convert format to table
[ruby-core:48965] [Bug #7288]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-14 04:26:20 +00:00
zzak
a4b0291fcb * lib/csv.rb (init_comments): Document private method #init_comments.
Based on a patch from Vincent Batts [ruby-core:49172] [Bug #7319]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-14 02:53:02 +00:00
svn
5de3acdcd8 * 2012-11-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 15:56:30 +00:00
mrkn
3dd13a1c07 * Makefile.in (probes.h): create from probes.d
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 15:56:23 +00:00
ko1
0c1682b304 * vm_insnhelper.c (vm_call_cfunc_with_frame): don't use ci after
EXEC_EVENT_HOOK because ci can be overridden.
* vm_eval.c: ditto.
* method.h: change invoker's parameters types.
* vm_method.c (call_cfunc_invoker_func): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 09:48:08 +00:00
shugo
684aa1f985 * eval.c (rb_mod_using): raise an ArgumentError if cyclic using is
detected.  based on the patch by Charlie Somerville.
  [ruby-core:49092] Bug #7308

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 09:05:18 +00:00
naruse
e7659bd2fd Define dtrace test classes only when dtrace exists
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 08:52:34 +00:00
naruse
bd5b2cb617 * common.mk (vm_insnhelper.c): this target is useless and causes
ruby always need rebuild.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 08:41:11 +00:00
ko1
1619c02dd3 * compile.c (insn_data_to_s_detail): remove debug lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 08:36:42 +00:00
ko1
0d6c9accd7 fix ChangeLog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 08:35:22 +00:00
ko1
ffd3cbdc75 * vm_insnhelper.c (vm_caller_setup_args): save and restore
ci->argc and ci->blockptr before and after method invocations
  because these method dispatches override call_info.
* bootstraptest/test_method.rb: add tests for this fix.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 08:34:43 +00:00
naruse
db31b3dad5 * common.mk (dmyprobes.h): always create for make dist.
* Makefile.in (probes.h): create or copy dmyprobes.h

* win32/Makefile.sub: only do copy dmyprobes.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 07:49:09 +00:00
naruse
d8aaa43074 * Makefile.in (.SUFFIX): .SUFFIX is needed here for .d.h on bsd make.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:38:08 +00:00
usa
aec93c2283 * common.mk Makefile.in win32/Makefile.sub (.d.h): it's not common.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:35:30 +00:00
nobu
864d96066d * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:14:44 +00:00
naruse
f82d652f35 Fix dtrace commit r37631, it is [Feature #2565]
* configure.in: disable dtrace because it doesn't work on FreeBSD.

* common.mk (clean-local): rm probes.h.

* common.mk (parse.o): depend $(PROBES_H_INCLUDES).

* common.mk (.d.h): moved from Makefile.in and use BASERUBY.

* tool/gen_dummy_probes.rb: reimplemented with ruby because sed is not
  available on Windows Microsoft VC++ environment.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 06:13:39 +00:00
usa
8e72bb717a * win32/README.win32: added mention about build directory. currently
we can not build ruby in win32 directory.  this problem is reported
  by Masahiro Kitajima <katonbo@katontech.com>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 03:32:06 +00:00
glass
c5b19cf01c * re.c (rb_memsearch_ss): performance improvement by using memmem(3) if
possible. [ruby-dev:45530] [Feature #6311]

* configure.in: check existence of memmem(3) and that it is not broken.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 02:12:40 +00:00
kazu
d24e2d746f add probes.h to svn:ignore and sort .gitignore
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-13 00:44:12 +00:00
nobu
a5501072fc * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 21:52:33 +00:00
tenderlove
4c740bae97 * probes.d: add DTrace probe declarations. [ruby-core:27448]
* array.c (empty_ary_alloc, ary_new): added array create DTrace probe.

* compile.c (rb_insns_name): allowing DTrace probes to access
  instruction sequence name.

* Makefile.in: translate probes.d file to appropriate header file.

* common.mk: declare dependencies on the DTrace header.

* configure.in: add a test for existence of DTrace.

* eval.c (setup_exception): add a probe for when an exception is
  raised.

* gc.c: Add DTrace probes for mark begin and end, and sweep begin and
  end.

* hash.c (empty_hash_alloc): Add a probe for hash allocation.

* insns.def: Add probes for function entry and return.

* internal.h: function declaration for compile.c change.

* load.c (rb_f_load): add probes for `load` entry and exit, require
  entry and exit, and wrapping search_required for load path search.

* object.c (rb_obj_alloc): added a probe for general object creation.

* parse.y (yycompile0): added a probe around parse and compile phase.

* string.c (empty_str_alloc, str_new): DTrace probes for string
  allocation.

* test/dtrace/*: tests for DTrace probes.

* vm.c (vm_invoke_proc): add probes for function return on exception
  raise, hash create, and instruction sequence execution.

* vm_core.h: add probe declarations for function entry and exit.

* vm_dump.c: add probes header file.

* vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on
  function entry and return.

* vm_exec.c: expose instruction number to instruction name function.

* vm_insnshelper.c: add function entry and exit probes for cfunc
  methods.

* vm_insnhelper.h: vm usage information is always collected, so
  uncomment the functions.

12 19:14:50 2012  Akinori MUSHA  <knu@iDaemons.org>

* configure.in (isinf, isnan): isinf() and isnan() are macros on
  DragonFly which cannot be found by AC_REPLACE_FUNCS().  This
  workaround enforces the fact that they exist on DragonFly.

12 15:59:38 2012  Shugo Maeda  <shugo@ruby-lang.org>

* vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo),
  vm_insnhelper.c (vm_search_method): revert r37616 because it's too
  slow.  [ruby-dev:46477]

* test/ruby/test_refinement.rb (test_inline_method_cache): skip
  the test until the bug is fixed efficiently.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 21:52:12 +00:00
svn
25f64fc62c * 2012-11-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 15:37:34 +00:00
kazu
9900da041c fix typos
"garbage" (noun) is uncountable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 15:37:30 +00:00
knu
e34f508775 Fix build on DragonFly where configure fails to detect isinf()/isnan().
* configure.in (isinf, isnan): isinf() and isnan() are macros on
  DragonFly which cannot be found by AC_REPLACE_FUNCS().  This
  workaround enforces the fact that they exist on DragonFly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 10:26:28 +00:00
shugo
afdfbde4e7 * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo),
vm_insnhelper.c (vm_search_method): revert r37616 because it's too
  slow.  [ruby-dev:46477]

* test/ruby/test_refinement.rb (test_inline_method_cache): skip
  the test until the bug is fixed efficiently.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 07:00:12 +00:00
svn
6483a1057a * 2012-11-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 05:30:00 +00:00
usa
198b740019 * win32/mkexports.rb (each_export): skip garbages generated by VS2012's
nmake.
  reported and patched by Yoshida Masato at [Bug #7333] [ruby-dev:46484]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-12 05:29:52 +00:00
tadf
cb9beafd11 * test/date/test_date_{parse,strptime}.rb: changed the format of
some extra messages.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 10:02:32 +00:00
tadf
8defbc442b * ext/date/date_parse.c (date__parse): revised the tight parser
(about handling of apostrophes).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 09:45:44 +00:00
naruse
64757d284a glibc 2.16 or later denies salt contained other than [0-9A-Za-z./] [Bug #7312]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 08:15:53 +00:00
nobu
5051186a0b hash.c: warn for wrong elements
* hash.c (rb_hash_s_create): just warn for wrong elements now.
  [ruby-dev:46440] [Bug #7300]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 06:39:08 +00:00
nobu
5a5a86cc52 hash.c: refine error messages
* hash.c (rb_hash_s_create): refine error messages.
* error.c (rb_builtin_class_name): share for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 06:38:17 +00:00
shugo
10ba3bdd53 * eval.c (top_using): remove Kernel#using, and add main.using instead.
* test/ruby/test_refinement.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 06:14:16 +00:00
shugo
b0c8aeeb9c * eval.c (rb_using_refinement, rb_mod_using, f_using): clear method
cache only when using is called explicitly.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 04:45:31 +00:00
glass
fc4b6cd25f * lib/pstore.rb (PStore): fix not to replace ThreadError raised in
#transaction block with PStore::Error.
  [ruby-core:39238] [Bug #5269]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 04:23:04 +00:00
shugo
ba5ea548ce * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo):
add a new field for inline method cache.

* vm_insnhelper.c (vm_search_method): check rb_call_info_t::refinements
  not to confuse inline method cache when module_eval is used with
  refinements.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-11 02:42:04 +00:00
duerst
35020e355c ruby.c: removed a comma before "before"
(at Tamatsukuri Hot Spring (Onsen Hackathon))

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 23:47:45 +00:00
svn
c274c95159 * 2012-11-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 15:04:32 +00:00
nari
8a9097e83c * gc.c: move immutable fields from struct heaps_slot and struct
sorted_heaps_slot into struct heaps_header.
  Based on a patch from Sokolov Yura [Feature #6199][ruby-core:43592]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 15:04:27 +00:00
tadf
59050cbafa typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 10:34:40 +00:00
tadf
e864787c84 * complex.c: modified doc.
* ratioanl.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 10:29:13 +00:00
tadf
b04aa4d2cf * ext/date/date_parse.c: edited about era.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 09:21:41 +00:00
marcandre
52c50bf5f5 Revert of 37541 "* test/ruby/test_enumerator.rb: Add test to shed light upon the bug"
[#7298]
This reverts commit 0ab21f9572.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 04:03:30 +00:00
kou
e91c04e2e9 * tool/rbinstall.rb: Don't install *.gemspec under lib/.
[ruby-core:48966] [Bug #7289]
  Reported by Vit Ondruch. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-10 03:15:55 +00:00