[wx-dev] VOTE: What's the future of wxT() and _T()?

Julian Smart julian at anthemion.co.uk
Sat Dec 1 04:15:34 PST 2007


I think I'd go for (0) - I don't like the idea of wxT() strings not 
being passable to wxChar* arguments; that could break quite a lot of code.

Thanks,

Julian

Vadim Zeitlin wrote:
> On Fri, 30 Nov 2007 17:38:47 +0100 Anders Larsen <al at alarsen.net> wrote:
>
> AL> On Thu, 29 Nov 2007 00:24:40 +0100, Vadim Zeitlin wrote:
> AL> 
> AL> >  At this moment I'm really rather inclined to throw a pair of dice instead
> AL> > of continuing to thinking further what is the best thing to do :-/
> AL> 
> AL> Not that I'd attempt to influence your dice, but how about the following?
> AL> (this would leave current behaviour unchanged on Windows)
> [...patch to change wxT() to do nothing elsewhere but keep it as is
>     under Windows snipped...]
>
>  This is yet another appealing but potentially very confusing solution. I
> really don't know which one should we choose. All of the following seem to
> be acceptable and each has its own advantages and disadvantages:
>
> 0. Don't change anything, let wxT() and _T() always generate wide strings.
>  + Nothing to do
>  - Compatibility problems with existing Unicode code (wxCmdLineEntryDesc)
>  - Unnecessary wchar_t->UTF-8 conversions in UTF-8 builds (but removing
>    wxT()s completely is not the answer as they avoid the conversion in
>    wchar_t builds, i.e. wxMSW)
>
> 1. Make wxT() do nothing but keep _T() as it is now
>  + Fixes compatibility problems for the code using wxT()
>  - While leaving them for the same code using _T()
>  - Breaks symmetry (mentioned in hundreds posts in the archives, FAQ
>    entries &c) between wxT() and _T()
>  - Requires updating the entire code base to get rid of unnecessary
>    conversions (in common code wxT/_T will need to be replaced with wxTEXT,
>    in wxMSW wxT will need to be replaced with _T and elsewhere they will
>    both have to be removed)
>
> 2. Make wxT() do nothing in UTF-8 builds, keep it as is under Windows
>  +/- Same as above except wxMSW code won't need to be updated any more: but
>      at the price of not even fixing wxCmdLineEntryDesc compatibility for
>      Windows programs
>
> 3. Make both wxT() and _T() do the same thing as wxSTRING_TEXT does
>  + No more unnecessary conversions anywhere, without changes to the code
>  + Helps with wxCmdLineEntryDesc under Unix
>  - But not under Windows
>
> 4. Make both wxT() and _T() do nothing
>  + Fixes wxCmdLineEntryDesc compatibility problems
>  + No more unnecessary conversions under Unix without changes to the code
>  - Risks to be a nasty surprise to Windows programmers used to _T()
>  - Unnecessary conversions still happen during run-time under Windows
>
>
>  Having written this the rather obvious best choice to me seems to be (3).
> Of course, it still suffers from the problem mentioned by David (as do all
> choices except (0)) in that it can break user code passing wxT("foo") to a
> function taking "wxChar *" but fixing this should be trivial. Are there any
> other hidden problems with this that I'm missing?
>
>  In any case, I feel we need to decide something about it quickly (I still
> hope to do 2.9.0 soon and I'd rather do this change before it) so I'd like
> to propose an informal (meaning no lynching of the members of electoral
> commission (me) if you're unhappy with the vote counting methodology :-)
> vote. So if you have an opinion about this, please post in this thread
> keeping the "VOTE" in the subject (and please remove it from the subject if
> you want to just discuss this further, without voting, e.g. if you see any
> [dis]advantages that I missed or missing options on the ballot).
>
>  Personally I vote for 3,0,4,2,1 in this order (with a large gap between 0
> and 4).
>
>  Thanks,
> VZ
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wx-dev-unsubscribe at lists.wxwidgets.org
> For additional commands, e-mail: wx-dev-help at lists.wxwidgets.org
>
>
>
>   


-- 
Julian Smart, Anthemion Software Ltd.
28/5 Gillespie Crescent, Edinburgh, Midlothian, EH10 4HU
www.anthemion.co.uk | +44 (0)131 229 5306
Tools for writers: www.writerscafe.co.uk
wxWidgets RAD:     www.anthemion.co.uk/dialogblocks





More information about the wx-dev mailing list