On Saturday, August 13, 2011 22:08:36 Vladimir Panteleev wrote: > On Sat, 13 Aug 2011 20:16:52 +0300, Jonathan M Davis <jmdavisp...@gmx.com> > > wrote: > > As for doing something like you suggest with the os_major and os_minor > > numbers, it does seem kind of messy. If all you want is comparison, you > > can do > > that with the existing enum, and it covers all of the Windows versions > > that > > most people will care about. > > Please, no. Ignoring server Windows versions is a huge mistake, and their > version numbers go in the same pace as the client ones. > > Personally, I don't think that distro detection belongs in Phobos. It > seems way too undocumented and unstandardized.
Which is part of why I brought up the idea that perhas std.system shouldn't be doing what it's trying to do. If it can't do it right, it shouldn't do it all. > > As for doing something like you suggest with the os_major and os_minor > > numbers, it does seem kind of messy. > > I think it's less messy than pretending that all but certain popular > Windows versions don't exist. > > What about the dynamic array idea for version number representation and > comparison? Would that work? It seems to me like a nice clean solution. If we can't do this for all of the OSes, I don't see much reason to have it in std.system. Something could be put in std.windows, but it seems to me that the only place that this functionality is of much value is in comparing versions of Windows (and maybe comparing the versons on the Mac) to determine some level of compatibility or somesuch. In core.sys.windows.windows, you have the windows system call GetVersion. _That_ is probably what should be used to determine versions on Windows, and maybe it should be wrapped, but that would be a Windows thing. Personally, I'm inclined to drop the Os enum along with the os and os_major and os_minor variables, because I just don't think that we can get them to be correct enough of generally useful enough to be worth having. It's too OS-specific to be trying to handle it in an OS-generic manner like that. - Jonathan M Davis