Yukihiro "Matz" Matsumoto
962776fe25
Allow here-doc before closing parentheses; ref #4796
2019-11-08 09:50:48 +09:00
KOBAYASHI Shuji
ea2424d36d
Drop test dependency from mruby-hash-ext to mruby-enumerator
2019-11-06 18:57:35 +09:00
Yukihiro "Matz" Matsumoto
1cc0180a81
Merge pull request #4805 from shuujii/remove-test-that-depend-on-mruby-enumerator-from-mruby-array-ext
...
Remove test that depend on `mruby-enumerator` from `mruby-array-ext`
2019-11-05 21:35:06 +09:00
KOBAYASHI Shuji
b5bb981959
Remove test that depend on mruby-enumerator from mruby-array-ext
...
`Object.const_defined?(:Enumerator)` is always false because
`mruby-enumerator` is not specified in `test_dependency`. I don't
think this test is necessary.
2019-11-05 19:45:04 +09:00
KOBAYASHI Shuji
4841754aba
Avoid using C++ style comments (//) in parse.y [ci skip]
2019-11-04 22:12:59 +09:00
KOBAYASHI Shuji
7e03f47370
Fix argument specs to File
2019-11-01 22:02:18 +09:00
KOBAYASHI Shuji
e4d078b520
Fix argument specs to Fiber
2019-10-30 23:00:22 +09:00
Yukihiro "Matz" Matsumoto
1dc0da8218
Fix here-doc inside parens and brackets; fix #4796
2019-10-30 10:05:28 +09:00
KOBAYASHI Shuji
e23840a3fc
Remove unneeded Array creation in Struct#_inspect
2019-10-29 20:55:28 +09:00
Yukihiro "Matz" Matsumoto
9540a8309c
Remove unnecessary mrb_funcall().
2019-10-23 14:47:55 +09:00
Yukihiro "Matz" Matsumoto
11184e9186
Remove unnecessary mrb_string_p() check.
2019-10-23 14:47:55 +09:00
KOBAYASHI Shuji
941b99955a
Remove Kernel#getc
...
`Kernel#getc` has been removed since Ruby 1.9 and is not defined in ISO.
2019-10-21 18:50:52 +09:00
KOBAYASHI Shuji
7047c52d7b
Use mrb_str_cat_str instead of mrb_str_concat if possible
2019-10-20 16:26:10 +09:00
KOBAYASHI Shuji
e5d767b149
Move methods of Kernel to kernel.rb from io.rb in mruby-io gem
2019-10-18 10:50:23 +09:00
KOBAYASHI Shuji
14870a290d
Make IO#each family without block to return Enumerator
2019-10-17 20:14:02 +09:00
KOBAYASHI Shuji
ac29638a8a
Fix the example of Array#intersection in the document [ci skip]
2019-10-14 18:22:00 +09:00
Yukihiro "Matz" Matsumoto
bdacdfaea9
Add Array#intersection which is new in Ruby2.7.
2019-10-14 17:04:19 +09:00
Yukihiro "Matz" Matsumoto
682406a384
Move Array#difference just after Array#-.
2019-10-14 17:04:19 +09:00
Yukihiro "Matz" Matsumoto
67ea80b2bd
Fixed a bug in Array#difference.
2019-10-14 17:04:19 +09:00
Yukihiro "Matz" Matsumoto
c310c8dc24
Move exception raising to scope_new.
...
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-11 20:31:29 +09:00
KOBAYASHI Shuji
a7ae0d5b9e
Remove unused exception classes in mruby-io gem
2019-10-11 11:32:14 +09:00
Yukihiro "Matz" Matsumoto
529a336966
Fixed a bug in mruby-time with NO_GETTIMEOFDAT.
2019-10-10 20:46:12 +09:00
Yukihiro "Matz" Matsumoto
78e54904b5
Silence double free warnings by mrb_local_free().
...
The warnings were detected by cppcheck.
2019-10-10 20:46:12 +09:00
KOBAYASHI Shuji
7ce5d33947
Integrate mrb_str_inspect and mrb_str_dump
2019-10-10 19:50:48 +09:00
KOBAYASHI Shuji
7f6e8e8ddc
Fix that print command raises FrozenError in mrdb; ref 1f5a7f2f
...
#### 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-09 20:00:17 +09:00
Yukihiro "Matz" Matsumoto
7624e23426
Revert part of #4758 to reduce number of tests.
...
More tests, more time.
2019-10-09 10:29:04 +09:00
Yukihiro "Matz" Matsumoto
b68818a8a0
Merge pull request #4758 from shuujii/implement-Ruby2.7-frozen-strings-from-Module-name
...
Implement Ruby2.7's frozen strings from `Module#name`
2019-10-08 22:25:43 +09:00
KOBAYASHI Shuji
97c62408fb
Use mrb_str_concat instead of mrb_str_to_str + mrb_str_cat_str
2019-10-08 18:55:45 +09:00
KOBAYASHI Shuji
fb103c1319
Implement Ruby2.7's frozen strings from Module#name
2019-10-08 17:34:13 +09:00
Yukihiro "Matz" Matsumoto
ffaa2968ed
Merge pull request #4757 from shuujii/refine-the-usage-message-of-mirb-command
...
Refine the usage message of `mirb` command
2019-10-06 20:23:30 +09:00
KOBAYASHI Shuji
ea14df2e3a
Refine the usage message of mirb command
2019-10-06 20:12:28 +09:00
KOBAYASHI Shuji
0cdc984b1c
Refine the usage message of mruby command
2019-10-06 19:35:41 +09:00
KOBAYASHI Shuji
1d8456fe7d
Drop initialization dependency from mruby-print to mruby-sprintf
...
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-05 15:22:43 +09:00
Yukihiro "Matz" Matsumoto
08eafe21d3
Implement Ruby2.7's frozen strings from Symbol#to_s.
2019-10-04 14:42:01 +09:00
Yukihiro "Matz" Matsumoto
264239f78f
Refactor local variables addition in optional/keyword arguments.
2019-10-04 14:39:53 +09:00
Yukihiro "Matz" Matsumoto
ec6c8b2a3c
Add local variable reordering to kwargs; ref #4746
2019-10-03 09:17:37 +09:00
Yukihiro "Matz" Matsumoto
47cdda370e
Need to reorder local variables defined in opt; fix #4746
...
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-03 07:52:31 +09:00
Yukihiro "Matz" Matsumoto
306f02117b
Refactor append_gen function.
2019-10-03 07:52:03 +09:00
Yukihiro "Matz" Matsumoto
c33100c4f0
Merge pull request #4736 from dearblue/ast-strdump
...
Escape the AST string
2019-10-02 07:07:20 +09:00
KOBAYASHI Shuji
8df2763b56
Support NODE_LITERAL_DELIM in mrb_parser_dump
...
#### 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-01 17:20:39 +09:00
KOBAYASHI Shuji
42c7f2d6b0
Support NODE_SYMBOLS in mrb_parser_dump
...
#### 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-01 17:10:34 +09:00
KOBAYASHI Shuji
732ef6b10e
Support NODE_WORDS in mrb_parser_dump
...
#### 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-01 17:07:30 +09:00
KOBAYASHI Shuji
16745261e3
Support NODE_DSYM in mrb_parser_dump
...
#### 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-30 11:54:51 +09:00
KOBAYASHI Shuji
a5d140ae42
Print missing : before newline in mrb_parser_dump
2019-09-29 17:14:52 +09:00
Yukihiro "Matz" Matsumoto
ccf7a8248f
Merge pull request #4739 from dearblue/restore-arena
...
Restore GC arena frequently
2019-09-29 14:40:29 +09:00
Yukihiro "Matz" Matsumoto
a1886942eb
Further refactoring over #4738
2019-09-29 14:30:41 +09:00
dearblue
39855a3304
Restore GC arena frequently
2019-09-29 13:57:22 +09:00
dearblue
e48207cdb3
Remove unnecessary assignments
2019-09-29 13:45:16 +09:00
dearblue
e2f54ff594
Escape the AST string
2019-09-29 10:39:55 +09:00
KOBAYASHI Shuji
ae530d89c4
Remove unused node type in codegen()
2019-09-28 15:15:31 +09:00