aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * NEWS: added period into Matrix section. [ci skip]hsbt2014-11-032-4/+9
| | | | | | [misc #10446][ruby-core:65987] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_args.c: fixed build error with clanghsbt2014-11-032-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/uri/rfc3986_parser.rb (URI::RFC3986_Parser::RFC3986_URI):naruse2014-11-034-3/+14
| | | | | | | | allow '[' and ']' for URI input (and escape). [Bug #10402] * lib/uri/generic.rb (URI#query=): escape '[', '\', and ']'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bump URI::VERSION to 0.10.0naruse2014-11-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: change iseq parameter data structure.ko12014-11-029-350/+383
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://bugs.ruby-lang.org/issues/10440#change-49694 * change terminology `arg' to `param'. * move rb_iseq_t::arg_* to rb_iseq_t::param. * move rb_iseq_t::arg_size to rb_iseq_t::param::size. * move rb_iseq_t::argc to rb_iseq_t::param::lead_num. * move rb_iseq_t::arg_opts to rb_iseq_t::param::opt_num. * move rb_iseq_t::arg_rest to rb_iseq_t::param::rest_start. * move rb_iseq_t::arg_post_num to rb_iseq_t::param::post_num. * move rb_iseq_t::arg_post_start to rb_iseq_t::param::post_start. * move rb_iseq_t::arg_block to rb_iseq_t::param::block_start. * move rb_iseq_t::arg_keyword* to rb_iseq_t::param::keyword. rb_iseq_t::param::keyword is allocated only when keyword parameters are available. * introduce rb_iseq_t::param::flags to represent parameter availability. For example, rb_iseq_t::param::flags::has_kw represents that this iseq has keyword parameters and rb_iseq_t::param::keyword is allocated. We don't need to compare with -1 to check availability. * remove rb_iseq_t::arg_simple. * compile.c: catch up this change. * iseq.c: ditto. * proc.c: ditto. * vm.c, vm_args.c, vm_dump.c, vm_insnhelper.c: ditto. * iseq.c (iseq_data_to_ary): support keyword argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_method.rb: r48239 makes this test green.ko12014-11-022-0/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2014-11-020-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * rewrite method/block parameter fitting logic to optimizeko12014-11-0215-671/+1375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | keyword arguments/parameters and a splat argument. [Feature #10440] (Details are described in this ticket) Most of complex part is moved to vm_args.c. Now, ISeq#to_a does not catch up new instruction format. * vm_core.h: change iseq data structures. * introduce rb_call_info_kw_arg_t to represent keyword arguments. * add rb_call_info_t::kw_arg. * rename rb_iseq_t::arg_post_len to rb_iseq_t::arg_post_num. * rename rb_iseq_t::arg_keywords to arg_keyword_num. * rename rb_iseq_t::arg_keyword to rb_iseq_t::arg_keyword_bits. to represent keyword bitmap parameter index. This bitmap parameter shows that which keyword parameters are given or not given (0 for given). It is refered by `checkkeyword' instruction described bellow. * rename rb_iseq_t::arg_keyword_check to rb_iseq_t::arg_keyword_rest to represent keyword rest parameter index. * add rb_iseq_t::arg_keyword_default_values to represent default keyword values. * rename VM_CALL_ARGS_SKIP_SETUP to VM_CALL_ARGS_SIMPLE to represent (ci->flag & (SPLAT|BLOCKARG)) && ci->blockiseq == NULL && ci->kw_arg == NULL. * vm_insnhelper.c, vm_args.c: rewrite with refactoring. * rewrite splat argument code. * rewrite keyword arguments/parameters code. * merge method and block parameter fitting code into one code base. * vm.c, vm_eval.c: catch up these changes. * compile.c (new_callinfo): callinfo requires kw_arg parameter. * compile.c (compile_array_): check the last argument Hash object or not. If Hash object and all keys are Symbol literals, they are compiled to keyword arguments. * insns.def (checkkeyword): add new instruction. This instruction check the availability of corresponding keyword. For example, a method "def foo k1: 'v1'; end" is cimpiled to the following instructions. 0000 checkkeyword 2, 0 # check k1 is given. 0003 branchif 9 # if given, jump to address #9 0005 putstring "v1" 0007 setlocal_OP__WC__0 3 # k1 = 'v1' 0009 trace 8 0011 putnil 0012 trace 16 0014 leave * insns.def (opt_send_simple): removed and add new instruction "opt_send_without_block". * parse.y (new_args_tail_gen): reorder variables. Before this patch, a method "def foo(k1: 1, kr1:, k2: 2, **krest, &b)" has parameter variables "k1, kr1, k2, &b, internal_id, krest", but this patch reorders to "kr1, k1, k2, internal_id, krest, &b". (locate a block variable at last) * parse.y (vtable_pop): added. This function remove latest `n' variables from vtable. * iseq.c: catch up iseq data changes. * proc.c: ditto. * class.c (keyword_error): export as rb_keyword_error(). * common.mk: depend vm_args.c for vm.o. * hash.c (rb_hash_has_key): export. * internal.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2014-11-021-140/+140
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sample/simple-bench.rb: added to measure performance of simpleko12014-11-022-0/+145
| | | | | | | | lines. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-11-03svn2014-11-021-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (obj_info): show T_STRING more details.ko12014-11-022-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/instruction.rb: remove extra blank linesnobu2014-11-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/instruction.rb: remove trailing spacesnobu2014-11-021-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_ssl.rb: Don't ignore errors on listener threads,akr2014-11-014-25/+44
| | | | | | | | | | | | as much as possible. * test/openssl/test_ssl_session.rb: Ditto. * test/openssl/test_partial_record_read.rb: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ignore_ssl_accept_error option is changed to ignore_listener_error.akr2014-11-012-6/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-11-02svn2014-11-011-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* comment updated.akr2014-11-011-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* start_server refined.akr2014-11-011-46/+42
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/utils.rb (start_server): Don't close sockets beforeakr2014-11-014-19/+31
| | | | | | | | threads finished. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* refine message of assert_join_threads.akr2014-11-011-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_ssl_session.rb (test_ctx_client_session_cb): Don'takr2014-11-014-79/+102
| | | | | | | | | | | | | | | | ignore errors of SSL accept. (test_ctx_server_session_cb): Ditto. * test/openssl/utils.rb (server_loop): Add ignore_ssl_accept_error argument. (start_server): Refine threads waits. * test/ruby/envutil.rb (assert_join_threads): Show a thread before backtrace. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/utils.rb (start_server, server_loop): Use aakr2014-11-012-13/+17
| | | | | | | | pipe to stop server instead of shutdown/close a listening socket. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/envutil.rb (assert_join_threads): New assertion toakr2014-11-013-46/+99
| | | | | | | | join multiple threads without exceptions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bary_mul_balance_with_mulfunc): Fix free work areaakr2014-11-012-1/+9
| | | | | | | | | | | location. [ruby-dev:48723] [Bug #10464] [ruby-core:66044] [Bug #10465] Reported by Kohji Nishihama. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: separate error messagesnobu2014-11-011-1/+6
| | | | | | | * parse.y (parse_atmark): separate error messages for sigil types, and make more descriptive git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: invalid instance/class variable namesnobu2014-11-013-2/+14
| | | | | | | | * parse.y (parse_atmark): mere atmark and two atmarks without succeeding identifiers are invalid as instance/class variable names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: remove dl from EXT_SRCSnobu2014-10-311-6/+1
| | | | | | | * common.mk (EXT_SRCS): remove dl/callback which has been removed at r48217. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32ole/win32ole_variant.c: use typed data.suke2014-10-312-12/+30
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dl/*: remove DL as it is replaced by Fiddle.tenderlove2014-10-3148-5810/+33
| | | | | | | | | [Feature #5458] Thanks to Jonan Scheffler <jonanscheffler@gmail.com> for this patch * test/dl/*: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_ssl.rb: Add certificate verification chainheadius2014-10-312-0/+12
| | | | | | test from JRuby community. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-11-01svn2014-10-311-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/psych/test_emitter.rb: Fix line_width test...initial valueheadius2014-10-312-2/+6
| | | | | | is impl-specific and attr assignment always returns LHS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make Digest() thread-safe.knu2014-10-315-3/+106
| | | | | | | | | | | * ext/digest/lib/digest.rb (Digest()): This function should now be thread-safe. If you have a problem with regard to on-demand loading under a multi-threaded environment, preload "digest/*" modules on boot or use this method instead of directly referencing Digest::*. [Bug #9494] cf. https://github.com/aws/aws-sdk-ruby/issues/525 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/digest/test_digest.rb: Drop #!. This no longer runsknu2014-10-312-2/+5
| | | | | | stand-alone because it depends on ruby/envutil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/setup.mak: $(APPEND) with some arguments insert a space beforeusa2014-10-312-1/+8
| | | | | | | | | the arguments, so it causes error if the arguments are expected to be a macro definition. this fix resolve the build error introduced at r48210. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/setup.mak: get target architecture from the compilernobu2014-10-312-36/+20
| | | | | | | | | * win32/Makefile.sub, win32/setup.mak (MACHINE): get target architecture from the compiler, instead of environment variable at build time, which is irrelevant to runtime environment, and not set when running in cygwin sshd. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_time.rb: test_iso8601nobu2014-10-311-76/+85
| | | | | | | * test/test_time.rb (TestTimeExtension#test_iso8601): run all xmlschema tests with iso8601 method, and fix the test name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Bump Syslog::Logger::VERSION to 2.1.0.knu2014-10-312-1/+6
| | | | | | | * ext/syslog/lib/syslog/logger.rb (Syslog::Logger::VERSION): Bump the VERSION to 2.1.0. [ruby-core:64483] [Bug #10159] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Document that Net::IMAP#fetch will return nil instead of an emtpy array.knu2014-10-312-2/+9
| | | | | | | * lib/net/imap.rb (Net::IMAP#fetch): [DOC] Document that Net::IMAP#fetch will return nil instead of an emtpy array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]hsbt2014-10-311-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: fix Unicode table dependencynobu2014-10-312-5/+13
| | | | | | | | * common.mk (.unicode-tables.time): needs Unicode files always, and should update after downloading these files. [ruby-core:66026] [Bug #10461] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extmk.rb: include UPDATE_LIBRARIESnobu2014-10-311-0/+1
| | | | | | | | * ext/extmk.rb: include UPDATE_LIBRARIES in SUBMAKEOPTS for NMAKE which does not include macro definitions given by command line in MAKEFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .travis.yml: reverted r48199, it's unlated configuration.hsbt2014-10-312-2/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/test_unicode_normalize.rb: added unicode version number tohsbt2014-10-312-1/+8
| | | | | | test data location. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gitignore: ignored unicode data with version directories.hsbt2014-10-312-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-10-31svn2014-10-311-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .travis.yml: tweak build scripts for unicode_normalize.rb.hsbt2014-10-312-1/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: separate updatesnobu2014-10-301-4/+6
| | | | | | | * common.mk (UPDATE_LIBRARIES): separate autogenerated library script from downloaded data files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk: fix for the case ALWAYS_UPDATE_UNICODE=nonaruse2014-10-302-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e