summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-27Fix fallback in URI.encode_www_form_component to include #Jeremy Evans
Patch from Matthew Kerwin. Fixes [Bug #14358] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Do not escape + in Shellwords.escapeJeremy Evans
+ is not a character that requires escaping in Bourne sh. Fixes [Bug #14429] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Ignore Errno::EPIPE when sending requests in net/httpJeremy Evans
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] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Updated bundled_gemsNobuyoshi Nakada
2019-09-27Drop eliminated catch-entriesNobuyoshi Nakada
Drop catch table entries used in eliminated block, as well as call_infos. [Bug #16184]
2019-09-27assert_in_out_err should use FailDesc tooNobuyoshi Nakada
2019-09-27Adjusted spaces [ci skip]Nobuyoshi Nakada
2019-09-27More tests for [Feature #16150]Nobuyoshi Nakada
2019-09-27[EXPERIMENTAL] Make NilClass#to_s, TrueClass#to_s and FalseClass#to_s return ↵Jean Boussier
a frozen String * Always the same frozen String for each of these values. * Avoids extra allocations whenever calling these 3 methods. * See [Feature #16150] Notes: Merged: https://github.com/ruby/ruby/pull/2492
2019-09-27[ruby/fileutils] Bump version to 1.3.0.Hiroshi SHIBATA
https://github.com/ruby/fileutils/commit/ba3bd6fdfd
2019-09-27[ruby/fileutils] Use Gemfile instead of ↵Hiroshi SHIBATA
Gem::Specification#add_development_dependency. https://github.com/ruby/fileutils/commit/17a9de6d9b
2019-09-27[ruby/fileutils] Reduce global variablesKazuhiro NISHIYAMA
https://github.com/ruby/fileutils/commit/ba81f024cf
2019-09-27[ruby/fileutils] Fix cp_r with symlink root on WindowsJeremy Evans
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
2019-09-27[ruby/fileutils] Fix test_cp_r_dev on Windows or other systems without ↵Jeremy Evans
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
2019-09-27[ruby/fileutils] Do not break in verbose mode if using FileUtils with a ↵Jeremy Evans
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
2019-09-27[ruby/fileutils] Skip test_cp_r_socket on JRubyJeremy Evans
https://github.com/ruby/fileutils/commit/20bb9ec789
2019-09-27[ruby/fileutils] Make copy methods handle FIFOs and UNIX socketsJeremy Evans
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
2019-09-27[ruby/fileutils] Update the documentation content and formattingzverok
https://github.com/ruby/fileutils/commit/b701353c53
2019-09-26Fix more keyword separation issuesJeremy Evans
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 Notes: Merged: https://github.com/ruby/ruby/pull/2493
2019-09-27Adjusted spaces [ci skip]Nobuyoshi Nakada
2019-09-26Add compaction support to `rb_ast_t`Aaron Patterson
This commit adds compaction support to `rb_ast_t`.
2019-09-26Fix keyword argument separation issues in Enumerator::Generator#eachJeremy Evans
This requires adding rb_proc_call_kw to pass the keyword flag. Notes: Merged: https://github.com/ruby/ruby/pull/2491
2019-09-26Add rb_adjust_argv_kw_splat to internal.hJeremy Evans
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. Notes: Merged: https://github.com/ruby/ruby/pull/2491
2019-09-26Honor Syslog::Logger#level overridesGeorge Claghorn
Notes: Merged: https://github.com/ruby/ruby/pull/2453
2019-09-26Fix clang errors when pendantic errors enabledAaron Patterson
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
2019-09-26Replace `freeze_string` with `rb_fstring`Aaron Patterson
2019-09-26Remove `iseq_add_mark_object_compile_time`Aaron Patterson
This function is just a synonym for RB_OBJ_WRITTEN, so we can just directly call that.
2019-09-26Remove mark arrayAaron Patterson
We don't use this array anymore so we can remove it
2019-09-26Execute write barrier instead of adding to arrayAaron Patterson
We can mark everything via the instruction objects, so just execute the write barrier instead of appending to the array
2019-09-26Pull `iseq_add_mark_object_compile_time` out of `freeze_string`Aaron Patterson
`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.
2019-09-26Pull "mark object" upAaron Patterson
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.
2019-09-26Scan the ISEQ arena for markables and mark themAaron Patterson
This commit scans the ISEQ arena for objects that can be marked and marks them. This should make the mark array unnecessary.
2019-09-26Allocate `INSN *` out of a separate arenaAaron Patterson
2019-09-26Introduce a secondary arenaAaron Patterson
We'll scan the secondary arena during GC mark. So, we should only allocate "markable" instruction linked list nodes out of the secondary arena.
2019-09-26Extract allocation and free functionsAaron Patterson
Now we can allocate and free a secondary arena.
2019-09-26Pass in arena to allocatorAaron Patterson
This is so we can configure a new arena later
2019-09-27NEWS: fixed markups and indent [ci skip]Nobuyoshi Nakada
C API updates: * adjusted indent. * marked up ANYARGS as RDoc.
2019-09-27Kernel#open may be redefinedNobuyoshi Nakada
2019-09-27NEWS: fixed markups and formatting [ci skip]Nobuyoshi Nakada
* got rid of inadvertent label lists. * marked up resolve_feature_path method names. * fixed indentation of UnboundMethod#bind_call and marked up as RDoc.
2019-09-27Check the argument sizeNobuyoshi Nakada
Ensure that argument array size does not overflow as `int`, before cast in thread_do_start after new thread created.
2019-09-27* 2019-09-27 [ci skip]git
2019-09-26Fix shorten-64-to-32 compile warnings/errorsJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument separation issues in Fiber#resumeJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument separation issues in Thread.newJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix more keyword argument separation issues in PathnameJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument separation issues in ↵Jeremy Evans
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. Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument separation issues in Proc#{<<,>>}Jeremy Evans
This requires adding rb_proc_call_with_block_kw. Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument sepration issues when IO#open calls #to_openJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix Module#name news and add a testJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/2488
2019-09-26Restore ENV, rubygems always sets SOURCE_DATE_EPOCH nowNobuyoshi Nakada