1. 05 Apr, 2019 2 commits
  2. 04 Apr, 2019 1 commit
  3. 03 Apr, 2019 3 commits
  4. 02 Apr, 2019 3 commits
  5. 01 Apr, 2019 2 commits
    • KOBAYASHI Shuji's avatar
      Fix modifiable class name · 55cb6258
      KOBAYASHI Shuji authored
      Fix the following example:
      
          Object.const_set :A, Module.new{const_set :B, Class.new}
          ab = A::B.to_s
          p ab         #=> "A::B" # Good
          ab[0] = "x"
          p A::B.to_s  #=> "x::B" # Bad
      55cb6258
    • Yukihiro "Matz" Matsumoto's avatar
      Avoid keeping pointers from `mrb_sym2name_len()`; fix #4342 · 2871d0cd
      Yukihiro "Matz" Matsumoto authored
      The addresses for packed inline symbols reference `mrb->symbuf` that
      could be overridden by the later call of `mrb_sym2name_len`. Since
      file names in call stack information are kept as symbols, keeping the
      address in the C structures could cause problems like #4342.
      
      This changes small incompatible changes in function prototypes:
      * `mrb_parser_get_filename`: return value changed to `mrb_sym`.
      * `mrb_debug_get_filename`: add `mrb_state*` as a first argument.
      * `mrb_debug_get_line`: ditto.
      
      I believe above functions are almost internal, and no third-party
      mrbgem use them.
      2871d0cd
  6. 31 Mar, 2019 2 commits
  7. 30 Mar, 2019 2 commits
  8. 29 Mar, 2019 4 commits
  9. 28 Mar, 2019 5 commits
  10. 27 Mar, 2019 5 commits
  11. 26 Mar, 2019 3 commits
    • Yukihiro "Matz" Matsumoto's avatar
      Merge pull request #4343 from shuujii/fix-dealing-with-infinity-and-NaN-in-assert_float · 55986123
      Yukihiro "Matz" Matsumoto authored
      Fix dealing with infinity and NaN in `test/assert.rb:assert_float`
      55986123
    • KOBAYASHI Shuji's avatar
      Fix dealing with infinity and NaN in `test/assert.rb:assert_float` · 0b6696cc
      KOBAYASHI Shuji authored
      `assert_float` is always passed when expected value and/or actual value are
      infinity or NaN. This behavior seems unintentional.
      
      Before this patch:
      
          assert_float(Float::INFINITY, 1.0)  #=> pass
          assert_float(-Float::INFINITY, 1)   #=> pass
          assert_float(1, 1/0)                #=> pass
          assert_float(1, -1/0)               #=> pass
          assert_float(1.0, Float::NAN)       #=> pass
          assert_float(Float::NAN, 1)         #=> pass
      
      After this patch:
      
          assert_float(Float::INFINITY, 1.0)  #=> fail: Expected 1.0 to be Infinity.
          assert_float(-Float::INFINITY, 1)   #=> fail: Expected 1 to be -Infinity.
          assert_float(1, 1/0)                #=> fail: Expected Infinity to be 1.
          assert_float(1, -1/0)               #=> fail: Expected -Infinity to be 1.
          assert_float(1.0, Float::NAN)       #=> fail: Expected NaN to be 1.0.
          assert_float(Float::NAN, 1)         #=> fail: Expected 1 to be NaN.
      0b6696cc
    • Yukihiro "Matz" Matsumoto's avatar
      Fix missing `MRB_API` prefix for functions below; clse #4267 · c2660b81
      Yukihiro "Matz" Matsumoto authored
      Functions to add prototypes to headers:
      * mrb_ary_splice()
      * mrb_notimplement()
      * mrb_vformat()
      * mrb_cstr_to_dbl()
      * mrb_cstr_to_inum()
      
      Functions to be made `static` (`MRB_API` was not needed):
      * mrb_mod_module_function()
      * mrb_obj_hash()
      * mrb_str_len_to_inum()
      
      Functions to remove `MRB_API` from definitions (referenced from within `libmruby`):
      * mrb_mod_cv_defined()
      * mrb_mod_cv_get()
      * mrb_f_send()
      c2660b81
  12. 25 Mar, 2019 6 commits
  13. 24 Mar, 2019 2 commits