On 18/03/2013 20:39, Bram Moolenaar wrote:

Mike Williams wrote:

Following discussion in another thread this patch moves the minimum
version of Windows supported in a default build of VIM up to Windows XP.
   This should make it easier to use features in newer versions of Windows.

Changes are only in the various Windows make files that mention WINVER -
bc5, cygwin, ming, and MVC - but I only have VS so have not tested the
other compilers.  Can others try the patch with other compilers and
report any problems please.

What effect does this change really have on the generated binary?
Besides no longer being able to run it on Windows NT and Windows 2K?

The setting for WINVER filters the content of the Windows include files to remove newer APIs added in later version of Windows. That way the binary does not accidentally try to use a non-existant API. In the case of cleartype support, since this did not exist in Win2k and using a WINVER value of 0x0400 for Win2k meant the cleartype functionality did not get compiled in. Leaving WINVER at 0x0400 will mean a lot of new Windows functionality cannot be used that easily.

Note WINVER is meant to control what Windows APIs are available at build time, not a means of deciding what platform you are currently running on - the code in modify_fname() in eval.c based on _WIN32_WINNT (set to the same as WINVER) is most likely the wrong solution. I wouldn't be surprised if the #undef of WIN32_WINNT in if_ruby.c is also related fallout.

I don't see anything getting simpler yet.  The docs I find for WINVER
are not very specific.

If we go this way we need to make a binary for Windows 95 available
somewhere.  I don't want to leave any user without their editor.
This can be as simple as telling users which old version to use.

If we want to continue building for Win95/98/SE then that should be a build option that sets WINVER appropriately.

The alternative would be hard code copies of Windows APIs into VIM and work out at runtime what VIM can actually use by querying which platform it is currently running on.

Mike
--
Red meat isn't bad for you. Fuzzy green meat is.

--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Raspunde prin e-mail lui