On Wed, 01 Dec 2004 17:08:50 -0800, Eric Niebler wrote
Jeff Garland wrote:
.rant on While I understand your point, I think we should push for reform in Redmond.
<rant snipped>
Microsoft is now a much better citizen than it was when it first introduced the min/max macros into their platform headers. That wouldn't fly at MS these days. But, having worked there,
Yes, I agree things are better.
I know why they would strongly resist taking the macros out. It's a breaking change,
Well, that's just wrong-headed. For one thing, making no-change is 'breaking' for people that hit this anew and waste their time figuring out the work around. I've actually known about this problem for several years and yet here I've had to relearn again. They could easily leave the macro there and change the default to NOMINMAX so that future generations don't have to continue to suffer from past evils. The customers that foolishly depend on this directly in their code would have to set a compile flag to get back the min/max definitions or patch their version of windows.h to change the default. IME 99.9% of the users 'usage' of this is to define NOMINMAX so the change would be non-breaking for these customers. This goes into the release notes and users will just deal with it. To me it is a minor price to pay to be able to able to write the string 'max' or 'min' in C++ code without adornment or fear.
and users have a "fix" -- #define NOMINMAX. (The fact that there is at least one platform header that depends on them is clearly a bug.) What I'm trying to say is, Redmond has already reformed quite a bit -- the revolution is over, we're just left coping with its aftermath.
Oh well, I've checked a patch into CVS to fix it -- thanks to Bart Garst for writing and testing it :-) Jeff