bug-bash
[Top][All Lists]
Advanced

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

$"text" TEXTDOMAIN{,DIR} ordering relevance


From: Michael Arlt
Subject: $"text" TEXTDOMAIN{,DIR} ordering relevance
Date: Mon, 4 Nov 2013 21:15:49 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' 
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu' 
-DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL 
-DHAVE_CONFIG_H   -I.  -I../bash -I../bash/include -I../bash/lib  
-D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Wformat-security -Werror=format-security -Wall
uname output: Linux rocket76 3.2.0-55-generic #85-Ubuntu SMP Wed Oct 2 12:29:27 
UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Machine Type: x86_64-pc-linux-gnu

Bash Version: 4.2
Patch Level: 25
Release Status: release
Description:
        TEXTDOMAIN must be defined before TEXTDOMAINDIR - otherwise it does not 
work.
        Use of $"text" in functions does not work if TEXTDOMAIN{,DIR} is defined
        below the defined function - regardless of application flow.

Repeat-By:
        #!/bin/bash
        l1="/tmp/test/de/LC_MESSAGES" # adjust according to your needs
        l2="/tmp/test" # short form of above
        mkdir -p $l1
        echo -e 'msgid "failed"\nmsgstr "worked"' | msgfmt -o $l1/test.mo -

        echo test1
        export TEXTDOMAINDIR=$l2
        export TEXTDOMAIN=test
        f() {
          echo ' '$"failed"
        }
        echo ' '$"failed"
        f

        echo test2
        unset TEXTDOMAINDIR TEXTDOMAIN
        export TEXTDOMAIN=test
        export TEXTDOMAINDIR=$l2
        echo ' '$"failed"
        f

        echo test3
        unset f
        f() {
          echo ' '$"failed"
        }
        echo ' '$"failed"
        f

Fix:
        You must set TEXTDOMAIN before TEXTDOMAINDIR (bug?!)
        You must set TEXTDOMAIN{,DIR} above the function (unexpexted for me)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]