John Bampton
dab5502e8a
Run pre-commit with GitHub Actions
...
Running pre-commit with GitHub Actions now gives us more tests and coverage
Remove duplicate GitHub Actions for merge conflicts and trailing whitespace
Remove duplicate checks for markdownlint and yamllint from the GitHub Super-Linter
Add new custom pre-commit hook running with a shell script to sort alphabetically and uniquify codespell.txt
Add new pre-commit hook to check spelling with codespell
https://github.com/codespell-project/codespell
Fix spelling
2021-06-16 08:34:54 +10:00
Yukihiro "Matz" Matsumoto
50b6fafddf
pack.c: support `w' directive (BER integer compression).
2021-06-14 11:20:52 +09:00
Yukihiro "Matz" Matsumoto
1ed01a8d47
pack.c: count should not be negative for directives xX@.
2021-06-13 20:13:50 +09:00
Yukihiro "Matz" Matsumoto
bf2b06ced7
pack.c: raise error for unsupported w directive.
2021-06-13 14:21:51 +09:00
Yukihiro "Matz" Matsumoto
96ad60b9aa
pack.c: support `@' directive (absolute position).
2021-06-12 16:18:45 +09:00
Yukihiro "Matz" Matsumoto
952e7efdd7
pack.c: refactor pack/unpack 'X'.
2021-06-12 16:18:45 +09:00
Yukihiro "Matz" Matsumoto
3ddc57ed6e
pack.c: add X directive (back up byte).
2021-06-12 16:18:44 +09:00
Yukihiro "Matz" Matsumoto
fb013595ed
pack.c: count should be always positive. no check needed.
2021-06-12 16:18:44 +09:00
Yukihiro "Matz" Matsumoto
203495ccea
pack.c: fix long/int mixtures.
2021-06-12 16:18:44 +09:00
Yukihiro "Matz" Matsumoto
72ea85c8da
pack.c: remove unused arguments from static functions.
2021-06-12 16:18:44 +09:00
Yukihiro "Matz" Matsumoto
f764467c19
pack.c: wrong position after count read.
2021-06-12 16:18:43 +09:00
Yukihiro "Matz" Matsumoto
f7777f64e6
codegen.c: refactor readint()
...
* renamed from redundant `readint_mrb_int()`
* supports only base upto 16
* no base validation (already done in parser)
* no negative read (negate after read)
* overflow detection using `mrb_int_{mul,add}_overflow()`
2021-06-11 16:44:47 +09:00
Yukihiro "Matz" Matsumoto
49af1fca03
readint.c: add new function mrb_int_read.
...
Difference from `strtoul(3)`:
* reads `mrb_int` based on configuration
* specifies the end of the string
* no sign interpretation
* base 10 only
2021-06-11 15:14:17 +09:00
Yukihiro "Matz" Matsumoto
62f4cc8cd1
sprintf.c: check value range before type casting.
2021-06-10 18:42:51 +09:00
Yukihiro "Matz" Matsumoto
972cc8b5a8
sprintf.c: fix mrb_int and int mixture errors.
2021-06-07 23:26:06 +09:00
Yukihiro "Matz" Matsumoto
b10a6fd472
pack.c: fix 'void* to char*` assignment.
2021-06-07 22:42:31 +09:00
Yukihiro "Matz" Matsumoto
32e96a1d4a
pack.c: add default to switch statement to silence warnings.
2021-06-07 09:06:37 +09:00
Yukihiro "Matz" Matsumoto
0afa651363
pack.c: support M specifier (quoted-printable).
2021-06-07 09:03:25 +09:00
Yukihiro "Matz" Matsumoto
bba044cfc8
test/pack.c: reorganize test suits.
2021-06-07 08:54:54 +09:00
Yukihiro "Matz" Matsumoto
cd64ddf372
pack.c: raise exception for unsupported specifiers.
2021-06-07 07:18:17 +09:00
Yukihiro "Matz" Matsumoto
e112c46281
pack.c: check overflow before calling pack_x.
2021-06-06 08:01:58 +09:00
Yukihiro "Matz" Matsumoto
d518294f20
pack.c: check overflow before reading count.
2021-06-06 08:01:01 +09:00
Yukihiro "Matz" Matsumoto
af3e0ddfc0
pack.c: failed to detect overflow when ch is zero in read_tmpl.
2021-06-06 08:00:24 +09:00
Yukihiro "Matz" Matsumoto
f01c29b0ec
pack.c: hold enum values in enum variables not int.
2021-06-05 20:04:59 +09:00
Yukihiro "Matz" Matsumoto
01a21085f6
add a few regressions test from #2313
...
The code was contributed from Carson McDonald (@carsonmcdonald)
2021-06-03 16:47:04 +09:00
Yukihiro "Matz" Matsumoto
be647acd3e
sprintf.c: avoid object allocation in integer formatting.
2021-05-30 19:57:56 +09:00
Yukihiro "Matz" Matsumoto
8a4bcc58c9
numeric.c: introduce mrb_int_to_cstr() to dump mrb_int.
...
* refactor `mrb_integer_to_str()`
* refactor `mrb_str_format()`
2021-05-30 08:15:51 +09:00
Yukihiro "Matz" Matsumoto
60aa2192a8
codegen.c: just raise the exception on broken node for assignments.
2021-05-29 15:46:30 +09:00
Yukihiro "Matz" Matsumoto
269470babc
kernel.c: avoid recursive VM call in mrb_f_caller.
2021-05-28 07:39:34 +09:00
Yukihiro "Matz" Matsumoto
4e683c20a2
kernel.c: caller should not include the frame for itself.
2021-05-28 07:38:21 +09:00
Yukihiro "Matz" Matsumoto
48b08fecba
array.c: unify mrb_ary_ref and mrb_ary_entry
...
Use only `mrb_ary_entry` hereafter.
2021-05-27 21:43:43 +09:00
Yukihiro "Matz" Matsumoto
b9bde0c918
mruby-sprintf: reduce float digits to avoid test failure.
...
Too many digits to fit in single precision float numbers, so that tests
fail when `MRB_USE_FLOAT32` defined.
2021-05-22 14:46:37 +09:00
Yukihiro "Matz" Matsumoto
5c7fe225a6
fp_fmt.c: remove mrb_float_to_cstr().
...
The function was intended to be a utility function for `mruby-sprintf`.
The functionality was integrated into `sprintf.c`.
2021-05-22 14:16:55 +09:00
Yukihiro "Matz" Matsumoto
f0e1d575f2
sprintf.c: remove specifiers %a and %A.
...
`fmt_fp.c` does not support those specifiers. In addition, I believe no
one uses hexadecimal representation of float values.
2021-05-21 08:13:37 +09:00
Yukihiro "Matz" Matsumoto
07c8470278
parse.y: allow "command" syntax in endless method definition.
...
This change allows `def hello = puts "Hello"` without parentheses.
This syntax has been introduced since Ruby3.1.
2021-05-18 16:26:36 +09:00
Yukihiro "Matz" Matsumoto
d50c83cca7
parse.y: endless singleton method definition can omit parens.
2021-05-18 16:25:53 +09:00
Yukihiro "Matz" Matsumoto
5eebbd7df2
Global renaming regarding integer and float.
...
Consistent number conversion function names:
* `mrb_value` to immediate (C) value
* `mrb_int()` -> `mrb_as_int()`
* `mrb_to_flo()` -> `mrb_as_float()`
* `mrb_value` to `mrb_value` (converted)
* `mrb_to_int()'
* `mrb_Integer()` - removed
* `mrb_Float()` -> `mrb_to_float`
Consistent function name (avoid `_flo` suffix):
* `mrb_div_flo()` -> `mrb_div_float`
2021-05-17 15:07:05 +09:00
Yukihiro "Matz" Matsumoto
ea7f1953c3
Rename mrb_fixnum_to_str to mrb_integer_to_str.
2021-05-17 13:59:01 +09:00
Yukihiro "Matz" Matsumoto
080fdbf9e8
Rename mrb_flo_to_fixnum to mrb_float_to_integer.
2021-05-17 13:58:54 +09:00
Yukihiro "Matz" Matsumoto
fbbcee835f
rational.c: update function prefixes.
...
To be consistent, functions with `rational_` prefix implements methods,
functions with `rat_` prefix are utility functions.
2021-05-17 13:39:51 +09:00
Yukihiro "Matz" Matsumoto
ae4c952d2e
mruby-array-ext/array.c: implement Array#rotate in C.
...
The Ruby version of `Array#rotate!` generated a rotated array and
replaced the receiver, but the C version rotates the receiver array
in-place. So the performance is improved a lot both in speed and memory
consumption. Look for the comments in `array.c` for the in-place rotating
algorithm, if you are interested.
2021-05-15 17:26:36 +09:00
Yukihiro "Matz" Matsumoto
9422fdbc87
mruby-array-ext/array.c: implement Array#compact in C.
2021-05-14 10:39:41 +09:00
Yukihiro "Matz" Matsumoto
bdb5d85adc
array.rb: replace can't with cannot.
...
To avoid editor coloring failures.
2021-05-14 10:34:11 +09:00
Yukihiro "Matz" Matsumoto
3a3761ec69
string.c: remove unnecessary branch in the internal method.
2021-05-13 16:08:25 +09:00
Yukihiro "Matz" Matsumoto
2bed750eb0
range.c: avoid use of mrb_fixnum_p.
...
`mrb_int` may not fit in `fixnum` (inline integer).
2021-05-13 15:35:34 +09:00
Yukihiro "Matz" Matsumoto
4d6f5be1df
mruby-test: MRB_INT_MAX etc. may not fit in Fixnum (inline int).
2021-05-13 15:34:20 +09:00
Yukihiro "Matz" Matsumoto
033aa98cf4
time.c: Windows API provides clock_gettime.
...
`gettimeofday` emulation needed no longer.
2021-05-08 10:34:38 +09:00
dearblue
6fc5dc986a
Extend the tab with 8 whitespace
...
This work was done as follows:
- check: `git grep $'\011' -- :^oss-fuzz`
- convert: `ruby -pi -e 'nil while $_.sub!(/^(.*?)\t/) { $1 + " " * (8 - $1.size % 8) }'`
The `doc/guide/{compile,mrbgems}.md` file adds and removes whitespace to make the directory tree look the same.
In `mrbgems/mruby-socket/src/socket.c`, there is a part where the indent is changed from 4 to 2 at the same time as the tab is changed.
2021-05-05 22:16:03 +09:00
Yukihiro "Matz" Matsumoto
35a6dfe905
Merge pull request #5442 from dearblue/mruby-pack
...
Fix documents for `mruby-io`
2021-05-05 09:38:45 +09:00
dearblue
8eb5a8867b
Fix documents for mruby-io
2021-05-03 23:27:40 +09:00