KOBAYASHI Shuji
66909dfe86
Consider -MP flag specified when parsing .d file
...
`-MP` flag is used in `tasks/toolchains/android.rake`.
2019-07-12 14:23:35 +09:00
Yukihiro "Matz" Matsumoto
bc7c5d376a
Merge pull request #4562 from shuujii/set-MRB_STR_ASCII-flag-when-an-inline-symbol-is-stringized
...
Set `MRB_STR_ASCII` flag when an inline symbol is stringized
2019-07-09 21:22:15 +09:00
KOBAYASHI Shuji
23fc3339ee
Set MRB_STR_ASCII flag when an inline symbol is stringized
2019-07-09 18:59:00 +09:00
Yukihiro "Matz" Matsumoto
59a76d48f8
Merge pull request #4560 from lopopolo/range-max-min-hang
...
Specialize Enumerable#max and Enumerable#min for Range
2019-07-09 18:44:53 +09:00
Ryan Lopopolo
3b77b5fd39
Revert Float dependency in Range#each
2019-07-09 02:08:14 -07:00
Ryan Lopopolo
56929362f5
Fix Range#min fast path with exclusive range
2019-07-09 01:48:15 -07:00
Ryan Lopopolo
0ad5ba7a0f
Add a fast path for Float and Fixnum ranges for Range#max and Range#min
...
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-09 01:42:40 -07:00
Ryan Lopopolo
eab07daf92
Add Range#max and Range#min tests from Ruby Spec
2019-07-09 01:41:10 -07:00
Ryan Lopopolo
d9c5303793
Remove attempt at spec-compliant Range#max and Range#min from core
2019-07-09 01:40:44 -07:00
Yukihiro "Matz" Matsumoto
9add4a66c0
Merge pull request #4561 from 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-09 16:41:32 +09:00
Ryan Lopopolo
4085709ae1
Specialize Enumerable#max and Enumerable#min for Range
...
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-08 22:36:24 -07:00
Ryan Lopopolo
469c6261c6
Add tests for String Ranges
...
Range#each depends on String#upto which is implemented in mruby-string-ext
which is why these tests live there.
2019-07-08 22:36:24 -07:00
Ryan Lopopolo
f7d59dfe23
Add tests for Range#max and Range#min
2019-07-08 22:36:24 -07:00
KOBAYASHI Shuji
c8a7d0ab95
Fix the order of "expected" and "actual" in test/t/range.rb
2019-07-09 13:13:13 +09:00
Yukihiro "Matz" Matsumoto
0484bf133b
Merge pull request #4559 from shuujii/add-macros-for-inline-symbol-for-readability
...
Add macros for inline symbol for readability
2019-07-09 09:25:54 +09:00
KOBAYASHI Shuji
0a79486380
Add macros for inline symbol for readability
2019-07-08 22:14:23 +09:00
Yukihiro "Matz" Matsumoto
fd4e37404b
Merge pull request #4557 from shuujii/fix-Numeric-step-to-infinity
...
Fix `Numeric#step` to infinity; ref. #4555
2019-07-08 18:50:28 +09:00
KOBAYASHI Shuji
32c2aa10c7
Fix Numeric#step to infinity; ref. #4555
2019-07-07 22:10:32 +09:00
Yukihiro "Matz" Matsumoto
519f396365
Merge pull request #4554 from shuujii/fix-missing--ifndef-MRB_ENABLE_ALL_SYMBOLS
...
Fix missing `#ifndef MRB_ENABLE_ALL_SYMBOLS`
2019-07-06 21:09:13 +09:00
KOBAYASHI Shuji
df1f1002d9
Fix missing #ifndef MRB_ENABLE_ALL_SYMBOLS
2019-07-06 19:55:37 +09:00
Yukihiro "Matz" Matsumoto
280a83f029
Merge pull request #4553 from 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-06 07:30:06 +09:00
KOBAYASHI Shuji
f9bf2d9d8e
Read/write MRB_STR_ASCII flag only when MRB_UTF8_STRING is defined
2019-07-05 22:19:31 +09:00
Yukihiro "Matz" Matsumoto
8294ce9fd4
It was too early to check key for undef; ref #4534
2019-07-04 23:11:57 +09:00
Yukihiro "Matz" Matsumoto
991bdd4ed7
Rename MRB_STR_NO_UTF to 'MRB_STR_ASCII`; close #4550
...
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-04 23:07:18 +09:00
Yukihiro "Matz" Matsumoto
f4f3ced955
Merge pull request #4551 from dearblue/fix-4549
...
Fix heap buffer overflow; ref #4549
2019-07-04 22:50:06 +09:00
dearblue
2bb30481b6
Fix heap buffer overflow; ref #4549
...
This patch is showed in #4549 .
2019-07-04 21:49:07 +09:00
Yukihiro "Matz" Matsumoto
93b3b83cc4
Merge pull request #4548 from shuujii/refine-document-to-mrb_get_args
...
Refine document to mrb_get_args()` [ci skip]
2019-07-04 01:49:00 +09:00
KOBAYASHI Shuji
d915261590
Refine document to mrb_get_args()` [ci skip]
2019-07-03 20:41:30 +09:00
Yukihiro "Matz" Matsumoto
8c29b5998f
Merge pull request #4546 from shuujii/fix-and-refine-error-message-in-mrb_obj_to_sym
...
Fix and refine error message in `mrb_obj_to_sym()`
2019-07-02 19:55:42 +09:00
KOBAYASHI Shuji
0d54dbb264
Fix and refine error message in mrb_obj_to_sym()
...
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-02 19:41:40 +09:00
Yukihiro "Matz" Matsumoto
38a10e8a98
Merge pull request #4545 from shuujii/remove-unused-C-header-file-from-src-etc.c
...
Remove unused C header file from `src/etc.c`
2019-07-02 00:20:37 +09:00
KOBAYASHI Shuji
7e3a8b7a75
Remove unused C header file from src/etc.c
2019-07-01 12:29:02 +09:00
Yukihiro "Matz" Matsumoto
8f19d516f9
Merge pull request #4544 from shuujii/fix-include-prepend-and-extend-to-frozen-object
...
Fix `include`, `prepend` and `extend` to frozen object
2019-06-30 16:29:55 +09:00
KOBAYASHI Shuji
97c9e6b000
Fix include, prepend and extend to frozen object
2019-06-30 15:06:39 +09:00
Yukihiro "Matz" Matsumoto
cf69724083
Merge pull request #4540 from dearblue/assert-nesting
...
Nested `assert` for mrbtest
2019-06-29 21:38:32 +09:00
Yukihiro "Matz" Matsumoto
ff5ec824fd
Merge pull request #4541 from dearblue/replace-string-aset
...
Replace `String#[]=` method by C implements
2019-06-29 21:36:48 +09:00
dearblue
0ad1cacff3
Simplify mrb_str_aref_m() and mrb_str_aref()
...
It is integration with part of argument parsing used in `mrb_str_aset_m()`.
2019-06-29 14:41:43 +09:00
dearblue
0d452073f4
Replace String#[]= method by C implements
...
The purpose is to eliminate string objects that are temporarily created during processing.
2019-06-29 14:41:43 +09:00
dearblue
40030a5dbc
Add test for String#[]=
2019-06-29 14:41:43 +09:00
dearblue
a215292b6a
Use nested assert
2019-06-29 11:54:17 +09:00
dearblue
1b9f949f36
Use a normal method instead of a lambda
...
Ref commit 35319bed01
2019-06-29 11:54:17 +09:00
dearblue
5f9034e428
Nested assert for mrbtest
...
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-29 11:54:10 +09:00
Yukihiro "Matz" Matsumoto
4f4e240024
Merge pull request #4538 from shuujii/use-__ENCODING__-in-tests
...
Use `__ENCODING__` in tests
2019-06-28 20:08:52 +09:00
Yukihiro "Matz" Matsumoto
cf7a2292f3
Merge pull request #4539 from shuujii/remove-unnecessary-backticks-in-src-range.c
...
Remove unnecessary backticks in `src/range.c`; ref #2858
2019-06-28 20:07:34 +09:00
KOBAYASHI Shuji
c9a3867ff2
Remove unnecessary backticks in src/range.c; ref #2858
2019-06-28 19:27:58 +09:00
KOBAYASHI Shuji
bc3176da63
Use __ENCODING__ in tests
...
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-28 19:26:29 +09:00
Yukihiro "Matz" Matsumoto
dc03bea854
Merge pull request #4535 from shuujii/add-modification-tests-for-immediate-value
...
Add modification tests for immediate value
2019-06-28 08:32:23 +09:00
Yukihiro "Matz" Matsumoto
051cb9ca37
Merge pull request #4536 from komainu8/fix_broken_links
...
Fix broken links for mruby.org
2019-06-28 08:23:50 +09:00
Yasuhiro Horimoto
5727d3a30c
Fix broken links for mruby.org
...
A part of a fix for issue mruby/mruby.github.io#50
2019-06-27 22:31:25 +09:00
KOBAYASHI Shuji
ad8473bd66
Add modification tests for immediate value
2019-06-27 18:47:48 +09:00