summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2019-07-09Merge pull request #4560 from lopopolo/range-max-min-hangYukihiro "Matz" Matsumoto
Specialize Enumerable#max and Enumerable#min for Range
2019-07-09Revert Float dependency in Range#eachRyan Lopopolo
2019-07-09Fix Range#min fast path with exclusive rangeRyan Lopopolo
2019-07-09Add a fast path for Float and Fixnum ranges for Range#max and Range#minRyan Lopopolo
If no block is given and the Range has Fixnum or Float endpoints, do not iterate with each and instead compare the endpoints directly. This implementation passes all of the applicable specs from Ruby Spec.
2019-07-09Add Range#max and Range#min tests from Ruby SpecRyan Lopopolo
2019-07-09Remove attempt at spec-compliant Range#max and Range#min from coreRyan Lopopolo
2019-07-09Merge pull request #4561 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-the-order-of-expected-and-actual-in-test-t-range.rb Fix the order of "expected" and "actual" in `test/t/range.rb`
2019-07-08Specialize Enumerable#max and Enumerable#min for RangeRyan Lopopolo
This patch prevents a hang for pathalogical (large) Ranges when computing max and min. Range inherits its implementation of max and min from Enumerable. Enumerable implements max and min by calling each. For Range objects, this is unnecessary since we know the max and the min by the end and begin attributes. It is also very slow. This code hangs unnecessarily: (0..2**32).max # ... hang (0..2**32).min # ... hang This patch overrides max and min after including enumerable to yield based on the begin and end methods.
2019-07-08Add tests for String RangesRyan Lopopolo
Range#each depends on String#upto which is implemented in mruby-string-ext which is why these tests live there.
2019-07-08Add tests for Range#max and Range#minRyan Lopopolo
2019-07-09Fix the order of "expected" and "actual" in `test/t/range.rb`KOBAYASHI Shuji
2019-07-09Merge pull request #4559 from ↵Yukihiro "Matz" Matsumoto
shuujii/add-macros-for-inline-symbol-for-readability Add macros for inline symbol for readability
2019-07-08Add macros for inline symbol for readabilityKOBAYASHI Shuji
2019-07-08Merge pull request #4557 from shuujii/fix-Numeric-step-to-infinityYukihiro "Matz" Matsumoto
Fix `Numeric#step` to infinity; ref. #4555
2019-07-07Fix `Numeric#step` to infinity; ref. #4555KOBAYASHI Shuji
2019-07-06Merge pull request #4554 from shuujii/fix-missing--ifndef-MRB_ENABLE_ALL_SYMBOLSYukihiro "Matz" Matsumoto
Fix missing `#ifndef MRB_ENABLE_ALL_SYMBOLS`
2019-07-06Fix missing `#ifndef MRB_ENABLE_ALL_SYMBOLS`KOBAYASHI Shuji
2019-07-06Merge pull request #4553 from ↵Yukihiro "Matz" Matsumoto
shuujii/read-write-MRB_STR_ASCII-flag-only-when-MRB_UTF8_STRING-is-defined Read/write `MRB_STR_ASCII` flag only when `MRB_UTF8_STRING` is defined
2019-07-05Read/write `MRB_STR_ASCII` flag only when `MRB_UTF8_STRING` is definedKOBAYASHI Shuji
2019-07-04It was too early to check `key` for `undef`; ref #4534Yukihiro "Matz" Matsumoto
2019-07-04Rename `MRB_STR_NO_UTF` to 'MRB_STR_ASCII`; close #4550Yukihiro "Matz" Matsumoto
In #4550, @shuuji proposed the name name `MRB_STR_NO_MULTI_BYTE` for more precise description. Although I agree that the name name is correct, but the flag means the string does not contain multi byte UTF-8 characters, i.e. all characters fit in the range of ASCII.
2019-07-04Merge pull request #4551 from dearblue/fix-4549Yukihiro "Matz" Matsumoto
Fix heap buffer overflow; ref #4549
2019-07-04Fix heap buffer overflow; ref #4549dearblue
This patch is showed in #4549.
2019-07-04Merge pull request #4548 from shuujii/refine-document-to-mrb_get_argsYukihiro "Matz" Matsumoto
Refine document to mrb_get_args()` [ci skip]
2019-07-03Refine document to mrb_get_args()` [ci skip]KOBAYASHI Shuji
2019-07-02Merge pull request #4546 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-and-refine-error-message-in-mrb_obj_to_sym Fix and refine error message in `mrb_obj_to_sym()`
2019-07-02Fix and refine error message in `mrb_obj_to_sym()`KOBAYASHI Shuji
Before this patch: $ bin/mruby -e '1.respond_to?(2)' #=> nil is not a symbol After this patch (same as Ruby): $ bin/mruby -e '1.respond_to?(2)' #=> 2 is not a symbol nor a string
2019-07-02Merge pull request #4545 from shuujii/remove-unused-C-header-file-from-src-etc.cYukihiro "Matz" Matsumoto
Remove unused C header file from `src/etc.c`
2019-07-01Remove unused C header file from `src/etc.c`KOBAYASHI Shuji
2019-06-30Merge pull request #4544 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-include-prepend-and-extend-to-frozen-object Fix `include`, `prepend` and `extend` to frozen object
2019-06-30Fix `include`, `prepend` and `extend` to frozen objectKOBAYASHI Shuji
2019-06-29Merge pull request #4540 from dearblue/assert-nestingYukihiro "Matz" Matsumoto
Nested `assert` for mrbtest
2019-06-29Merge pull request #4541 from dearblue/replace-string-asetYukihiro "Matz" Matsumoto
Replace `String#[]=` method by C implements
2019-06-29Simplify `mrb_str_aref_m()` and `mrb_str_aref()`dearblue
It is integration with part of argument parsing used in `mrb_str_aset_m()`.
2019-06-29Replace `String#[]=` method by C implementsdearblue
The purpose is to eliminate string objects that are temporarily created during processing.
2019-06-29Add test for `String#[]=`dearblue
2019-06-29Use nested `assert`dearblue
2019-06-29Use a normal method instead of a lambdadearblue
Ref commit 35319bed01d58c785f73ce03e67d4e58be30f4b5
2019-06-29Nested `assert` for mrbtestdearblue
When nesting `assert` used in test, it is indented and displayed. Assertion numbers are concatenated by `"-"` at this time. The purpose is to match the apparent numbers when failing with `assert_mruby` which is defined by `mrbgems/mruby-bin-mruby/bintest/mruby.rb` for example. Child assertions "skip" and "info" are reported as parent assertions "info" and `$ok_test += 1`. The child assertions "ko" and "crash" are reported as the parent assertion "ko" and `$ko_test += 1`. When child assertions are mixed, "ko" takes precedence. Incompatibility: - `$mrbtest_assert_idx` takes `nil` or an integer array object. So far it was `nil` or an integer. - `$asserts` points to the top of the internal stack in the `assert`. - `$mrbtest_assert` points to the top of the internal stack in `assert`.
2019-06-28Merge pull request #4538 from shuujii/use-__ENCODING__-in-testsYukihiro "Matz" Matsumoto
Use `__ENCODING__` in tests
2019-06-28Merge pull request #4539 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-unnecessary-backticks-in-src-range.c Remove unnecessary backticks in `src/range.c`; ref #2858
2019-06-28Remove unnecessary backticks in `src/range.c`; ref #2858KOBAYASHI Shuji
2019-06-28Use `__ENCODING__` in testsKOBAYASHI Shuji
It cannot be used for `String#size` test if judging whether or not `MRB_UTF8_STRING` is defined by result of `String#size`.
2019-06-28Merge pull request #4535 from shuujii/add-modification-tests-for-immediate-valueYukihiro "Matz" Matsumoto
Add modification tests for immediate value
2019-06-28Merge pull request #4536 from komainu8/fix_broken_linksYukihiro "Matz" Matsumoto
Fix broken links for mruby.org
2019-06-27Fix broken links for mruby.orgYasuhiro Horimoto
A part of a fix for issue mruby/mruby.github.io#50
2019-06-27Add modification tests for immediate valueKOBAYASHI Shuji
2019-06-27Skip copying delete keys in a hash; fix #4534Yukihiro "Matz" Matsumoto
2019-06-26Merge pull request #4533 from shuujii/silence-unused-label-warningsYukihiro "Matz" Matsumoto
Silence unused label warnings from gcc; ref #4524
2019-06-26Silence unused label warnings from gcc; ref #4524KOBAYASHI Shuji
mruby/mruby/src/string.c:1722:4: warning: label 'bytes' defined but not used [-Wunused-label] bytes: ^~~~~