Quote from: "Lutz"
The new behavior in 9.3.0 occurred after introducing error reporting for out of range indices on strings.
I looked on the 9.3 release notes and did not see anything related to this, or the similar new behavior on lists. Could you please direct me to an explanation of the new behavior. This change is causing many things to break in a pre-9.3 codebase that I am working from and I need a systemic way to identify all the affected functions and correct them.
Quote from: "Lutz"
So 9.3.0 behavior will stay ;-), but perhaps return 'nil' on an empty string?
I would argue that returning a nil is better than erroring out and thus requiring additional code to test if the input is within bounds (e.g. not empty) or to catch the error. It jut seems that this one could go either way, so why not default towards an implementation that results in less code.