aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
...
* io.c: encoding in warningsnobu2015-12-131-1/+4
| | | | | | | * io.c (parse_mode_enc): preserve encoding of mode string in warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: BOM with non-UTFnobu2015-12-131-1/+6
| | | | | | | | * io.c (io_encname_bom_p): check BOM prefix only, not including UTF prefix. * io.c (parse_mode_enc): warn BOM with non-UTF encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: fix stack smashingnobu2015-12-131-0/+4
| | | | | | * io.c (parse_mode_enc): fix buffer overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* function.c: check argumentsnobu2015-12-131-1/+4
| | | | | | | * ext/fiddle/function.c (initialize): check all arguments first. reported by Marcin 'Icewall' Noga of Cisco Talos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* conversions.h: PTR2NUMnobu2015-12-131-0/+5
| | | | | | | * ext/fiddle/conversions.h (PTR2NUM): use signed integer to make Fixnum for negative values. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* pack.c: check index rangenobu2015-12-131-0/+6
| | | | | | | | * pack.c (pack_pack): always check index range against the receiver array length, which can be shortened by elements conversion. reported by Marcin 'Icewall' Noga of Cisco Talos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* psych_emitter.c: check tags rangenobu2015-12-131-1/+4
| | | | | | | * ext/psych/psych_emitter.c (start_document): should not exceed tags array range. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* psych_emitter.c: check stringnobu2015-12-131-0/+5
| | | | | | | * ext/psych/psych_emitter.c (start_document): ensure string before encoding conversion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tkutil.c: check argnobu2015-12-131-1/+4
| | | | | | | * ext/tk/tkutil/tkutil.c (tk_hash_kv): check types of array argument. reported by Marcin 'Icewall' Noga of Cisco Talos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tkutil.c: array lengthnobu2015-12-131-1/+5
| | | | | | | | * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check length of argument arrays for each access, as callback methods can modify them. reported by Marcin 'Icewall' Noga of Cisco Talos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tkutil.c: check argsnobu2015-12-131-0/+6
| | | | | | | | * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check types of argument elements. reported by Marcin 'Icewall' Noga of Cisco Talos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: check argument typenobu2015-12-131-0/+6
| | | | | | | | * ext/win32ole/win32ole.c (ole_vstr2wc): check argument type, vstr must be a String here. reported by Marcin 'Icewall' Noga of Cisco Talos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: make BASERUBY fullpathnobu2015-12-131-1/+5
| | | | | | | | * configure.in (BOOTSTRAPRUBY): make BASERUBY full path before building ruby to get rid of unexpectedly invoking built ruby. [ruby-core:72065] [Bug #11807] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: make BOOTSTRAPRUBY MINIRUBYnobu2015-12-131-0/+5
| | | | | | | * configure.in (BOOTSTRAPRUBY): use MINIRUBY but not BASERUBY unless cross compiling. [ruby-core:72065] [Bug #11807] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/test_shellwords.rb (TestShellwords): Add many more testsknu2015-12-131-0/+5
| | | | | | for handling whitespace characters and frozenness. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/shellwords.rb (Shellwords#shellsplit): Document that thisknu2015-12-131-0/+5
| | | | | | method does not treat shell metacharacters as such. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: r53068 entry [ci skip]normal2015-12-131-0/+5
| | | | | | oops :x git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_inspect): check the default internal encoding asshugo2015-12-131-0/+6
| | | | | | | | String#inspect do. [ruby-dev:49415] [Bug #11787] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/shellwords.rb: Turn on frozen-string-literal after fixingknu2015-12-131-0/+5
| | | | | | shellsplit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* KNOWNBUGS.rb: Fixed typo, made more explicit [ci skip]duerst2015-12-131-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsingnaruse2015-12-131-0/+7
| | | | | | | | protocol list. The protocol list from OpenSSL is not null-terminated. patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/ostruct.rb: Have OpenStruct#dig raise if argument is not a symbolmarcandre2015-12-121-0/+6
| | | | | | nor a string. See [#11762] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_call_method_missing): method_missing shouldshugo2015-12-121-0/+6
| | | | | | | not be refined. [ruby-core:72080] [Bug #11809] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/nkf-utf8/nkf.c: Merge nkf 2.1.4.naruse2015-12-121-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: raise TypeErrornobu2015-12-121-0/+5
| | | | | | | * object.c (rb_obj_dig): raise TypeError if an element does not have #dig method. [ruby-core:71798] [Bug #11762] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_regexp.rb: Add test cases for `$KCODE` and `$=` warningyui-knk2015-12-121-0/+5
| | | | | | [Misc #11770][ruby-dev:49398] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/NEWS-0.2.2: add description about incompatible change in Hashnagachika2015-12-121-0/+5
| | | | | | duplicated key overriding policy. [Bug #10315] [Bug #11501] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* IO#advise should not raise Errno::ENOSYSnormal2015-12-111-0/+7
| | | | | | | | | | | | | | | As it is just a hint the kernel is free to ignore, IO#advise already succeeds when posix_fadvise is not available build time at all. Following that, if posix_fadvise was available at build time but not implemented in the running kernel, we should also ignore it. * io.c (do_io_advise): do not raise on ENOSYS * test/ruby/test_io.rb (test_advise): do not skip on Errno::ENOSYS (test_advise_pipe): ditto [ruby-core:72066] [Feature #11806] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc/windows_1252.c: newnobu2015-12-111-0/+5
| | | | | | | * enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e range. [ruby-core:64049] [Bug #10097] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sample/trick2015/: added the award-winning entries of TRICK 2015.mame2015-12-111-0/+5
| | | | | | See https://github.com/tric/trick2015 for the contest outline. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (opt_case_dispatch): avoid converting Infinitynormal2015-12-111-0/+6
| | | | | | | | | | | | Infinity cannot be written as an optimizable literal, so it can never match a key in a CDHASH. Avoid converting it to prevent FloatDomainError. * insns.def (opt_case_dispatch): avoid converting Infinity * test/ruby/test_optimization.rb (test_opt_case_dispatch_inf): new [ruby-dev:49423] [Bug #11804] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_num_hash_start): avoid pathological behaviornormal2015-12-111-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OR-ing itself is bad for a hash function, and shifting 3 bits left was not enough to undo the damage done by shifting (RUBY_SPECIAL_SHIFT+3) bits right. Experimentally, shifting 16-17 bits seemed to work well in preparing the number for murmur hash. Add a few more benchmarks to based on bm_hash_shift to ensure we don't hurt performance too much with tweaks. I'm pretty confident about this change and commiting it now; especially since we're still using Murmur behind it (but perhaps we can update to a newer hash from Murmur...) [ruby-core:72028] [Feature #11405] target 0: a (ruby 2.3.0dev (2015-12-11 trunk 53027) [x86_64-linux]) at "/home/ew/rrrr/b/ruby" target 1: b (ruby 2.3.0dev (2015-12-11 master 53027) [x86_64-linux]) at "/home/ew/ruby/b/ruby" benchmark results: minimum results in each 5 measurements. Execution time (sec) name a b hash_aref_dsym 0.279 0.276 hash_aref_dsym_long 4.951 4.936 hash_aref_fix 0.281 0.283 hash_aref_flo 0.060 0.060 hash_aref_miss 0.409 0.410 hash_aref_str 0.387 0.385 hash_aref_sym 0.275 0.270 hash_aref_sym_long 0.410 0.411 hash_flatten 0.252 0.237 hash_ident_flo 0.035 0.032 hash_ident_num 0.254 0.251 hash_ident_obj 0.252 0.256 hash_ident_str 0.250 0.252 hash_ident_sym 0.259 0.270 hash_keys 0.267 0.267 hash_shift 0.016 0.015 hash_shift_u16 0.074 0.072 hash_shift_u24 0.071 0.071 hash_shift_u32 0.073 0.072 hash_to_proc 0.008 0.008 hash_values 0.263 0.264 Speedup ratio: compare with the result of `a' (greater is better) name b hash_aref_dsym 1.009 hash_aref_dsym_long 1.003 hash_aref_fix 0.993 hash_aref_flo 1.001 hash_aref_miss 0.996 hash_aref_str 1.006 hash_aref_sym 1.017 hash_aref_sym_long 0.998 hash_flatten 1.061 hash_ident_flo 1.072 hash_ident_num 1.012 hash_ident_obj 0.987 hash_ident_str 0.993 hash_ident_sym 0.959 hash_keys 0.997 hash_shift 1.036 hash_shift_u16 1.039 hash_shift_u24 1.001 hash_shift_u32 1.017 hash_to_proc 1.001 hash_values 0.995 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: Mentioned rubygems-2.5.1hsbt2015-12-111-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems: Update to RubyGems 2.5.1hsbt2015-12-111-0/+5
| | | | | | * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: rehash cdhashnobu2015-12-111-0/+6
| | | | | | | | * compile.c (iseq_compile_each, ibf_load_object_hash): rehash case-dispatch hash to reduce collisions. http://d.hatena.ne.jp/ku-ma-me/20151210 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_inspect): dump inspected result with rb_str_escape()naruse2015-12-101-0/+9
| | | | | | | | | | instead of raising Encoding::CompatibilityError. [Feature #11801] * string.c (rb_str_escape): added to dump given string like rb_str_inspect without quotes and always dump in US-ASCII like rb_str_dump. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-12-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_gc.rb (test_expand_heap): relax condition (1->2).ko12015-12-101-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c: fix a double word typo.hsbt2015-12-101-0/+5
| | | | | | [Bug #11313][ruby-core:69749] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/lib/multi-tk.rb: fix typos.hsbt2015-12-101-0/+5
| | | | | | [Bug #11764][ruby-core:71800] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_compile_each): reduce needless rb_str_dupnormal2015-12-101-0/+5
| | | | | | | | | There is no need to dup the fstring unless we want to set the debug ivar for it. [ruby-core:72018] <5668DB6E.8000101@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* disable frozen-string-literalnobu2015-12-101-0/+5
| | | | | | | * lib/mkmf.rb, lib/shellwords.rb: disable frozen-string-literal. [ruby-core:72011] [Bug #11800] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* marshal.c: remove NULL checks for *_memsizenormal2015-12-091-0/+5
| | | | | | | | | | This follows r52986, NULL checks in rb_data_type_t.function.dsize callbacks are unnecessary. * marshal.c (memsize_dump_arg): remove NULL check (memsize_load_arg): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: must not be frozennobu2015-12-091-0/+5
| | | | | | | * tool/mkconfig.rb: rbconfig must not be fronzen-string-literal to expand CONFIG hash. [ruby-core:72006] [Bug #11798] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/ifaddr.c: remove empty ifaddr_marknormal2015-12-091-0/+5
| | | | | | | | | | | We do not need to maintain empty functions for GC, gc_mark_children will not attempt to dereference NULL dmark callbacks. * ext/socket/ifaddr.c (ifaddr_mark): remove empty function (ifaddr_type): pass zero to rb_data_type_t.function.dmark git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: remove bm_free, use defaultnormal2015-12-091-0/+5
| | | | | | | | | | | bm_free no longer has special handling of unlinked method entries since r50728 when method entries were made VALUEs for GC safety. * proc.c (bm_free): remove, use default free (method_data_type): use RUBY_TYPED_DEFAULT_FREE git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each): do not add debug informationko12015-12-091-0/+11
| | | | | | | | | | | | | | | without --debug or --debug=frozen-string-literal option because String#dup slows down with debug information. [Feature #11725] * NEWS: apply about it. * test/ruby/test_rubyoptions.rb: catch up this fix with refactoring. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq.c: rename methodsko12015-12-091-0/+15
| | | | | | | | | | | | | | | | | | | RubyVM::InstructionSequence#to_binary_format -> #to_binary RubyVM::InstructionSequence.from_binary_format -> .load_from_binary RubyVM::InstructionSequence.from_binary_format_extra_data -> .load_from_binary_extra_data * iseq.c: fix document of iseq.to_binary. [Fix GH-1134] * sample/iseq_loader.rb: catch up this change. * test/lib/iseq_loader_checker.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* References to tickets addedkazu2015-12-091-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-12-091-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e