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