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

34848 Коммитов

Автор SHA1 Сообщение Дата
svn 152b33a1e2 * 2014-03-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-22 23:34:26 +00:00
normal ef59670a44 st.c: use power-of-two sizes to avoid slow modulo ops
* st.c (hash_pos): use bitwise AND to avoid slow modulo op
  (new_size): power-of-two sizes for hash_pos change
  (st_numhash): adjust for common keys due to lack of prime modulo
  [Feature #9425]
* hash.c (rb_any_hash): right shift for symbols
* benchmark/bm_hash_aref_miss.rb: added to show improvement
* benchmark/bm_hash_aref_sym_long.rb: ditto
* benchmark/bm_hash_aref_str.rb: ditto
* benchmark/bm_hash_aref_sym.rb: ditto
* benchmark/bm_hash_ident_num.rb: added to prevent regression
* benchmark/bm_hash_ident_obj.rb: ditto
* benchmark/bm_hash_ident_str.rb: ditto
* benchmark/bm_hash_ident_sym.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-22 23:34:21 +00:00
naruse 14c9cf885c * addr2line.c (fill_lines): compare the file names of object in which
symbols exist. [Bug #9654] [ruby-dev:48058]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-22 14:06:11 +00:00
nobu af1da410ca cgi/util.rb: use alias
* lib/cgi/util.rb (escape_html, unescape_html): make synonyms
  aliases instead of wrapper methods.
* lib/cgi/util.rb (escape_element, unescape_element): ditto.
  [Fixes GH-573]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 21:46:17 +00:00
svn 6ea03277b1 * 2014-03-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 21:46:08 +00:00
nobu 993fd53616 test_cgi_util.rb: escape for ruby-mode.el
* test/cgi/test_cgi_util.rb (CGIUtilTest): escape '<' not
  ruby-mode.el to confuse with here documents.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 21:46:04 +00:00
knu cc4271c955 Fix a build problem with clang and --with-opt-dir.
* configure.in: Fix a build problem with clang and --with-opt-dir.
  If ruby is configured with --with-opt-dir=dir when using clang
  as compiler, a warning `clang: warning: argument unused during
  compilation: '-I dir'` is emitted almost every time clang
  compiles a file.  Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes
  any output from the compiler as fatal error, and the check thus
  fails due to the warning.  This is an attempt to fix the problem
  by adding a flag -Qunused-arguments to CFLAGS locally in the
  function to suppress the warning. [ruby-dev:48062] [Bug #9658]
  [Fixes GH-571] https://github.com/ruby/ruby/pull/571

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 12:59:08 +00:00
zzak 27b9d591a5 * gc.c: [DOC] Fix call-seq for GC.start by @jasonrclark [Fixes GH-572]
https://github.com/ruby/ruby/pull/572 [ci skip]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 07:33:03 +00:00
svn 6bb471a2fb * 2014-03-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 00:45:57 +00:00
hsbt cbf4eca61e * complax.c: [DOC] Document number conversion of `nil` by @skade [fix GH-570] [ci skip]
* object.c, rational.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 00:45:52 +00:00
jeg2 3fb752a921 * lib/csv.rb: Fixed a broken regular expression that was causing
CSV to miss escaping some special meaning characters when used
  in parsing.
  Reported by David Unric
  [ruby-core:54986] [Bug #8405]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 14:38:21 +00:00
ko1 3e20c50d50 * gc.c (objspace_malloc_increase): should not invoke
garbage_collect_with_gvl() here on non-ruby threads.
  Should just ignore the malloc_increase.
  This issue is pointed by Eric Wong [ruby-core:61519].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 08:05:35 +00:00
ko1 c813697d97 * struct.c (rb_struct_alloc): use RARRAY_CONST_PTR() instead of
RARRAY_PTR().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 04:06:27 +00:00
ko1 53bd4502d8 * include/ruby/intern.h (rb_obj_call_init, rb_class_new_instance):
constify a parameter (VALUE *).
  I believe this incompatibility doesn't break any code.
  However, if you have trouble, please tell us.
* eval.c, object.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 04:03:11 +00:00
nobu 3453070fbc vm_method.c: fix infinite recursion
* vm_method.c (rb_method_entry_get_without_cache): get rid of
  infinite recursion at aliases in a subclass and a superclass.
  return actually defined class for other than singleton class.
  [ruby-core:60431] [Bug #9475]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 03:31:28 +00:00
svn af723ec847 * 2014-03-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 03:21:58 +00:00
nobu 3981d60ba2 dl/extconf.rb: check for -fno-defer-pop option
* ext/dl/extconf.rb: check for -fno-defer-pop option, since clang
  5.1 no longer support -fno-defer-pop option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-20 03:21:52 +00:00
normal e0a0edf548 time.c: freeze and preserve marshal-loaded time zone
We need to prevent vtm.zone from pointing to a GC-ed string buffer.
The rb_copy_generic_ivar call misses it because get_attr deleted it.
Thanks to nobu for the rb_str_new_frozen suggestion.

* time.c (time_mload): freeze and preserve marshal-loaded time zone
* test/ruby/test_time.rb: add test for GC on loaded object
  [Bug #9652]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-19 08:19:13 +00:00
svn 5f00b99975 * 2014-03-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-19 00:42:29 +00:00
nobu 3dfe270fe3 .gdbinit: super moved
* .gdbinit (rb_method_entry, rb_ancestors): `super` moved to
  RClass from rb_classext_t since r44294.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-19 00:42:26 +00:00
sorah 524817bb0b * vm_eval.c (eval_string_with_cref): Unify to use NIL_P.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-18 14:22:23 +00:00
sorah 55a9667de3 * vm_eval.c (eval_string_with_cref): Use file path even if scope is
given. Related to [ruby-core:56099] [Bug #8662] and r42103.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-18 14:06:34 +00:00
svn 9d1279b8e0 * 2014-03-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-18 09:28:48 +00:00
kazu 7088bef330 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-18 09:28:44 +00:00
nobu d64ba37ad0 process.c: constify
* process.c (rb_execarg_new, rb_execarg_init): constify argv.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 08:21:47 +00:00
nobu d90075cb10 json/parser/prereq.mk: use enum
* ext/json/parser/prereq.mk (parser.c): use `enum` instead of
  `static const int` to get rid of unused-const-variable warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 04:57:19 +00:00
nobu 77f3da02a0 complex.c: remove f_inspect and f_to_s
* complex.c (nucomp_to_s): use rb_String.

* complex.c (nucomp_inspect): use rb_inspect.

* complex.c: use PRIsVALUE flag not to use an intermediate string
  which can be collected by GC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 04:57:17 +00:00
nobu 6224216294 unused functions and variables
* complex.c, rational.c: remove unused functions, which are warned
  by clang 5.1, and also variables only used by removed functions.

* ext/date/date_core.c: ditto.

* enc/utf_16be.c, enc/utf_16le.c: comment out constants only used
  by commented out functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 04:57:14 +00:00
ko1 57e557908a * enumerator.c (enumerator_block_call): use PARRAY_CONST_PTR()
instead of RARRAY_PTR().
* io.c (rb_io_s_popen): ditto.
* numeric.c (num_step_size): ditto.
* vm_eval.c (rb_apply): ditto.
* vm_eval.c (rb_eval_cmd): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 04:20:16 +00:00
nobu 664ee1a89f configure.in: default os_version_style
* configure.in (os_version_style): get default style from
  `/usr/bin/ruby` if possible.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 04:05:32 +00:00
svn c7e88f76b1 * 2014-03-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 01:24:10 +00:00
normal 3e6fe414d8 variable.c: avoid memory leak on const redefinition
* variable.c (rb_const_set): delete existing entry on redefinition
  [Bug #9645]
* test/ruby/test_const.rb (test_redefinition): test for leak

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 01:24:06 +00:00
zzak 2be728c45f * lib/time.rb: [DOC] Fix timezone in example of Time.parse [Bug #9521]
Based on patch by @stomar [ci skip]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-16 12:34:34 +00:00
nobu a1bb379726 configure.in: insert a space for non-GCC
* configure.in (DLDFLAGS): insert a space between option and its
  argument for non-GCC compilers.  [ruby-core:61429] [Bug #9624]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-16 04:21:48 +00:00
normal f5c2e89cd4 gc.c (objspace_xcalloc): fix GC accounting
This hopefully works on all platforms with malloc_usable_size.
This may also trigger bugs in places which did not expect GC, too;
so maybe some existing code will need RB_GC_GUARD.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 23:06:32 +00:00
naruse 356644685e * addr2line.c (fill_lines): return address is just after calling
address. Therefore noreturn function with tail call's return
  address may be in another function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 22:15:30 +00:00
svn cfab6e0f15 * 2014-03-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 20:52:51 +00:00
zzak 1cefad432e * lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543] [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 20:52:48 +00:00
ktsj 1cde307767 * ext/.document: remove refinement from documentable directories.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 09:56:43 +00:00
nobu 053ead3679 vm_method.c: cast via VALUE
* vm_method.c (rb_add_method, rb_attr): cast between pointer and
  ID via VALUE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 02:19:32 +00:00
nobu 47aa0056ab configure.in: fix typo
* configure.in (DLDFLAGS): fix typo, missing comma.
  [ruby-core:61429] [Bug #9624]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 02:19:30 +00:00
nobu 1eaddcaffa configure.in: check symbol resolution options
* configure.in (DLDFLAGS): check for each options to control
  symbol resolution.  [ruby-core:61429] [Bug #9624]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 02:03:25 +00:00
nobu 1b9ff04f65 object.c: [DOC] merge rdoc
* gc.c (rb_obj_id): remove unused rdoc.

* object.c (rb_obj_hash): [DOC] merge unused rdoc from rb_obj_id()
  in gc.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 00:08:24 +00:00
svn 1784c9a009 * 2014-03-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 22:26:10 +00:00
normal b50780eac0 * st.c (st_update): remove unnecessary assignment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 22:25:48 +00:00
naruse 6c08032d2f * addr2line.c (fill_lines): fetch symbol names from ELF binary's
symbol table if it is built with cc -g and not stripped.
  Now ruby can show static symbols on Linux though glibc's
  backtrace_symbols(3) don't show them.

* addr2line.c (rb_dump_backtrace_with_lines): use dladdr(3) to
  detect what object file declares the symbol because
  dl_iterate_phdr can't detect the main executable file
  and codes on the stack.
  NOTE: signal trampolines sometimes on the user stack. (FreeBSD)

* addr2line.c (rb_dump_backtrace_with_lines): stop showing
  backtrace if the function's name is main.
  NOTE: FreeBSD's backtrace (libexecinfo) shows _start and
  an additional address. Why it doesn't remove them on dladdr phase
  is, dladdr may fail to detect the main function but detect
  as _start function. Therefore it must be after scanning
  the symbol table and getting correct name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 06:29:39 +00:00
nobu 81ed2d65e4 NEWS: change at r45327
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 04:29:36 +00:00
nobu a6c8346da1 rdoc-mode.el: fill indented block
* misc/rdoc-mode.el (rdoc-fill-paragraph): fill indented block by
  list.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 04:29:35 +00:00
zzak cac997eb95 * doc/syntax/literals.rdoc: [DOC] Single quote strings allows escape
of backslash as well, patch by @idupree [Fixes GH-553] [ci skip]
  https://github.com/ruby/ruby/pull/553


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 03:09:17 +00:00
nobu 4a91fb7a45 range.c: unused function
* range.c (SET_EXCL): remove no longer used function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 01:27:46 +00:00