1. 01 Aug, 2019 1 commit
    • KOBAYASHI Shuji's avatar
      Add new specifiers/modifiers to format string of `mrb_vfromat()` · eea42e06
      KOBAYASHI Shuji authored
      Format sequence syntax:
      
        %[modifier]specifier
      
      Modifiers:
      
        ----------+------------------------------------------------------------
        Modifier  | Meaning
        ----------+------------------------------------------------------------
            !     | Convert to string by corresponding `inspect` instead of
                  | corresponding `to_s`.
        ----------+------------------------------------------------------------
      
      Specifiers:
      
        ----------+----------------+--------------------------------------------
        Specifier | Argument Type  | Note
        ----------+----------------+--------------------------------------------
            c     | char           |
           d,i    | mrb_int        |
            f     | mrb_float      |
            l     | char*, mrb_int | Arguments are string and length.
            n     | mrb_sym        |
            s     | char*          | Argument is NUL terminated string.
            t     | mrb_value      | Convert to type (class) of object.
           v,S    | mrb_value      |
            C     | struct RClass* |
            T     | mrb_value      | Convert to real type (class) of object.
            Y     | mrb_value      | Same as `!v` if argument is `true`, `false`
                  |                | or `nil`, otherwise same as `T`.
            %     | -              | Convert to percent sign itself (no argument
                  |                | taken).
        ----------+----------------+--------------------------------------------
      
      This change will increase the binary size, but replacing all format strings
      with new specifiers/modifiers will decrease the size because it reduces
      inline expansion of `mrb_obj_value()`, etc. at the caller.
      eea42e06
  2. 31 Jul, 2019 2 commits
  3. 30 Jul, 2019 7 commits
  4. 29 Jul, 2019 4 commits
  5. 28 Jul, 2019 10 commits
  6. 27 Jul, 2019 8 commits
  7. 26 Jul, 2019 1 commit
  8. 25 Jul, 2019 2 commits
  9. 24 Jul, 2019 4 commits
  10. 23 Jul, 2019 1 commit