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]
[ruby/json] Release 3.1.0
https://github.com/ruby/json/commit/a15b2ba603
[ruby/json] Refactor rfc8785_sort_keys_proc
rfc8785_sort_keys_proc
https://github.com/ruby/json/commit/d09e383d19
Update bundled gems list as of 2026-10-13
[ruby/mmtk] Build with LTO when able
https://github.com/ruby/mmtk/commit/2dbb8005aa
View all revisions | View revisions
Also available in: Atom