bindtextdomain is badly broken in PHP. It is not implemented the same as the standard GNU implementation or any of the other language implementations such as python for example. And it has crippled the ability to do nested access to different gettext translation stores because you cannot query for the current setting. As far as backward compatibility, I would not worry about it, because I doubt anyone would be relying on retrieving the current setting especially once they found out it was absolutely incorrect.

The patch needs updated to correctly fix the problem as I've explained in the bug. I have not seen any activity on this bug recently and this needs to get into 5.2.15 and 5.3.3 as soon as possible so that PHP has a correct implementation of bindtextdomain.

-Gerry



On 11/18/2010 05:06 PM, Gerry Reno wrote:
I put my comments and some clarifications about the patch into the bug.

-Gerry


On 11/18/2010 04:24 PM, "Jean-Sébastien H." wrote:
Hi,

Any feedback on this patch ?

http://bugs.php.net/bug.php?id=53251

Regards,

Le 07/11/2010 15:57, Gerry Reno a écrit :
On 11/07/2010 08:57 AM, Gerry Reno wrote:
On 11/07/2010 06:14 AM, "Jean-Sébastien H." wrote:
Le 05/11/2010 21:06, Gerry Reno a écrit :
In PHP 5.2.4 (my version) the gettext bindtextdomain function is not
returning the existing directory settings when the directory argument
is NULL.
That is the expected behavior for bindtextdomain with GNU and it works
this way elsewhere such as in python.

[...]

Can PHP gettext bindtextdomain be fixed to correctly return the
existing setting when called with a NULL directory argument?

I was not sure if this was a bug so I thought I would present the
issue on the internal list first.
I filled a bug-report with a patch.

But my patch introduce a BC (see my non regression test :
ext/gettext/tests/gettext_bindtextdomain-nulldir.phpt)

http://bugs.php.net/bug.php?id=53251

Thanks for filing the bug.  I reviewed the patch and it does not seem
to do what is necessary.  What it needs to do is to go get the
current setting from the previous bindtextdomain call.  This means
that 'bindtextdomain' needs to store the current setting so that it
can be retrieved later by a call with a NULL directory argument.



I added some comments and clarifications on the bindtextdomain problem
into the bug http://bugs.php.net/bug.php?id=53251





--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to