Yukihiro "Matz" Matsumoto
425097c7be
mruby-kernel-ext/kernel.c: use mrb_ensure_integer_type().
...
Instead of obsolete `mrb_to_integer()`.
2022-04-25 07:26:42 +09:00
Yukihiro "Matz" Matsumoto
ede3bed9e6
object.c: add new function mrb_ensure_integer_type().
...
that checks if the value is an `Integer` which may be a big integer,
where existing `mrb_ensure_int_type()` checks if the value is an Integer
**and** fits in `mrb_int`.
2022-04-25 07:21:40 +09:00
Yukihiro "Matz" Matsumoto
2bea39f339
mruby-range-ext/range.c: Range#cover?() takes a range too.
2022-04-24 14:02:00 +09:00
Yukihiro "Matz" Matsumoto
56a35131a4
numeric.c (mrb_cmp): should not raise NoMethodError.
...
Even when `obj1` does not have `<=>` method.
2022-04-24 14:02:00 +09:00
Yukihiro "Matz" Matsumoto
083691dbd1
variable.c (const_get): stop searching constant before Object.
...
`String::String` should raise `NameError` exception.
2022-04-24 14:02:00 +09:00
Yukihiro "Matz" Matsumoto
17b4d82f65
variable.c: remove mrb_ prefix from a static function.
2022-04-24 14:02:00 +09:00
Yukihiro "Matz" Matsumoto
8bd77ca332
vm.c: target_class should be retrieved from callinfo.
2022-04-24 14:01:59 +09:00
Yukihiro "Matz" Matsumoto
4afbf8ff01
Merge pull request #5697 from dearblue/mrb_alloca
...
Hides the class of string objects allocated by `mrb_alloca()`
2022-04-24 14:00:49 +09:00
dearblue
889f1b898f
Hides the class of string objects allocated by mrb_alloca()
...
Prevents retrieval with the `ObjectSpace.each_object` method.
2022-04-23 22:13:30 +09:00
Yukihiro "Matz" Matsumoto
a4d97934d5
vm.c: check if target_class is NULL (when prepended).
2022-04-22 08:32:18 +09:00
Yukihiro "Matz" Matsumoto
bdc244e9b0
mruby-errno/errno.c: fix integer size mixtures.
2022-04-21 14:47:15 +09:00
Yukihiro "Matz" Matsumoto
3be461077d
mruby-pack/pack.c: fix integer size mixtures.
2022-04-21 14:47:15 +09:00
Yukihiro "Matz" Matsumoto
9dd45df804
numeric.c (int_pow): should not overflow.
2022-04-21 11:35:52 +09:00
Yukihiro "Matz" Matsumoto
e7d0e6fd5a
vm.c: fix integer size mixtures.
2022-04-20 16:18:18 +09:00
Yukihiro "Matz" Matsumoto
b07ce286f1
fmt_fp.c: fix int and size_t mixture.
2022-04-20 16:11:32 +09:00
Yukihiro "Matz" Matsumoto
dd582069ed
bigint.c: simplify a loop in mrb_bint_new_float().
2022-04-20 14:47:40 +09:00
Yukihiro "Matz" Matsumoto
b0be2b0176
bigint.c: fix integer size mixture warnings.
2022-04-20 14:47:40 +09:00
Yukihiro "Matz" Matsumoto
791635a8d1
Merge pull request #5695 from dearblue/mrbc-build
...
Setting `Command#build` correctly in automatic "mrbc" build for presym
2022-04-20 14:47:25 +09:00
Yukihiro "Matz" Matsumoto
eb8f7e1b77
Merge pull request #5694 from dearblue/method_added
...
Move `method_added` method into the `Module`
2022-04-20 08:05:54 +09:00
dearblue
be782b7d36
Setting Command#build correctly in automatic "mrbc" build for presym
...
This was the cause of the command line flag being affected by changes in the parent build.
So, for example, if `mruby-rational` was included, even the automatically added `mrbc` builds included `MRB_USE_RATIONAL`.
2022-04-19 21:48:50 +09:00
dearblue
8bd924c905
Move method_added method into the Module
...
Previously defined as `BasicObject#method_added`.
2022-04-19 21:00:45 +09:00
Yukihiro "Matz" Matsumoto
4ce0f6dc05
Merge pull request #5692 from jbampton/update-lint-workflow
...
Fix step names in lint workflow
2022-04-19 07:45:47 +09:00
Yukihiro "Matz" Matsumoto
94585a5902
mruby-binding/bindinc.c: should not mix int and size_t.
2022-04-18 17:47:10 +09:00
Yukihiro "Matz" Matsumoto
b38a766427
numeric.c (flo_to_i): use bigint if the value is bigger than mrb_int.
2022-04-18 12:31:15 +09:00
Yukihiro "Matz" Matsumoto
96ff3c31c4
bigint.c: cast to unsigned integer to avoid undefined behavior.
2022-04-18 11:34:30 +09:00
Yukihiro "Matz" Matsumoto
25e6e24c19
bigint.c: adjust integer types to remove warnings.
2022-04-18 11:33:53 +09:00
Yukihiro "Matz" Matsumoto
a89130561b
bigint.c: remove unused function prototypes.
2022-04-18 11:32:09 +09:00
Yukihiro "Matz" Matsumoto
c0b829acce
bigint.h: remove unused macro OVMASK.
2022-04-18 11:30:50 +09:00
Yukihiro "Matz" Matsumoto
cb353af9ad
Merge pull request #5693 from dearblue/each_byte
...
Improvements to `String#each_byte`
2022-04-18 09:58:59 +09:00
Yukihiro "Matz" Matsumoto
c0ef940c90
numeric.c: add boundary checks in Float#to_f.
...
- check_num_exact() before rounding the float value
- check integer (mrb_int) overflow.
2022-04-17 09:32:04 +09:00
Yukihiro "Matz" Matsumoto
790910b50a
codegen.c: genop_3 to take uint16_t instead of uint8_t.
2022-04-17 09:32:04 +09:00
Yukihiro "Matz" Matsumoto
6df1e68e70
Merge pull request #5691 from dearblue/newlit
...
Avoid creating temporary objects with `new_lit()` in `codegen.c`
2022-04-17 09:18:25 +09:00
dearblue
76d3ea8458
Improvements to String#each_byte
...
Each byte value is now retrieved inside the loop.
2022-04-16 22:23:34 +09:00
John Bampton
d1f754cc19
Fix step names in lint workflow
2022-04-16 22:40:03 +10:00
dearblue
1354ad96ec
Avoid creating temporary objects with new_lit() in codegen.c
...
At the same time, the saving and restoration of unwanted object arenas was removed.
In addition, the common code to extend the pool that existed before has been grouped together and newly established as `lit_pool_extend()`.
Note that previously the variable `i` was updated at that time, but since it is the same as the value at the end of a `for` statement, it has been omitted.
The original catalyst was that `bin/mrbc` with the `MRB_WORD_BOXING` + not `MRB_BOXWORD_NO_FLOAT_TRUNCATE` configuration caused `bin/mrbtest` with the `MRB_NO_BOXING` configuration to fail.
Upon investigation, I concluded that avoiding the creation of temporary objects would prevent the truncation of floating point numbers.
Therefore, this patch also prevents the `rake test` from failing with the following configuration.
```console
% cat test_config.rb
bootstrap_mrbc = nil
MRuby::Build.new do |conf|
conf.toolchain
conf.enable_debug
conf.enable_test
conf.disable_presym
conf.defines << %w(MRB_WORD_BOXING)
#conf.defines << %w(MRB_WORDBOX_NO_FLOAT_TRUNCATE)
gem core: "mruby-bin-mrbc"
gem core: "mruby-kernel-ext"
bootstrap_mrbc = File.join(conf.build_dir, "bin/mrbc")
end
MRuby::Build.new("nobox") do |conf|
conf.toolchain
conf.enable_debug
conf.enable_test
conf.defines << %(MRB_NO_BOXING)
conf.mrbcfile = bootstrap_mrbc
gem core: "mruby-kernel-ext"
end
```
2022-04-16 18:22:32 +09:00
Yukihiro "Matz" Matsumoto
b352e462cf
Merge pull request #5690 from jbampton/enable-MD010
...
Enable markdownlint rule MD010 no-hard-tabs
2022-04-15 14:22:04 +09:00
John Bampton
2e35a88c7b
Enable markdownlint rule MD010 no-hard-tabs
2022-04-15 12:19:27 +10:00
Yukihiro "Matz" Matsumoto
528335ee99
Merge pull request #5689 from jbampton/case-and-grammar
...
Fix grammar and case of Ruby
2022-04-15 10:46:49 +09:00
John Bampton
888931c103
Fix grammar and case of Ruby
2022-04-15 11:32:32 +10:00
Yukihiro "Matz" Matsumoto
5f1ed381ae
Merge pull request #5688 from jbampton/fix-spelling
...
Fix spelling in `doc/mruby3.2.md`
2022-04-15 07:44:50 +09:00
John Bampton
aa4049e5e6
Fix spelling in doc/mruby3.2.md
2022-04-15 07:06:23 +10:00
Yukihiro "Matz" Matsumoto
eba74c038e
string.c: avoid a local variable.
2022-04-14 10:55:00 +09:00
Yukihiro "Matz" Matsumoto
15af07562a
variable.c: use size_t to avoid integer type mismatch.
2022-04-14 10:54:37 +09:00
Yukihiro "Matz" Matsumoto
3c96ee704b
fiber.c: cast integer to avoid a warning.
2022-04-14 10:53:58 +09:00
Yukihiro "Matz" Matsumoto
fef7deabd5
doc/mruby3.2.md: add description about multi-precision integers.
2022-04-12 20:28:47 +09:00
Yukihiro "Matz" Matsumoto
2f918f1926
errno.c: fix int and mrb_int mixture.
...
`strerror(3) takes `int` not `mrb_int`.
2022-04-12 16:11:01 +09:00
Yukihiro "Matz" Matsumoto
0e975c1571
bigint.h: simplified the condition.
2022-04-12 15:06:28 +09:00
Yukihiro "Matz" Matsumoto
ff2b21ddf3
Merge pull request #5687 from dearblue/sysfail
...
Must the `mrb_sys_fail()` function raise an exception
2022-04-12 08:59:50 +09:00
Yukihiro "Matz" Matsumoto
0ec5c3e493
bigint.c (mrb_bint_cmp): avoid object allocation for comparison.
2022-04-11 11:12:47 +09:00
Yukihiro "Matz" Matsumoto
f63f57391f
bigint.c: fix bugs caused by integer size variety.
2022-04-11 11:04:22 +09:00