This was originally added in 16f5b18b7aa505765a5361a7d828e33963ea61bc, but it's unclear if that was intentional. I don't think we should be forcing noinline on functions which we want to disable ASAN when ASAN isn't enabled. This speeds...jhawthorn (John Hawthorn)
Previously ENV.delete("MAKEFLAGS") was on the right side of an `and`, so when -j was given explicitly it was short-circuited and never ran. Tests which start their own runner (ex. test4test_hideskip.rb) then inherited make's jobserver, s...jhawthorn (John Hawthorn)
rb_check_id returns 0 when the name has no ID, and we were passing that to ID2SYM. 0 is never a valid ID, so also assert against it in rb_id2sym. [Bug #22535] (cherry picked from commit 45666487ee3868605bc6fd792f21ff8ac42264da)jhawthorn (John Hawthorn)
ENV builds its Strings with rb_external_str_new_with_enc while holding the VM lock. When Encoding.default_internal is set and differs from the locale encoding, non-ASCII values are transcoded, and the first conversion between two encodin...jhawthorn (John Hawthorn)
env_str_encode built a second String from the binary copy with rb_external_str_new_with_enc, so each value was allocated and copied twice. This gives the copy its encoding instead, making the same choice that function would, and only all...jhawthorn (John Hawthorn)
`Encoding.default_internal` accepts ASCII-incompatible encodings like UTF-16LE. IO transcodes into it correctly, but ENV and Dir return the original UTF-8 bytes relabeled as UTF-16LE. ```shell $ LC_ALL=C.UTF-8 FOO=hello ruby -E UTF-8...jhawthorn (John Hawthorn)