summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
AgeCommit message (Collapse)Author
2019-11-04Avoid using C++ style comments (`//`) in `parse.y` [ci skip]KOBAYASHI Shuji
2019-11-01Fix argument specs to `File`KOBAYASHI Shuji
2019-10-30Fix argument specs to `Fiber`KOBAYASHI Shuji
2019-10-30Fix here-doc inside parens and brackets; fix #4796Yukihiro "Matz" Matsumoto
2019-10-29Remove unneeded `Array` creation in `Struct#_inspect`KOBAYASHI Shuji
2019-10-23Remove unnecessary `mrb_funcall()`.Yukihiro "Matz" Matsumoto
2019-10-23Remove unnecessary `mrb_string_p()` check.Yukihiro "Matz" Matsumoto
2019-10-21Remove `Kernel#getc`KOBAYASHI Shuji
`Kernel#getc` has been removed since Ruby 1.9 and is not defined in ISO.
2019-10-20Use `mrb_str_cat_str` instead of `mrb_str_concat` if possibleKOBAYASHI Shuji
2019-10-18Move methods of `Kernel` to `kernel.rb` from `io.rb` in `mruby-io` gemKOBAYASHI Shuji
2019-10-17Make `IO#each` family without block to return `Enumerator`KOBAYASHI Shuji
2019-10-14Fix the example of `Array#intersection` in the document [ci skip]KOBAYASHI Shuji
2019-10-14Add `Array#intersection` which is new in Ruby2.7.Yukihiro "Matz" Matsumoto
2019-10-14Move `Array#difference` just after `Array#-`.Yukihiro "Matz" Matsumoto
2019-10-14Fixed a bug in `Array#difference`.Yukihiro "Matz" Matsumoto
2019-10-11Move exception raising to `scope_new`.Yukihiro "Matz" Matsumoto
Besides that fix bugs that mistakenly calls `raise_error` that emits code to raise runtime error instead of `codegen_error` that terminates code generation immediately.
2019-10-11Remove unused exception classes in `mruby-io` gemKOBAYASHI Shuji
2019-10-10Fixed a bug in `mruby-time` with `NO_GETTIMEOFDAT`.Yukihiro "Matz" Matsumoto
2019-10-10Silence double free warnings by `mrb_local_free()`.Yukihiro "Matz" Matsumoto
The warnings were detected by cppcheck.
2019-10-10Integrate `mrb_str_inspect` and `mrb_str_dump`KOBAYASHI Shuji
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-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-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-06Merge pull request #4757 from shuujii/refine-the-usage-message-of-mirb-commandYukihiro "Matz" Matsumoto
Refine the usage message of `mirb` command
2019-10-06Refine the usage message of `mirb` commandKOBAYASHI Shuji
2019-10-06Refine the usage message of `mruby` commandKOBAYASHI Shuji
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-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-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 #4736 from dearblue/ast-strdumpYukihiro "Matz" Matsumoto
Escape the AST string
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-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-29Print missing `:` before newline in `mrb_parser_dump`KOBAYASHI Shuji
2019-09-29Merge pull request #4739 from dearblue/restore-arenaYukihiro "Matz" Matsumoto
Restore GC arena frequently
2019-09-29Further refactoring over #4738Yukihiro "Matz" Matsumoto
2019-09-29Restore GC arena frequentlydearblue
2019-09-29Remove unnecessary assignmentsdearblue
2019-09-29Escape the AST stringdearblue
2019-09-28Remove unused node type in `codegen()`KOBAYASHI Shuji
2019-09-28Replace `mrb_sym_name` with `mrb_sym_dump`; ref #4684Yukihiro "Matz" Matsumoto
2019-09-26Use type predicate macros instead of `mrb_type` if possibleKOBAYASHI Shuji
For efficiency with `MRB_WORD_BOXING` (implement type predicate macros for all `enum mrb_vtype`).
2019-09-26Use proper type specifier for `mrb_raisef()`; ref #4731Yukihiro "Matz" Matsumoto
The following two may be different: * `%d` for `int` * `%i` for `mrb_int`
2019-09-26Merge pull request #4732 from dearblue/inttypesYukihiro "Matz" Matsumoto
Use inttypes for `snprintf()`