lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 12 May 2016 at 15:03, Jonathan Goble <jcgoble3@gmail.com> wrote:
> On Thu, May 12, 2016 at 12:49 AM, Daurnimator <quae@daurnimator.com> wrote:
>> Previously the behaviour was undefined.
>> Changes in undefined behaviour are allowed between implementations as
>> well as between bugfix releases.
>
> While technically true, I believe consideration must be given to the
> fact that 1) the current behavior is well-known and relied upon by
> some people,

Is it? Could you link to some code that uses it?

> and 2) at least one person has asked how to distinguish
> between 5.3.2 and 5.3.3, most likely because of this change causing
> breakage.

I believe the case is the opposite: I guess that Dirk wishes to use
the newly defined behaviour, but to ensure that bugs don't occur when
run on an unpatched machine: wants to throw a warning/error if run in
older versions that says "please upgrade'

> I understand that it is technically undefined and thus technically can
> be changed, but I think enough people are relying on this (e.g. I'm
> guessing that many string-splitting functions are coded to work with
> the existing behavior) that it's going to break too much code to be
> acceptable for a bugfix release.

A quick look through http://lua-users.org/wiki/SplitJoin doesn't show
any string splitting functions that rely on the old behaviour.
Infact several solutions warn about the undefined behaviour (to quote:
"sep must not match the empty string.")