Yukihiro "Matz" Matsumoto
89cd742506
Merge pull request #5299 from shuujii/fix-Use-MRB_SYM-for-error-class-retrieval
...
Fix "Use `MRB_SYM()` for error class retrieval"; ref 2ddfd50df
2021-01-27 12:02:34 +09:00
KOBAYASHI Shuji
dd07067067
Fix "Use MRB_SYM() for error class retrieval"; ref 2ddfd50df
...
The new macro (`MRB_E_SYM`) was not being used, so it is being used. Also
`MRB_E_SYM` is confusing with `MRB_SYM_E`, so change it to `MRB_ERROR_SYM`.
2021-01-27 11:23:08 +09:00
Yukihiro "Matz" Matsumoto
efa0314731
Adjust spaces after list markers.
2021-01-26 21:21:26 +09:00
Yukihiro "Matz" Matsumoto
d4101d0a08
Revert "Fix the wrong directory host-bin to host/bin."
...
This reverts commit 34f82f24e9 .
Ref #5282
2021-01-26 21:17:28 +09:00
Yukihiro "Matz" Matsumoto
f3d5deb981
Clarify that contributors agree with MIT license in CONTRIBUTING.md.
2021-01-26 18:21:49 +09:00
Yukihiro "Matz" Matsumoto
04d5e7da39
Update doc/mruby3.md.
2021-01-26 17:16:22 +09:00
Yukihiro "Matz" Matsumoto
73418a90fa
Add doc/symbols.md. [ci skip]
...
To describe how to use symbols, especially preallocated symbols from C.
2021-01-26 12:42:36 +09:00
Yukihiro "Matz" Matsumoto
63b7439ddf
Change mruby-config to print usage on invalid arguments.
...
Or no argument at all.
2021-01-26 11:37:01 +09:00
Yukihiro "Matz" Matsumoto
34f82f24e9
Fix the wrong directory host-bin to host/bin.
...
Where `mruby-config` command should be generated.
2021-01-26 11:35:59 +09:00
Yukihiro "Matz" Matsumoto
2ddfd50df3
Use MRB_SYM() for error class retrieval; ref #5277
...
Note that `MRB_SYM()` is only available when `mruby/presym.h` is
included. Use `mrb_intern_lit()` otherwise.
2021-01-26 11:13:06 +09:00
Yukihiro "Matz" Matsumoto
17ecf14511
Revert "Minimize the changes in #5277 "
...
This reverts commit dc51d89ac2 .
2021-01-26 10:57:07 +09:00
Yukihiro "Matz" Matsumoto
165f79c877
Silence 'loss of data' warnings in symbol.c.
2021-01-25 23:27:32 +09:00
Yukihiro "Matz" Matsumoto
c68258f454
Merge pull request #5297 from hasumikin/fix-typo-in-rite-binary-header
...
Fix TYPO and checking minor version in RITE BINARY HEADER
2021-01-25 22:50:29 +09:00
HASUMI Hitoshi
d5ed73379f
fix comparison of minor version
2021-01-25 22:29:11 +09:00
HASUMI Hitoshi
da65d35d7a
fix TYPO in RITE BINARY HEADER
2021-01-25 22:11:54 +09:00
Yukihiro "Matz" Matsumoto
0903e2a72e
Silence 'loss of data' warnings.
2021-01-25 15:45:32 +09:00
Yukihiro "Matz" Matsumoto
efef4541aa
Fix a bug for the case frexp() return Infinity.
2021-01-25 15:44:59 +09:00
Yukihiro "Matz" Matsumoto
23e5c08e31
Should use a limit for 32 bit platform; ref 05a8cc44
2021-01-25 15:44:59 +09:00
Yukihiro "Matz" Matsumoto
73ce5db170
Add description for mruby-config in compile.md. [ci skip]
...
For easier compiling and linking of the application embedding `mruby`
2021-01-25 10:45:57 +09:00
Yukihiro "Matz" Matsumoto
05a8cc44cc
Define RAT_INT_LIMIT for 32 bit platforms.
2021-01-24 22:21:56 +09:00
Yukihiro "Matz" Matsumoto
f20e10686c
Prohibit r suffix after scientific notation (e.g. 1e10).
...
As CRuby does.
2021-01-24 21:43:20 +09:00
Yukihiro "Matz" Matsumoto
cc59860e40
Detect integer overflow in rational_new_f().
2021-01-24 21:42:34 +09:00
Yukihiro "Matz" Matsumoto
48b214f0b5
Remove test debug lines in fallback presym.inc
...
ref dc51d89ac2
2021-01-23 18:12:04 +09:00
Yukihiro "Matz" Matsumoto
baa1ee1faa
Fixed typo; ref #5296
2021-01-23 10:24:53 +09:00
Yukihiro "Matz" Matsumoto
8b590b5ec7
Merge pull request #5296 from yevgenko/patch-1
...
Fix typo
2021-01-23 10:20:21 +09:00
Yevhen Viktorov
2cab36c289
Fix typo
2021-01-23 00:25:23 +00:00
Yukihiro "Matz" Matsumoto
dc51d89ac2
Minimize the changes in #5277
...
Instead of including `mruby/presym.h` everywhere, we provided the
fallback `mruby/presym.inc` under `include/mruby` directory, and specify
`-I<build-dir>/include` before `-I<top-dir>/include` in `presym.rake`.
So even when someone drops `-I<build-dir>/include` in compiler options,
it just compiles without failure.
2021-01-22 18:38:53 +09:00
Yukihiro "Matz" Matsumoto
c5c156a6dd
Reduce size of mrb_callinfo by rearranging members.
...
From 48 bytes to 40 bytes on 64 bit platforms (unchanged on 32 bit).
2021-01-21 21:11:32 +09:00
Yukihiro "Matz" Matsumoto
33deeae9eb
Merge branch 'shuujii-avoid-including-presym.inc-in-existing-header-files'
2021-01-21 14:55:44 +09:00
Yukihiro "Matz" Matsumoto
6c5ccd5abe
Merge branch 'avoid-including-presym.inc-in-existing-header-files' of https://github.com/shuujii/mruby into shuujii-avoid-including-presym.inc-in-existing-header-files
2021-01-21 14:53:18 +09:00
Yukihiro "Matz" Matsumoto
438d114917
Fix a bug that :_1 to cause syntax error; fix #5295
2021-01-21 14:45:06 +09:00
Yukihiro "Matz" Matsumoto
56fdc449eb
Better error messages with yacc tokens.
2021-01-21 14:42:39 +09:00
Yukihiro "Matz" Matsumoto
5e0f51c906
Silence gcc warning from strncpy().
2021-01-21 12:22:54 +09:00
Yukihiro "Matz" Matsumoto
47a68e89ff
Remove CRC16 from dumped mruby binary.
...
`calc_crc_16_ccitt()` consumes a lot of clock cycles in programs like
`mrbtest` which loads a lot of dumped binary. Error detection for flaky
channels should be done in the higher level.
Note: `mruby/c` should be updated to support this change.
2021-01-20 23:12:43 +09:00
Yukihiro "Matz" Matsumoto
e91dfd07be
Compile mruby-bin-debugger with ci/gcc-clang.rb.
2021-01-19 12:05:16 +09:00
Yukihiro "Matz" Matsumoto
0661ebb669
Merge pull request #5294 from shuujii/fix-that-Hash-may-not-contain-any-empty-buckets
...
Fix that Hash may not contain any empty buckets
2021-01-18 23:19:47 +09:00
KOBAYASHI Shuji
dd81de49a6
Fix that Hash may not contain any empty buckets
...
The Hash implementation assumed that there were always empty buckets, but
sometimes there were only active or deleted buckets (no empty buckets).
Therefore, fix it so that this situation does not occur.
### Example
```ruby
# example.rb
class A
attr_reader :v
def initialize(v) @v = v end
def ==(o) @v == o.v end
def hash; @v end
def to_s; "#{self.class}[#{@v}]" end
alias eql? ==
alias inspect to_s
end
keys = (0..31).map{A.new(_1)}
h = {}
(0..16).each{h[keys[_1]] = _1}
(17..31).each do
k = keys[_1]
h[k] = _1
h.delete(k)
end
p h.keys
```
#### Before this patch:
```console
$ bin/mruby example.rb
[A[0], A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10], A[11], A[12], A[13], A[14], A[15], A[16], A[30], A[31]]
```
#### After this patch:
```console
$ bin/mruby example.rb
[A[0], A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10], A[11], A[12], A[13], A[14], A[15], A[16]]
```
2021-01-18 21:32:10 +09:00
Yukihiro "Matz" Matsumoto
e4fc42ea11
Merge pull request #5293 from dearblue/fix-5272.2
...
Fix build error for mruby-bin-debugger
2021-01-18 00:23:13 +09:00
dearblue
04a4e59c83
Fix build error for mruby-bin-debugger
...
This is a missing change in #5272 .
This issue was reported by @shuujii.
https://github.com/mruby/mruby/pull/5272#issuecomment-761819737
2021-01-18 00:00:53 +09:00
Yukihiro "Matz" Matsumoto
f4a3dc4f07
Add tests for Integer#quo and Float#quo; #5268
2021-01-17 23:02:36 +09:00
Yukihiro "Matz" Matsumoto
12ff88563d
Fix int_quo to do float division; fix #5268
2021-01-17 23:02:36 +09:00
Yukihiro "Matz" Matsumoto
c7452ff61f
Define Rational#quo; fix #5268
2021-01-17 23:02:35 +09:00
Yukihiro "Matz" Matsumoto
b4817a54f0
Make mrb_to_flo() to convert objects, not integer, not float; #5268
...
Thinking `Ratinal` and `Complex` in mind.
2021-01-17 23:02:35 +09:00
Yukihiro "Matz" Matsumoto
126f0f0563
Merge pull request #5292 from dearblue/objspace-memsize
...
Fix NULL pointer dereference with mruby-os-memsize and mruby-method
2021-01-16 17:55:43 +09:00
dearblue
0fdf5d9bb9
Fix NULL pointer dereference with mruby-os-memsize and mruby-method
...
If it gets an insubstantial method object with `obj.method`, it will raise a `SIGSEGV` with `ObjectSpace.memsize_of(method)`.
2021-01-16 15:52:52 +09:00
Yukihiro "Matz" Matsumoto
0aa8db9a06
Merge pull request #5291 from dearblue/fix-5272
...
Fixed stack position of return value; ref #5272
2021-01-16 13:56:26 +09:00
dearblue
414a61a9d2
Fixed stack position of return value; ref #5272
...
When I `#call` the "proc" object created by the `mrb_proc_new_cfunc()` function from Ruby space, the return value did not go into the correct stack position.
This can destroy the calling variable.
This issue is now caused by #5272 . sorry.
2021-01-16 11:05:15 +09:00
Yukihiro "Matz" Matsumoto
4bba769b95
Avoid syntax error regarding colons in the expression; fix #5290
...
Reported and inspired by @hasumikin; based on CRuby's `parse.y`.
2021-01-15 22:49:40 +09:00
Yukihiro "Matz" Matsumoto
28d5dabacd
Merge pull request #5273 from dearblue/fiber
...
Capture the return value of `Fiber.yield` via C; ref #5261
2021-01-14 23:47:25 +09:00
Yukihiro "Matz" Matsumoto
a639a39883
Rational denominator should not be zero.
2021-01-13 09:17:20 +09:00