- 22 Sep, 2019 1 commit
-
-
Fangrui Song authored
In lld linked programs, .rodata comes before .text, thus mrb_ro_data_p will return false for strings in .rodata. Change the lower bound from _etext to __ehdr_start to catch these cases. This works for ld.bfd, gold and lld, and it does not have false positives even if .init_array does not exist. Remove the branch that uses _edata: strings in .data can be modified so this is semantically incorrect. Delete the __APPLE__ branch (its manpages say get_etext() and get_edata() are strongly discouraged). .init_array has been adopted by most ELF platforms to supersede .ctors. Neither _etext nor _edata is used, so rename MRB_USE_ETEXT_EDATA to MRB_USE_EHDR_START.
-
- 21 Sep, 2019 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Use `mrb_define_method` instead of `mrb_define_alias`
-
KOBAYASHI Shuji authored
-
- 20 Sep, 2019 4 commits
-
-
Yukihiro "Matz" Matsumoto authored
Singleton class definition do not introduce its own class variable scope in CRuby/JRuby. So should mruby. ``` module Mod1 class << Object.new C = 1 @@cv = 1 p Module.nesting, # => [#<Class:#<Object:0x55cb16e60a50>>, Mod1] constants, # => [:C] class_variables, # => [] Mod1.class_variables # => [:@@cv] end end ```
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
Fix typo in `Array#difference` document [ci skip]
-
KOBAYASHI Shuji authored
-
- 19 Sep, 2019 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Simplify arguments check in `String#index`
-
KOBAYASHI Shuji authored
Also fix document about type of the first argument.
-
- 18 Sep, 2019 5 commits
-
-
Yukihiro "Matz" Matsumoto authored
Fix `Enumerable#filter_map` without block; ref d380c7d2
-
KOBAYASHI Shuji authored
-
Yukihiro "Matz" Matsumoto authored
Remove `mrb_get_args(mrb, "")`; ref 30f37872
-
KOBAYASHI Shuji authored
-
Yukihiro "Matz" Matsumoto authored
We needed to preserve the original method name somewhere. We kept it in the `env` structure pointed from aliased methods. #1457 and #1531 tried to address this issue. But this patch is more memory efficient. Limitation: this fix does not support `super` from methods defined by `define_method`. This limitation may be addressed in the future, but it's low priority.
-
- 17 Sep, 2019 2 commits
-
-
Yukihiro "Matz" Matsumoto authored
Fix `Fixnum#(to_s|inspect)` argument specs
-
KOBAYASHI Shuji authored
Before this patch: $ bin/mruby -e 'p 3.to_s(2)' trace (most recent call last): [0] -e:1 -e:1: 'to_s': wrong number of arguments (1 for 0) (ArgumentError) After this patch: $ bin/mruby -e 'p 3.to_s(2)' "11"
-
- 16 Sep, 2019 18 commits
-
-
Yukihiro "Matz" Matsumoto authored
Shrink `mrb_get_args()`
-
Yukihiro "Matz" Matsumoto authored
Entrust "no block given" error to `mrb_get_args()`
-
Yukihiro "Matz" Matsumoto authored
Fix argument specs to `Enumerable`
-
dearblue authored
Some error messages will be changed.
-
dearblue authored
As a side effect, all specifiers now accept the `!` modifier.
-
dearblue authored
In terms of specifiers, argv is never referenced after a method call as shown in #3090. Reduction of object code can be expected. If you need to refer to argv after a method call in the same loop, update argv after the method call.
-
Yukihiro "Matz" Matsumoto authored
`Enumerator#size` is not supported [ci skip]
-
KOBAYASHI Shuji authored
-
Yukihiro "Matz" Matsumoto authored
`MRB_METHOD_TABLE_INLINE` was fragile. It requires `-falign-functions=n`. On platform that uses higher bits of function pointers, you can use new `MRB_METHOD_T_STRUCT` configuration macro.
-
Yukihiro "Matz" Matsumoto authored
This is partial `aspec` check that only checks `MRB_ARGS_NONE()`.
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
So you don't need `-falign-functions=2` anymore. Instead your platform must not use higher bits of the pointer (true for most platforms). If not, you have to use `struct mrb_method_t` version.
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
- 15 Sep, 2019 6 commits
-
-
Yukihiro "Matz" Matsumoto authored
-
Yukihiro "Matz" Matsumoto authored
-
dearblue authored
Character (multi-byte UTF-8) is destroyed when character spanning `IO::BUF_SIZE` (4096 bytes) exist. - Prepare file: ```ruby File.open("sample", "wb") { |f| f << "●" * 1370 } ``` - Before patched: ```ruby File.open("sample") { |f| a = []; while ch = f.getc; a << ch; end; p a } # => ["●", "●", ..., "●", "\xe2", "\x97", "\x8f", "●", "●", "●", "●"] - After patched: ```ruby File.open("sample") { |f| a = []; while ch = f.getc; a << ch; end; p a } # => ["●", "●", ..., "●", "●", "●", "●", "●", "●"]
-
dearblue authored
-
dearblue authored
-
dearblue authored
`IO#readline` and `IO#readchar` process in character units.
-