AgeCommit message (Collapse)Author
2019-08-10Warn instance variable `E`Nobuyoshi Nakada
It is not dumped, as it is a short alias for `:encoding`.
2019-08-10* expand tabs.git
2019-08-10Share caches for short encoding ivar name.Nobuyoshi Nakada
2019-08-10Close created files [ci skip]Nobuyoshi Nakada
2019-08-10Fix typo in comment [ci skip]Masato Ohba
2019-08-10Try building workflow on pushTakashi Kokubun
2019-08-09Added some examples to the documentation for String#unpack1 becauseiain barnett
there are currently no examples and to contrast with String#unpack.
2019-08-09Allow Array#join to allocate smaller stringsJohn Hawthorn
rb_str_buf_new always allocates at least 127 bytes of capacity, even when less is requested. > ObjectSpace.dump(%w[a b c].join) {"address":"0x7f935f06ebf0", "type":"STRING", "class":"0x7f935d8b7bb0", "bytesize":3, "capacity":127, "value":"abc", "encoding":"UTF-8", "memsize":168, "flags":{"wb_protected":true}} Instead, by using rb_str_new and then setting the length to 0, we can allocate the exact amount of memory needed, without extra capacity. > ObjectSpace.dump(%w[a b c].join) {"address":"0x7f903fcab530", "type":"STRING", "class":"0x7f903f8b7988", "embedded":true, "bytesize":3, "value":"abc", "encoding":"UTF-8", "memsize":40, "flags":{"wb_protected":true}}
2019-08-09Fix typo: duplicated the [skip-ci]ohbarye
2019-08-10Init function is need to link staticallyNobuyoshi Nakada
2019-08-09Fix parsing of mutiple assignment with rescue modifierJeremy Evans
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]
2019-08-10Removed unnecessary headersNobuyoshi Nakada
2019-08-10Use ENC_REPLICATE to copy an encodingNobuyoshi Nakada
2019-08-10* 2019-08-10git
2019-08-10Revert "Removed unused includes"Yusuke Endoh
This reverts commit c9eb8f82e9febeb634a23bec6aeea915eb25fe26. The change caused "implicit declaration" warning and actual segfault. ``` /tmp/ruby/v2/src/trunk-gc-asserts/enc/gb2312.c: In function ‘Init_gb2312’: /tmp/ruby/v2/src/trunk-gc-asserts/enc/gb2312.c:6:31: warning: implicit declaration of function ‘rb_enc_find’ [-Wimplicit-function-declaration] rb_enc_register("GB2312", rb_enc_find("EUC-KR")); ^~~~~~~~~~~ /tmp/ruby/v2/src/trunk-gc-asserts/enc/gb2312.c:6:31: warning: passing argument 2 of ‘rb_enc_register’ makes pointer from integer without a cast [-Wint-conversion] <command-line>:0:19: note: expected ‘OnigEncoding {aka const struct OnigEncodingTypeST *}’ but argument is of type ‘int’ /tmp/ruby/v2/src/trunk-gc-asserts/regenc.h:231:12: note: in expansion of macro ‘ONIG_ENC_REGISTER’ extern int ONIG_ENC_REGISTER(const char *, OnigEncoding); ^~~~~~~~~~~~~~~~~ ```
2019-08-09#include <> for system headersNobuyoshi Nakada
2019-08-09Removed unused includesNobuyoshi Nakada
2019-08-09gc.c: Double STACKFRAME_FOR_CALL_CFUNC (1024->2048)Yusuke Endoh
ef64ab917eec02491f6bf7233a4031a8c35385e3 didn't fix the issue, so the size seems not enough yet.
2019-08-09restore timeoutKoichi Sasada
2019-08-09gc.c: Increase STACKFRAME_FOR_CALL_CFUNCYusuke Endoh
On macOS Mojave, the child process invoked in TestFiber#test_stack_size gets stuck because the stack overflow detection is too late. (ko1 figured out the mechanism of the failure.) This change attempts to detect stack overflow earlier.
2019-08-09Revert a6e32855d079e8f3806d8be8a5f5cf7b3a967133 partiallyKazuhiro NISHIYAMA
Fix TypeError when typing `''.[TAB]`
2019-08-09complement `test_` prefix.Koichi Sasada
`make test-all TESTS=name` can specify running test files by name. name can be dirname ('dir/') or a file ('.../test_foo.rb'). This patch complement `test_` prefix for a test. So we only need to specify `TESTS=ruby/hash` which means `TESTS=ruby/test_hash.rb`.
2019-08-09extend timeout to debug.Koichi Sasada
2019-08-09gc.h is required on mswin build.Koichi Sasada
thread.c requires gc.h on mswin build. Sorry.
2019-08-09add rp() and bp() in internal.h.Koichi Sasada
debug utility macro rp() (rp_m()) and bp() are introduced. * rp(obj) shows obj information w/o any side-effect to STDERR. * rp_m(m, obj) is similar to rp(obj), but show m before. * bp() is alias of ruby_debug_breakpoint(), which is registered as a breakpoint in run.gdb (used by `make gdb` or make gdb-ruby`).
2019-08-09Add more runnersAaron Patterson
2019-08-09Run macOS tests on GitHub ActionsAaron Patterson
This commit sets up the CI integration on GitHub Actions. We should give it a try because queue times are lower and I think we get more CPUs. Closes: Co-Authored-By: John Hawthorn <>
2019-08-09remove useless include and dependencyKoichi Sasada
2019-08-09double memory limit on MJIT.Koichi Sasada
On test with MJIT, sometimes it fails like:
2019-08-09Add missing dependencyTakashi Kokubun
just fix CI failure
2019-08-09* expand tabs.git
2019-08-09introduce RCLASS_CLONED flag for inline cache.Koichi Sasada
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]
2019-08-08Enable GitHub Actions on RubyAaron Patterson
This just enables GitHub actions on our repository so we can try it out.
2019-08-09* expand tabs.git
2019-08-09Iseq#to_binary: Add support for NoMatchingPatternError and TypeErrorAlan Wu
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:
2019-08-09C99 allows trailing comma in enumNobuyoshi Nakada
2019-08-09* 2019-08-09git
2019-08-09Should require without wrapper moduleNobuyoshi Nakada
2019-08-08Remove temporary directory [ci skip]Nobuyoshi Nakada
2019-08-08Revert "Drop -j from msys2 build for debugging"Takashi Kokubun
This reverts commit b1594ca3d6b72edb60927418482652ce93209499. Revert "Debug appveyor mingw failure" This reverts commit fa29f65416f1fb3d734a279855728bb0616dbb34. Though I preserved V=1 for future debugging.
2019-08-08Reduce unnecessary EXEC_TAG in requireNobuyoshi Nakada
2019-08-08Arrange installed packages like ruby-locoTakashi Kokubun
to fix a build error like: Basically copy-pasted what's currently done in MSP-Greg/ruby-loco. Co-Authored-By: MSP-Greg <>
2019-08-08solve "duplicate :raise event" in require too [Bug #15877]Nobuyoshi Nakada
2019-08-08Use `ec` instead of `th->ec` where the `th` came from the `ec`Nobuyoshi Nakada
2019-08-08Drop -j from msys2 build for debuggingTakashi Kokubun
2019-08-08* expand tabs.git
2019-08-08solve "duplicate :raise event" [Bug #15877]Koichi Sasada
Without this patch, "raise" event invoked twice when raise an exception in "load"ed script. This patch by danielwaterworth (Daniel Waterworth). [Bug #15877]
2019-08-08main.c: Add doxygen mainpageYusuke Endoh
The document is experimentally produced in:
2019-08-08Aliases capture_output to capture_io for test-unit compatiblity.Hiroshi SHIBATA
2019-08-08Add *_clear methods to VM_COLLECT_USAGE_DETAILS APIGannon McGibbon