Commit Graph

3843 Commits

Author SHA1 Message Date
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