Граф коммитов

63522 Коммитов

Автор SHA1 Сообщение Дата
git 502d6d8459 * 2020-10-30 [ci skip] 2020-10-30 00:09:12 +09:00
Jeremy Evans c0aeb98aa9 Make ENV.replace handle multiple environ entries with the same key
While it is expected that all environment keys are unique, that is
not enforced. It is possible by manipulating environ directly you
can call a process with an environment with duplicate keys.  If
ENV.replace was passed a hash with a key where environ had a
duplicate for that key, ENV.replace would end up deleting the key
from environ.

The fix in this case is to not assume that the environment key
list has unique keys, and continue processing the entire key
list in keylist_delete.

Fixes [Bug #17254]
2020-10-29 08:08:42 -07:00
Koichi Sasada 07c03bc309 check isolated Proc more strictly
Isolated Proc prohibit to access outer local variables, but it was
violated by binding and so on, so they should be error.
2020-10-29 23:42:55 +09:00
Nobuyoshi Nakada bf951c763d
An ellipsis (...) can only be placed at the beginning 2020-10-29 18:14:27 +09:00
Aaron Patterson 9f3adaf529 Use public allocators for creating new T_OBJECT objects
This way the header flags and object internals are set correctly
2020-10-28 18:35:22 -07:00
Aaron Patterson d8b0f1f7a8
Objects are born embedded, so we don't need to check ivpr
It's not necessary to check ivpt because objects are allocated as
"embedded" by default
2020-10-28 16:11:30 -07:00
Jeremy Evans 58fd54f914 Fix error in update-deps due to tab/space difference 2020-10-28 15:29:05 -07:00
Jeremy Evans dfb3605bbe
Add Thread.ignore_deadlock accessor
Setting this to true disables the deadlock detector.  It should
only be used in cases where the deadlock could be broken via some
external means, such as via a signal.

Now that $SAFE is no longer used, replace the safe_level_ VM flag
with ignore_deadlock for storing the setting.

Fixes [Bug #13768]
2020-10-28 15:27:00 -07:00
Aaron Patterson a99f52d511
Remove another unnecessary test
Same as 5be42c1ef4
2020-10-28 10:16:57 -07:00
Aaron Patterson 5be42c1ef4
Remove unnecessary conditional
As of 0b81a484f3, `ROBJECT_IVPTR` will
always return a value, so we don't need to test whether or not we got
one.  T_OBJECTs always come to life as embedded objects, so they will
return an ivptr, and when they become "unembedded" they will have an
ivptr at that point too
2020-10-28 09:57:44 -07:00
Aaron Patterson 2c19c1484a
If an object isn't embedded it will have an ivptr
We don't need to check the existence if an ivptr because non-embedded
objects will always have one
2020-10-28 09:45:22 -07:00
git 9190451fcf * 2020-10-29 [ci skip] 2020-10-29 00:42:09 +09:00
Aaron Patterson 0bbbb5a657 `dest` is always embedded so we can remove this check 2020-10-28 08:41:39 -07:00
Kenta Murata fb3c711df3
compile.c: separate compile_builtin_function_call (#3711) 2020-10-28 10:22:28 +09:00
Nobuyoshi Nakada 8f9c113f35
Added benchmark of vm_send by variable [ci skip] 2020-10-28 09:47:46 +09:00
git 915024e3b7 * 2020-10-28 [ci skip] 2020-10-28 00:29:10 +09:00
Yusuke Endoh c1bebbb2ee test/ruby/test_rational.rb: Prevent "assigned but unused variable" 2020-10-28 00:27:56 +09:00
Nobuyoshi Nakada 8e06075442
Revert "Fixed typo"
This reverts commit 379a5ca539.
This "typo" is intentional to test the transposition detection by
did_you_mean.
2020-10-27 23:26:38 +09:00
Hiroshi SHIBATA 379a5ca539
Fixed typo 2020-10-27 22:59:43 +09:00
Nobuyoshi Nakada 3198e7abd7
Separate `send` into `public_send` and `__send__` 2020-10-27 16:12:45 +09:00
Nobuyoshi Nakada acdb893338
Removed unused environment variable 2020-10-27 14:42:24 +09:00
Nobuyoshi Nakada 135d369096
[DOC] more precise description of "**" in Dir.glob pattern [ci skip] 2020-10-27 08:55:10 +09:00
Alan Wu c56fdaecc4 Revert assert for debugging on CI
This reverts commit ac69849e49.
The bug seems to have been fixed.
2020-10-26 16:44:15 -04:00
Koichi Sasada 7ad56fd87b freeze dynamic regexp literals
Regexp literals are frozen, and also dynamically comppiled Regexp
literals (/#{expr}/) are frozen.
2020-10-27 01:45:57 +09:00
git f8d264fdfd * 2020-10-27 [ci skip] 2020-10-27 01:37:49 +09:00
Koichi Sasada 1c6ebe14fb freeze Process::Status
It seems immutable information.
2020-10-27 01:37:24 +09:00
Nobuyoshi Nakada bdd1d17ac2
Allow non-argument endless-def with a space instead of parentheses 2020-10-26 21:15:16 +09:00
Kenta Murata 69837229d7
rational.c: convert a numerator to rational before calling fdiv in Kernel.Rational() (#3702)
This makes `Rational(BigDecimal(1), 60) == Rational(1, 60)`.
[Bug #16518]
2020-10-26 18:43:30 +09:00
Nobuyoshi Nakada 52c630da00
Assoc pattern matching (#3703)
[Feature #17260] One-line pattern matching using tASSOC

R-assignment is rejected instead.
2020-10-26 18:00:24 +09:00
Benoit Daloze cffdacb15a Ignore <internal: entries from core library methods for Kernel#warn(message, uplevel: n)
* Fixes [Bug #17259]
2020-10-26 08:47:33 +01:00
Benoit Daloze fbb2d30ee6 Add specs that #caller and #caller_locations include core library methods defined in Ruby 2020-10-26 08:47:33 +01:00
Benoit Daloze 3673c3eafc Update to ruby/spec@b164536 2020-10-26 08:20:48 +01:00
Benoit Daloze ba24aee292 Remove spec which is too difficult to get working with various compilers
* The spec means to use an actual system library function, not a wrapper.
2020-10-26 08:06:33 +01:00
Nobuyoshi Nakada 507af75415
[DOC] Expanded glob patterns for Dir.glob
No longer need to get rid of C block comments in builtin ruby
script comments.
2020-10-26 09:09:45 +09:00
Nobuyoshi Nakada 3cb03a00a8
Include c_escape.rb in COMPILE_PRELUDE
template/prelude.c.tmpl requires tool/ruby_vm/helpers/c_escape.rb.
2020-10-26 09:05:08 +09:00
Nobuyoshi Nakada 396e921044
Escape '/*' within block comment too 2020-10-26 09:01:27 +09:00
Nobuyoshi Nakada b6d0b3dfaf
Use gcc-specific pragma only on gcc (and the family) 2020-10-26 08:16:51 +09:00
Jeremy Evans ff2276ef8c Fix bootstrap-test error in previous commit 2020-10-25 15:56:10 -07:00
Marc-Andre Lafortune 9c8f0a34df Use 'shareable' with an 'e' [ci skip] 2020-10-25 18:10:14 -04:00
git 8376cae25a * 2020-10-26 [ci skip] 2020-10-26 05:45:34 +09:00
Marc-Andre Lafortune 5e6f9fd83a Tweak a few Ractor tests that were missing comments [ci skip] 2020-10-25 16:44:59 -04:00
Marc-Andre Lafortune ee54075a94 Remove trailing whitespace [ci skip] 2020-10-25 16:38:37 -04:00
Nobuyoshi Nakada 25a332f5cf
Fix compilation on MSVC
* cast scalar value instead of function
* use `rb_pid_t` for the portability
2020-10-25 22:07:09 +09:00
Nobuyoshi Nakada e880d075f8
[DOC] refined "**" description in `Dir.glob` [ci skip]
As same as the description for `File.fnmatch`.
[Bug #17283]
2020-10-25 21:24:23 +09:00
git 8d22dd8cb8 * 2020-10-25 [ci skip] 2020-10-25 19:43:43 +09:00
Benoit Daloze 99e067eac6 Try to fix compilation on MSVC 2020-10-25 11:42:20 +01:00
Benoit Daloze 148961adcd Update to ruby/spec@4f59d86 2020-10-24 15:53:53 +02:00
Benoit Daloze 342fbae83c Update to ruby/mspec@b56e7a2 2020-10-24 15:53:53 +02:00
git 1388257d7a * 2020-10-24 [ci skip] 2020-10-24 22:52:20 +09:00
Benoit Daloze 71f699543b Tweaks for the ruby/spec workflow 2020-10-24 15:51:18 +02:00