Yukihiro "Matz" Matsumoto
9383e9d469
Removed unnecessary files from mruby-sleep; #4702
2019-09-12 06:54:09 +09:00
Yukihiro "Matz" Matsumoto
13c3802073
Remove Rakefile from mruby-sleep gem; fix #4702
...
The `Rakefile` was a leftover from the time it was an independent gem.
2019-09-11 20:28:52 +09:00
Yukihiro "Matz" Matsumoto
04b098d000
Move tests related to getbyte, setbyte, byteslice` to core.
2019-09-11 18:49:08 +09:00
Yukihiro "Matz" Matsumoto
8c90b5fc6a
Fixed length for IO should be in bytes, not in characters; #4696
...
E.g. `io.read(5)` should read 5 byte string, not 5 characters.
2019-09-11 18:47:39 +09:00
Yukihiro "Matz" Matsumoto
ec3aeede20
Move String#{getbyte,setbyte,byteslice} to the core; #4696
...
Unlike CRuby, there's no way to process strings byte-wise by core
methods because there's no per string encoding in mruby, so that
we moved 3 byte-wise operation methods from `mruby-string-ext` gem.
2019-09-11 18:47:39 +09:00
KOBAYASHI Shuji
fab781cf8b
Drop test dependency from mruby-string-ext to mruby-enumerator
2019-09-11 10:35:52 +09:00
takkaw
3f70e3a81f
change _ variable in mirb to be enable by default
2019-09-09 23:40:51 +09:00
takkaw
e28451585d
add special local variable _ in mirb
2019-09-09 22:32:10 +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
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
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
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
KOBAYASHI Shuji
28d1f6cdc4
Array#(permutation|combination) without block should return self
2019-08-30 17:04:25 +09:00
KOBAYASHI Shuji
7993b87235
Fix build of mruby-random on 32-bit mode
2019-08-27 10:48:25 +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
KOBAYASHI Shuji
b9350f908f
Remove unused random.h
2019-08-26 18:08:32 +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
KOBAYASHI Shuji
13f58f9bc2
Fix Range#max test (TypeError is raised) on 32-bit mode
2019-08-24 14:22:10 +09:00
dearblue
6ad2442fb9
Create a symbolic link in the temporary directory; fix #4642
...
Because the linker gives a warning on FreeBSD 12.0.
```
warning: mktemp() possibly used unsafely; consider using mkstemp()
```
2019-08-24 11:11:00 +09:00
Yukihiro "Matz" Matsumoto
def7925873
Merge pull request #4650 from take-cheeze/patch-5
...
Remove deprecated iij stuffs
2019-08-21 07:10:08 +09:00
Takeshi Watanabe
fd4db7e6dd
Remove deprecated iij stuffs
2019-08-20 23:56:10 +09:00
Takeshi Watanabe
2e172fd932
Fix link of mruby-io
2019-08-20 23:54:36 +09:00
Yukihiro "Matz" Matsumoto
183fb961b3
Fixed a bug in the OP_JMPNOT optimization ( 13eaff4); fix #4644
2019-08-20 22:01:50 +09:00
Yukihiro "Matz" Matsumoto
3fbd5f0029
Merge pull request #4639 from dearblue/suppress-Wstringop-truncation
...
Suppress warnings for `strncat()`
2019-08-19 07:31:26 +09:00
Yukihiro "Matz" Matsumoto
f263088b0d
Merge pull request #4638 from dearblue/simplify-get-args
...
Simplify get arguments
2019-08-19 07:30:48 +09:00
Yukihiro "Matz" Matsumoto
fe8428b33b
Merge pull request #4642 from dearblue/unique-symlink
...
Make symbolic link names unique for test
2019-08-19 07:25:07 +09:00
dearblue
734a7f52a7
Make symbolic link names unique for test
2019-08-18 22:10:41 +09:00
dearblue
74395d7577
Suppress warnings for strncat()
...
`strncat()` also needs `'\0'`.
2019-08-18 15:46:17 +09:00
dearblue
05a873c25c
Simplify get arguments
...
- `mrb_str_index_m()` and `mrb_str_rindex()`
Make `mrb_get_args()` called only once from called twice.
- `mrb_str_byteslice()`
Replace `goto` with `if ~ else`.
2019-08-18 15:38:25 +09:00
dearblue
279c21b816
Prohibit changes to iseq in principle
2019-08-18 15:00:32 +09:00
KOBAYASHI Shuji
5345731b1d
Fix wrong argument for fprintf in mruby-bin-mrbc
2019-08-17 21:46:45 +09:00
Yukihiro "Matz" Matsumoto
13eaff4f9f
Remove unnecessary OP_JMPNOT for unless statement.
2019-08-17 12:29:04 +09:00
Yukihiro "Matz" Matsumoto
06c7ff0666
Avoid creating unnecessary empty arrays on splat.
...
But this changes requires `OP_ARYCAT` and `OP_ARYPUSH` to accept `nil`
as their first operand. Alternative VMs (e.g. `mruby/c`) that understand
mruby bytecode need to be updated.
2019-08-16 16:42:40 +09:00
Yukihiro "Matz" Matsumoto
f113fa2a4f
Remove unnecessary prototypes from 'keywords`; fix #4628
2019-08-12 18:22:31 +09:00
Ray Chason
1cd0ff0d42
Avoid overflow and underflow in Complex#/
2019-08-09 00:08:36 -04:00
Ray Chason
c181d1e7fa
Implement Complex#abs in terms of Math.hypot
...
Math.hypot avoids premature overflow and underflow
2019-08-08 23:59:25 -04:00
Yukihiro "Matz" Matsumoto
98fc887cb3
Reorganize mrb_string_value_cstr and related functions.
...
`mrb_string_value_cstr` and `mrb_string_value_len`: obsolete
`mrb_string_cstr`: new function to retrieve NULL terminated C string
`RSTRING_CSTR`: wrapper macro of `mrb_string_cstr`
2019-08-07 15:52:10 +09:00
Yukihiro "Matz" Matsumoto
eceaa80de7
RUBY_PLATFORM may not contain mswin or mingw; Add msys
2019-08-07 08:54:40 +09:00
Yukihiro "Matz" Matsumoto
2ba8399ac8
Removed an unused local variable; ref #4615
2019-08-06 20:50:26 +09:00
Yukihiro "Matz" Matsumoto
151d0c14ed
Merge pull request #4615 from shuujii/use-new-specifiers-modifiers-of-mrb_vfromat
...
Use new specifiers/modifiers of `mrb_vfromat()`
2019-08-05 13:33:46 +09:00
KOBAYASHI Shuji
334afb167c
Use new specifiers/modifiers of mrb_vfromat()
...
The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in
my environment than before the introduction of new specifiers/modifiers
(5116789a ) with this change.
------------+-------------------+-------------------+--------
BINARY | BEFORE (5116789a ) | AFTER (This PR) | RATIO
------------+-------------------+-------------------+--------
mruby | 593416 bytes | 593208 bytes | -0.04%
libmruby.a | 769048 bytes | 767264 bytes | -0.23%
------------+-------------------+-------------------+--------
BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613 ,
so I put it back.
2019-08-05 13:18:50 +09:00
Yukihiro "Matz" Matsumoto
96ce4563bd
Merge pull request #4614 from shuujii/use-mrb_int-instead-of-to_int-in-mruby-numeric-ext
...
Use `mrb_int()` instead of `to_int()` in `mruby-numeric-ext`
2019-08-05 12:33:59 +09:00
Yukihiro "Matz" Matsumoto
0e2e8b79d3
Merge pull request #4612 from dearblue/float-consts
...
Add constants for floating point number
2019-08-05 07:29:25 +09:00
KOBAYASHI Shuji
d599e35aa4
Use mrb_int() instead of to_int() in mruby-numeric-ext
2019-08-04 22:02:39 +09:00
dearblue
eb86340139
Add constants for floating point number
2019-08-04 18:34:46 +09:00
KOBAYASHI Shuji
1e9cb74cc6
Change second argument to %l of mrb_vformat() to size_t from mrb_int
...
- `size_t` is more commonly used.
- `len` argument of `mrb_str_new()` is `size_t`.
NOTE:
The test for `%l` is temporarily disabled because adding a new type to
`mrbgems/mruby-test/vformat.c` causes an error (memory error?) on Visual
Studio 2017 in AppVeyor.
2019-08-03 19:42:22 +09:00