Yukihiro "Matz" Matsumoto
6b157397ba
Merge pull request #4697 from shuujii/fix-Class.new-argument-specs
...
Fix `Class.new` argument specs
2019-09-09 22:51:15 +09:00
KOBAYASHI Shuji
b156aa2cf6
Fix Class.new argument specs
2019-09-09 21:37:35 +09:00
Yukihiro "Matz" Matsumoto
715afd6fdb
Merge pull request #4695 from dearblue/promote-to-int
...
Fix `mrb_vformat()` crashes with `MRB_INT16`
2019-09-08 22:46:25 +09:00
Yukihiro "Matz" Matsumoto
801343b56b
Merge pull request #4694 from shuujii/optimize-mrb_bool-with-MRB_WORD_BOXING
...
Optimize `mrb_bool()` with `MRB_WORD_BOXING`
2019-09-08 22:44:07 +09:00
dearblue
311d867deb
Fix mrb_vformat() crashes with MRB_INT16
...
If `MRB_INT16` is specified, the variable length argument `mrb_int` is
converted to `int`.
2019-09-08 20:31:35 +09:00
KOBAYASHI Shuji
d47bd0a2cd
Optimize mrb_bool() with MRB_WORD_BOXING
2019-09-08 12:17:25 +09:00
Yukihiro "Matz" Matsumoto
9d08025b8b
Revert part of #4225
...
Since in mruby, Integer and Float interchange frequently (mostly on
overflow), so adding explicit `.0` can cause problems sometimes.
For example:
https://github.com/mattn/mruby-json/pull/40
https://github.com/pepabo/mruby-msd/pull/13
https://github.com/mattn/mruby-json/pull/42
2019-09-07 22:27:30 +09:00
Yukihiro "Matz" Matsumoto
8f04d6561f
Merge pull request #4693 from shuujii/increase-symbol-bit-size-on-32-bit-mode-with-MRB_WORD_BOXING
...
Increase symbol bit size on 32-bit mode with `MRB_WORD_BOXING`
2019-09-07 22:16:54 +09:00
KOBAYASHI Shuji
17c53040ab
Increase symbol bit size on 32-bit mode with MRB_WORD_BOXING
...
This change increases the max length of lower inline symbols to 5 bytes.
2019-09-07 21:38:11 +09:00
Yukihiro "Matz" Matsumoto
bb7eccc9c4
Merge pull request #4692 from shuujii/avoid-bit-fields-in-mrb_value
...
Avoid bit fields in `mrb_value`; ref b2c3d88f
2019-09-06 22:23:16 +09:00
KOBAYASHI Shuji
19e2cc187b
Avoid bit fields in mrb_value; ref b2c3d88f
...
The changes at b2c3d88f were inappropriate because the memory layout of bit
fields are implementation defined. Therefor, I fixed it not to use bit
fields.
2019-09-06 13:24:35 +09:00
Yukihiro "Matz" Matsumoto
c3b16c26a6
Merge pull request #4691 from shuujii/fix-Range-max-test-TypeError-is-raised-on-32-bit-mode-with-word-boxing
...
Fix `Range#max` test (`TypeError` is raised) on 32-bit mode with word boxing
2019-09-05 23:02:53 +09:00
Yukihiro "Matz" Matsumoto
968547d79b
Merge pull request #4690 from takumakume/add_assert_not_nil
...
Add `assert_not_nil` method
2019-09-05 22:59:34 +09:00
takumakume
6c4278144a
add assert_not_nil method
2019-09-05 19:51:54 +09:00
KOBAYASHI Shuji
6cfcff6f10
Fix Range#max test (TypeError is raised) on 32-bit mode with word boxing
2019-09-05 19:51:32 +09:00
Yukihiro "Matz" Matsumoto
be8bb2be61
Merge pull request #4687 from shuujii/fix-argument-specs-to-BasicObject
...
Fix argument specs to `BasicObject`
2019-09-05 11:15:34 +09:00
KOBAYASHI Shuji
489f655d18
Fix argument specs to BasicObject
2019-09-04 22:49:57 +09:00
Yukihiro "Matz" Matsumoto
2df419e324
Merge pull request #4686 from shuujii/add-to-doc-limitations.md-about-nil-redefinition
...
Add to `doc/limitations.md` about `nil?` redefinition; ref 4996709 [ci skip]
2019-09-04 01:25:00 +09:00
KOBAYASHI Shuji
74e7c4aa0b
Add to doc/limitations.md about nil? redefinition; ref 4996709 [ci skip]
2019-09-03 21:51:15 +09:00
Yukihiro "Matz" Matsumoto
148fffa21a
Merge pull request #4683 from shuujii/enumeratorChain-rewind-shouldnt-rewind-elements-arent-iterated
...
`Enumerator::Chain#rewind` shouldn't rewind elements aren't iterated
2019-09-02 16:50:47 +09:00
KOBAYASHI Shuji
66211394e1
Enumerator::Chain#rewind shouldn't rewind elements aren't iterated
...
### Example:
```ruby
# example.rb
e = [1]
def e.rewind; p :r end
c = e.chain(e)
c.each{break c}.rewind
```
#### Before this patch:
```terminal
$ bin/mruby example.rb
:r
:r
```
#### After this patch (same as Ruby):
```terminal
$ bin/mruby example.rb
:r
```
2019-09-02 08:58:33 +09:00
Yukihiro "Matz" Matsumoto
aea5880c10
Small refactoring in fiber.c.
2019-09-02 08:41:44 +09:00
Yukihiro "Matz" Matsumoto
5cd52d2d69
Fix an error in refactoring; fix #4682
2019-09-02 08:41:44 +09:00
Yukihiro "Matz" Matsumoto
e8de7c6819
Merge pull request #4681 from shuujii/array-permutation-with-a-negative-argument-should-not-yield
...
`Array#permutation` with a negative argument should not yield
2019-09-01 13:01:59 +09:00
KOBAYASHI Shuji
fe6cf851bf
Array#permutation with a negative argument should not yield
...
Before this patch:
$ bin/mruby -e '[1].permutation(-1){|v| p v}' #=> [1]
After this patch (same as Ruby):
$ bin/mruby -e '[1].permutation(-1){|v| p v}' #=> no output
2019-09-01 09:28:11 +09:00
Yukihiro "Matz" Matsumoto
1a4ea94bc7
Fix mrb_immediate_p(MRB_TT_FREE) to return false; ref #4679
2019-08-31 23:19:08 +09:00
Yukihiro "Matz" Matsumoto
d48a2190bf
Refactor #4662 with different names.
2019-08-31 22:14:25 +09:00
Yukihiro "Matz" Matsumoto
49967097ed
Skip nil? method call in if conditionals.
...
Compile `if expr.nil?` to use `OP_JMPNIL` instead of calls.
2019-08-31 22:14:25 +09:00
Yukihiro "Matz" Matsumoto
49896abe2b
Merge pull request #4679 from shuujii/implement-mrb_immediate_p-macro-for-MRB_WORD_BOXING
...
Implement `mrb_immediate_p` macro for `MRB_WORD_BOXING`
2019-08-31 22:14:14 +09:00
KOBAYASHI Shuji
b2c3d88fbf
Implement mrb_immediate_p macro for MRB_WORD_BOXING
...
The default implementation of `mrb_immediate_p` uses `mrb_type`. However,
in `MRB_WORD_BOXING`, `mrb_type` has many branches and is inefficient, so
provide an implementation that does not use `mrb_type`.
2019-08-31 16:55:57 +09:00
Yukihiro "Matz" Matsumoto
55ef4e4bdd
Merge pull request #4677 from shuujii/array-permutation-combination-without-block-should-return-self
...
`Array#(permutation|combination)` without block should return `self`
2019-08-30 22:38:15 +09:00
KOBAYASHI Shuji
28d1f6cdc4
Array#(permutation|combination) without block should return self
2019-08-30 17:04:25 +09:00
Yukihiro "Matz" Matsumoto
0ce1878aba
Merge pull request #4674 from shuujii/remove-unneeded--src-y.tab.c-in-.gitignore
...
Remove unneeded `/src/y.tab.c` in `.gitignore`
2019-08-29 16:24:48 +09:00
KOBAYASHI Shuji
d9614549bb
Remove unneeded /src/y.tab.c in .gitignore
...
Currently, `y.tab.c` is generated to under the `build/` directory.
2019-08-29 14:05:53 +09:00
Yukihiro "Matz" Matsumoto
aa97b8a4fe
Merge pull request #4672 from shuujii/fix-build-of-mruby-random-on-32-bit-mode
...
Fix build of `mruby-random` on 32-bit mode
2019-08-27 15:03:47 +09:00
KOBAYASHI Shuji
7993b87235
Fix build of mruby-random on 32-bit mode
2019-08-27 10:48:25 +09:00
Yukihiro "Matz" Matsumoto
c1cd2007b8
Merge pull request #4671 from shuujii/fix-Array-sample-with-MRB_INT32
...
Fix `Array#sample` with `MRB_INT32`
2019-08-26 22:18:36 +09:00
KOBAYASHI Shuji
7178a5e7d3
Fix Array#sample with MRB_INT32
...
Array index became potentially negative because `uint32_t` is cast to
`mrb_int`.
2019-08-26 20:23:46 +09:00
Yukihiro "Matz" Matsumoto
4aabf91ee2
Merge pull request #4635 from shuujii/fix-wrong-argument-for-fprintf-in-mruby-bin-mrbc
...
Fix wrong argument for `fprintf` in `mruby-bin-mrbc`
2019-08-26 19:18:49 +09:00
Yukihiro "Matz" Matsumoto
cd96998372
Merge pull request #4670 from shuujii/remove-unused-random.h
...
Remove unused `random.h`
2019-08-26 19:17:38 +09:00
KOBAYASHI Shuji
b9350f908f
Remove unused random.h
2019-08-26 18:08:32 +09:00
Yukihiro "Matz" Matsumoto
2d09fd2135
Merge pull request #4669 from davidsiaw/doxygen
...
Fixes for Doxygen docs
2019-08-26 07:46:57 +09:00
David Siaw
6375639917
fix lots of warnings and make logo not so big
2019-08-26 02:08:33 +09:00
David Siaw
e1e96c0cf4
change doc directory and reduce warnings
2019-08-26 00:23:28 +09:00
Yukihiro "Matz" Matsumoto
a4870a579f
Merge pull request #4668 from shuujii/defer-several-build-libraries-loading-until-needed
...
Defer several build libraries loading until needed
2019-08-25 17:56:03 +09:00
KOBAYASHI Shuji
3110d84ed8
Defer several build libraries loading until needed
2019-08-25 09:48:07 +09:00
Yukihiro "Matz" Matsumoto
e3f7429173
Merge pull request #4667 from shuujii/fix-Range-max-test-TypeError-is-raised-on-32-bit-mode
...
Fix `Range#max` test (`TypeError` is raised) on 32-bit mode
2019-08-25 01:30:45 +09:00
Yukihiro "Matz" Matsumoto
ee0806ad4b
Merge pull request #4666 from dearblue/warn-str_new_capa
...
Suppress warning by gcc with `-Wmaybe-uninitialized`
2019-08-25 01:29:49 +09:00
Yukihiro "Matz" Matsumoto
17623fd0d3
Merge pull request #4665 from dearblue/fix-4642
...
Create a symbolic link in the temporary directory; fix #4642
2019-08-25 01:28:14 +09:00
Yukihiro "Matz" Matsumoto
ce89974679
Merge pull request #4664 from shuujii/remove-unused-constant-in-Rakefile
...
Remove unused constant in `Rakefile`; ref e312842a
2019-08-25 01:25:32 +09:00