1. 03 Sep, 2021 2 commits
  2. 01 Sep, 2021 4 commits
  3. 31 Aug, 2021 12 commits
  4. 29 Aug, 2021 1 commit
  5. 28 Aug, 2021 4 commits
  6. 27 Aug, 2021 1 commit
    • dearblue's avatar
      Refactor the `mrb_get_args()` function · 6ac8d14b
      dearblue authored
      - Removed the `ARGV` macro.
        The current path doesn't go into the mruby VM and there's also no need to separate variables.
      - Use common functions to check object types.
        - Use `mrb_ensure_string_type()` to check the string instead of `mrb_to_str()`.
          This is for consistency with array and hash.
        - Use `mrb_ensure_array_type()` to check the array instead of `to_ary()`.
        - Use `mrb_ensure_hash_type()` to check the hash instead of `to_hash()`.
        - Add and use `ensure_class_type()` to check class and module.
      - Changed the argument index type from `mrb_int` to `int`.
        Even if it is `int16_t`, it is enough.
        `mrb_int` is overkill, especially if `MRB_32BIT` and `MRB_INT64` are defined.
      6ac8d14b
  7. 26 Aug, 2021 8 commits
  8. 25 Aug, 2021 1 commit
  9. 24 Aug, 2021 1 commit
  10. 23 Aug, 2021 3 commits
    • dearblue's avatar
      Checks the frozen object with `mrb_get_args()` · 66aa184a
      dearblue authored
      This now works with the `+` modifier that can be added after each specifier.
      
      - `nil` is bypassed.
      - The `s` and `z` specifiers are received in C as a `const char *`, so adding a `+` modifier will raise an exception.
      - The `a` specifier is received in C as `const mrb_value *`, so adding a `+` modifier will raise an exception.
      - The `|`, `*`, `&`, `?` and `:` specifiers with `+` modifier raises an exception.
      
      If `!`/`+` exceeds one for each specifier, an exception will occur in the subsequent processing.
      This is the same behavior as before.
      66aa184a
    • dearblue's avatar
      Integrate each element expansion process of the argument · 6415faab
      dearblue authored
      The previously used `given` variable will be merged into the `pickarg` pointer variable, which points to the argument currently being processed for each loop.
      6415faab
    • Yukihiro "Matz" Matsumoto's avatar
      6f46f888
  11. 22 Aug, 2021 2 commits
  12. 21 Aug, 2021 1 commit
    • dearblue's avatar
      Organize the include of header files · 5a576028
      dearblue authored
      - `#include <math.h>` is done in `mruby.h`.
        Eliminate the need to worry about the `MRB_NO_FLOAT` macro.
      
      - Include mruby header files before standard header files.
        If the standard header file is already placed before `mruby.h`, the standard header file added in the future tends to be placed before `mruby.h`.
      
      This change should some reduce the chances of macros that must be defined becoming undefined in C++ or including problematic header files in a particular mruby build configuration.
      5a576028