| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/81ccb3ab89
|
|
|
|
|
|
|
| |
Having a while loop over `heap_prepare` makes the GC logic difficult to
understand (it is difficult to understand when and why `heap_prepare`
yields a free page). It is also a source of bugs and can cause an infinite
loop if `heap_page` never yields a free page.
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/eab417d0ce
|
|
|
|
|
|
|
|
|
|
| |
`test_thread_instrumentation_fork_safe` has been failing occasionaly
on Ubuntu and Arch. At this stage we're not sure why, all we know is
that the child exit with status 1.
I suspect that something entirely unrelated cause the forked children
to fail on exit, so by using `exit!(0)` and doing assertions in the
parent I hope to be resilient to that.
|
|
|
|
|
|
|
|
|
| |
#message (https://github.com/ruby/error_highlight/pull/24)
See https://bugs.ruby-lang.org/issues/18564.
Ref: https://github.com/ruby/did_you_mean/pull/177
https://github.com/ruby/error_highlight/commit/671b7c61b2
|
| |
|
|
|
|
| |
This reverts commit 9d927204e7b86eb00bfd07a060a6383139edf741.
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/6d7bf24bb8
|
|
|
|
|
|
|
|
|
|
|
|
| |
... only when the message string has a newline.
`p StandardError.new("foo\nbar")` now prints `#<StandardError: "foo\nbar">'
instead of:
#<StandardError:
bar>
[Bug #18170]
|
|
|
|
|
|
|
|
|
|
| |
Currently only literal `0` and `1` are accepted as `read`/`write`
flags.
This patch allows other boolean arguments, C macros (`FALSE`/`TRUE`),
Ruby `VALUE`s (`Qfalse`/`Qtrue`), and C99 `bool`s (`false`/`true`), as
well.
https://github.com/ruby/rdoc/commit/169dc02e3c
|
|
|
|
|
|
|
|
|
|
| |
tests.
Set the linker flag `-Wl,-z,now` properly.
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Fixes [Bug #18781]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Invalid escapes are handled at multiple levels. The first level
is in parse.y, so skip invalid unicode escape checks for regexps
in parse.y.
Make rb_reg_preprocess and unescape_nonascii accept the regexp
options. In unescape_nonascii, if the regexp is an extended
regexp, when "#" is encountered, ignore all characters until the
end of line or end of regexp.
Unfortunately, in extended regexps, you can use "#" as a non-comment
character inside a character class, so also parse "[" and "]"
specially for extended regexps, and only skip comments if "#" is
not inside a character class. Handle nested character classes as well.
This issue doesn't just affect extended regexps, it also affects
"(#?" comments inside all regexps. So for those comments, scan
until trailing ")" and ignore content inside.
I'm not sure if there are other corner cases not handled. A
better fix would be to redesign the regexp parser so that it
unescaped during parsing instead of before parsing, so you already
know the current parsing state.
Fixes [Bug #18294]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
|
|
|
|
|
|
|
|
| |
If an autoload exists for a constant, but the path for the autoload
was required, const_source_location would return [false, 0] instead
of the actual file and line. This fixes it by setting the appropriate
file and line in rb_const_set, and saving the file and line in
const_tbl_update before they get reset by current_autoload_data.
Fixes [Bug #18624]
|
|
|
|
| |
Constants that can't be imported via bindgen should have
a comment saying why not.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously `(2..).cover?("2"..)` was false, but
`(..2).cover?(.."2")` was true. This changes it so both are false,
treating beginless ranges the same as endless ranges in regards to
type checks.
This also adds documentation to #cover? to describe behavior with
beginless and endless ranges, testing each documentation example,
which is how this bug was found.
Fixes [Bug #18155]
|
|
|
|
|
| |
Implements [Feature #12655]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://github.com/ruby/fileutils/pull/78)
Treats:
::rm
::rm_f
::rm_r
::rm_rf
::remove_entry_secure
https://github.com/ruby/fileutils/commit/ce2a438d75
|
| |
|
|
|
|
|
|
| |
* Add missing slash.
https://github.com/ruby/open-uri/commit/40023e63da
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/fec1ab2e41
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was being explicitly required from `Gem::Specification` but also a
strange autoload was set for it at `Gem::Version`. The autoload was non
standard because it should've been done in the `Gem` module, not in
`Gem::Specification`, since that's where the constant is expected to get
defined. Doing this might get deprecated in the future, and it was not
being effective anyways due to the explicit require.
Unify everything with an `autoload` at the right place.
https://github.com/rubygems/rubygems/commit/174ea3e24c
|
| |
|
|
|
|
| |
https://github.com/ruby/cgi/commit/93326fb622
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tests fail randomly on some platforms.
http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20220605T213004Z.fail.html.gz
http://rubyci.s3.amazonaws.com/arch/ruby-master/log/20220605T210003Z.fail.html.gz
```
[15737/21701] TestThreadInstrumentation#test_thread_instrumentation_fork_safe/home/chkbuild/chkbuild/tmp/build/20220605T213004Z/ruby/tool/lib/test/unit/assertions.rb:109:in `assert': Expected 0 to be nonzero?. (Test::Unit::AssertionFailedError)
```
The failures seem to depend on context switches. I suspect `sleep 0.05`
is too short, so this change tries to extend the wait time.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
THREAD_MODEL is exported already, so this matches that. Exporting this
is simpler than inspecting configure_args and arch and matching that up
with a specific configure.ac.
Fix GH-5976
|
| |
|
| |
|
|
|
|
|
|
| |
So that an exception raises by non-existent command, not via shell.
https://github.com/ruby/rdoc/commit/fd94dce69d
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/6b1a011243
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/83051403d6
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/ce63794fde
|
|
|
|
|
|
| |
`IO.popen` does that job.
https://github.com/ruby/rdoc/commit/3bbbc5ac84
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/47a1aef447
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
In the event that we are crashing due to a corrupt Ruby stack, we might
re-enter rb_vm_bugreport() due to failed assertions in
rb_backtrace_print_as_bugreport() or SDR(). In these cases we were
printing the bug report ad infinitum with unbounded recusion.
I seem to run into this every once in a while and the amount of log it
prints out is pretty distracting. On CI environments it makes the log
output unnecessarily big. Let's fix this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ref: https://bugs.ruby-lang.org/issues/18339
Design:
- This tries to minimize the overhead when no hook is registered.
It should only incur an extra unsynchronized boolean check.
- The hook list is protected with a read-write lock as to cause
contention when some hooks are registered.
- The hooks MUST be thread safe, and MUST NOT call into Ruby as they
are executed outside the GVL.
- It's simply a noop on Windows.
API:
```
rb_internal_thread_event_hook_t * rb_internal_thread_add_event_hook(rb_internal_thread_event_callback callback, rb_event_flag_t internal_event, void *user_data);
bool rb_internal_thread_remove_event_hook(rb_internal_thread_event_hook_t * hook);
```
You can subscribe to 3 events:
- READY: called right before attempting to acquire the GVL
- RESUMED: called right after successfully acquiring the GVL
- SUSPENDED: called right after releasing the GVL.
The hooks MUST be threadsafe, as they are executed outside of the GVL, they also MUST NOT call any Ruby API.
|
|
|
|
| |
https://github.com/ruby/nkf/commit/b386ddc11c
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/a20bac7924
|
|
|
|
|
|
|
|
|
|
| |
message
I found that the current test cases did not cover the bitwise AND
performed on modified words after each iteration
(https://github.com/rubygems/rubygems/blob/7e5765a66c9fe5187b167f619f34db5db121f2df/bundler/lib/bundler/digest.rb#L50)
https://github.com/rubygems/rubygems/commit/c8de819fee
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/7c6f15040d
|