summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-05-27Merge pull request #5011 from ↵Yukihiro "Matz" Matsumoto
shuujii/respect-CFLAGS-CXXFLAGS-and-LDFLAGS-env-vars-in-appveyor_config.rb Respect CFLAGS, CXXFLAGS, and LDFLAGS env vars in appveyor_config.rb
2020-05-27Respect CFLAGS, CXXFLAGS, and LDFLAGS env vars in appveyor_config.rbKOBAYASHI Shuji
[skip travis]
2020-05-27Move `fmt_setup` until absolutely necessary.Yukihiro "Matz" Matsumoto
2020-05-26Integer format can be bigger than `32` on 64bit platforms.Yukihiro "Matz" Matsumoto
We made it `64` which should be big enough: - Format modifier: 4 characters max - Maximum width: 19 digits max - Period between width and precision: 1 character - Maximum precision: 19 digits max - Format specifier: 1 character - NUL terminator: 1 byte - Total: 45 < 64
2020-05-26Merge pull request #5010 from udzura/patch-1Yukihiro "Matz" Matsumoto
Detect newly added mrbgems when re-creating gem_init.c
2020-05-26Detect newly added mrbgems when re-creating gem_init.cKondo Uchio
2020-05-26Merge pull request #5009 from ↵Yukihiro "Matz" Matsumoto
shuujii/removed-Bison-related-settings-from-.travis.yml-and-appveyor.yml Removed Bison related settings from `.travis.yml` and `appveyor.yml`
2020-05-26Merge pull request #5008 from shuujii/revert-part-of-Start-GitHub-ActionsYukihiro "Matz" Matsumoto
Revert part of "Start GitHub Actions" (4ce3997c)
2020-05-26Removed Bison related settings from `.travis.yml` and `appveyor.yml`KOBAYASHI Shuji
2020-05-26Revert part of "Start GitHub Actions" (4ce3997c)KOBAYASHI Shuji
Because some changes have been overridden.
2020-05-26Specify the latest `bison` on macOS; ref #4903Yukihiro "Matz" Matsumoto
2020-05-26Merge pull request #5007 from ↵Yukihiro "Matz" Matsumoto
shuujii/add-y.tab.c-to-remove-Bison-from-build-dependencies Add `y.tab.c` to remove Bison from build dependencies; ref 4ce3997c
2020-05-25Add `y.tab.c` to remove Bison from build dependencies; ref 4ce3997cKOBAYASHI Shuji
I sometimes see Bison related problems in setting up build environments. Therefore to remove Bison from build time dependencies, add `y.tab.c` generated by Bison to the repository. The reduction of dependency at build time also reduces the labor and time for setup and installation in CI. In addition, a path in `#line` directive is converted to a relative path so that its path is constant regardless of development environments.
2020-05-24Use the newer `bison` on GitHub actions macOS; ref #4903Yukihiro "Matz" Matsumoto
`Windows-MinGW` and `Windows-VC` also requires updates.
2020-05-24Start GitHub Actions; close #4903Takeshi Watanabe
2020-05-24Merge pull request #5006 from mame/fix-send-with-splat-argsYukihiro "Matz" Matsumoto
Do not destruct rest arguments for __send__
2020-05-24Do not destruct rest arguments for __send__Yusuke Endoh
Formerly, `__send__(*args)` modified `args` with `Array#shift`. This bug affects optcarrot. This changeset avoids the array destruction by using `args = args[1, len-1]`.
2020-05-20Merge pull request #5003 from shuujii/retry-rake--m-on-AppVeyorYukihiro "Matz" Matsumoto
Retry `rake -m` on AppVeyor [skip travis]
2020-05-20Retry `rake -m` on AppVeyor [skip travis]KOBAYASHI Shuji
The following error occurs when using `rake -m` on AppVeyor: ``` fatal error C1041: cannot open program database 'C:\projects\mruby\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS ``` Therefore, the issue is solved by not creating the PDB file. It is expected to be somewhat faster by not generating debugging information (I don't think debugging information is necessary for normal CI).
2020-05-19Revert "Use `rake -m` (multi-task) to `appveyor.yml`."Yukihiro "Matz" Matsumoto
This reverts commit ac68c90800e5fab3ab4e00a3086101b3cbf1c379. `rake -m` does not work for VisualC.
2020-05-19Use `rake -m` (multi-task) to `appveyor.yml`.Yukihiro "Matz" Matsumoto
2020-05-19Merge pull request #5002 from RoryO/masterYukihiro "Matz" Matsumoto
Adding warnings for mrb_load functions leaking RProc objects
2020-05-19Adding warnings for mrb_load functions leaking RProc objectsRory OConnell
2020-05-15Merge pull request #5000 from ↵Yukihiro "Matz" Matsumoto
shuujii/unify-eql-receiver-in-Hash-according-to-Ruby Unify `eql?` receiver in `Hash` according to Ruby
2020-05-15Unify `eql?` receiver in `Hash` according to RubyKOBAYASHI Shuji
### Example ```ruby # example.rb class A def eql?(o) p self.class super end def hash 1 end end class B < A; end h = {A.new => 1} h[B.new] ``` #### Before this patch: ```console $ bin/mruby example.rb A ``` #### After this patch (same as Ruby) ```console $ bin/mruby example.rb B ```
2020-05-15Rename C function `mrb_proc_lambda`.Yukihiro "Matz" Matsumoto
2020-05-15Add `pread/pwrite` support on `__MACH__` (MacOS) in addition to `__unix__`.Yukihiro "Matz" Matsumoto
2020-05-15Remove `YYERROR_VERBOSE` which no longer supported since `bison 3.6`.Yukihiro "Matz" Matsumoto
Instead we added `%define parse.error verbose`.
2020-05-11Make `off_t` handling simpler; #4872 #4939Yukihiro "Matz" Matsumoto
The newer `clang` warns implicit float conversions.
2020-05-11Merge pull request #4998 from dearblue/special-varsYukihiro "Matz" Matsumoto
Get an irep symbol if it's `OP_GETSV` or `OP_SETSV`
2020-05-11Merge pull request #4999 from dearblue/opcode-docYukihiro "Matz" Matsumoto
Update `doc/opcode.md` [ci skip]
2020-05-10Update `doc/opcode.md` [ci skip]dearblue
The difference of `include/mruby/ops.h` is applied. - OP_NOP - update semantics - OP_GETSV - update semantics - OP_SETSV - update semantics - OP_GETUPVAR - update prefix - OP_SETUPVAR - update prefix - OP_JMPIF - update operands and semantics - OP_JMPNOT - update operands and semantics - OP_JMPNIL - add entry - OP_ONERR - update semantics - OP_POPERR - update prefix - OP_EPOP - update prefix - OP_SENDB - update semantics - OP_ADD - update prefix and operands - OP_ADDI - update operands and semantics - OP_SUB - update prefix and operands - OP_SUBI - update semantics - OP_MUL - update prefix and operands - OP_DIV - update prefix and operands - OP_EQ - update prefix and operands - OP_LT - update prefix and operands - OP_LE - update prefix and operands - OP_GT - update prefix and operands - OP_GE - update prefix and operands - OP_ARYDUP - add entry - OP_INTERN - add entry - OP_HASHCAT - add entry - OP_ERR - update semantics
2020-05-10Get an irep symbol if it's `OP_GETSV` or `OP_SETSV`dearblue
2020-05-09Merge pull request #4997 from dearblue/byteorderYukihiro "Matz" Matsumoto
Remove byteorder constants; ref 87576b8
2020-05-09Merge pull request #4996 from dearblue/loadi16Yukihiro "Matz" Matsumoto
Fix boundary check for `OP_LOADI16`; ref fa8668c
2020-05-09Remove byteorder constants; ref 87576b8dearblue
The `FLAG_BYTEORDER_NATIVE` and `FLAG_BYTEORDER_NONATIVE` are no longer needed.
2020-05-09Fix boundary check for `OP_LOADI16`; ref fa8668cdearblue
It was making a negative integer if the highest-order bit of a 16-bit integer was 1. no patched: ```ruby p 0x7fff # => 32767 p 0x8000 # => -32768 p 0xffff # => -1 p 0x10000 # => 65536 ```
2020-05-09Merge pull request #4995 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-some-Hash-methods-are-inconsistent-with-values Fix some `Hash` methods are inconsistent with `values`
2020-05-09Fix some `Hash` methods are inconsistent with `values`KOBAYASHI Shuji
Inconsistent when hash has duplicate key. ### Example ```ruby # example.rb keys = (1..3).map{[_1]} h = keys.to_h{[_1, _1[0]]} keys[0][0] = 2 p h.values p h.each_value.to_a p h ``` #### Before this patch: ```console $ bin/mruby example.rb [1, 2, 3] [1, 1, 3] {[2]=>1, [2]=>1, [3]=>3} ``` #### After this patch (same as Ruby) ```console $ bin/mruby example.rb [1, 2, 3] [1, 2, 3] {[2]=>1, [2]=>2, [3]=>3} ```
2020-05-07Update `doc/opcode.md` for operand signs. [ci skip]Yukihiro "Matz" Matsumoto
2020-05-07Remove unnecessary `sprintf` test that fails since 91368c1.Yukihiro "Matz" Matsumoto
2020-05-07Update `README.md` to address old `bison` problem on macOS.Yukihiro "Matz" Matsumoto
2020-05-07Should not use `assert` with expressions with side-effect; ref #49812.1.1-rc2Yukihiro "Matz" Matsumoto
`assert()` can be completely removed when `NDEBUG` is set.
2020-05-07Fixed wrong condition in #4981.Yukihiro "Matz" Matsumoto
2020-05-07Add `#include <string.h>` on all platforms for `strncpy`; #4981Yukihiro "Matz" Matsumoto
2020-05-07Remove unused local variable if `MRB_UTF8_STRING` is not set.Yukihiro "Matz" Matsumoto
Ref #4982 #4983
2020-05-07Avoid `snprintf` in `mruby-io` test; ref #4981Yukihiro "Matz" Matsumoto
2020-05-07Remove the temporary file from the `AF_UNIX` socket test; #4981Yukihiro "Matz" Matsumoto
2020-05-07Fix `IO#readchar` to return broken UTF-8 rather than `EOF` error.Yukihiro "Matz" Matsumoto
The behavior is different from CRuby, but we believe this is a right behavior for mruby, which only supports either ASCII or UTF-8 exclusively; fix #4983, ref #4982 ``` $ printf '\xe3\x81' | ruby -e 'p STDIN.readchar' "\xE3\x81" ``` ``` $ printf '\xe3\x81' | mruby -e 'p STDIN.readchar' "\xE3" ```
2020-05-07Fix `IO#readchar` to support UTF-8 char reading; fix #4712Yukihiro "Matz" Matsumoto
This fix only effective when `MRB_UTF8_STRING` is set.