On Tue Jul 17 05:41:36 2007, CHORNY wrote:
Show quoted text>
> t/05edit...........NOK 5/28# Failed test 'updated user verified'
> # at t/05edit.t line 25.
> t/05edit...........NOK 6/28
> # Failed test 'old password invalid'
> # at t/05edit.t line 26.
>
> t/05edit...........NOK 8/28# Failed test 'deleted user not found'
> # at t/05edit.t line 30.
>
> ...
I'll guess that these failures are seen with bleadperl. It appears that
there's been a change in the semantics of backslash, such that the
expression m/^\Q$username\:/, which used to match a username followed by
colon, now matches a username followed by a literal backslash followed
by a colon (tested with 5.8.8 vs. 5.9.5).
The docs in perlop and perlre aren't specific enough about the desired
semantics of backslash to prove whether this is a bug or correct
behavior. The general statements that "anything that looks like" .
\[^[:alnum:]] . "is interpreted as a literal character" (perlre) and
"Let it be stressed that whatever falls between \Q and \E is
interpolated in the usual way: (perlop) would seem to indicate that "\:"
and "\Q\:" should have identical behavior. However, the repeated
warnings about undesired behavior of backslash within quotemeta appear
to indicate that the difference is intended behavior.
The attached patch, which simply places a \E before the \: (after which
the backslash before the : is really redundant, but doesn't hurt) allows
the test to function properly under both 5.8.8 and 5.9.5.