Age | Commit message (Collapse) | Author |
|
for debugging
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2048247
|
|
|
|
|
|
|
|
|
|
Closes: https://github.com/ruby/ruby/pull/2133
|
|
[Feature #15665]
|
|
|
|
Also requested by Ko1.
|
|
requested by Ko1.
|
|
Sanitizers and fortifications do not interface, and there is currently
no plan for them to work together.
See also https://github.com/google/sanitizers/issues/247
|
|
Caller of gc_pin() should check it is a mark-able object.
So gc_pin() doesn't need to check it. With this fix,
we can refactoring around it.
|
|
|
|
|
|
[Feature #15323]
Closes: https://github.com/ruby/ruby/pull/2017
|
|
|
|
Heredocs are parsed line-by-line, so we need to keep track of the
temporary encoding of the string. Previously, a heredoc would
only detect mixed encoding errors if they were on the same line,
this changes things so they will be caught on different lines.
Fixes [Bug #15839]
|
|
Previously, the entire method was not run for Readline 4.3, probably
because it was known to fail. Commit
c754e979d3eeca51f1b13778f19f347df3da656e removed the check for
Readline 4.3. Other than this one assertion, which also doesn't
work when using Reline, the method runs correctly when using
Readline 4.3.
Fixes [Bug #15853].
|
|
rb_gc() no longer invokes finalizers, so there are T_ZOMBE objects.
|
|
Objects pointed by "maybe" pointers because of conservative marking
should be pinned down.
|
|
rb_gc() kicks gc_finalize_deferred(), which invokes finalizers.
This means that any Ruby program can be run this point and
it may be thread switching points and so on.
However, it is difficult to think it invokes any Ruby programs.
For example, `GC.compact` use `rb_gc()` to implement it, howver,
any Ruby program must not be run on this timing.
For this reason (it is difficult to image it run any Ruby program),
I removed `gc_finalize_deferred()` line in rb_gc().
This patch solves GC.compact issue.
[Bug #15809] and re-enable GC.compact test.
|
|
ARRAY_ASET() does not change the length of array, so
use rb_ary_push() instead of ARRAY_ASET(). It prevents
updating reference on GC.compact.
|
|
|
|
Always checks termination if you press Enter at last line.
|
|
This reverts commit 1ebe9a2f82fef5190454e68d430004282f5da172.
because it did not help.
|
|
CI seems to have a weired behavior now. Debugging.
Revert "azure-pipelines.yml: Fix typo"
This reverts commit f69d28fbca1eec8b9722cea1f989ee9554e8dad5.
Revert "azure-pipelines.yml: Use simpler trigger syntax"
This reverts commit 709756d89747bd36664593eda4156a7bf5ad7631.
Revert "azure-pipelines.yml: Do not run CI on trunk"
This reverts commit bec877b46fd4d0f621a75591b519a7e266eaa89b.
Revert "appveyor.yml: Do not doubly run CI on trunk"
This reverts commit d9b338a53f520b2dbb05555f18b8de8072300f40.
|
|
follow up for d3f1c615c5
|
|
|
|
|
|
|
|
|
|
|
|
except the special case `(nil..nil)`.
```
(1..).inspect #=> "1.."
(..5).inspect #=> "..5"
(nil..nil).inspect #=> "nil..nil"
```
[Bug #15745]
|
|
|
|
|
|
The behavior of `Hash[[nil]] #=> {}` was a bug until 1.9.3, but had been
remained with a warning because some programs depended upon it.
Now, six years passed. We can remove the compatibility behavior.
[Bug #7300]
|
|
|
|
|
|
* tool/make-snapshot: default to the current branch if no branch
but srcdir is given.
|
|
* tool/make-snapshot (package): dump to stringize GIT revisions
properly.
|
|
* tool/make-snapshot (package): use the last revision of the whole
tree as the revision name, not a single file.
* tool/file2lastrev.rb: ditto. dump without unnecessary subrange
and literal quotes, to stringize SVN revisions properly.
|
|
* tool/vcs.rb (VCS::GITSVN.revision_name): should delegate to the
same method of SVN, not an undefined method.
|
|
|
|
* gc.c (rb_raw_obj_info): new string objects cannot allocate to
create new class path name during GC.
|
|
|
|
* variable.c (set_namespace_path): set path to the whole namespace
tree. [Feature #15765]
|
|
* variable.c (build_const_pathname): build constant path from
name as a string. [Feature #15765]
|
|
* variable.c: make the hidden ivars `classpath` and `tmp_classpath` the source
of truth for module and constant names. Assign to them when modules are bind
to constants.
* variable.c: remove references to module name cache, as what used to be the cache
is now the source of truth. Remove rb_class_path_no_cache().
* variable.c: remove the hidden ivar `classid`. This existed for the purposes of
module name search, which is now replaced. Also, remove the associated
rb_name_class().
* class.c: use rb_set_class_path_string to set the name of Object during boot.
Must use a fstring as this runs before rb_cString is initialized and
creating a normal string leads to a VALUE without a class.
* spec/ruby/core/module/name_spec.rb: add a few specs to specify what happens
to Module#name across multiple operations. These specs pass without other
code changes in this commit.
[Feature #15765]
|
|
|
|
|