Yukihiro "Matz" Matsumoto
552bd9daff
Merge pull request #4792 from shuujii/refine-String-split-document
...
Refine `String#split` document
2019-10-27 22:52:50 +09:00
KOBAYASHI Shuji
799ad0e1c7
Refine String#split document
2019-10-27 19:14:12 +09:00
Yukihiro "Matz" Matsumoto
8710a22c31
Merge pull request #4791 from shuujii/optimize-chars2bytes-with-MRB_UTF8_STRING-to-ASCII-only-string
...
Optimize `chars2bytes` with `MRB_UTF8_STRING` to ASCII only string
2019-10-26 23:09:30 +09:00
KOBAYASHI Shuji
db0a4d9045
Optimize chars2bytes with MRB_UTF8_STRING to ASCII only string
...
### Benchmark (with `MRB_UTF8_STRING`)
```
$ mruby -e '
COUNT = 150000
SIZE = 10000
strs = Array.new(COUNT) do
s = "a" * SIZE
s.size # set `MRB_STR_ASCII` flag
s
end
i = 0
t = Time.now
while i < COUNT
strs[i][-2..-1] = ""
i += 1
end
printf "%.2f sec\n", Time.now - t
'
1.10 sec # before
0.07 sec # after
```
2019-10-26 22:19:04 +09:00
Yukihiro "Matz" Matsumoto
9c99451607
Merge pull request #4790 from shuujii/squeeze-redundant-spaces
...
Squeeze redundant spaces in `test/t/numeric.rb` [ci skip]
2019-10-25 22:14:18 +09:00
KOBAYASHI Shuji
4b14c4633a
Squeeze redundant spaces in test/t/numeric.rb [ci skip]
2019-10-25 19:39:31 +09:00
Yukihiro "Matz" Matsumoto
39a0a25f20
Merge pull request #4788 from shuujii/fix-argument-specs-to-Exception
...
Fix argument specs to `Exception`
2019-10-25 08:21:53 +09:00
KOBAYASHI Shuji
85e34f1ca4
Fix argument specs to Exception
2019-10-24 22:24:40 +09:00
Yukihiro "Matz" Matsumoto
b4262972dc
Merge pull request #4787 from shuujii/optimize-str_subseq-with-MRB_UTF8_STRING-to-ASCII-only-string
...
Optimize `str_subseq` with `MRB_UTF8_STRING` to ASCII only string
2019-10-23 20:12:55 +09:00
KOBAYASHI Shuji
06bd4ffdaf
Optimize str_subseq with MRB_UTF8_STRING to ASCII only string
...
### Benchmark (with `MRB_UTF8_STRING`)
```ruby
# benchmark.rb
COUNT = 300000
SIZE = 10000
s = "a" * SIZE
s.size # set `MRB_STR_ASCII` flag
i = 0
while i < COUNT
s[-1]
i += 1
end
```
#### Before this patch:
```
$ time mruby benchmark.rb
2.06 real 2.05 user 0.00 sys
```
#### After this patch:
```
$ time mruby benchmark.rb
0.05 real 0.04 user 0.00 sys
```
2019-10-23 19:03:39 +09:00
Yukihiro "Matz" Matsumoto
fa85f91e0e
Add type cast to avoid an error from int and enum mixture; fix #4786
2019-10-23 14:47:55 +09:00
Yukihiro "Matz" Matsumoto
9540a8309c
Remove unnecessary mrb_funcall().
2019-10-23 14:47:55 +09:00
Yukihiro "Matz" Matsumoto
11184e9186
Remove unnecessary mrb_string_p() check.
2019-10-23 14:47:55 +09:00
Yukihiro "Matz" Matsumoto
2f0bf1e110
Merge pull request #4785 from shuujii/fix-incorrect-MRB_STR_ASCII-flag-update-in-mrb_str_dump
...
Fix incorrect `MRB_STR_ASCII` flag update in `mrb_str_dump`
2019-10-23 09:55:47 +09:00
KOBAYASHI Shuji
41c43234a7
Fix incorrect MRB_STR_ASCII flag update in mrb_str_dump
...
### Example (with `MRB_UTF8_STRING`)
```ruby
s = "\u3042"
p s.size
s.dump
p s.size
```
#### Before this patch:
```
1
3
```
#### After this patch:
```
1
1
```
2019-10-22 21:56:40 +09:00
Yukihiro "Matz" Matsumoto
1aacde20fa
Merge pull request #4784 from shuujii/remove-Kernel-getc
...
Remove `Kernel#getc`
2019-10-21 21:27:02 +09:00
KOBAYASHI Shuji
941b99955a
Remove Kernel#getc
...
`Kernel#getc` has been removed since Ruby 1.9 and is not defined in ISO.
2019-10-21 18:50:52 +09:00
Yukihiro "Matz" Matsumoto
0701cc493c
Merge pull request #4783 from shuujii/use-mrb_str_cat_str-instead-of-mrb_str_concat-if-possible
...
Use `mrb_str_cat_str` instead of `mrb_str_concat` if possible
2019-10-20 20:24:10 +09:00
KOBAYASHI Shuji
7047c52d7b
Use mrb_str_cat_str instead of mrb_str_concat if possible
2019-10-20 16:26:10 +09:00
Yukihiro "Matz" Matsumoto
fddefeb7ee
Merge pull request #4781 from shuujii/fix-that-Module-to_s-may-return-frozen-string
...
Fix that `Module#to_s` may return frozen string; ref 08eafe2
2019-10-19 17:55:26 +09:00
KOBAYASHI Shuji
347729a7c0
Fix that Module#to_s may return frozen string; ref 08eafe2
2019-10-19 17:27:17 +09:00
Yukihiro "Matz" Matsumoto
7957f75bd8
Merge pull request #4779 from take-cheeze/print_mrbc_cmd
...
Print mrbc command on verbose mode
2019-10-19 11:12:03 +09:00
take-cheeze
4877dbf2a9
Print mrbc command on verbose mode
2019-10-19 01:42:34 +09:00
Yukihiro "Matz" Matsumoto
20d01f118d
Merge pull request #4778 from shuujii/move-methods-of-Kernel-to-kernel.rb-from-io.rb-in-mruby-io-gem
...
Move methods of `Kernel` to `kernel.rb` from `io.rb` in `mruby-io` gem
2019-10-18 12:23:28 +09:00
KOBAYASHI Shuji
e5d767b149
Move methods of Kernel to kernel.rb from io.rb in mruby-io gem
2019-10-18 10:50:23 +09:00
Yukihiro "Matz" Matsumoto
e5f7b1d262
Merge pull request #4777 from yurie/pr
...
Remove constant export declaration for MRBC output compiled as C
2019-10-18 06:58:08 +09:00
yuri
d29178a9cd
delete extern in C
2019-10-17 23:49:58 +09:00
Yukihiro "Matz" Matsumoto
bc4799361e
Merge pull request #4776 from shuujii/make-IO-each-family-without-block-to-return-Enumerator
...
Make `IO#each` family without block to return `Enumerator`
2019-10-17 20:50:22 +09:00
KOBAYASHI Shuji
14870a290d
Make IO#each family without block to return Enumerator
2019-10-17 20:14:02 +09:00
Yukihiro "Matz" Matsumoto
84db8edade
Merge pull request #4775 from shuujii/use-mrb_sym_name_len-instead-of-mrb_sym_name-in-assign_class_name
...
Use `mrb_sym_name_len` instead of `mrb_sym_name` in `assign_class_name`
2019-10-16 20:22:00 +09:00
KOBAYASHI Shuji
3827c4deb2
Use mrb_sym_name_len instead of mrb_sym_name in assign_class_name
2019-10-16 18:18:58 +09:00
Yukihiro "Matz" Matsumoto
b7af9c47b3
Merge pull request #4774 from shuujii/adjust-buf-size-in-str_escape
...
Adjust `buf` size in `str_escape`
2019-10-16 07:36:33 +09:00
KOBAYASHI Shuji
b0507e7678
Adjust buf size in str_escape
2019-10-15 19:23:30 +09:00
Yukihiro "Matz" Matsumoto
dc474b625b
Merge pull request #4773 from shuujii/fix-the-example-of-Array-intersection-in-the-document
...
Fix the example of `Array#intersection` in the document [ci skip]
2019-10-14 18:56:12 +09:00
KOBAYASHI Shuji
ac29638a8a
Fix the example of Array#intersection in the document [ci skip]
2019-10-14 18:22:00 +09:00
Yukihiro "Matz" Matsumoto
bdacdfaea9
Add Array#intersection which is new in Ruby2.7.
2019-10-14 17:04:19 +09:00
Yukihiro "Matz" Matsumoto
682406a384
Move Array#difference just after Array#-.
2019-10-14 17:04:19 +09:00
Yukihiro "Matz" Matsumoto
67ea80b2bd
Fixed a bug in Array#difference.
2019-10-14 17:04:19 +09:00
Yukihiro "Matz" Matsumoto
265034134a
Merge pull request #4772 from shuujii/refactor-mrb_class_name_class
...
Refactor `mrb_class_name_class`
2019-10-13 17:20:46 +09:00
KOBAYASHI Shuji
6377c9bce5
Refactor mrb_class_name_class
...
- Use `mrb_sym_name_len` instead of `mrb_sym_name` (class name should not
be escaped).
- Avoid `mrb_str_dup` (it is unnecessary to be shared string because it is
changed).
2019-10-13 17:03:39 +09:00
Yukihiro "Matz" Matsumoto
d128e2d09e
Merge pull request #4770 from shuujii/sHARED-string-is-not-required-when-sharing-POOL-string
...
SHARED string is not required when sharing POOL string
2019-10-12 23:35:43 +09:00
Yukihiro "Matz" Matsumoto
9f3b6ebbde
Merge pull request #4769 from shuujii/rename-str_make_shared-to-str_share
...
Rename `str_make_shared()` to `str_share()` in `src/string.c`
2019-10-12 23:33:20 +09:00
KOBAYASHI Shuji
7594983671
SHARED string is not required when sharing POOL string
...
The heap string buffer of POOL string always exists, does not need to be
released, and read only, so it can be shared as NOFREE string.
2019-10-12 21:32:56 +09:00
KOBAYASHI Shuji
cdd36c979d
Rename str_make_shared() to str_share() in src/string.c
...
Because it may not create `struct mrb_shared_string`.
2019-10-12 12:49:51 +09:00
Yukihiro "Matz" Matsumoto
c310c8dc24
Move exception raising to scope_new.
...
Besides that fix bugs that mistakenly calls `raise_error` that emits
code to raise runtime error instead of `codegen_error` that terminates
code generation immediately.
2019-10-11 20:31:29 +09:00
Yukihiro "Matz" Matsumoto
20ceee794b
Merge pull request #4767 from shuujii/remove-unused-exception-classes-in-mruby-io-gem
...
Remove unused exception classes in `mruby-io` gem
2019-10-11 19:54:44 +09:00
KOBAYASHI Shuji
a7ae0d5b9e
Remove unused exception classes in mruby-io gem
2019-10-11 11:32:14 +09:00
Yukihiro "Matz" Matsumoto
529a336966
Fixed a bug in mruby-time with NO_GETTIMEOFDAT.
2019-10-10 20:46:12 +09:00
Yukihiro "Matz" Matsumoto
78e54904b5
Silence double free warnings by mrb_local_free().
...
The warnings were detected by cppcheck.
2019-10-10 20:46:12 +09:00
Yukihiro "Matz" Matsumoto
8fe6a1904c
Merge pull request #4764 from shuujii/integrate-mrb_str_inspect-and-mrb_str_dump
...
Integrate `mrb_str_inspect` and `mrb_str_dump`
2019-10-10 20:45:59 +09:00