aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix fallback in URI.encode_www_form_component to include #Jeremy Evans2019-09-272-1/+3
| | | | | | Patch from Matthew Kerwin. Fixes [Bug #14358]
* Do not escape + in Shellwords.escapeJeremy Evans2019-09-272-1/+6
| | | | | | + is not a character that requires escaping in Bourne sh. Fixes [Bug #14429]
* Ignore Errno::EPIPE when sending requests in net/httpJeremy Evans2019-09-272-1/+18
| | | | | | | | An EPIPE when sending the request should be ignored. Even if you cannot write more data, you may still be able to read the server's response. Fixes [Bug #14466]
* Updated bundled_gemsNobuyoshi Nakada2019-09-271-2/+2
|
* Drop eliminated catch-entriesNobuyoshi Nakada2019-09-272-0/+27
| | | | | Drop catch table entries used in eliminated block, as well as call_infos. [Bug #16184]
* assert_in_out_err should use FailDesc tooNobuyoshi Nakada2019-09-271-4/+2
|
* Adjusted spaces [ci skip]Nobuyoshi Nakada2019-09-273-40/+41
|
* More tests for [Feature #16150]Nobuyoshi Nakada2019-09-271-0/+21
|
* [EXPERIMENTAL] Make NilClass#to_s, TrueClass#to_s and FalseClass#to_s return ↵Jean Boussier2019-09-275-3/+51
| | | | | | | | a frozen String * Always the same frozen String for each of these values. * Avoids extra allocations whenever calling these 3 methods. * See [Feature #16150]
* [ruby/fileutils] Bump version to 1.3.0.Hiroshi SHIBATA2019-09-271-1/+1
| | | | https://github.com/ruby/fileutils/commit/ba3bd6fdfd
* [ruby/fileutils] Use Gemfile instead of ↵Hiroshi SHIBATA2019-09-271-2/+0
| | | | | | Gem::Specification#add_development_dependency. https://github.com/ruby/fileutils/commit/17a9de6d9b
* [ruby/fileutils] Reduce global variablesKazuhiro NISHIYAMA2019-09-271-8/+8
| | | | https://github.com/ruby/fileutils/commit/ba81f024cf
* [ruby/fileutils] Fix cp_r with symlink root on WindowsJeremy Evans2019-09-271-1/+5
| | | | | | | | | | Previously this would copy the symlink root as a symlink instead of creating a new root directory. This modifies the source to expand it using File.realpath before starting the copy. Fixes Ruby Bug 12123 https://github.com/ruby/fileutils/commit/7359cef359
* [ruby/fileutils] Fix test_cp_r_dev on Windows or other systems without ↵Jeremy Evans2019-09-271-4/+4
| | | | | | | | | | | | | character/block device in /dev Previously this would give an error such as: TestFileUtils#test_cp_r_dev [c:/fileutils/test/fileutils/test_fileutils.rb:455]: [RuntimeError] exception expected, not. Class: <TypeError> Message: <"no implicit conversion of nil into String"> https://github.com/ruby/fileutils/commit/0ce0fefbeb
* [ruby/fileutils] Do not break in verbose mode if using FileUtils with a ↵Jeremy Evans2019-09-272-12/+30
| | | | | | | | | | | | | frozen object If FileUtils is included into another object, and verbose mode is used, a FrozenError is currently raised unless the object has the @fileutils_output and @fileutils_label instance variables. This fixes things so that it does not attempt to set the instance variables, but it still uses them if they are present. https://github.com/ruby/fileutils/commit/689cb9c56a
* [ruby/fileutils] Skip test_cp_r_socket on JRubyJeremy Evans2019-09-271-0/+1
| | | | https://github.com/ruby/fileutils/commit/20bb9ec789
* [ruby/fileutils] Make copy methods handle FIFOs and UNIX socketsJeremy Evans2019-09-272-9/+40
| | | | | | | | | | | | | | | | | | Previously, this was broken. Trying to copy a FIFO would raise a NoMethodError if File.mkfifo was defined. Trying to copy a UNIX socket would raise a RuntimeError as File.mknod is not something Ruby defines. Handle the FIFO issue using File.mkfifo instead of mkfifo. Handle the UNIX Socket issue by creating a unix socket. Continue to not support character or block devices, raising a RuntimeError for both. Add tests for FIFO, UNIX Socket, and character/block devices. https://github.com/ruby/fileutils/commit/123903532d
* [ruby/fileutils] Update the documentation content and formattingzverok2019-09-271-74/+93
| | | | https://github.com/ruby/fileutils/commit/b701353c53
* Fix more keyword separation issuesJeremy Evans2019-09-269-32/+707
| | | | | | | | | | | | | | | | | | | | | This fixes instance_exec and similar methods. It also fixes Enumerator::Yielder#yield, rb_yield_block, and a couple of cases with Proc#{<<,>>}. This support requires the addition of rb_yield_values_kw, similar to rb_yield_values2, for passing the keyword flag. Unlike earlier attempts at this, this does not modify the rb_block_call_func type or add a separate function type. The functions of type rb_block_call_func are called by Ruby with a separate VM frame, and we can get the keyword flag information from the VM frame flags, so it doesn't need to be passed as a function argument. These changes require the following VM functions accept a keyword flag: * vm_yield_with_cref * vm_yield * vm_yield_with_block
* Adjusted spaces [ci skip]Nobuyoshi Nakada2019-09-2712-72/+78
|
* Add compaction support to `rb_ast_t`Aaron Patterson2019-09-264-4/+70
| | | | This commit adds compaction support to `rb_ast_t`.
* Fix keyword argument separation issues in Enumerator::Generator#eachJeremy Evans2019-09-264-1/+97
| | | | This requires adding rb_proc_call_kw to pass the keyword flag.
* Add rb_adjust_argv_kw_splat to internal.hJeremy Evans2019-09-265-6/+1
| | | | | We are calling this in a few other files, it is better to have it in a header than adding prototypes to the other files.
* Honor Syslog::Logger#level overridesGeorge Claghorn2019-09-262-2/+17
|
* Fix clang errors when pendantic errors enabledAaron Patterson2019-09-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | I've been compiling with: ``` set -lx cflags '-std=c99 -Werror=pedantic -pedantic-errors' ``` But compilation would fail with the following: ``` cont.c:296:90: error: format specifies type 'void *' but the argument has type 'struct fiber_pool_stack *' [-Werror,-Wformat-pedantic] if (DEBUG) fprintf(stderr, "fiber_pool_stack_alloca(%p): %"PRIuSIZE"/%"PRIuSIZE"\n", stack, offset, stack->available); ~~ ^~~~~ cont.c:467:24: error: format specifies type 'void *' but the argument has type 'struct fiber_pool *' [-Werror,-Wformat-pedantic] count, fiber_pool, fiber_pool->used, fiber_pool->count, size, fiber_pool->vm_stack_size); ^~~~~~~~~~ cont.c:588:83: error: format specifies type 'void *' but the argument has type 'struct fiber_pool_vacancy *' [-Werror,-Wformat-pedantic] if (DEBUG) fprintf(stderr, "fiber_pool_stack_acquire: %p used=%"PRIuSIZE"\n", fiber_pool->vacancies, fiber_pool->used); ~~ ^~~~~~~~~~~~~~~~~~~~~ cont.c:736:76: error: format specifies type 'void *' but the argument has type 'rb_fiber_t *' (aka 'struct rb_fiber_struct *') [-Werror,-Wformat-pedantic] if (DEBUG) fprintf(stderr, "fiber_stack_release: %p, stack.base=%p\n", fiber, fiber->stack.base); ``` This commit just fixes the pedantic errors
* Replace `freeze_string` with `rb_fstring`Aaron Patterson2019-09-261-14/+8
|
* Remove `iseq_add_mark_object_compile_time`Aaron Patterson2019-09-261-37/+28
| | | | | This function is just a synonym for RB_OBJ_WRITTEN, so we can just directly call that.
* Remove mark arrayAaron Patterson2019-09-262-5/+0
| | | | We don't use this array anymore so we can remove it
* Execute write barrier instead of adding to arrayAaron Patterson2019-09-261-1/+1
| | | | | We can mark everything via the instruction objects, so just execute the write barrier instead of appending to the array
* Pull `iseq_add_mark_object_compile_time` out of `freeze_string`Aaron Patterson2019-09-261-4/+11
| | | | | | | `freeze_string` essentially called iseq_add_mark_object_compile_time. I need to know where all writes occur on the `rb_iseq_t`, so this commit separates the function calls so we can add write barriers in the right place.
* Pull "mark object" upAaron Patterson2019-09-261-11/+18
| | | | | | | Move the "add mark object" function to the location where we should be calling RB_OBJ_WRITTEN. I'm going to add verification code next so we can make sure the objects we're adding to the array are also reachable from the mark function.
* Scan the ISEQ arena for markables and mark themAaron Patterson2019-09-263-0/+55
| | | | | This commit scans the ISEQ arena for objects that can be marked and marks them. This should make the mark array unnecessary.
* Allocate `INSN *` out of a separate arenaAaron Patterson2019-09-261-1/+2
|
* Introduce a secondary arenaAaron Patterson2019-09-263-6/+14
| | | | | | We'll scan the secondary arena during GC mark. So, we should only allocate "markable" instruction linked list nodes out of the secondary arena.
* Extract allocation and free functionsAaron Patterson2019-09-261-17/+30
| | | | Now we can allocate and free a secondary arena.
* Pass in arena to allocatorAaron Patterson2019-09-261-4/+10
| | | | This is so we can configure a new arena later
* NEWS: fixed markups and indent [ci skip]Nobuyoshi Nakada2019-09-271-2/+2
| | | | | | | C API updates: * adjusted indent. * marked up ANYARGS as RDoc.
* Kernel#open may be redefinedNobuyoshi Nakada2019-09-271-2/+13
|
* NEWS: fixed markups and formatting [ci skip]Nobuyoshi Nakada2019-09-271-28/+29
| | | | | | | * got rid of inadvertent label lists. * marked up resolve_feature_path method names. * fixed indentation of UnboundMethod#bind_call and marked up as RDoc.
* Check the argument sizeNobuyoshi Nakada2019-09-271-0/+1
| | | | | Ensure that argument array size does not overflow as `int`, before cast in thread_do_start after new thread created.
* * 2019-09-27 [ci skip]git2019-09-271-1/+1
|
* Fix shorten-64-to-32 compile warnings/errorsJeremy Evans2019-09-261-1/+1
|
* Fix keyword argument separation issues in Fiber#resumeJeremy Evans2019-09-263-11/+109
|
* Fix keyword argument separation issues in Thread.newJeremy Evans2019-09-263-3/+91
|
* Fix more keyword argument separation issues in PathnameJeremy Evans2019-09-262-5/+37
|
* Fix keyword argument separation issues in ↵Jeremy Evans2019-09-262-4/+28
| | | | | | | | | OpenSSL::SSL::SSLSocket#sys{read,write}_nonblock It's unlikely anyone would actually hit these. The methods are private, you only hit this code path if calling these methods before performing the SSL connection, and there is already a verbose warning issued.
* Fix keyword argument separation issues in Proc#{<<,>>}Jeremy Evans2019-09-263-2/+155
| | | | This requires adding rb_proc_call_with_block_kw.
* Fix keyword argument sepration issues when IO#open calls #to_openJeremy Evans2019-09-261-0/+13
|
* Fix Module#name news and add a testJean Boussier2019-09-262-2/+6
|
* Restore ENV, rubygems always sets SOURCE_DATE_EPOCH nowNobuyoshi Nakada2019-09-261-0/+2
|