summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2014-09-20* lib/tempfile.rb: define parameters appropriately and someglass
refactoring. * lib/tmpdir.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20* enum.c (enum_chunk): Deprecate the state management.akr
(enum_slice_before): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20* enum.c (enum_slice_when): New method: Enumerable#slice_when.akr
(slicewhen_i): New function. (slicewhen_ii): New function. * enumerator.c (InitVM_Enumerator): New method: Enumerator::Lazy#slice_when. [ruby-core:62499] [Feature #9826] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20* .travis.yml: added new configurations for osx on travis ci.hsbt
[fix GH-723] * test/ruby/test_object.rb: tweaked to memory leak limit for osx build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20parse.y: quoted ID keynobu
* parse.y (assoc): allow quoted ID as a key of a hash literal. [ruby-core:34453] [Feature #4276] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20compile.c: store IDs as Symbolsnobu
* compile.c (iseq_set_arguments): store local variable IDs in temporary list as Symbols. previously these are stored as Fixnums to prevent from GC, but IDs of dynamic symbols can exceed Fixnum range and cause RangeError at inverting from Fixnum. [ruby-dev:48564] [Bug #10266] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#pretty_print):akr
New method. (OpenSSL::X509::Certificate#pretty_print): Ditto. * ext/openssl/lib/openssl/bn.rb (OpenSSL::BN#pretty_print): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19vm_eval.c: fix super from eval with scopenobu
* vm_eval.c (eval_string_with_cref): fix super from eval with scope. set klass in the current control frame to the class of the receiver in the context to be evaluated, this class/module must match the actual receiver to call super. [ruby-core:65122] [Bug #10263] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19* ChangeLog: typo.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19symbol.c: fix dynamic attrset IDnobu
* symbol.c (rb_str_dynamic_intern): check if the stem ID of attrset ID is already registered as a static ID. [ruby-dev:48559] [Bug #10259] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19* win32/win32.c (VCSUP): nothing to do if this worktree is not underusa
any VCS (it means that the worktree may be from the release package). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19test_math.rb: use Float#infinite?nobu
* test/ruby/test_math.rb (TestMath#assert_infinity): Float#finite? returns true also for NaN, so use Float#infinite? instead. [ruby-core:65117] [Feature #10261] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-18NEWS: note --with-jemalloc option [ci skip]normal
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-18* test/rubygems/test_gem_commands_setup_command.rb: @ui uses StringIOusa
as its streams, and Encoding.default_external does not effect to stringIOs already exist. so, we need to set external_encoding of @ui.outs directly. this problem (test failure) does not appear in the environments default_external is us-ascii or utf-8. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-18* test/rubygems/test_gem_specification.rb: '/' is not always the root.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-18vm_method.c: configurable global method cache sizenobu
* vm_method.c (Init_Method): make global method cache size configurable by environment variable "RUBY_GLOBAL_METHOD_CACHE_SIZE" [Fix GH-719] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17test/-ext-/string/test_modify_expand.rb: increase limit for {je,tc}mallocnormal
In this test, jemalloc and tcmalloc are both more hesitant to release memory to the kernel than the stock glibc allocator. Tested on jemalloc 3.6.0 (self-built) and libtcmalloc-minimal 2.0-2 (Debian package) on x86_64-linux git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17ext/zlib/zlib.c (struct gzfile): pack (288 => 272 bytes) on 64-bitnormal
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17socket (rsock_connect): fix and refactor for blockingnormal
* ext/socket/init.c (rsock_connect): refactor for blocking (wait_connectable): clear error before wait [Bug #9356] We no longer use non-blocking sockets to emulate blocking behavior, so eliminate error-prone and confusing platform-dependent code. According to POSIX, connect() only needs to be called once in the face of EINTR, so do not loop on it. Before waiting on connect, drop any pending errors, since rb_wait_for_single_fd may not clear the existing error properly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17* lib/uri/rfc3986_parser.rb: specify a regexp for :OPAQUE; generic.rbnaruse
assumes it is present, and will refuse all values otherwise. by Matthew Draper <matthew@trebex.net> https://github.com/ruby/ruby/pull/718 fix GH-718 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17ext/zlib/zlib.c (zlib_mem_alloc): check overflownormal
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17* test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof):hsbt
added test for long long [fix GH-716] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-17* tool/rbinstall.rb: fixed invalid options with latest rubygems.hsbt
https://github.com/rubygems/rubygems/issues/1013 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-16bm_app_aobench.rb: update links [ci skip]nobu
* benchmark/bm_app_aobench.rb: update outdated links to the original program. [ruby-dev:48550] [Feature #10247] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15* reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15trivial packing for on-stack structsnormal
* io.c (struct io_advise_struct): 32 => 24 bytes on 64-bit * io.c (struct io_internal_writev_struct): 24 => 16 bytes on 64-bit * process.c (struct waitpid_arg): ditto Slightly reduce stack pressure. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15pathname.rb: fix a Pathname#relative_path_from crash onnobu
* ext/pathname/lib/pathname.rb (SAME_PATHS): Pathname#relative_path_from uses String#casecmp to compare strings on case-insensitive filesystem platforms (e.g., Windows). This can return nil for strings with different encodings, and the code previously assumed that it always returned a Fixnum. [Fix GH-713] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15fiddle/import.rb: fix typonobu
* ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo, SIZEOF_LONG_LON. [Fix GH-714] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-14sprintf.c: improve rational 'f' formatnobu
* sprintf.c (rb_str_format): rational 'f' format works for more values. [fix GH-717] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-14vm.inc.tmpl + instruction.rb: typo fixesnormal
* template/vm.inc.tmpl: "insns.c" => "insns.def" * tool/instruction.rb: typo fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-14* test/test_tracer.rb: fixed testcase for rubygems update.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-14* lib/rubygems: Update to RubyGems 2.4.1 master(713ab65)hsbt
Complete history at: https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216 * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-14* ext/psych/lib/psych.rb: update versiontenderlove
* ext/psych/psych.gemspec: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13ccan/container_of: add container_of_or_nullnormal
* ccan/container_of/container_of.h (container_of_or_null): added [ccan 7ec5b8e06b2fd5fa98b1fcde1158c286d2d429d8] (David Gibson) It's quite common to have a pointer which could be either a pointer to a structure member, or NULL. This needs special casing with container_of(), or it will convert NULL into something strange. This patch adds container_of_or_null(), which will return NULL if passed (an appropriately typed) NULL, or the containining structure as container_of() otherwise. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13ccan/list: new list_{del,node}_init functionsnormal
* ccan/list/list.h (list_del_init, list_node_init): new functions for multiple list_del() calls [ccan ec8654d94d3c5c47aa5f82698f7e8048c79765b1] (Rusty Russell) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13hash.c: [DOC] fix for Hash#store docsnobu
* hash.c (rb_hash_aset): fix misleading example which may suggest that Hash.store will return self instead of value - Hash#store is returning value and update itself, as well as Hash#[]=. [Fix GH-715] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13class.c: use ALLOC(rb_subclass_entry_t)normal
It is easier to search for allocations by type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13simplify some trivial rb_data_type_t callbacksnormal
* process.c (free_exec_arg): remove (memsize_exec_arg): ptr is never NULL (exec_arg_data_type): use RUBY_TYPED_DEFAULT_FREE * variable.c (autoload_i_free): remove (autoload_data_i_type): use RUBY_TYPED_DEFAULT_FREE (autoload_memsize): ptr is never NULL * vm_backtrace.c (location_free): remove (location_mark): ptr is never NULL (location_data_type): use RUBY_TYPED_DEFAULT_FREE (backtrace_mark): ditto (backtrace_free): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13doc/NEWS-2.0.0: fix typo for default RUBY_FIBER_MACHINE_STACK_SIZEnormal
Checked against definition in vm_core.h [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13* ext/win32ole/win32ole_event.c(ev_advise, ole_event_free,suke
fev_s_allocate, fev_unadvise): avoid segmentation fault when COM server freed before calling Unadvise from WIN32OLE_EVENT object. * ext/win32ole/win32ole.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-13man/ruby.1: use https for *.ruby-lang.org linksnormal
Avoid redirects which may be MitM-ed and slow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12vm.c (thread_alloc): remove needless volatilenormal
If we needed a volatile there, every other alloc function would need it. There is nothing special I can see about thread_alloc which would justify it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12proc/env DATA_PTR is never NULLnormal
* proc.c (proc_free): remove, use RUBY_TYPED_DEFAULT_FREE (proc_mark, proc_memsize): remove needless branching * vm.c (env_free): remove, use RUBY_TYPED_DEFAULT_FREE (env_mark, env_memsize): remove needless branching This shows a tiny ~0.5% improvement in benchmark/bm_vm2_newlambda.rb but also removes a lot of code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12proc.c (rb_proc_alloc): inline and move to vm.cnormal
* proc.c (rb_proc_alloc): inline and move to vm.c (rb_proc_wrap): new wrapper function used by rb_proc_alloc (proc_dup): simplify alloc + copy + wrap operation [ruby-core:64994] * vm.c (rb_proc_alloc): new inline function (rb_vm_make_proc): call rb_proc_alloc * vm_core.h: remove rb_proc_alloc, add rb_proc_wrap * benchmark/bm_vm2_newlambda.rb: short test to show difference First we allocate and populate an rb_proc_t struct inline to avoid unnecessary zeroing of the large struct. Inlining speeds up callers as this takes many parameters to ensure correctness. We then call the new rb_proc_wrap function to create the object. rb_proc_wrap - wraps a rb_proc_t pointer as a Ruby object, but we only use it inside rb_proc_alloc. We must call this before the compiler may clobber VALUE parameters passed to rb_proc_alloc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12Process.detach: avoid singleton class creationnormal
* process.c (Init_process): subclass Thread as Process::Waiter (rb_detach_process): use Process::Waiter instead of singleton class * test/ruby/test_process.rb (test_process_detach): new test * inits.c (rb_call_inits): call Init_Thread before Init_process to ensure Process::Waiter may be a subclass of Thread Thanks to headius for reporting [Bug #10231] Thanks to nobu for review of my initial patch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12fix typos and indent [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12vm.c (env_alloc): inline to avoid extra zeroingnormal
tiny speedup [ruby-core:64980] benchmark results: Execution time (sec) name trunk built app_lc_fizzbuzz 100.411 98.692 Speedup ratio: compare with the result of `trunk' (greater is better) name built app_lc_fizzbuzz 1.017 rb_proc_alloc changes will give more git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12vm_method.c: should not modify frozen objectsnobu
* vm_method.c (rb_method_entry_make, remove_method): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12* gems/bundled_gems: Upgraded to test-unit-3.0.1 and minitest-5.4.1hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-11string.c (Init_frozen_strings): use st_init_table_with_sizenormal
All symbols have an fstring entry, and we initialize symbol tables with 1000 bins. This reduces resizes during startup. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e