| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Patch from Matthew Kerwin.
Fixes [Bug #14358]
|
|
|
|
|
|
| |
+ is not a character that requires escaping in Bourne sh.
Fixes [Bug #14429]
|
|
|
|
|
|
|
|
| |
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]
|
| |
|
|
|
|
|
| |
Drop catch table entries used in eliminated block, as well as
call_infos. [Bug #16184]
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
a frozen String
* Always the same frozen String for each of these values.
* Avoids extra allocations whenever calling these 3 methods.
* See [Feature #16150]
|
|
|
|
| |
https://github.com/ruby/fileutils/commit/ba3bd6fdfd
|
|
|
|
|
|
| |
Gem::Specification#add_development_dependency.
https://github.com/ruby/fileutils/commit/17a9de6d9b
|
|
|
|
| |
https://github.com/ruby/fileutils/commit/ba81f024cf
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
https://github.com/ruby/fileutils/commit/20bb9ec789
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
https://github.com/ruby/fileutils/commit/b701353c53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This commit adds compaction support to `rb_ast_t`.
|
|
|
|
| |
This requires adding rb_proc_call_kw to pass the keyword flag.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This function is just a synonym for RB_OBJ_WRITTEN, so we can just
directly call that.
|
|
|
|
| |
We don't use this array anymore so we can remove it
|
|
|
|
|
| |
We can mark everything via the instruction objects, so just execute the
write barrier instead of appending to the array
|
|
|
|
|
|
|
| |
`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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This commit scans the ISEQ arena for objects that can be marked and
marks them. This should make the mark array unnecessary.
|
| |
|
|
|
|
|
|
| |
We'll scan the secondary arena during GC mark. So, we should only
allocate "markable" instruction linked list nodes out of the secondary
arena.
|
|
|
|
| |
Now we can allocate and free a secondary arena.
|
|
|
|
| |
This is so we can configure a new arena later
|
|
|
|
|
|
|
| |
C API updates:
* adjusted indent.
* marked up ANYARGS as RDoc.
|
| |
|
|
|
|
|
|
|
| |
* got rid of inadvertent label lists.
* marked up resolve_feature_path method names.
* fixed indentation of UnboundMethod#bind_call and marked up as
RDoc.
|
|
|
|
|
| |
Ensure that argument array size does not overflow as `int`, before
cast in thread_do_start after new thread created.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This requires adding rb_proc_call_with_block_kw.
|
| |
|
| |
|
| |
|