summaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)Author
2014-12-12erb: suppress warningsnobu
* bin/erb (ERB::Main#run): get rid of shadowing outer local variables. [ruby-core:65772] [Feature #10395] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-12* gems/bundled_gems: Upgrade to test-unit 3.0.8. assert_throw andkou
assert_nothing_thrown in test-unit 3.0.7 were broken by UncaughtThrowError change introduced in Ruby 2.2.0 preview2. These assertions in test-unit 3.0.8 work well with UncaughtThrowError in Ruby 2.2.0 preview2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-12erb: set variables from the command linenobu
* bin/erb (ARGV.switch, ERB::Main#run): allow variables to be set from the command line. [ruby-core:65772] [Feature #10395] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-12erb: lineno and location settersnobu
* lib/erb.rb (ERB#lineno): accessor for line number to eval. * lib/erb.rb (ERB#location=): setter of file name and line number. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-12* gc.c (gc_latest_gc_info): return :state field to show currentko1
GC state (none/marking/sweeping). [Feature #10590] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-12string.c: check arguments for cryptnobu
* string.c (rb_str_crypt): check arguments more strictly. * crypt() is not for wide char strings * salt bytes should not be NUL git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-11io.c: Fix spelling [ci skip]nobu
* io.c (io_read) Fix spelling in docco for read. [Fix GH-781] try > tries git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-11ChangeLog: typonobu
* ChangeLog: fix typo, s/Strat/Start/. [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-11add missing space [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-11* class.c (class_alloc): Strat from age == 2.ko1
Class and Module objects can be living long life. * iseq.c: Same for ISeq objects. * gc.c (RVALUE_AGE_RESET): added. * gc.c (newobj_of): allow to generate (age != 0) objects. * gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected objects. * include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10* lib/prime.rb: Remove useless loop and block capture.marcandre
See [#10354] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10* vm_core.h: introduce new fieldko1
rb_thread_t::local_storage_recursive_hash_for_trace to store recursive hash to avoid creating new recursive (nested) hashes for each trace events. [Bug #10511] * vm_trace.c (rb_threadptr_exec_event_hooks_orig): use it. * cont.c: catch up this fix. * vm.c (rb_thread_mark): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10struct.c: use iseqvalnobu
* struct.c (define_aref_method, define_aset_method): use iseq VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD makes sense only for local variables. [Feature #10575] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-10thread.c: use the same method namenobu
* thread.c (exec_recursive): use the same last method name as recursive_push in the error message when recursive_pop failed. [ruby-core:66742] [Bug #10579] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09* test/net/http/test_https.rbusa
(TestNetHTTPS#test_certificate_verify_failure): on Windows, Errno::ECONNRESET will be raised when the verify is failure at the client side, and it'll be eaten by WEBrick. * test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09struct: avoid all O(n) behavior on accessnormal
This avoids O(n) on lookups with structs over 10 members. This also avoids O(n) behavior on all assignments on Struct members. Members 0..9 still use existing C methods to read in O(1) time Benchmark results: vm2_struct_big_aref_hi* 1.305 vm2_struct_big_aref_lo* 1.157 vm2_struct_big_aset* 3.306 vm2_struct_small_aref* 1.015 vm2_struct_small_aset* 3.273 Note: I chose use loading instructions from an array instead of writing directly to linked-lists in compile.c for ease-of-maintainability. We may move the method definitions to prelude.rb-like files in the future. I have also tested this patch with the following patch to disable the C ref_func methods and ensured the test suite and rubyspec works --- a/struct.c +++ b/struct.c @@ -209,7 +209,7 @@ setup_struct(VALUE nstr, VALUE members) ID id = SYM2ID(ptr_members[i]); VALUE off = LONG2NUM(i); - if (i < N_REF_FUNC) { + if (0 && i < N_REF_FUNC) { rb_define_method_id(nstr, id, ref_func[i], 0); } else { * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): new methods to generate bytecode for struct.c [Feature #10575] * struct.c (rb_struct_ref, rb_struct_set): remove (define_aref_method, define_aset_method): new functions (setup_struct): use new functions * test/ruby/test_struct.rb: add test for struct >10 members * benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark * benchmark/bm_vm2_struct_big_aref_lo.rb: ditto * benchmark/bm_vm2_struct_big_aset.rb: ditto * benchmark/bm_vm2_struct_small_aref.rb: ditto * benchmark/bm_vm2_struct_small_aset.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09* string.c: [DOC] Add missing documentation around String#chomp.hsbt
Patchby @stderr [ci skip][fix GH-780] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09object.c: [DOC] Revise documentationnobu
* object.c: [DOC] Revise documentation by Marcus Stollsteimer at [ruby-core:66368]. [Bug #10526] * #inspect: be more specific about generated string, remove obsolete example. * #nil?: use code examples instead of different call-seq's. * #tap: clarify what is yielded. * Integer(): be more specific about to_int and to_i, remove reference to Ruby 1.8. * Array(): fix error. * Class: fix variable name style and indentation in example. * improve consistency, fix typos and formatting. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09vm_eval.c: fix `rb_eval_string_wrap` rdocnobu
* vm_eval.c (rb_eval_string_wrap): [DOC] Fix `rb_eval_string_wrap` documentation. It is referencing `require` instead of `load`. The former does not have the optional argument. [Fix GH-779] [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-09thread.c: get rid of invalid ID symbolnobu
* eval.c (rb_frame_last_func): return the most recent frame method name. * thread.c (recursive_list_access): use the last method name, instead of the current method name which can be unset in some cases, not to use a symbol by the invalid ID. [ruby-core:66742] [Bug #10579] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07fix a typo [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07* ext/socket/basicsocket.c, ext/socket/sockssocket.c:ktsj
remove code for $SAFE=4. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07* lib/rdoc: Update to RDoc 4.2.0.drbrain
* test/rdoc: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-07* lib/rubygems: Update to RubyGems 2.4.5.drbrain
* test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-06* lib/net/imap.rb: Fix undefined variable usage & refactor/DRYshugo
code. Patch by @aledovsky. [Fixes GH-770] * test/net/test_imap.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-06thread.c (do_select): rename parameters to avoid shadowingnormal
Sometimes we may use write(2) syscalls for debugging inside this function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-06* lib/rake: Update to rake 10.4.2hsbt
* test/rake: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05compile.c (rb_iseq_build_from_ary): remove misc handlingnormal
iseq->local_size is calculated, too, along with stack_size and param.size, meaning there is no need to blindly load values in the misc hash passed to us. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05configure.in: fix --with-ruby-version [ci skip]nobu
* configure.in (RUBY_LIB_VERSION): Fix --with-ruby-version configuration option. get rid of quoting in config.status. * template/verconf.h.tmpl: quote RUBY_LIB_VERSION here. [ruby-core:66724] [Bug #10572] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05* lib/pp.rb (File::Stat#pritty_print): some platforms (such as Windows)usa
does not have major/minor parts of device. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05* ext/psych/lib/psych.rb: bump version to 2.0.8hsbt
* ext/psych/psych.gemspec: ditto. * ext/psych/psych_emitter.c: ditto. * ext/psych/psych_parser.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05fix a typo [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05socket/option.c: fix inet_ntop link error on mswinnobu
* ext/socket/option.c (inet_ntop): link aliased inet_ntop in libruby on mswin not rb_w32_inet_ntop which fails to link for unknown reason. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05iseq.c: remove unused rb_iseq_new_with_boptnormal
* iseq.c (prepare_iseq_build): remove unused block_opt param (rb_iseq_new_with_bopt_and_opt): remove (rb_iseq_new_with_opt): inline removed function (rb_iseq_new_with_bopt): remove (iseq_load): adjust prepare_iseq_build call [Feature #10565] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-05parse.y: fix lex_state after tLABEL_ENDnobu
* parse.y (parser_yylex): fix lex_state after tLABEL_END, should be EXPR_LABELARG to be followed by "paren with arg". [ruby-core:66705] [Feature #4935] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-04extmk.rb: no EXTOBJS to main if enable-sharednobu
* ext/extmk.rb: as all extension objects including initializations of ext and enc shouild be linked to libruby if enable-shared, EXTOBJS should not be linked to main programs. [ruby-core:66675] [Bug #10566] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03mostly fix rb_iseq_loadnormal
This allows reporters commenters of [Feature #8543] to load instruction sequences directly. Some test cases are still failing but documented in test/-ext-/iseq_load/test_iseq_load.rb. * compile.c (rb_iseq_build_from_exception): entry->sp is unsigned (iseq_build_callinfo_from_hash): account for kw_arg (iseq_build_from_ary_body): update for r35459 (CHECK_STRING, CHECK_INTEGER): remove unused checks (int_param): new function for checking new `params' hash (iseq_build_kw): new function for loading rb_iseq_param_keyword (rb_iseq_build_from_ary): account for `misc' entry and general structure changes [Feature #8543] * iseq.c (CHECK_HASH): new macro (for `misc' and `param' entries) (iseq_load): account for `misc' and `params' hashes (iseq_data_to_ary): add final opt to arg_opt_labels, fix kw support, account for unsigned entry->sp * ext/-test-/iseq_load/iseq_load.c: new ext for test * ext/-test-/iseq_load/extconf.rb: ditto * test/-ext-/iseq_load/test_iseq_load.rb: new test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03iseq.c: avoid segfault on incomplete iseqnormal
Compile failures will trigger iseq_free before iseq->callinfo_entries are allocated at all. * iseq.c (iseq_free): avoid segfault on incomplete iseq * test/ruby/test_syntax.rb (test_invalid_next): new test for syntax error, not segfault git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03load.c: reset errinfonobu
* load.c (ruby_require_internal): ignore error detail, just return an error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03load.c: defer static linked ininobu
* load.c (register_init_ext, ruby_init_ext): defer running the registered initialization function until required, not to enable extensions which have global effects just by loading, e.g., mathn/complex and mathn/rational. fix `make test` with --with-static-linked-ext. missing log at r48699t [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03encoding.c: load by rb_require_internalnobu
* encoding.c (load_encoding): use rb_require_internal instead of calling rb_require_safe with protection. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03load.c: defer static linked initnobu
* enc/encinit.c.erb (Init_enc): initialize encdb and transdb directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03dmyenc.c: try to load encdbnobu
* load.c (ruby_require_internal): separate from rb_require_safe, not to raise exceptions. * ruby.c (process_options): remove unnatural encoding search. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03string.c: fake string is not sharingnobu
* string.c (setup_fake_str): fake string does not share another string, but just should not free. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03* win32/win32.c (w32_spawn): `v2` is used not only for `shell` but alsousa
`cmd`, so must not free before using `cmd`. [ruby-core:66648] [Bug #10563] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-03cparse.c: typed datanobu
* ext/racc/cparse/cparse.c (cparse_params_type): use typed data. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-02* ext/win32ole/win32ole.c: use typed data for com_hash.suke
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-02array.c (rb_ary_plus): in documentation, added note aboutduerst
inefficiency of repeated += operations. [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01iseq.c (iseq_data_to_ary): keep hidden variablesnormal
We must not ignore hidden variables when rb_id2str fails. Thanks to wanabe [ruby-core:66566] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01* ext/psych/lib/psych.rb: bumping versiontenderlove
* ext/psych/psych.gemspec: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e