summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
AgeCommit message (Collapse)Author
2021-03-01binding-core.c: add cast to remove warnings; ref #5362Yukihiro "Matz" Matsumoto
2021-03-01time.c: fixed a bug on no builtin overflow (e.g. VC).Yukihiro "Matz" Matsumoto
2021-03-01feat: add pre-commit frameworkJohn Bampton
2021-03-01time.c: avoid using `mrb_int_{add,sub}_overflow()`.Yukihiro "Matz" Matsumoto
The size and signedness of `mrb_int` and `time_t` may differ.
2021-02-28Merge pull request #5367 from dearblue/libeditYukihiro "Matz" Matsumoto
Support libedit on mirb for FreeBSD
2021-02-28time.c: check overflow in addition and subtraction of `Time`.Yukihiro "Matz" Matsumoto
2021-02-28Remove periods from error messages according to the convention.Yukihiro "Matz" Matsumoto
2021-02-28time.c: change `RuntimeError` to `ArgumentError`.Yukihiro "Matz" Matsumoto
2021-02-28Support libedit on mirb for FreeBSDdearblue
2021-02-27pack.c: add more checks for `pack_pack()`.Yukihiro "Matz" Matsumoto
2021-02-26Use `MRB_SYM()` more extensively.Yukihiro "Matz" Matsumoto
2021-02-25Merge pull request #5362 from dearblue/bindingYukihiro "Matz" Matsumoto
Binding
2021-02-24parse.y: endless_method_name should allow `==`.Yukihiro "Matz" Matsumoto
e.g. `def ==(v) = true`. The issue is reported by @shuujii
2021-02-24parse.y: upgrade endless `def` syntax.Yukihiro "Matz" Matsumoto
- prohibit defining setter method - allow endless def without parentheses
2021-02-22Added other methods for `Binding`dearblue
- Added to `mruby-binding-core` - `Binding#local_variable_defined?` - `Binding#local_variable_get` - `Binding#local_variable_set` - `Binding#local_variables` - `Binding#receiver` - `Binding#source_location` - `Binding#inspect` - Added to `mruby-proc-binding` - `Proc#binding` The reason for separating `Proc#binding` is that core-mrbgems has a method that returns a closure object to minimize possible problems with being able to manipulate internal variables. By separating it as different mrbgem, each user can judge this problem and incorporate it arbitrarily.
2021-02-22Adjustment of the current HEAD and bindings, and separationdearblue
Make changes to make `Binding` work. At the same time, it separates `Binding#eval`, which depends on `mruby-eval`, from `mruby-binding-core`.
2021-02-22Change `mruby-binding` to `mruby-binding-core`dearblue
2021-02-22Merge branch 'binding' of https://github.com/ksss/mruby into HEADdearblue
2021-02-20Comment out `warn` used in the `Array#fetch` methoddearblue
I get an error because the current mruby does not have a `Kernel#warn` method. But the warning itself is useful and I'll just comment it out in case it's implemented in the future.
2021-02-20metaprog.c: fix a `methods()` bug with `false` argument; fix #5351Yukihiro "Matz" Matsumoto
2021-02-20metaprog.c: remove unused argument from a private function.Yukihiro "Matz" Matsumoto
2021-02-14Add `-s` option to `mrbc` for make variable staticKOBAYASHI Shuji
2021-02-13chore: fix missing HTTPS on linksJohn Bampton
2021-02-13chore: fix spellingJohn Bampton
Normally a single spell checker can't find all the mistakes or check all types of code. These mistakes were found by another spell checker inside my editor with a more manual sift / find.
2021-02-13feat(CI): check for trailing whitespaceJohn Bampton
Run on pull request only. Use a shell script to check for trailing whitespace in all files. Fail if trailing whitespace is found.
2021-02-13parse.y: string buffer (`tokbuf`) can overflow.Yukihiro "Matz" Matsumoto
Check if `esclen` is smaller than `len` (original string length).
2021-02-12Merge pull request #5336 from shuujii/fix-build-mruby-catch-gem-without-presymYukihiro "Matz" Matsumoto
Fix build `mruby-catch` gem without presym
2021-02-12Fix build `mruby-catch` gem without presymKOBAYASHI Shuji
2021-02-12Add `UncaughtThrowError#{tag,value}` for Ruby compatibilityKOBAYASHI Shuji
2021-02-12Rename `mrb_sleep.c` to `sleep.c` in `mruby-sleep` gem.Yukihiro "Matz" Matsumoto
2021-02-12Rename `mruby-catch.c` to `catch.c`; ref #5328Yukihiro "Matz" Matsumoto
2021-02-10Refactor `mruby-catch`; ref #5328Yukihiro "Matz" Matsumoto
- Move `#catch` definition to `mruby-catch.c` to avoid tweaking - Remove `#__preserve_catch_method` - Implement whole `#throw` method in C
2021-02-10Merge branch 'mruby-catch' of https://github.com/dearblue/mruby into ↵Yukihiro "Matz" Matsumoto
dearblue-mruby-catch
2021-02-08`i_gcd()` does not work for `MRB_INT_MIN`.Yukihiro "Matz" Matsumoto
2021-02-07Move `F(x)` definition inside of `#ifdef`; fix #5330Yukihiro "Matz" Matsumoto
2021-02-07Enlarge tolerance limit for `float32`; close #5329Yukihiro "Matz" Matsumoto
Along with some refactoring on `mruby-math` tests.
2021-02-07Fix tests to work with `MRB_USE_FLOAT32`; fix #5329Yukihiro "Matz" Matsumoto
2021-02-06Reimplement mruby-catch; ref #5321dearblue
When there is a corresponding tag, the `RBreak` object is used to make a global jump. Like CRuby, it can't be caught by `rescue`. It is also the same as CRuby that it can be canceled in the middle by `ensure`. ### How to find the corresponding tag with `throw` The called `catch` method remains in the call stack, and the tag also remains in the stack at that time. So it is possible to find the called location by searching the two. Note that no method can be given to the `proc` object specified in `RBreak`. Therefore, inside the `catch` method, the argument block is called in a seemingly meaningless closure. Also, as a countermeasure against `alias` etc., the `proc` object, which is the body of the `catch` method, is saved when mrbgem is initialized.
2021-02-06MinGW does not need MSVC hack.Yukihiro "Matz" Matsumoto
Both MinGW and MSVC provide _WIN32 macro.
2021-02-06No need to check class definitiondearblue
Because now the `Struct` class is always defined when this file is included.
2021-02-06Fixed compile errors in `cmath.c` in MinGW and macOS.Yukihiro "Matz" Matsumoto
2021-02-06Make the argument of `Kernel#catch` optional as Ruby doesKOBAYASHI Shuji
Also implement the following changes. * Add tests * Use `Object#equal?` to compare tags for Ruby compatibility * Use `attr_reader`
2021-02-06Avoid implicit conversion from `mrb_float` to `mrb_complex`.Yukihiro "Matz" Matsumoto
2021-02-06Merge pull request #5322 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-message-of-ThrowCatchJump-in-mruby-catch-gem Fix message of `ThrowCatchJump` in `mruby-catch` gem
2021-02-06Reimplement complex division.Yukihiro "Matz" Matsumoto
2021-02-06Define `M_E` for some platforms.Yukihiro "Matz" Matsumoto
2021-02-06Update `mruby-cmath` to support MSVC complex.Yukihiro "Matz" Matsumoto
* Use `_Complex` instead of `complex` (MSYS2 do not support `complex`) * Use `_Dcomplex` instead of `_Complex` on MSCV * Avoid operator division and multiplication of complex
2021-02-05Fix message of `ThrowCatchJump` in `mruby-catch` gemKOBAYASHI Shuji
### Example ```ruby begin throw 1 rescue Exception => e puts e.message end ``` #### Before this patch: ```console $ bin/mruby example.rb uncaught throw :1 ``` #### After this patch (same as Ruby): ```console $ bin/mruby example.rb uncaught throw 1 ```
2021-02-05Add `mruby-cmath` gem to the core.Yukihiro "Matz" Matsumoto
This gem uses C99 `_Complex` features. You need a C compiler that supports `_Complex` to enable this gem. All `gcc`, `clang`, `VC` support `_Complex` so there should not be a big problem.
2021-02-05Add a few new API for complex access.Yukihiro "Matz" Matsumoto