Yukihiro "Matz" Matsumoto
561dffcccc
parse.y: fix nested here-document bug; fix #5607
...
- remove `lex_strterm_before_heredoc` that does not nest
- remove `all_heredocs` that cannot distinguish nested and followed
here-doc
- replace `lex_strterm` represented by cons list by C struct
- push/pop `lex_strterm` before/after interpolation
2022-06-13 22:25:37 +09:00
Yukihiro "Matz" Matsumoto
3cab2e7b78
mruby-compiler: remove spaces before * in type casting.
2022-06-13 17:00:30 +09:00
Yukihiro "Matz" Matsumoto
4d70d17af7
compile.h: reorder parser_heredoc_info members to reduce alignment gap.
2022-06-12 18:48:34 +09:00
Yukihiro "Matz" Matsumoto
c41f24216b
Merge pull request #5718 from dearblue/rehash-iv_mt
...
Asigns table properties after `mrb_calloc()`
2022-06-10 10:44:14 +09:00
dearblue
56c6dde9c5
Asigns table properties after mrb_calloc()
...
If GC occurs in `mrb_calloc()` called by `iv_rehash()` or `mt_rehash()`, the object as table data may be destroyed.
2022-06-08 22:10:58 +09:00
Yukihiro "Matz" Matsumoto
b1f6c856e3
parse.y (nextc0): small refactoring.
2022-06-08 21:59:51 +09:00
Yukihiro "Matz" Matsumoto
0d2c550f0f
parse.y: use info as abbreviation for information.
...
Replace `inf` that looks like abbreviation for `infinity`.
2022-06-07 18:42:53 +09:00
Yukihiro "Matz" Matsumoto
62fc021f5a
.git-blame-ignore-revs: add 650ffb9 to ignore indentation fix.
2022-06-06 08:00:43 +09:00
Yukihiro "Matz" Matsumoto
9cc9c9fe63
parse.y (heredoc_treat_nextline): simplify the logic using append().
2022-06-06 08:00:04 +09:00
Yukihiro "Matz" Matsumoto
4c92636684
AUTHORS: update entries [ci skip]
2022-06-06 08:00:04 +09:00
Yukihiro "Matz" Matsumoto
81fb3c5a4b
parse.y: need to update p->lex_strterm in heredoc_treat_nextline().
2022-06-06 08:00:03 +09:00
Yukihiro "Matz" Matsumoto
5233865c47
codegen.c (search_upvar): update messages for anonymous parameters.
2022-06-03 13:00:13 +09:00
Yukihiro "Matz" Matsumoto
aec849888e
parse.y (new_kw_rest_args): aggregate integer to node* type casts.
2022-06-03 13:00:12 +09:00
Yukihiro "Matz" Matsumoto
e49ae398bd
Rakefile: add install target; close #5712
...
This change is not complete. Contribution is welcome.
- need to update `mruby-config` to refer installed path
- may need to support installing shared library
- need to support cross-compiled binaries
2022-06-03 13:00:12 +09:00
Yukihiro "Matz" Matsumoto
5cbce646b0
parse.y: allow anonymous rest (and keyword rest) arguments.
2022-06-03 13:00:12 +09:00
Yukihiro "Matz" Matsumoto
6649b353c9
Merge pull request #5716 from dearblue/__method__check
...
Check `NULL` for `proc` and `env` in `Kernel#__method__`
2022-05-31 11:23:23 +09:00
Yukihiro "Matz" Matsumoto
0d828fa918
Merge pull request #5717 from mruby/dependabot/github_actions/github/super-linter-4.9.4
...
build(deps): bump github/super-linter from 4.9.3 to 4.9.4
2022-05-31 11:23:00 +09:00
dependabot[bot]
0f88b74f2b
build(deps): bump github/super-linter from 4.9.3 to 4.9.4
...
Bumps [github/super-linter](https://github.com/github/super-linter ) from 4.9.3 to 4.9.4.
- [Release notes](https://github.com/github/super-linter/releases )
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md )
- [Commits](https://github.com/github/super-linter/compare/v4.9.3...v4.9.4 )
---
updated-dependencies:
- dependency-name: github/super-linter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-05-30 14:07:39 +00:00
Yukihiro "Matz" Matsumoto
8981b2fb28
vm.c (ary_new_from_regs): stack may be reallocated.
...
Unlike `hash_new_from_regs`, `ary_new_from_regs` do not call
`mrb_funcall` et al directly or indirectly. But since it may invoke the
garbage collection, and hooks for GC may call `mrb_funcall` etc (although
calling them is not encouraged), we care stack reallocation just for the
safety.
2022-05-30 11:52:12 +09:00
Yukihiro "Matz" Matsumoto
aa7f98dedb
vm.c (hash_new_from_regs): stack may be reallocated.
2022-05-30 01:18:15 +09:00
Yukihiro "Matz" Matsumoto
af5acf3566
parse.y: fix wrong indent [ci skip].
2022-05-30 01:16:47 +09:00
Yukihiro "Matz" Matsumoto
d55a152b3d
mruby-string-ext/string.c (utf8code): max length of UTF-8 is 4 bytes.
...
It used to be 6 bytes in RFC2279 but overridden by new RFC3629.
2022-05-29 22:19:00 +09:00
Yukihiro "Matz" Matsumoto
82b87be4df
string.c (mrb_utf8len): retry 7cdef2b0.
...
C++ requires `extern` declaration before variable definition.
2022-05-29 22:18:59 +09:00
Yukihiro "Matz" Matsumoto
0a8bfd1f8b
Merge pull request #5713 from dearblue/assert-object-size
...
Introduced `mrb_static_assert_object_size()`
2022-05-29 22:18:48 +09:00
dearblue
444fbd76c2
Check NULL for proc and env in Kernel#__method__
...
Fix #5714
2022-05-29 11:28:54 +09:00
dearblue
23611332d9
Introduced mrb_static_assert_object_size()
...
Asserts the size of the object structure is less than or equal to 6 words.
2022-05-28 11:08:27 +09:00
Yukihiro "Matz" Matsumoto
2e0d371ef1
Merge pull request #5711 from mruby/dependabot/github_actions/github/super-linter-4.9.3
...
build(deps): bump github/super-linter from 4.9.2 to 4.9.3
2022-05-26 08:03:30 +09:00
dependabot[bot]
0efe2e6514
build(deps): bump github/super-linter from 4.9.2 to 4.9.3
...
Bumps [github/super-linter](https://github.com/github/super-linter ) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/github/super-linter/releases )
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md )
- [Commits](https://github.com/github/super-linter/compare/v4.9.2...v4.9.3 )
---
updated-dependencies:
- dependency-name: github/super-linter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-05-25 14:08:32 +00:00
Yukihiro "Matz" Matsumoto
82f0ba14a9
Revert "string.c: share UTF-8 length table with mruby-string-ext."
...
This reverts commit 7cdef2b03e .
This sharing does not with C++ compilers.
2022-05-25 16:07:52 +09:00
Yukihiro "Matz" Matsumoto
7cdef2b03e
string.c: share UTF-8 length table with mruby-string-ext.
2022-05-25 11:25:43 +09:00
Yukihiro "Matz" Matsumoto
be0b5f8cee
mruby-string-ext/string.c: reduce UTF-8 table size.
2022-05-25 11:22:28 +09:00
Yukihiro "Matz" Matsumoto
2f4695b759
mruby-string-ext/string.c: check sequence length before decoding.
2022-05-25 11:20:29 +09:00
Yukihiro "Matz" Matsumoto
f08e66e53e
mruby-string-ext/string.c (mrb_str_ord): fail with invalid UTF-8.
2022-05-25 11:17:49 +09:00
Yukihiro "Matz" Matsumoto
bb99d7b2ca
string.c (mrb_utf8len): reduce UTF-8 table size.
2022-05-25 08:04:19 +09:00
Yukihiro "Matz" Matsumoto
d7731a95ab
string.c (mrb_str_rindex_m): avoid RSTRING_CHAR_LEN() if possible.
...
Since it scans the string. Use char_backtrack() instead for negative
offset (counting from the tail).
2022-05-24 08:47:07 +09:00
Yukihiro "Matz" Matsumoto
9475521fa3
string.c (char_adjust): simplify and unroll function.
2022-05-23 23:12:40 +09:00
Yukihiro "Matz" Matsumoto
4769ace7e1
string.c (char_backtrack): simplify the code using utf8_islead().
2022-05-23 23:12:40 +09:00
Yukihiro "Matz" Matsumoto
916fd642fa
string.c (mrb_utf8len): unroll a for loop.
2022-05-21 16:14:16 +09:00
Yukihiro "Matz" Matsumoto
54bbc062fb
string.c (index,rindex) use single byte version for ASCII strings.
2022-05-21 08:51:11 +09:00
Yukihiro "Matz" Matsumoto
ac79849fde
mruby-io/io.c: refactor readable/writable checks for fptr.
2022-05-20 09:59:23 +09:00
Yukihiro "Matz" Matsumoto
013c9f31bc
mruby-io/io.c: remove unnecessary type casts.
2022-05-20 09:53:12 +09:00
Yukihiro "Matz" Matsumoto
038aa6beb2
strinc.rb (sub, gsub): use byte index instead of char index.
2022-05-19 10:14:59 +09:00
Yukihiro "Matz" Matsumoto
ce141b1332
string.rb (each_line): should not use [] reference.
...
Use `byteslice` instead.
2022-05-19 10:14:59 +09:00
Yukihiro "Matz" Matsumoto
19e4287d8b
Merge pull request #5710 from suetanvil-misc/project-gemdecl-path-arg-flat
...
Fix `conf.gem path:` build_config argument.
2022-05-19 10:07:07 +09:00
Chris Reuter
b297809b51
Fix conf.gem path: build_config argument.
...
The mrbgem guide (`doc/guides/mrbgems.md`) documents the `path:`
argument for `conf.gem` as being used to point to the root directory
of a gem when that gem is retrieved via git but is located in a
subdirectory of the checkout.
The actual code does not do this. Instead, it treats path as (mostly)
identical to the `gemdir:` argument; that is, it points to a local
directory containing the gem.
This change fixes this by making `path:` behave as documented.
2022-05-18 14:02:47 -04:00
Yukihiro "Matz" Matsumoto
2cd966abc7
Merge pull request #5708 from jbampton/fix-spelling
...
Fix spelling
2022-05-18 07:50:00 +09:00
John Bampton
73580c49c4
Fix spelling
2022-05-17 19:47:54 +10:00
Yukihiro "Matz" Matsumoto
f8b9464118
string.rb (each_line): use byteindex for performance; fix #4522
...
Character-wise String#index method calculate UTF-8 character width
numerous times if the string is long.
2022-05-17 07:18:44 +09:00
Yukihiro "Matz" Matsumoto
960da4ded4
cdump.c: should dump zero symbol (skip) too.
...
Zero symbol in the symbol table now means anonymous arguments.
2022-05-16 16:39:56 +09:00
Yukihiro "Matz" Matsumoto
c2648ad95d
string.c: add byteindex and byterindex methods.
2022-05-16 16:00:00 +09:00