summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2019-10-10Merge pull request #4764 from shuujii/integrate-mrb_str_inspect-and-mrb_str_dumpYukihiro "Matz" Matsumoto
Integrate `mrb_str_inspect` and `mrb_str_dump`
2019-10-10Integrate `mrb_str_inspect` and `mrb_str_dump`KOBAYASHI Shuji
2019-10-09Merge pull request #4763 from ↵Yukihiro "Matz" Matsumoto
shuujii/mrdb-Fix-that-print-command-raises-FrozenError Fix that `print` command raises `FrozenError` in `mrdb`; ref 1f5a7f2f
2019-10-09Fix that `print` command raises `FrozenError` in `mrdb`; ref 1f5a7f2fKOBAYASHI Shuji
#### Before this patch: ``` $ echo 'p true' | bin/mrdb /dev/null (/dev/null:1) mruby application exited. FrozenError: can't modify frozen String (-:0) ``` #### After this patch: ``` $ echo 'p true' | bin/mrdb /dev/null (/dev/null:1) $1 = true (/dev/null:1) ```
2019-10-09Revert part of #4758 to reduce number of tests.Yukihiro "Matz" Matsumoto
More tests, more time.
2019-10-09Merge pull request #4761 from take-cheeze/fix_4759Yukihiro "Matz" Matsumoto
Add mrbgem version field to lock file
2019-10-09Add mrbgem version field to lock filetake-cheeze
2019-10-08Merge pull request #4758 from ↵Yukihiro "Matz" Matsumoto
shuujii/implement-Ruby2.7-frozen-strings-from-Module-name Implement Ruby2.7's frozen strings from `Module#name`
2019-10-08Merge pull request #4760 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-mrb_str_concat-instead-of-mrb_str_to_str-plus-mrb_str_cat_str Use `mrb_str_concat` instead of `mrb_str_to_str` + `mrb_str_cat_str`
2019-10-08Use `mrb_str_concat` instead of `mrb_str_to_str` + `mrb_str_cat_str`KOBAYASHI Shuji
2019-10-08Implement Ruby2.7's frozen strings from `Module#name`KOBAYASHI Shuji
2019-10-06Remove unnecessary function: `mrb_str_freeze`.Yukihiro "Matz" Matsumoto
2019-10-06Merge pull request #4754 from dearblue/get-keyword-argsYukihiro "Matz" Matsumoto
Get keyword arguments with `mrb_get_args()`
2019-10-06Get keyword arguments with `mrb_get_args()`dearblue
Keyword arguments can now be retrieved with the `:` specifier and `mrb_kwargs` data. For the interface, I referred to CRuby's `rb_get_kwargs()`. For implementation, I referred to `OP_KARG` or etc.
2019-10-06Merge pull request #4757 from shuujii/refine-the-usage-message-of-mirb-commandYukihiro "Matz" Matsumoto
Refine the usage message of `mirb` command
2019-10-06Merge pull request #4755 from shuujii/refine-the-usage-message-of-mruby-commandYukihiro "Matz" Matsumoto
Refine the usage message of `mruby` command
2019-10-06Refine the usage message of `mirb` commandKOBAYASHI Shuji
2019-10-06Refine the usage message of `mruby` commandKOBAYASHI Shuji
2019-10-05Merge pull request #4752 from ↵Yukihiro "Matz" Matsumoto
shuujii/drop-initialization-dependency-from-mruby-print-to-mruby-sprintf Drop initialization dependency from `mruby-print` to `mruby-sprintf`
2019-10-05Drop initialization dependency from `mruby-print` to `mruby-sprintf`KOBAYASHI Shuji
In the old implementation, `Kernel#printf` raise error if `mruby-sprintf` gem isn't specified before `mruby-print` gem. The new implementation eliminates this ordering issue. This way is the same as `Kernel#printf` and `IO#printf` in `mruby-io` gem.
2019-10-04Freeze strings from `nil.to_s`, `true.to_s`, `false.to_s`.Yukihiro "Matz" Matsumoto
This is an experimental changes in Ruby 2.7.
2019-10-04Implement Ruby2.7's frozen strings from `Symbol#to_s`.Yukihiro "Matz" Matsumoto
2019-10-04Refactor local variables addition in optional/keyword arguments.Yukihiro "Matz" Matsumoto
2019-10-04Merge pull request #4751 from shuujii/remove-unused-code-to-old-Visual-StudioYukihiro "Matz" Matsumoto
Remove unused code to old Visual Studio in `tasks/toolchains/visualcpp.rake`
2019-10-04Remove unused code to old Visual Studio in `tasks/toolchains/visualcpp.rake`KOBAYASHI Shuji
2019-10-04Merge pull request #4750 from dearblue/c++-abiYukihiro "Matz" Matsumoto
Remove duplicates header files in `src/pool.c`
2019-10-03Remove duplicates header files in `src/pool.c`dearblue
These are included in `mruby.h`. As a background, if `enable_cxx_abi` is specified, the macro that defines the maximum value in `stdint.h` is undefined depending on the environment. - Confirmed with gcc on FreeBSD 12.0 and mingw32-gcc available on FreeBSD. - `INTPTR_MAX`, `INT64_MAX` and `UINT64_MAX` are defined by `cstdint` added in C++11. But `toolchains :gcc` adds `-std=c++03`, so the macros are not defined. - To have these defined in `C++03`, `__STDC_CONSTANT_MACROS` must be defined in advance. This is already done by `mruby.h`.
2019-10-03Merge pull request #4749 from shuujii/add-tests-for-4746Yukihiro "Matz" Matsumoto
Add tests for #4746
2019-10-03Add tests for #4746KOBAYASHI Shuji
2019-10-03Merge pull request #4748 from HirohitoHigashi/masterYukihiro "Matz" Matsumoto
Fix opcode semantics comment miss.
2019-10-03Fix opcode semantics comment miss. (op_jmpnil)Hirohito Higashi
2019-10-03Fix opcode semantics comment miss.Hirohito Higashi
2019-10-03Add local variable reordering to `kwargs`; ref #4746Yukihiro "Matz" Matsumoto
2019-10-03Need to reorder local variables defined in `opt`; fix #4746Yukihiro "Matz" Matsumoto
For example, local variables in the following def: ```ruby def foo(a = (not_set = true), &block) ... end ``` should be `a, block, not_set`, but were `a, not_set, block`.
2019-10-03Refactor `append_gen` function.Yukihiro "Matz" Matsumoto
2019-10-02Merge pull request #4747 from ↵Yukihiro "Matz" Matsumoto
shuujii/avoid-symhash-call-for-inline-symbol-in-sym_intern Avoid `symhash()` call for inline symbol in `sym_intern()`
2019-10-02Avoid `symhash()` call for inline symbol in `sym_intern()`KOBAYASHI Shuji
2019-10-02Merge pull request #4736 from dearblue/ast-strdumpYukihiro "Matz" Matsumoto
Escape the AST string
2019-10-01Merge pull request #4745 from shuujii/dump-more-node-typesYukihiro "Matz" Matsumoto
Dump more node types in `mrb_parser_dump`
2019-10-01Support `NODE_LITERAL_DELIM` in `mrb_parser_dump`KOBAYASHI Shuji
#### Before this patch: ```terminal $ bin/mruby -v -e '%w[1 2]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 NODE_WORDS: 00001 NODE_STR "1" len 1 00001 node type: 85 (0x55) 00001 NODE_STR "2" len 1 (snip) ``` #### After this patch: ```terminal $ bin/mruby -v -e '%w[1 2]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 NODE_WORDS: 00001 NODE_STR "1" len 1 00001 NODE_LITERAL_DELIM 00001 NODE_STR "2" len 1 (snip) ```
2019-10-01Support `NODE_SYMBOLS` in `mrb_parser_dump`KOBAYASHI Shuji
#### Before this patch: ```terminal $ bin/mruby -v -e '%i[1]; %I[#{2}]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 node type: 87 (0x57) 00001 node type: 87 (0x57) (snip) ``` #### After this patch: ```terminal $ bin/mruby -v -e '%i[1]; %I[#{2}]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 NODE_SYMBOLS: 00001 NODE_STR "1" len 1 00001 NODE_SYMBOLS: 00001 NODE_STR "" len 0 00001 NODE_BEGIN: 00001 NODE_INT 2 base 10 00001 NODE_STR "" len 0 (snip) ```
2019-10-01Support `NODE_WORDS` in `mrb_parser_dump`KOBAYASHI Shuji
#### Before this patch: ```terminal $ bin/mruby -v -e '%w[1]; %W[#{2}]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 node type: 86 (0x56) 00001 node type: 86 (0x56) (snip) ``` #### After this patch: ```terminal $ bin/mruby -v -e '%w[1]; %W[#{2}]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 NODE_WORDS: 00001 NODE_STR "1" len 1 00001 NODE_WORDS: 00001 NODE_STR "" len 0 00001 NODE_BEGIN: 00001 NODE_INT 2 base 10 00001 NODE_STR "" len 0 (snip) ```
2019-10-01Merge pull request #4744 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-a-trailing-space-in-MRUBY_DESCRIPTION Remove a trailing space in `MRUBY_DESCRIPTION`
2019-09-30Remove a trailing space in `MRUBY_DESCRIPTION`KOBAYASHI Shuji
2019-09-30Support `NODE_DSYM` in `mrb_parser_dump`KOBAYASHI Shuji
#### Before this patch: ```terminal $ bin/mruby -v -e ':"#{1}"; ["#{2}": 0]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 node type: 83 (0x53) 00001 NODE_ARRAY: 00001 NODE_KW_HASH: 00001 key: 00001 node type: 83 (0x53) 00001 value: 00001 NODE_INT 0 base 10 (snip) ``` #### After this patch: ```terminal $ bin/mruby -v -e ':"#{1}"; ["#{2}": 0]' mruby 2.0.1 (2019-04-04) 00001 NODE_SCOPE: 00001 NODE_BEGIN: 00001 NODE_DSYM: 00001 NODE_DSTR: 00001 NODE_STR "" len 0 00001 NODE_BEGIN: 00001 NODE_INT 1 base 10 00001 NODE_STR "" len 0 00001 NODE_ARRAY: 00001 NODE_KW_HASH: 00001 key: 00001 NODE_DSYM: 00001 NODE_DSTR: 00001 NODE_STR "" len 0 00001 NODE_BEGIN: 00001 NODE_INT 2 base 10 00001 NODE_STR "" len 0 00001 value: 00001 NODE_INT 0 base 10 (snip) ```
2019-09-30Merge pull request #4742 from dearblue/mrb_hash_valueYukihiro "Matz" Matsumoto
Remove unnecessary type `mrb_hash_value`
2019-09-29Remove unnecessary type `mrb_hash_value`dearblue
The type `mrb_hash_value` is no longer used by the segmented list implementation (ref e8dcfe1 and e65d426).
2019-09-29Merge pull request #4741 from ↵Yukihiro "Matz" Matsumoto
shuujii/print-missing-colon-before-newline-in-mrb_parser_dump Print missing `:` before newline in `mrb_parser_dump`
2019-09-29Print missing `:` before newline in `mrb_parser_dump`KOBAYASHI Shuji
2019-09-29Merge pull request #4740 from dearblue/rethrow-breakYukihiro "Matz" Matsumoto
Allow rethrowing `MRB_TT_BREAK`