Yukihiro "Matz" Matsumoto
ac8360003e
Fix the bug that mrbc generates a.rb.mrb instead of a.mrb.
...
The bug was introduced by 9dfe50f1d .
2020-06-29 07:25:03 +09:00
Yukihiro "Matz" Matsumoto
9dfe50f1d9
Use snprintf instead of memcpy in mrbc.c.
2020-06-25 06:57:42 +09:00
Yukihiro "Matz" Matsumoto
c07f24cd18
Change flag names in preparation of REnv refactoring.
2020-06-25 06:57:41 +09:00
Yukihiro "Matz" Matsumoto
03c2b8656b
Use mrb_get_argc() to improve performance.
2020-06-25 06:57:41 +09:00
Yukihiro "Matz" Matsumoto
d40b922c98
Fix potential buffer overflow in sprintf.c.
2020-06-20 18:56:33 +09:00
Yukihiro "Matz" Matsumoto
49ae2a69f2
Add mrb_get_arg1() that retrieves single (and only) argument.
...
`mrb_get_arg1()` raises `ArgumentError` if the method does not receive one
argument.
And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function.
2020-06-20 12:49:46 +09:00
Yukihiro "Matz" Matsumoto
2ffb77586a
Symbolify saved alias name to improve performance.
2020-06-20 12:07:49 +09:00
Yukihiro "Matz" Matsumoto
f93dffb5ee
Remove unused MRB_TT_FILE.
2020-06-15 07:47:22 +09:00
Yukihiro "Matz" Matsumoto
a8aeba89ef
Merge pull request #5023 from dearblue/nesting
...
Remove `mrb_assert()` in `Module.nesting`
2020-06-11 12:21:26 +09:00
Yukihiro "Matz" Matsumoto
7f593893e8
Update OP_HASH generation to support big hash creation.
2020-06-09 22:42:38 +09:00
dearblue
960c82e396
Remove mrb_assert() in Module.nesting
...
The following code was causing SIGSEGV:
```ruby
Module.method(:nesting).call
```
2020-06-09 21:54:13 +09:00
dearblue
5be33b82c7
Need build/XXX/mrbgems/mruby-test directory
...
An error may occur when performing `rake clean all` or `rake clean test`.
The directory is needed before writing to `mrbgems/mruby-test/assert.c`.
2020-06-09 21:24:53 +09:00
Yukihiro "Matz" Matsumoto
6ba542cd53
Revert part of #5019 (mruby_io_test.c) to honor #4987
...
The issue was reported by @shuujii.
2020-06-05 17:20:41 +09:00
Yukihiro "Matz" Matsumoto
106f4c4e9d
Add proper casts to silence VC warnings.
2020-06-05 16:04:30 +09:00
Yukihiro "Matz" Matsumoto
00f6271e3b
Change arena index from mrb_int to int.
2020-06-05 14:40:07 +09:00
Hiroshi Mimaki
81d340e042
Merge master.
2020-06-05 12:42:56 +09:00
Yukihiro "Matz" Matsumoto
3d2d9f8a9b
Add explicit cast to DROP_PRECISION macro in rtional.c.
2020-06-04 11:01:31 +09:00
Yukihiro "Matz" Matsumoto
07129c76d9
Add mruby-complex and mruby-rational to default.gembox.
2020-06-04 11:01:30 +09:00
Yukihiro "Matz" Matsumoto
6fe03f3b39
Add explicit cast to silence warnings on AppVeyor.
2020-06-04 11:01:30 +09:00
dearblue
ce12ef7e5c
Hiding method implementation C functions in mruby-io
2020-06-03 14:12:51 +09:00
Yukihiro "Matz" Matsumoto
8bca11a64e
Merge pull request #4800 from shuujii/set-MRB_STR_ASCII-flag-to-some-stringize-methods
...
Set `MRB_STR_ASCII` flag to some stringize methods
2020-06-03 14:01:52 +09:00
dearblue
f85906b679
Remove patch_irep() in mruby-eval
...
- It can now deal with operands in the range of `OP_EXT*`.
- It can now call the same method as the variable name without arguments.
```ruby
def a
"Safe!"
end
a = "Auto!"
eval "a()" # call method `a`
```
2020-06-02 14:49:27 +09:00
Yukihiro "Matz" Matsumoto
1fc9345b45
Add mruby-eval to default.gembox.
2020-06-01 23:00:37 +09:00
dearblue
fc80e4b651
Get local variable names from orphan block; ref #3710
2020-05-31 15:56:04 +09:00
Yukihiro "Matz" Matsumoto
a476c83caf
Move fmt_setup until absolutely necessary.
2020-05-27 14:09:36 +09:00
Yukihiro "Matz" Matsumoto
15c63688e3
Integer format can be bigger than 32 on 64bit platforms.
...
We made it `64` which should be big enough:
- Format modifier: 4 characters max
- Maximum width: 19 digits max
- Period between width and precision: 1 character
- Maximum precision: 19 digits max
- Format specifier: 1 character
- NUL terminator: 1 byte
- Total: 45 < 64
2020-05-26 23:53:16 +09:00
KOBAYASHI Shuji
a3ec6ede76
Add y.tab.c to remove Bison from build dependencies; ref 4ce3997c
...
I sometimes see Bison related problems in setting up build environments.
Therefore to remove Bison from build time dependencies, add `y.tab.c`
generated by Bison to the repository.
The reduction of dependency at build time also reduces the labor and time
for setup and installation in CI.
In addition, a path in `#line` directive is converted to a relative path so
that its path is constant regardless of development environments.
2020-05-25 23:26:30 +09:00
Yukihiro "Matz" Matsumoto
4aba93c969
Rename C function mrb_proc_lambda.
2020-05-15 15:55:35 +09:00
Yukihiro "Matz" Matsumoto
49d97d6051
Add pread/pwrite support on __MACH__ (MacOS) in addition to __unix__.
2020-05-15 12:31:18 +09:00
Yukihiro "Matz" Matsumoto
484577670f
Remove YYERROR_VERBOSE which no longer supported since bison 3.6.
...
Instead we added `%define parse.error verbose`.
2020-05-15 12:30:13 +09:00
Yukihiro "Matz" Matsumoto
d64c4d64e6
Make off_t handling simpler; #4872 #4939
...
The newer `clang` warns implicit float conversions.
2020-05-11 10:14:25 +09:00
dearblue
e2aecacaeb
Fix boundary check for OP_LOADI16; ref fa8668c
...
It was making a negative integer if the highest-order bit of a 16-bit
integer was 1.
no patched:
```ruby
p 0x7fff # => 32767
p 0x8000 # => -32768
p 0xffff # => -1
p 0x10000 # => 65536
```
2020-05-09 21:12:31 +09:00
Yukihiro "Matz" Matsumoto
03b0741994
Remove unnecessary sprintf test that fails since 91368c1.
2020-05-07 10:31:49 +09:00
Yukihiro "Matz" Matsumoto
5e01674b72
Should not use assert with expressions with side-effect; ref #4981
...
`assert()` can be completely removed when `NDEBUG` is set.
2020-05-07 09:37:02 +09:00
Yukihiro "Matz" Matsumoto
b652a4ff14
Fixed wrong condition in #4981 .
2020-05-07 09:36:43 +09:00
Yukihiro "Matz" Matsumoto
7dc0fe66c7
Add #include <string.h> on all platforms for strncpy; #4981
2020-05-07 09:36:21 +09:00
Yukihiro "Matz" Matsumoto
1cdcd00cc0
Remove unused local variable if MRB_UTF8_STRING is not set.
...
Ref #4982 #4983
2020-05-07 09:35:47 +09:00
Yukihiro "Matz" Matsumoto
9f4b5227fe
Avoid snprintf in mruby-io test; ref #4981
2020-05-07 09:33:44 +09:00
Yukihiro "Matz" Matsumoto
d464fe5003
Remove the temporary file from the AF_UNIX socket test; #4981
2020-05-07 09:33:08 +09:00
Yukihiro "Matz" Matsumoto
6b839b2319
Fix IO#readchar to return broken UTF-8 rather than EOF error.
...
The behavior is different from CRuby, but we believe this is a right
behavior for mruby, which only supports either ASCII or UTF-8
exclusively; fix #4983 , ref #4982
```
$ printf '\xe3\x81' | ruby -e 'p STDIN.readchar'
"\xE3\x81"
```
```
$ printf '\xe3\x81' | mruby -e 'p STDIN.readchar'
"\xE3"
```
2020-05-07 09:32:46 +09:00
Yukihiro "Matz" Matsumoto
45bd372755
Fix IO#readchar to support UTF-8 char reading; fix #4712
...
This fix only effective when `MRB_UTF8_STRING` is set.
2020-05-07 09:31:38 +09:00
Yukihiro "Matz" Matsumoto
f5ee7df7f3
Rename (and expose) UTF-8 related functions; ref #4712
...
- mrb_utf8len() - returns the size of a UTF-8 char (in bytes)
- mrb_utf8_strlen() - returns the length of a UTF-8 string (in char)
2020-05-07 09:31:07 +09:00
Yukihiro "Matz" Matsumoto
91368c117c
Avoid mrb_funcall if MRB_UFT8_STRING is not set.
2020-05-07 08:38:46 +09:00
Yukihiro "Matz" Matsumoto
48c473a0c4
Remove -e/-E options from mrbc.
...
You don't have to specify endian since `mruby 2.0`.
2020-05-07 08:38:46 +09:00
Yukihiro "Matz" Matsumoto
fa8668c77d
Add a new instruction OP_LOADI16.
...
Which loads 16bit integer to the register. The instruction number should
be reorder on massive instruction refactoring. The instruction is added
for `mruby/c` which had performance issue with `OP_EXT`. With this
instruction, `mruby/c` VM can just raise errors on `OP_EXT` extension
instructions.
2020-05-07 08:38:46 +09:00
Yukihiro "Matz" Matsumoto
47f5f887e8
Fix wrong line number before comment line; fix #4993
2020-05-07 08:38:46 +09:00
Yukihiro "Matz" Matsumoto
2fcdd3f8eb
Add assertion as originally intended; ref #4986
2020-05-07 08:38:46 +09:00
Yukihiro "Matz" Matsumoto
e77e6e9d12
Fix _read_buf to be more efficient; fix #4982
...
The bug was introduced by #4712 . The `getc' problem resurrected.
It should be addressed soon.
2020-05-01 16:57:45 +09:00
Yukihiro "Matz" Matsumoto
a2b87c033a
Fix IO#sysread to update buffer string on EOF; ref #4982
2020-05-01 16:54:13 +09:00
Yukihiro "Matz" Matsumoto
b3c5d94bd1
Update IO#ungetc to keep @buf string; ref #4982
2020-05-01 16:53:55 +09:00