[Bug 1026763] New: Locale::Maketext interpolating escaped backslashes improperly

bugzilla at redhat.com bugzilla at redhat.com
Tue Nov 5 11:43:44 UTC 2013


https://bugzilla.redhat.com/show_bug.cgi?id=1026763

            Bug ID: 1026763
           Summary: Locale::Maketext interpolating escaped backslashes
                    improperly
           Product: Fedora
           Version: 18
         Component: perl-Locale-Maketext
          Assignee: ppisar at redhat.com
          Reporter: ppisar at redhat.com
        QA Contact: extras-qa at fedoraproject.org
                CC: eggled at gmail.com, perl-devel at lists.fedoraproject.org,
                    ppisar at redhat.com, psabata at redhat.com
   External Bug ID: CPAN 120457



+++ This bug was initially created as a clone of Bug #1025906 +++

Description of problem:
When a literal backslash is in an L10N value, it is treated nonuniformly by the
Locale::Maketext::_compile method, as patched by RH in Locale::Maketext::Guts
(per https://bugzilla.redhat.com/show_bug.cgi?id=884354).  The result depends
on unrelated parts of the string.

[...]

How reproducible:
Always

Steps to Reproduce:
1. Create a language token, whose value is 'Some data\n'
2. Query the language token through Locale::Maketext ($lh->maketext($tag))

Actual results:
'Some data\\n'

Expected results:
'Some data\n'

Additional info:

The behavior changes in the following cases:
1) If the value contains a tokenized field, behavior depends on whether there
is a trailing newline:

'[_1]Some data\n' => 'Some data\n'
'[_1]Some data\n'."\n" => 'Some data\\n
'
2) If the escaped backslash is in a function call, it behaves as expected:

'Some data[sprintf,\n]' => 'Some data\n'



NOTE: All of these cases in standard perl (with Locale::Maketext v 1.13 from
CPAN) behave exactly the same as each other, and they all produce just a single
'\' before the 'n'.


--- Additional comment from Petr Pisar on 2013-11-04 12:16:19 GMT ---

The 'Some data\n' is due to back-porting the fix to perl 5.10.1.

The parameterized case behaves for me differently and is caused by the changes
in the fix. Even latest Locale::Maketext is affected.
----

All Fedoras are affected.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=BtlUasPZ1z&a=cc_unsubscribe



More information about the perl-devel mailing list