| Age | Commit message (Collapse) | Author |
|
|
|
With this patch, TracePoint receives a `:fiber_switch` event for
_almost_ every fiber switch. Previously, it would not be sent when an
exception was going to be raised. Now the event should only be blockable
by an interrupt (including `Thread#raise`) or a fatal error.
Additionally, interrupts will now be checked on the return fiber
_before_ re-raising the terminating unhandled exception. And a fiber
that terminates with an unhandled exception no longer creates a pending
interrupt on its thread. The exception will be raised in the return
fiber the same way as `Fiber#raise`: using `cont.value` with `cont.argc
== -1`
I moved `rb_exc_raise` from `fiber_store` to the end of `fiber_switch`
after _all_ of the other cleanup code: `fiber_stack_release`,
`th->blocking` increment, `RUBY_VM_CHECK_INTS`, and `EXEC_EVENT_HOOK`.
It seems to me that skipping those other cleanup steps may have also
resulted in other bugs.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
I confirmed that libvterm supports only which are UTF-8, US ASCII, UK, and
DEC graphics by reading source code, so can't test this patch by
yamatanoorogi gem through vterm gem for now.
This fixes ruby/irb#190.
https://github.com/ruby/reline/commit/44596c0cc7
|
|
processing
https://github.com/ruby/reline/commit/3535676689
|
|
Revert "Support for change in Windows-specific behavior at eol"
This reverts commit cad4de6ee841b43f3f0e441626f9415c3eda0f82.
https://github.com/ruby/reline/commit/646587fc2c
|
|
ref. https://github.com/ruby/reline/pull/262
https://github.com/ruby/reline/commit/b98bc3c329
|
|
https://github.com/ruby/reline/commit/03031b885d
|
|
https://github.com/ruby/reline/commit/d4d9d3e3d4
|
|
This fixes ruby/reline#261.
https://github.com/ruby/reline/commit/3cf1213014
|
|
|
|
|
|
Output preprocessed files under the corresponding directory to the
source files.
|
|
The documentation already specifies that they strip whitespace
and defines whitespace to include null.
This wraps the new behavior in the appropriate guards in the specs,
but does not specify behavior for previous versions, because this
is a bug that could be backported.
Fixes [Bug #17467]
Notes:
Merged: https://github.com/ruby/ruby/pull/4164
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Move section on internal details out of the class-level documentation,
since users do not need to know that. Update it to use
Integer(T_BIGNUM) instead of Bignum.
Fixes [Misc #17580]
|
|
Previously, frames with iseq but no pc were skipped (even before
the refactoring in 3b24b7914c16930bfadc89d6aff6326a51c54295).
Because the entire backtrace was procesed before the refactoring,
this was handled by using later frames instead. However, after
the refactoring, we need to handle those frames or they get
lost.
Keep two iteration counters when iterating, one for the desired
backtrace size (so we generate the desired number of frames), and
one for the actual backtrace size (so we don't process off the end
of the stack). When skipping over an iseq frame with no pc,
decrement the counter for the desired backtrace, so it will
continue to process the expected number of backtrace frames.
Fixes [Bug #17581]
Notes:
Merged: https://github.com/ruby/ruby/pull/4120
|
|
|
|
|
|
|
|
negative cache on a class which does not have subclasses was not
invalidated, but it should be invalidated because other classes
can cache this negative cache.
[Bug #17553]
Notes:
Merged: https://github.com/ruby/ruby/pull/4201
|
|
rb_obj_info(obj) (rp(obj)) doesn't show enough information for
non-iseq methods, so this patch shows more.
Notes:
Merged: https://github.com/ruby/ruby/pull/4201
|
|
|
|
|
|
Ractor.allocate and Ractor#dup should not be allowed like Thread.
[Bug #17642]
Notes:
Merged: https://github.com/ruby/ruby/pull/4198
|
|
Fixes https://bugs.ruby-lang.org/issues/17629
https://github.com/ruby/readline-ext/commit/250d6787ed
|
|
https://github.com/ruby/readline-ext/commit/f6dff0a9f6
|
|
check_rvalue_consistency_force() uses is_pointer_to_heap() and
it should be synchronized with other ractors.
[Bug #17636]
Notes:
Merged: https://github.com/ruby/ruby/pull/4194
|
|
NEWOBJ event is called without clearing RVALUE values (v1, v2, v3).
This patch clear them before NEWOBJ tracepoint internal hook.
[Bug #17599]
Notes:
Merged: https://github.com/ruby/ruby/pull/4196
|
|
|
|
|
|
marking requires a barrier (stop all Ractors) and gc_enter() does it.
However, it doesn't check rest event which can start marking.
[Bug #17599]
Notes:
Merged: https://github.com/ruby/ruby/pull/4195
|
|
|
|
This if statement is not reachable because `was_compacting` cannot be true when `heap->compact_cursor` is NULL.
Notes:
Merged: https://github.com/ruby/ruby/pull/4192
|
|
|
|
Before this commit:
```
$ ruby --dump=insn -e '1.times { |x| puts x }'
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,22)> (catch: FALSE)
== catch table
| catch type: break st: 0000 ed: 0004 sp: 0000 cont: 0004
| == disasm: #<ISeq:block in <main>@-e:1 (1,8)-(1,22)> (catch: FALSE)
| == catch table
| | catch type: redo st: 0001 ed: 0006 sp: 0000 cont: 0001
| | catch type: next st: 0001 ed: 0006 sp: 0000 cont: 0006
| |------------------------------------------------------------------------
| local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
| [ 1] x@0<Arg>
| 0000 nop ( 1)[Bc]
| 0001 putself [Li]
| 0002 getlocal_WC_0 x@0
| 0004 opt_send_without_block <calldata!mid:puts, argc:1, FCALL|ARGS_SIMPLE>
| 0006 leave [Br]
|------------------------------------------------------------------------
0000 putobject_INT2FIX_1_ ( 1)[Li]
0001 send <calldata!mid:times, argc:0>, block in <main>
0004 leave
```
After this commit:
```
> ruby --dump=insn -e '1.times { |x| puts x }'
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,22)> (catch: FALSE)
0000 putobject_INT2FIX_1_ ( 1)[Li]
0001 send <calldata!mid:times, argc:0>, block in <main>
0004 leave
== disasm: #<ISeq:block in <main>@-e:1 (1,8)-(1,22)> (catch: FALSE)
local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
[ 1] x@0<Arg>
0000 putself ( 1)[LiBc]
0001 getlocal_WC_0 x@0
0003 opt_send_without_block <calldata!mid:puts, argc:1, FCALL|ARGS_SIMPLE>
0005 leave
```
Fixes [ruby-core:102418] [Feature #17613]
Co-Authored-By: Alan Wu <XrXr@users.noreply.github.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/4125
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4075
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4075
|
|
In RFC 3339, -00:00 is used for the time in UTC is known, but the
offset to local time is unknown. Support that representation by
`-` flag for `z`.
Notes:
Merged: https://github.com/ruby/ruby/pull/4075
|
|
|
|
|
|
http://ci.rvm.jp/logfiles/brlog.trunk-test.20210216-182358
```
1)
$LOAD_PATH.resolve_feature_path raises LoadError if feature cannot be found FAILED
Expected LoadError but no exception was raised (nil was returned)
/tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1275:in `block (3 levels) in <top (required)>'
/tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1259:in `block in <top (required)>'
/tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1258:in `<top (required)>'
```
|
|
http://ci.rvm.jp/results/trunk-test@ruby-sky1/3359644
```
: 1)
: TestEncoding#test_nonascii_library_path [/tmp/ruby/v3/src/trunk-test/test/ruby/test_encoding.rb:157]:
: Exception(LoadError) with message matches to /\[Bug #16382\]/.
```
|
|
|
|
|
|
I think it's more friendly and easier to work with to return `nil` when
the feature is not found in the $LOAD_PATH.
Notes:
Merged: https://github.com/ruby/ruby/pull/2317
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4187
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4187
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4187
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4186
|