tool/run-lcov.rb: Exclude bundled gems from coverage aggregation
Since a1efb9ae6b (Promote prism to a bundled gem), the prism extension is also built with gcov under .bundle/gems/prism-1.9.0/ext/prism. Its generated node.c carries #line directives pointing at...
#line
[ruby/mmtk] Directly call functions in C binding
This commit removes RubyUpcalls and instead directly calls functions in the C binding from Rust. This also allows LTO to inline C calls from Rust.
https://github.com/ruby/mmtk/commit/0f5a049a2d
io.c: refactor io_getpartial()
io_getpartial() and io_read_nonblock() are now almost identical.
io.c: ignore failure to set O_NONBLOCK in ARGF.read_nonblock
Commit 1bafa4a59b29 (Ignore failure to set nonblock mode. (#6524), 2022-10-11) changed IO#read_nonblock to work with files on Windows, but did not make the same change to ARGF.read_nonblock. Do so for ARGF as...
io_buffer.c: use rb_off_t consistently
Fix an rb_off_t value being implicitly converted to off_t and then back to rb_off_t.
Saturate parser columns at INT_MAX
Token columns are int, so a token past column INT_MAX got a negative column, and the excerpt shown for a syntax error there was read from before the line.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Range-check parser columns with rb_len2int
rb_long2int is a plain cast where int and long have the same width, so on 64-bit mswin a column past INT_MAX wrapped instead of raising RangeError as it does on LP64.
Hold heredoc offsets in rb_len_t
Where rb_len_t is wider than long, a heredoc opener past column LONG_MAX made the long offset negative, and the identifier and the restored lexer position were read from before the line.
Hold parser string lengths in rb_len_t
rb_parser_string_t kept its length in a long, so rb_str_to_parser_string had to reject a String longer than LONG_MAX where rb_len_t is wider than long. Now the parser string holds the whole length and the check is gone....
Update default gems list at 53e7d061f90ae80236e7a917b924ea [ci skip]
View all revisions | View revisions
Also available in: Atom