Age | Commit message (Collapse) | Author |
|
Single assignment with rescue modifier applies rescue to the RHS:
a = raise rescue 1 # a = (raise rescue 1)
Previously, multiple assignment with rescue modifier applied rescue
to the entire expression:
a, b = raise rescue [1, 2] # (a, b = raise) rescue [1, 2]
This makes multiple assignment with rescue modifier consistent with
single assignment with rescue modifier, applying rescue to the RHS:
a, b = raise rescue [1, 2] # a, b = (raise rescue [1, 2])
Implements [Feature #8239]
Fixes [Bug #8279]
|
|
|
|
|
|
Methods on duplicated class/module refer same constant inline
cache (IC). Constant access lookup should be done for cloned
class/modules but inline cache doesn't check it.
To check it, this patch introduce new RCLASS_CLONED flag which
are set when if class/module is cloned (both orig and dst).
[Bug #15877]
|
|
Binary dumping the iseq for `case foo in []; end` used to crash as
there was no handling for these exception classes.
Pattern matching generates these classes as operands to `putobject`.
[Bug #16088]
Closes: https://github.com/ruby/ruby/pull/2325
|
|
|
|
|
|
|
|
Without this patch, "raise" event invoked twice when raise an
exception in "load"ed script.
This patch by danielwaterworth (Daniel Waterworth).
[Bug #15877]
|
|
Closes: https://github.com/ruby/ruby/pull/1790
|
|
They have been too unstable.
Revert "Extend sleep before sending USR1 in TestProcess"
This reverts commit aaf69a8ba866193863a7eafe5c6044844bd71bc3.
Revert "Extend sleep before sending USR1 in TestProcess"
This reverts commit 076f3fcf11a061394d3d5f8c671512df1e983023.
|
|
|
|
|
|
The regexp should be expected to match the error message.
|
|
just like 076f3fcf11a061394d3d5f8c671512df1e983023.
This test also hanged on Travis osx
https://travis-ci.org/ruby/ruby/jobs/567547060
|
|
This reverts commit 7a75baa6e294473f02da512c99f7ef1f76b2d83c.
Revert "Defer skip to avoid errors on ensure"
This reverts commit adfc8d6dbadbccef27d6ec78022650840c7604cc.
because 76e2370f132f83c16c9de39a0a9356579f364527 is hoped to fix the
problem.
|
|
|
|
somehow the test fails only on Wercker in CIs triggered by GitHub.
Actually rubyci and ci.rvm.jp also have issues too, though.
|
|
* parse.y (yycompile): make sure in advance that the `__FILE__`
object shares a fstring, to get rid of dangling path name.
Fixed up 53e9908d8afc7f03109b0aafd1698ab35f512b05. [Bug #16041]
* vm_eval.c (eval_make_iseq): ditto.
|
|
This reverts commit a1727e43af18c122c4d7adfa603f895fdc8f3df1.
|
|
|
|
|
|
receiver
Previously, attr* methods could be private even if not in the
private section of a class/module block.
This uses the same approach that ruby started using for define_method
in 1fc33199736f316dd71d0c551edbf514528ddde6.
Fixes [Bug #4537]
|
|
because the test seems to hang there forever:
https://travis-ci.org/ruby/ruby/jobs/566409880
|
|
|
|
|
|
|
|
to suppress a warning
|
|
This recursive iteration test can cause SystemStackError so
check it correctly.
|
|
```
warning: Float 0xf.fp10000000000000... out of range
```
|
|
to suppress the leak checker.
|
|
|
|
iter_lev is used to detect the hash is iterating or not.
Usually, iter_lev should be very small number (1 or 2) so
`int` is overkill.
This patch introduce iter_lev in flags (7 bits, FL13 to FL19)
and if iter_lev exceeds this range, save it in hidden attribute.
We can get 1 word in RHash.
We can't modify frozen objects. Therefore I added new internal API
`rb_ivar_set_internal()` which allows us to set an attribute
even if the target object is frozen
if the name is hidden ivar (the name without `@` prefix).
|
|
This commit makes it so that if the binmode option is given with
any encoding arguments, the reader and writer IO objects are
not set to binary encoding.
Fixes [Bug #12989]
|
|
When passing `binmode: true` to `IO.pipe`, it should behave the same way
as calling `binmode` on each of the file handles. It should set the
file to binmode *and* set the encoding to binary on the file.
Before this commit, passing `binmode: true` to `IO.pipe` would make
`binmode?` return `true`, but the file's encoding would remain the same
as the default encoding. Passing `binmode: true` should make `binmode?`
return `true` *and* set the encoding to binary.
|
|
The result should only be tainted if the path given to the method
was tainted.
The code to always taint the result was added in
a4934a42cbb84b6679912226581c71b435671f55 (svn revision 4892) in
2003 by matz. However, the change wasn't mentioned in the
commit message, and it may have been committed by accident.
Skip part of a readline test that uses Reline. Reline in general
would pass the test, but Reline's test mode doesn't raise a
SecurityError if passing a tainted prompt and $SAFE >= 1. This
was hidden earlier because File#path was always returning a
tainted string.
Fixes [Bug #14485]
|
|
|
|
This reverts commit 1a759bfe5d554c22571d2e6e4e5998cf06a7b98f.
This fails on some operating systems.
|
|
The result should only be tainted if the path given to the method
was tainted.
The code to always taint the result was added in
a4934a42cbb84b6679912226581c71b435671f55 (svn revision 4892) in
2003 by matz. However, the change wasn't mentioned in the
commit message, and it may have been committed by accident.
Skip part of a readline test that uses Reline. Reline in general
would pass the test, but Reline's test mode doesn't raise a
SecurityError if passing a tainted prompt and $SAFE >= 1. This
was hidden earlier because File#path was always returning a
tainted string.
Fixes [Bug #14485]
|
|
Fixes [Bug #14062]
|
|
|
|
* string.c (rb_str_split_m): occupy match data not to be modified
during yielding the block. [Bug #16024]
|
|
* time.c (zone_timelocal): initialize DST flag by asking the
timezone object. [Bug #15988]
|
|
[Bug #12230]
|
|
exec_hooks_postcheck() clean executed hook_list if it is needed.
list_exec is freed if there are no events and this list is local
event (connected to specific iseq). However, iseq keeps to point
this local hook_list, freed list. To prevent this situation,
do not free hook_list here even if it has no events.
This issue is reported by @joker1007.
https://twitter.com/joker1007/status/1153649170797830144
|
|
Fixes [Bug #10901]
|
|
|
|
|
|
|
|
|