On 26/02/07, via RT Father Chrysostomos wrote:
If the following hold true--
- die is called outside an eval
- its argument is an object with overloaded stringification
- while the stringification subroutine is on the call stack a
substitution is performed
- the substitution's regexp contains [\x{d800}-\x{dbff}]
that is, an Unicode surrogate,
--then the substitution operator will automagically call the
stringification routine again with the same arguments, thereby
causing infinite recursion.
If the following hold true--
- die is called outside an eval
- its argument is an object with overloaded stringification
- while the stringification subroutine is on the call stack a
substitution is performed
- the substitution's regexp contains [\x{d800}-\x{dbff}]
that is, an Unicode surrogate,
--then the substitution operator will automagically call the
stringification routine again with the same arguments, thereby
causing infinite recursion.
change #30213, but I haven't checked.