aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* pack.c: check index rangenobu2015-12-133-5/+30
| | | | | | | | * 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-133-3/+23
| | | | | | | * 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-133-2/+10
| | | | | | | * 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-132-1/+5
| | | | | | | * 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-132-9/+9
| | | | | | | | * 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-132-9/+24
| | | | | | | | * 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-133-0/+14
| | | | | | | | * 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-132-2/+6
| | | | | | | | * 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-132-3/+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-132-6/+54
| | | | | | 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-133-8/+20
| | | | | | 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
* lib/shellwords.rb: do not change API with frozen-string-literalnormal2015-12-132-3/+12
| | | | | | | | | | This fixes a bug introduced in r53066 when attempting to shellescape an empty string. * lib/shellwords.rb (shellescape): duplicate frozen literal * test/test_shellwords.rb (test_stringification): new test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_inspect): check the default internal encoding asshugo2015-12-133-6/+26
| | | | | | | | 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-132-3/+8
| | | | | | 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-132-2/+8
| | | | 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-132-10/+14
| | | | | | | | 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-123-2/+8
| | | | | | 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: adjust indent [ci skip]nobu2015-12-121-1/+1
| | | | | | | * vm_insnhelper.c (vm_call_method_missing): remove spaces just before a tab to adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-12-13svn2015-12-121-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_call_method_missing): method_missing shouldshugo2015-12-123-1/+34
| | | | | | | 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-123-3/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: raise TypeErrornobu2015-12-124-3/+21
| | | | | | | * 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
* vm_eval.c: hook after method_missingnobu2015-12-121-3/+4
| | | | | | | * vm_eval.c (rb_check_funcall_with_hook): call hook after method_missing call when missing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_regexp.rb: Add test cases for `$KCODE` and `$=` warningyui-knk2015-12-122-0/+15
| | | | | | [Misc #11770][ruby-dev:49398] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_thread.rb: stay alivenobu2015-12-121-1/+1
| | | | | | | | * test/ruby/test_thread.rb (test_thread_name): the target thread needs to stay alive till the end of this test, so that inspected result would not change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c: free tables at destructionnobu2015-12-121-0/+16
| | | | | | | * vm.c (ruby_vm_destruct): free loading_table and fronzen_strings tables at destruction. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: help of exam [ci skip]nobu2015-12-121-0/+1
| | | | | | * common.mk (help): mention `exam` target. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: more optsnobu2015-12-121-1/+1
| | | | | | * common.mk (help): separate TESTOPTS and TESTS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/NEWS-0.2.2: add description about incompatible change in Hashnagachika2015-12-122-0/+10
| | | | | | 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
* add insight about parallel test-allnaruse2015-12-121-1/+1
| | | | | | see also https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c: use rb_check_funcallnobu2015-12-121-5/+4
| | | | | | | * iseq.c (rb_iseq_load_iseq): use rb_check_funcall instead of repeating method search. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* IO#advise should not raise Errno::ENOSYSnormal2015-12-113-5/+10
| | | | | | | | | | | | | | | 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-114-10/+241
| | | | | | | * 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
* * 2015-12-12svn2015-12-111-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* NEWS: sort alphabeticallykazu2015-12-111-16/+16
| | | | | | | * NEWS (Stdlib compatibility issues): sort classes/modules in alphabetical order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2015-12-111-26/+26
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * append newline at EOF.svn2015-12-112-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sample/trick2015/: added the award-winning entries of TRICK 2015.mame2015-12-1123-0/+881
| | | | | | 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-113-1/+18
| | | | | | | | | | | | 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
* * properties.svn2015-12-110-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_num_hash_start): avoid pathological behaviornormal2015-12-115-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: add note about Fiddle GVL releasenormal2015-12-112-1/+6
| | | | | | | * NEWS: note Fiddle GVL release [Feature #11607] * ext/fiddle/function.c (Init_fiddle_function): document above, too git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_ssl.rb: fix ssl option flags testsnobu2015-12-111-1/+1
| | | | | | | * test/openssl/test_ssl.rb (test_setting_twice): ignore fixed flags. some flags like SSL_OP_NO_SSL_MASK cannot change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_io.rb: fix IO#advise on aarch64-linuxnobu2015-12-111-2/+4
| | | | | | | * test/ruby/test_io.rb (test_advise, test_advise_pipe): fadvise on aarch64-linux returns ESYS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: Mentioned rubygems-2.5.1hsbt2015-12-112-0/+11
| | | | 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-115-5/+10
| | | | | | * 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-114-1/+10
| | | | | | | | * 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
* common.mk: add dependenciesnobu2015-12-111-0/+3
| | | | | | * common.mk: add dependencies of compile.o for r52949. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* merger.rb: show procedure to push tag into GitHubnaruse2015-12-111-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e