Yukihiro "Matz" Matsumoto
eaaa474630
mruby-method/method.c: fix proc comparison for uncovered case
2023-04-01 10:37:16 +09:00
Yukihiro "Matz" Matsumoto
a3fc6ae53c
mruby-proc-ext/proc.c: use mrb_debug_get_position()
2023-04-01 10:37:15 +09:00
Yukihiro "Matz" Matsumoto
d482eabfa2
mruby-bigint/bigint.c: int.pow(n,m) to take bigint as exponential
2023-03-31 08:26:47 +09:00
Yukihiro "Matz" Matsumoto
62c52d5a28
mruby-bigint/bigint.c: remove unreachable line
2023-03-30 08:18:27 +09:00
Yukihiro "Matz" Matsumoto
35cedfb400
mruby-numeric-ext/numeric.c: Integer#pow fix for 2nd argument type
...
`int.pow()` takes 2nd argument only if 1st argument is an integer.
2023-03-30 08:18:27 +09:00
Yukihiro "Matz" Matsumoto
1f5a4d5386
mruby-method/method.c (method_eql): simplify the logic
2023-03-27 19:21:40 +09:00
Yukihiro "Matz" Matsumoto
553f9ba802
mruby-method/method.c (method_eql): use mrb_proc_eql
2023-03-27 19:15:03 +09:00
Yukihiro "Matz" Matsumoto
0f63551def
mruby-method/method.c (method_p): stricter method type check
2023-03-27 11:32:15 +09:00
Yukihiro "Matz" Matsumoto
f4cff664e6
mruby-proc-ext/proc.c: no need to define Kernel.proc
...
Since Kernel is an ancestor of Kernel module itself recursively.
2023-03-27 00:18:57 +09:00
Yukihiro "Matz" Matsumoto
3e7ced5d63
mruby-proc-ext/proc.c: remove prefix from static functions
2023-03-27 00:12:18 +09:00
Yukihiro "Matz" Matsumoto
0bbfec3e8b
mruby-eval: use functions from mruby-binding to simplify the code
2023-03-25 19:12:46 +09:00
Yukihiro "Matz" Matsumoto
11af5db1c3
mruby-binding: renamed from mruby-binding-core
...
The dependency is now:
mruby-binding-eval:
- mruby-binding
- mruby-eval
mruby-proc-binding:
- mruby-binding
mruby-eval:
- mruby-binding [new]
2023-03-24 12:25:57 +09:00
Yukihiro "Matz" Matsumoto
3ef41672ab
mruby-biding-eval: move essential part of the gem to mruby-eval
...
This change makes mruby-binding-eval gem nearly empty, but needed to
make `eval(str, binding)` works as well as `binding.eval(str)`.
2023-03-24 07:33:13 +09:00
Yukihiro "Matz" Matsumoto
910afdc691
mruby-binding-eval: modify struct initialization
2023-03-23 22:10:20 +09:00
Yukihiro "Matz" Matsumoto
5914d9e9d4
mruby-binding-eval: remove unused members from binding_eval_prepar_body
2023-03-23 16:16:52 +09:00
Yukihiro "Matz" Matsumoto
bf9a2501d1
mruby-binding-eval: move non raising code to the parent function
2023-03-22 23:22:45 +09:00
Yukihiro "Matz" Matsumoto
bdbc613ccb
parse.y (mrbc_filename): should not raise exceptions
2023-03-22 17:33:49 +09:00
Yukihiro "Matz" Matsumoto
501b22a2ac
mruby-binding-eval: renamed from mruby-binding
...
Since this gem only provides `Binding#eval`.
2023-03-22 15:25:23 +09:00
Yukihiro "Matz" Matsumoto
979e8602dd
mruby-binding-core: make mrb_binding_wrap_lvspace static
2023-03-21 16:18:15 +09:00
Yukihiro "Matz" Matsumoto
66ca9722b6
mruby-binding-core (mrb_binding_new): new function
...
Use this function instead of `mrb_binding_alloc` (removed).
2023-03-21 16:17:08 +09:00
Yukihiro "Matz" Matsumoto
88ae5e8cf8
mruby-binding-core: use mrb_binding_wrap_lvspace if possible
2023-03-21 16:10:15 +09:00
Yukihiro "Matz" Matsumoto
495845443c
mruby-binding-core (mrb_binding_p) add new function
2023-03-21 16:10:15 +09:00
Yukihiro "Matz" Matsumoto
35e2779575
Small cosmetic changes (adjust indent, and remove extra space)
2023-03-21 16:10:15 +09:00
Yukihiro "Matz" Matsumoto
0c8404a3e2
mruby-binding: use C implementation of Kernel#eval directly
2023-03-21 16:10:15 +09:00
Yukihiro "Matz" Matsumoto
de70014643
mruby-binding/binding.c: add comment for functions from outer gems
2023-03-16 19:02:23 +09:00
Yukihiro "Matz" Matsumoto
62a8ea7113
mruby-bigint/bigint.c: mrb_bint_add_d, mrb_bint_sub_d only take int
...
Where mrb_bint_add and mrb_bint_sub may take float numbers.
2023-03-15 19:09:02 +09:00
Yukihiro "Matz" Matsumoto
0d07af104b
internal.h: move function prototypes to <mruby/internal.h>
2023-03-14 11:06:44 +09:00
Yukihiro "Matz" Matsumoto
6915e75207
Merge branch 'binding.4' of https://github.com/dearblue/mruby into dearblue-binding.4
2023-03-14 11:05:10 +09:00
Yukihiro "Matz" Matsumoto
9a1e6760a8
mruby-bigint: add new functions mrb_bint_add_d, mrb_bint_sub_d
...
Those functions do not normalize the return value to avoid repeated
conversions between Bigints and (small) Integers.
2023-03-13 16:07:17 +09:00
Yukihiro "Matz" Matsumoto
f7cbb319cb
mruby-bigint: remove unused mrb_bint_div_ii() function
2023-03-13 08:10:41 +09:00
Yukihiro "Matz" Matsumoto
33320b08bb
mruby-data: fix uninitialized variable error
2023-03-13 08:09:26 +09:00
Yukihiro "Matz" Matsumoto
7327ca898c
mruby-struct: fix uninitialized variable error
2023-03-13 08:08:30 +09:00
Yukihiro "Matz" Matsumoto
dd0a9e8970
mruby-bigint/bigint.c: remove a condition to stop warnings
2023-03-13 08:06:41 +09:00
Yukihiro "Matz" Matsumoto
a8d840da19
Merge pull request #5928 from dearblue/task/install
...
Improved `rake install`
2023-03-13 08:05:20 +09:00
Yukihiro "Matz" Matsumoto
90e53cad39
Merge pull request #5945 from dearblue/env-internal
...
Avoid exposure for `REnv` objects
2023-03-11 16:18:28 +09:00
Yukihiro "Matz" Matsumoto
7f79ca2cf6
mruby-compiler: need to adjust the line number for do_block; fix #5949
2023-03-11 15:49:35 +09:00
Yukihiro "Matz" Matsumoto
927a9df453
mruby-data/data.c: allow empty Data
2023-03-10 08:52:06 +09:00
Yukihiro "Matz" Matsumoto
c212edec5f
mruby-struct/struct.c: allow empty Struct when a name is not given
2023-03-10 08:52:06 +09:00
Yukihiro "Matz" Matsumoto
fc4fe48a00
mruby-time/time.c: fix error message from localtime_r(3) failure
2023-03-10 08:52:06 +09:00
Yukihiro "Matz" Matsumoto
13cd0e5585
mruby-time/time.c (mrb_time_minus): specify mrb_float directly
...
The `typedef mrb_sec` does not improve readability at all.
2023-03-10 08:52:06 +09:00
Yukihiro "Matz" Matsumoto
e62d672ef3
mruby-time/time.c (mrb_to_time_t): support Bigint if defined
2023-03-10 08:52:06 +09:00
Yukihiro "Matz" Matsumoto
01233f70bd
mruby-bigint/bigint.c: add two new functions to convert to 64bit int
...
- mrb_bint_as_int64()
- mrb_bint_as_uint64()
2023-03-10 08:52:05 +09:00
Yukihiro "Matz" Matsumoto
c71408bc0a
mruby-time/time.c (mrb_to_time_t): raise error if obj is not time
...
Or a time-compatible object like a number.
2023-03-10 08:52:05 +09:00
Yukihiro "Matz" Matsumoto
7096d277da
mruby-time/time.c: support bigint to time_t if necessary
2023-03-10 08:52:05 +09:00
Yukihiro "Matz" Matsumoto
da8c23524f
mruby-time/time.c (mrb_to_time_t): use floor instead of llround
...
Since we should generate `t=(sec+usec)` from a floating point number
`sec` should be `floor(f)` especially for negative numbers, if the place
for `usec` is specified. In contrast, we can `round` the below point
digits if we are going to ignore them. But we now use `round` instead of
`llround` which directly convert `double` to `long long`, to add
boundary check for conversion.
2023-03-10 08:52:05 +09:00
Yukihiro "Matz" Matsumoto
2f0265d078
mruby-io/io.c (check_file_descriptor): stop "unused label" warning
2023-03-10 08:52:05 +09:00
Yukihiro "Matz" Matsumoto
9a3199cadd
mruby-io/file.c: atime, ctime, mtime to return Bigint if possible
2023-03-10 08:52:05 +09:00
Yukihiro "Matz" Matsumoto
a3b84fbb08
mruby-bigint/bigint.c: add 2 new functions for 64 bit integer
...
- mrb_bint_new_int64()
- mrb_bint_new_uint64()
2023-03-10 08:52:05 +09:00
Yukihiro "Matz" Matsumoto
e5de08b692
mruby-time/time.c (time_mktime): should allow year before 1900
...
If the platform use 64 bit time_t, it is possible to represent the year
before 1903. So we should remove this check.
2023-03-10 08:52:04 +09:00
Yukihiro "Matz" Matsumoto
bcd595ad1b
mruby-bigint/bigint.c: add else to skip if check
2023-03-10 08:52:04 +09:00