For .. in over string characters does not respect ZEROBASEDSTRINGS.
...Seemingly running its internal counter from 1 to `length(s)`. (ADVERTISEMENT: using [start and end pointers](#40064) would be inherently immune.) This code: ```pascal {$mode objfpc} {$h+} {$coperators+} {$zerobasedstrings+} uses SysUtils; var s: string; c: char; begin s := ''; for c in string('share this to instantly die') do if (c >= #32) and (c <= #127) then s += c else s += '#' + IntToStr(ord(c)); writeln(s); end. ``` either throws a range error or prints: ``` hare this to instantly die#0 ```
issue