Yukihiro "Matz" Matsumoto
18bdcbe536
Merge pull request #6145 from hoshiumiarata/enum_chunk
...
Enumerable#chunk implementation
2024-01-23 08:58:19 +09:00
星湖新
ab21813100
Move Enumerable#chunk to mruby-enumerator
2024-01-22 18:31:28 +09:00
星湖新
d001974439
Revert "Enumerable#chunk implementation"
...
This reverts commit ebf86a24b0 .
2024-01-22 18:26:01 +09:00
Yukihiro "Matz" Matsumoto
5431575d11
Merge pull request #6148 from buty4649/add-enumerable-grep_v
...
Add Enumerable#grep_v to mruby-enum-ext
2024-01-21 18:51:11 +09:00
dearblue
35375257f6
Remove unnecessary Rational._new method
2024-01-20 21:52:49 +09:00
buty4649
97203729a9
Add Enumerable#grep_v to mruby-enum-ext
2024-01-20 11:47:37 +09:00
Yukihiro "Matz" Matsumoto
6f0c34e04e
mruby-string-ext: implement String#ascii_only? method
2024-01-18 22:53:46 +09:00
Yukihiro "Matz" Matsumoto
57fd0edaa7
mruby.h: rename ASCII flag to SINGLE_BYTE
...
This flag means all the characters in the string can be represented by a
single byte, i.e., the string does not contain any multi-byte character.
Those characters are likely ASCII characters, but may be a part of broken
UTF-8 sequence, so the term 'ASCII' is not sufficient.
2024-01-18 22:50:39 +09:00
Yukihiro "Matz" Matsumoto
6c2ed55077
mruby-bin-mruby: remove unused assignments
2024-01-16 12:28:32 +09:00
Yukihiro "Matz" Matsumoto
0e079fe946
mruby-bin-mruby: reduce the scope of a loop variable i
2024-01-15 23:04:18 +09:00
Yukihiro "Matz" Matsumoto
9298dfb927
mruby-bin-mruby: reduce the scope of a local variable c
2024-01-15 23:03:34 +09:00
Yukihiro "Matz" Matsumoto
90fac46751
mruby-bin-mruby: remove unnecessary condition
2024-01-15 23:00:46 +09:00
Yukihiro "Matz" Matsumoto
4f8fd23f7a
mruby-string-ext (str_uminus): remove wrong document
...
In mruby, deduplication of strings is not implemented (yet), so we have
to remove the description from `String#-@` document.
2024-01-13 23:00:13 +09:00
Yukihiro "Matz" Matsumoto
c53d9a33fc
mruby-string-ext (mrb_valid_enc_p): simplify the code
...
By using `mrb_utf8len` directly. If `len == 1` and `ch >= 0x80`, the
character should be an invalid character.
2024-01-13 22:48:16 +09:00
星湖新
ebf86a24b0
Enumerable#chunk implementation
2024-01-13 17:36:02 +09:00
Yukihiro "Matz" Matsumoto
af3482d562
mruby-math: use erfc(x) instead of 1.0 - erf(x)
2024-01-09 08:01:28 +09:00
Yukihiro "Matz" Matsumoto
51c4c4716a
mruby-math: use log1p(x) instead of log(1.0+x)
2024-01-09 07:59:42 +09:00
Yukihiro "Matz" Matsumoto
8a2e88390b
mruby-math: reduce the scope of a local variable
2024-01-09 07:47:57 +09:00
Yukihiro "Matz" Matsumoto
c1fc3219db
mruby-math: fix spacing
2024-01-08 23:18:57 +09:00
Yukihiro "Matz" Matsumoto
05e9fa34af
mruby-random: rename a conflicting local variable
2024-01-08 19:12:55 +09:00
Yukihiro "Matz" Matsumoto
27c2f9ac38
mruby-random (mrb_ary_sample): reduce the scope of loop variables
2024-01-08 07:23:03 +09:00
Yukihiro "Matz" Matsumoto
2cf6f7f5c7
mruby-rational: move misplaced #ifndef MRB_NO_FLOAT
2024-01-08 07:19:30 +09:00
Yukihiro "Matz" Matsumoto
2eeb19a5ed
mruby-kernel-ext (mrb_f_caller): remove unnecessary condition check
2024-01-06 14:31:32 +09:00
Yukihiro "Matz" Matsumoto
b06fdb4bfa
mruby-io/file.c: reduce the scope of local variables
2024-01-06 08:30:56 +09:00
Yukihiro "Matz" Matsumoto
e1b6501183
mruby-io: fix local variable initialization redundancy
2024-01-05 13:03:33 +09:00
Yukihiro "Matz" Matsumoto
f1b8d38eb5
mruby-io: narrow a local variable scope
2024-01-05 13:02:39 +09:00
Yukihiro "Matz" Matsumoto
20dd737a4a
mruby-io (io_s_popen): remove fflush(stdin)
...
Flushing input I/O should be useless.
2024-01-05 13:00:55 +09:00
Yukihiro "Matz" Matsumoto
9ee7d955e3
mruby-metaprog: narrow the scope of a local variable
2024-01-04 11:18:14 +09:00
Yukihiro "Matz" Matsumoto
2ce5c52726
mruby-errno (mrb_sce_sys_fail): remove redundant assignment
2024-01-04 10:08:22 +09:00
Yukihiro "Matz" Matsumoto
7861422cbe
mruby-fiber (fiber_switch): reduce the scope of local variables
2024-01-03 16:07:15 +09:00
Yukihiro "Matz" Matsumoto
93bda0d27f
mruby-fiber (fiber_init_fiber): rename conflicting local variables
2024-01-03 16:05:46 +09:00
Yukihiro "Matz" Matsumoto
5257fe4333
mruby-bigint (mrb_bint_new_float): narrow the scope of variable 'f'
2024-01-03 07:23:55 +09:00
Yukihiro "Matz" Matsumoto
d632085b5b
mruby-bigint (udiv): narrow the scope of loop variable 'i'
2024-01-03 07:23:55 +09:00
Yukihiro "Matz" Matsumoto
d944a079a3
mruby-numeric-ext (int_digits): avoid variable name override
2024-01-03 07:23:55 +09:00
Yukihiro "Matz" Matsumoto
e71e1bc50e
mruby-hash-ext: reduce the scope of the loop variable i
2024-01-03 07:23:55 +09:00
Yukihiro "Matz" Matsumoto
a406e008d1
Merge branch 'master' into fix-prettier-hook
2024-01-01 15:29:08 +09:00
John Bampton
19d0ea803d
Fix pre-commit failure from prettier
2023-12-31 21:57:58 +10:00
Yukihiro "Matz" Matsumoto
39f48d732a
mruby-pack: update README.md
...
'X' and '@' directives are not listed
2023-12-30 16:02:20 +09:00
Yukihiro "Matz" Matsumoto
56b67f8613
mruby-pack (u64tostr): reimplement the function
...
- direct conversion of single digit numbers
- remove unnecessary update of `line` variable
- simplify the body according to the assertion
2023-12-30 15:35:55 +09:00
Yukihiro "Matz" Matsumoto
8cbd4638f4
mruby-pack (u64tostr): len should always be positive
...
Add `mrb_assert()` instead of just skipping the function.
2023-12-30 15:33:57 +09:00
Yukihiro "Matz" Matsumoto
1871ff14db
mruby-pack (pack_unpack): skip continuous extraction from unpack1
...
Ref #6134
2023-12-30 15:31:44 +09:00
Yukihiro "Matz" Matsumoto
7765c23f69
mruby-pack (pack_hex): the scope of variables a and b can be reduced
2023-12-30 15:12:17 +09:00
Yukihiro "Matz" Matsumoto
fca2bbdcca
mruby-pack (unpack_str): the scope of the variable cp can be reduced
2023-12-30 15:12:10 +09:00
Yukihiro "Matz" Matsumoto
159687bef3
mruby-pack: add tests for unpack1 method; ref #6134
2023-12-29 15:05:16 +09:00
Yukihiro "Matz" Matsumoto
6d8323f3c7
mruby-pack (pack_unpack): unpack1 did not return single data; fix #6134
...
For following unpack directives:
- PACK_DIR_HEX (h)
- PACK_DIR_BSTR (b)
- PACK_DIR_STR (a,A,Z)
- PACK_DIR_BASE64 (m)
- PACK_DIR_QENC (M)
2023-12-29 13:09:14 +09:00
Yukihiro "Matz" Matsumoto
ae43ce7593
mruby-time: refactor _POSIX_TIMERS handling issue; ref #6124
2023-12-27 22:24:12 +09:00
Yukihiro "Matz" Matsumoto
dc633ecae8
Merge pull request #6123 from dearblue/allocate-undef.2
...
Inherit `MRB_FL_UNDEF_ALLOCATE` in subclasses
2023-12-27 22:16:51 +09:00
SiZiOUS
c0ffc13801
mruby-time: protect against incorrectly defined _POSIX_TIMERS
...
This update avoids the following error: operator '&&' has no right operand (related to _POSIX_TIMERS)
See: https://stackoverflow.com/questions/48538243/macro-if-statement-returns-error-operator-has-no-right-operand
2023-12-23 19:16:23 +00:00
dearblue
2a1ea7d605
Inherit MRB_FL_UNDEF_ALLOCATE in subclasses
...
If `Class#allocate` is prohibited, subclasses should also be implicitly prohibited.
```ruby
p Class.new(Struct).allocate.class
# => #<Class:0x82362ac00> by #6122
# => allocator undefined for #<Class:0x000000083a983220> (TypeError) by Ruby 3.2
```
Added `MRB_DEFINE_ALLOCATOR()` to allow subclasses to use `Class#allocate`.
Supplement to #6122 .
2023-12-23 21:01:42 +09:00
dearblue
8ecfacefca
Prohibit Class#allocate in a different way
...
The method introduced by #5979 causes a fault by swapping classes.
```console
% bin/mruby -e 'Method = Proc; p Object.method(:inspect)'
zsh: segmentation fault (core dumped) bin/mruby -e 'Method = Proc; p Object.method(:inspect)'
```
After applying this patch, a `TypeError` exception will be raised.
```console
% bin/mruby -e 'Method = Proc; p Object.method(:inspect)'
trace (most recent call last):
[1] -e:1
-e:1:in method: allocation failure of Proc (TypeError)
```
However, if the `mrb_vtype` is the same object, the same care must still be taken as before.
```console
% bin/mruby -e 'Method = Binding; p method(:puts).eval("12345")'
trace (most recent call last):
[1] -e:1
-e:1:in eval: wrong argument type nil (expected Proc) (TypeError)
```
2023-12-22 21:59:34 +09:00