>>> titlecase("d'artagnan") "D'ArtAgnAn" >>>
Should only uppercase the first A (and possibly lowercase the d).
If this is left unfixed, I will (eventually) provide a patch for it.
I fixed this on my branch by limiting the replace() calls on APOS_SECOND matches to 1.
I also changed a few other areas of the code, so beware if you want to keep the rest of the trunk's code.
Bug watches keep track of this bug in other bug trackers.
If this is left unfixed, I will (eventually) provide a patch for it.