This commit was manufactured by cvs2svn to create tag 'NEWS'.
Optimize strtr w/ 2nd arg array

Fixes bug #63893: poor efficiency of strtr() using array with keys of
very different length.

The implementation is basically all new, which carries some risk with
it.

The algorithm is described in "A Fast Algorithm For Multi-Pattern
Searching" (1994) by Sun Wu and Udi Manber.
Refactoring, bugs & leaks
strtr() with 2nd param array - optimization

About a 1.25x speedup in my test script by writing the result string
only when a match is found and at the end instead of on each iteration.
Remove unused block
The compiler can figure this out
Remove _GNU_SOURCE, add local heap sort
Update fputcsv() to escape all characters equally.

At present, backslashes have special case handling within fputcsv(): when one
is encountered within a field that's being escaped, escaping stops until the
next instance of the enclosure character is hit.  This can result in malformed
CSV.

Fixes bug #43225 (fputcsv incorrectly handles cells ending in \ followed by ").
Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
  Update fputcsv() to escape all characters equally.
Fixed bug #57702 (Multi-row BLOB fetches)
Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa.
fix NEWS
Revert "Update fputcsv() to escape all characters equally."

On second thoughts, while the behaviour _is_ broken, this isn't the right fix.

This reverts commit 9b5cb0e8059b1e8bec096067491ed8d75f878938.
Merge branch 'PHP-5.3' into PHP-5.4

* PHP-5.3:
  Revert "Update fputcsv() to escape all characters equally."
Revert "Apply the fputcsv test fix to SplFileObject_fputcsv.phpt. Mea culpa."

This reverts commit 0510701474e8d99b5b30139b5599e44f9b555a5a.
Fixed inconsequential bug in strtr()
Merge remote-tracking branch 'remotes/cataphract/strtr_wu94_54' into PHP-5.4

* remotes/cataphract/strtr_wu94_54:
  Fixed inconsequential bug in strtr()
  Remove _GNU_SOURCE, add local heap sort
  The compiler can figure this out
  Remove unused block
  strtr() with 2nd param array - optimization
  Refactoring, bugs & leaks
  Optimize strtr w/ 2nd arg array
NEWS for bug #63893
fixed build