[vim/vim] win32: Drop support for XP and Vista (PR #11089)

186 views
Skip to first unread message

K.Takata

unread,
Sep 9, 2022, 1:12:36 AM9/9/22
to vim/vim, Subscribed

I tried this in #6091, but it was rejected.
Two years past and Vim 9 has been released. It should be a good timing to drop support for 20-year old OS.


You can view, comment on, or merge this pull request online at:

  https://github.com/vim/vim/pull/11089

Commit Summary

  • b073028 win32: Drop support for XP and Vista

File Changes

(8 files)

Patch Links:


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089@github.com>

K.Takata

unread,
Sep 9, 2022, 1:14:16 AM9/9/22
to vim/vim, Subscribed

@k-takata commented on this pull request.


In src/INSTALLpc.txt:

> +(The support for pre-Vista was removed in patch 9.0.0xxx.  If you want to
+target Windows XP, use the source code before that.)

This part should be updated accordingly.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/review/1101709535@github.com>

codecov[bot]

unread,
Sep 9, 2022, 1:21:14 AM9/9/22
to vim/vim, Subscribed

Codecov Report

Merging #11089 (b073028) into master (c572ad5) will decrease coverage by 81.45%.
The diff coverage is n/a.

@@             Coverage Diff             @@

##           master   #11089       +/-   ##

===========================================

- Coverage   81.75%    0.29%   -81.46%     

===========================================

  Files         162      152       -10     

  Lines      188186   173825    -14361     

  Branches    42823    39997     -2826     

===========================================

- Hits       153848      520   -153328     

- Misses      21821   173248   +151427     

+ Partials    12517       57    -12460     
Flag Coverage Δ
huge-clang-none ?
huge-gcc-none ?
huge-gcc-testgui ?
huge-gcc-unittests 0.29% <ø> (ø)
linux 0.29% <ø> (-82.17%) ⬇️
mingw-x64-HUGE ?
mingw-x64-HUGE-gui ?
windows ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/float.c 0.00% <0.00%> (-98.42%) ⬇️
src/sha256.c 0.00% <0.00%> (-96.45%) ⬇️
src/gui_gtk_f.c 0.00% <0.00%> (-94.72%) ⬇️
src/arabic.c 0.00% <0.00%> (-94.57%) ⬇️
src/crypt_zip.c 0.00% <0.00%> (-94.12%) ⬇️
src/typval.c 0.00% <0.00%> (-93.20%) ⬇️
src/blob.c 0.00% <0.00%> (-92.46%) ⬇️
src/debugger.c 0.00% <0.00%> (-92.23%) ⬇️
src/eval.c 0.00% <0.00%> (-92.19%) ⬇️
src/vim9compile.c 0.00% <0.00%> (-92.15%) ⬇️
... and 146 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1241510355@github.com>

Bram Moolenaar

unread,
Sep 9, 2022, 6:21:23 AM9/9/22
to vim/vim, Subscribed


Ken Takata wrote:

> I tried this in #6091, but it was rejected.
> Two years past and Vim 9 has been released. It should be a good timing
> to drop support for 20-year old OS.

I'm in doubt. This is not changing much code. It's not like with older
windows systems where we could drop a substantial part of the library
calls. That was a nice cleanup. This is only a small change.

Windows XP usage did go down quite a lot. Windows Vista doesn't even
show up anymore (nobody liked it anyway). According to Statcounter it
is 0.38% (to compare: Windows 10 is 72 %). However, this is measured
by accessing web pages, computers not used to browse the internet are
not counted.

I wonder, is anyone reading this still using a Windows XP system?
Even if it is to drive some hardware.

--
This planet has -- or rather had -- a problem, which was this: most
of the people living on it were unhappy for pretty much of the time.
Many solutions were suggested for this problem, but most of these
were largely concerned with the movements of small green pieces of
paper, which is odd because on the whole it wasn't the small green
pieces of paper that were unhappy.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

/// Bram Moolenaar -- ***@***.*** -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1241787943@github.com>

K.Takata

unread,
Sep 9, 2022, 8:07:07 AM9/9/22
to vim/vim, Subscribed

You are right that this doesn't change much code.
But actually I don't want to care about Windows XP anymore when adding a new feature.
I don't have a working XP machine, so I can't check if the new code works on XP.
(At least, I want to remove XP from the list of the supported OS.)


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1241897176@github.com>

Bram Moolenaar

unread,
Sep 10, 2022, 3:48:12 PM9/10/22
to vim/vim, Subscribed

I don't see any thumbs-up or thumbs-down on this PR, nobody cares?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1242795358@github.com>

JohnBeckett

unread,
Sep 10, 2022, 9:23:37 PM9/10/22
to vim_dev
> I don't see any thumbs-up or thumbs-down on this PR

My opinion is that anyone using (or who has to use) an unsupported and insecure operating system should not expect indefinite upgrades for programs like Vim. It's likely that someone using XP or Vista wouldn't even look for new Vim versions. That is, I think that support for the old systems should be dropped.

John

MURAOKA Taro

unread,
Sep 10, 2022, 9:37:58 PM9/10/22
to vim/vim, Subscribed

I stand by k-takata's opinion, support of Windows XP should be dropped.

Lack of reactions (thumb-up/down) might indicate that
there are few people are intereted in Windows XP and its support.
Fewer developer can maintain code with Windows XP in mind,
and it would be a waste of their precious time for few XP users.

However, this is measured by accessing web pages, computers not used to browse the internet are not counted.

A system that is still running Windows XP is probably a system that does not need to be connected to the Internet,
and it is hard to imagine using the latest Vim on such a system.
If they did use Vim, they would probably use an older version.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1242839194@github.com>

Philip H.

unread,
Sep 11, 2022, 9:04:19 AM9/11/22
to vim/vim, Subscribed

Since there are still infrastructures where XP is used, I would leave the support in. But I would welcome it if we could drop it soon.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1242960648@github.com>

Linwei

unread,
Sep 11, 2022, 2:29:54 PM9/11/22
to vim/vim, Subscribed

Is there a strong advantage to drop win XP ?

XP still lives in many low-end hardwares (not only PC), which is still widely used in under developed countries.
So far as I know, especially in schools, hospitals and factories.

Those silent majority are not vim enthusiasts like us and will not access vim.org everyday. Also they are not working
in big tech companies and will not update their laptops every two years.

But I still wish they can benefit from the latest vim versions.

Since 9.0 is a big step since 8.0, many future plugins will depend on this.

So, if XP must be dropped, can we just put off this discussion until vim 9.1 or 9.2 ?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1243017995@github.com>

Bram Moolenaar

unread,
Sep 11, 2022, 5:27:20 PM9/11/22
to vim/vim, Subscribed


> Is there a strong advantage to drop win XP ?
>
> XP still lives in many low-end hardwares (not only PC), which is still
> widely used in under developed countries.
> So far as I know, especially in schools, hospitals and factories.
>
> Those silent majority are not vim enthusiasts like us and will not
> access vim.org everyday. Also they are not working
> in big tech companies and will not update their laptops every two years.

Yes, that is the reason I'm hesitant to just drop it.


> But I still wish they can benefit from the latest vim versions.
>
> Since 9.0 is a big step since 8.0, many future plugins will depend on this.
>
> So, if XP must be dropped, can we just put off this discussion until
> vim 9.1 or 9.2 ?

Would it be sufficient to say that Windows XP users can get the 9.0
release? They won't be able to use plugins that use the features being
added now (virtual text, :defer, etc.), but isn't it likely that it
won't matter much?

Waiting for 9.1 is just moving it forward, it's not really much
different.

--
hundred-and-one symptoms of being an internet addict:
40. You tell the cab driver you live at
http://123.elm.street/house/bluetrim.html
41. You actually try that 123.elm.street address.


/// Bram Moolenaar -- ***@***.*** -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1243046417@github.com>

Linwei

unread,
Sep 12, 2022, 12:45:36 AM9/12/22
to vim/vim, Subscribed

Would it be sufficient to say that Windows XP users can get the 9.0
release? They won't be able to use plugins that use the features being
added now (virtual text, :defer, etc.), but isn't it likely that it
won't matter much?

The whole 9.0 lifespan (including all patches before 9.1) would be better.
Many users (me too) just start using vim9script after 9.0 got released.

I believe all the 9.0.XXXX versions can be used for collecting feedback and making vim9script more robust.
So that makes it more important than 9.1.XXXX or 9.2.XXXX.

btw: virtual-text is another important feature, it enables some cool plugins like
vim-copilot, LSP inlay hints and gitlens.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1243215863@github.com>

K.Takata

unread,
Sep 12, 2022, 5:04:51 AM9/12/22
to vim/vim, Push

@k-takata pushed 1 commit.

  • b81b9c6 Use GetFinalPathNameByHandleW directly


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/push/10993820379@github.com>

Bram Moolenaar

unread,
Sep 12, 2022, 5:53:42 AM9/12/22
to vim/vim, Subscribed


> > Would it be sufficient to say that Windows XP users can get the 9.0
> > release? They won't be able to use plugins that use the features being
> > added now (virtual text, :defer, etc.), but isn't it likely that it
> > won't matter much?
>
> The whole 9.0 lifespan (including all patches before 9.1) would be better.
> Many users (me too) just start using vim9script after 9.0 got released.
>
> I believe all the 9.0.XXXX versions can be used for collecting
> feedback and making vim9script more robust.
> So that makes it more important than 9.1.XXXX or 9.2.XXXX.
>
> btw: virtual-text is another important feature, it enables some cool
> plugins like vim-copilot, LSP inlay hints and gitlens.

These are quite advanced features. Assuming these XP systems are there
because they are used for some specific purpose, it's very unlikely they
are used for development. The systems most likely have a slow processor
and not that much RAM. You most likely can't install XP on a new
system, because drivers are missing for the chipset.

There will be new features in 9.1, then 9.2, etc. The version changes
because there have been enough new features to give it a new number.
There is never going to be a point better than now.


--
hundred-and-one symptoms of being an internet addict:
45. You buy a Captain Kirk chair with a built-in keyboard and mouse.


/// Bram Moolenaar -- ***@***.*** -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1243493056@github.com>

K.Takata

unread,
Sep 12, 2022, 6:44:12 AM9/12/22
to vim/vim, Push

@k-takata pushed 1 commit.

  • fca4e66 Simplify iscygpty build options

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/push/10994829531@github.com>

Martin Tournoij

unread,
Sep 13, 2022, 2:31:51 PM9/13/22
to vim/vim, Subscribed

Is there a strong advantage to drop win XP ?

The biggest advantage I see in dropping XP and Vista support is that Vim can then probably also update to a more recent minimal MSVC version so we can get full/proper C99 support.

XP still lives in many low-end hardwares (not only PC), which is still widely used in under developed countries. So far as I know, especially in schools, hospitals and factories.

Those silent majority are not vim enthusiasts like us and will not access vim.org everyday. Also they are not working in big tech companies and will not update their laptops every two years.

But I still wish they can benefit from the latest vim versions.

Python dropped Windows XP somewhere around 2015. The newest versions don't even seem to work on Windows 7, according to https://www.python.org/downloads/windows/

NodeJS dropped support in v6, in 2015.

Go dropped Windows XP support in 1.11, in 2018.

Java dropped support for XP in 2014.

Java, Python, NodeJS, and Go are probably the most popular platforms, especially for new programmers. I bet the situation is similar for most languages/interpreters/compilers.

Things like web browsers and other editors nad tooling have dropped XP support as well. Getting dev environment is still possible of course, but with old version of a lot of software. You're going to have a hard time. Many platforms have already started to drop Windows 7 support.

In another comment you mentioned "virtual-text is another important feature, it enables some cool plugins like vim-copilot, LSP inlay hints and gitlens", but I bet you'll have a hard time getting things like CoPilot (depends on NodeJS) and many LSP things to run on Windows XP.

I'm sympathetic to your argument, but I think at this point we can probably safely drop Windows XP and Vista support and no one will notice, because the barriers to run latest version of $anything are already significant. When I lived in Indonesia up to last year I saw a number XP systems: the point-of-sale system at the family store next door, the admin system at my dentist, etc. But no one is trying to run Vim on those machines. At my job (in the Netherlands) we used a Windows 95 system for some very specific software up to about 2016 when it was finally replaced, but no one tried to run Vim on that either.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1245804326@github.com>

Yee Cheng Chin

unread,
Sep 13, 2022, 3:18:52 PM9/13/22
to vim/vim, Subscribed

When talking to Vim users, I somewhat frequently run into people who think Vim is a static piece of software and only use old ancient versions of Vim from at least few years ago, and these are people who otherwise stay up to date with their software. I kind of have a feeling that people still on Windows XP, if they even use Vim to begin with, would be on that camp and not necessarily trying to download the latest and greatest. I can't say that number is 0 (see below about MacVim), but I can't imagine the number of active up-to-date Vim users on Windows XP is high today.

The biggest advantage I see in dropping XP and Vista support is that Vim can then probably also update to a more recent minimal MSVC version so we can get full/proper C99 support.

I feel like this is a pretty big improvement if it's true that dropping XP/Vista supports allows for C99. The requirement to satisfy old-school C-style "variable declarations on top" can make code contributions to Vim feel unnecessarily annoying especially for newcomers, and adds to the sentiment that Vim is more archaic than it should be. It is also a potential vector for bugs as we have function-scope variables everywhere, instead of being able to use C scoping to limit the visibility of variables. I definitely know from personal experience that this has bit me before when doing Vim changes.

Things like web browsers and other editors nad tooling have dropped XP support as well. Getting dev environment is still possible of course, but with old version of a lot of software. You're going to have a hard time. Many platforms have already started to drop Windows 7 support.

Just looking around, I have found 2 main programs that still support Windows XP. I'm not sure if it's because of development philosophy, or whether they actually have enough active users to justify so:

  1. VLC, which is a popular tool, and playing videos probably has a larger audience than Vim.
  2. 7-zip. It supports down to Windows 2000!! Release history indicates that Windows requirements was last bump in 2013 and dropped 95/98/ME.

On a tangent, I am facing a similar issue with MacVim as Apple has been aggressively removing support from older OS versions (although they operate on a much shorter timeline than Microsoft/Windows), so I can sympathize. MacVim, outside of VLC and a couple other ones like Unarchiver (another unzipping tool like 7-zip), is the only macOS software that I could find that supports back to 10.9. Every time I think I can drop it there are always some users who come out and let me know that they are still using it…


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1245854419@github.com>

cecamp

unread,
Sep 13, 2022, 4:12:11 PM9/13/22
to vim/vim, Subscribed

I'm uncomfortable with the current process for dropping systems/features/os/etc. The common approach is to mark something as deprecated. That, too, is problematic, as it seems that there are plenty of folks that continue to use deprecated stuff forever. So, may I suggest a "+deprecated" feature for configure to include deprecated stuff -- up to a point. Those who are using the latest vim on deprecated h/w and o/ses will likely pipe up, giving you feedback. Once there's no or little feedback after, say, half a year, go ahead and remove the feature. Just an idea...


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1245904787@github.com>

Bram Moolenaar

unread,
Sep 13, 2022, 5:14:44 PM9/13/22
to vim/vim, Subscribed


> I'm uncomfortable with the current process for dropping
> systems/features/os/etc. The common approach is to mark something as
> deprecated. That, too, is problematic, as it seems that there are plenty
> of folks that continue to use deprecated stuff forever. So, may I
> suggest a "+deprecated" feature for configure to include deprecated
> stuff -- up to a point. Those who are using the latest vim on deprecated
> h/w and o/ses will likely pipe up, giving you feedback. Once there's no
> or little feedback after, say, half a year, go ahead and remove the
> feature. Just an idea...

I don't see use for it. The idea of marking something "deprecated" is
to give people time to rewrite anything that depends on it. In this
case there is nothing that one can do. Well, upgrade to Windows 7, but
if that would be an option it would very likely already have been done.
I can't imagine that someone finally upgrades because Vim no longer
supports the OS.

In this case one can just use the last version of Vim that supported XP,
which is the current one. This is hardly a problem, only some plugins
developed later might not work.

For those things that users actually use, we just keep them. We only
drop something when it's not used (e.g. when it's broken anyway).
Unlike much other software where old script just won't work anymore
(Python 2 is a disappointing example, I still have a very large Python 2
program that will be painful to migrate to Python 3, if at all
possible; I started on it and failed miserably so far).


--
hundred-and-one symptoms of being an internet addict:
59. Your wife says communication is important in a marriage...so you buy
another computer and install a second phone line so the two of you can
chat.


/// Bram Moolenaar -- ***@***.*** -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1245960669@github.com>

Linwei

unread,
Sep 14, 2022, 3:24:22 AM9/14/22
to vim/vim, Subscribed

@arp242 , MSVC compiler version has nothing to do with XP compatibility. It depends on what headers/libraries you are using.

You can use the latest MSVC and select v141_xp as the target toolset in the option dialog to build XP applications. See here:

https://docs.microsoft.com/en-us/cpp/build/configuring-programs-for-windows-xp?view=msvc-170

MinGW can do similar thing:

To compile for older Windows versions with MinGW you need to define _WIN32_WINNT to an older version for (0x0501 for Windows XP) when compiling your application as well as all of it's dependencies, including the standard library provided by MinGW.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1246353323@github.com>

Yee Cheng Chin

unread,
Sep 14, 2022, 4:38:31 AM9/14/22
to vim/vim, Subscribed

@arp242 , MSVC compiler version has nothing to do with XP compatibility. It depends on what headers/libraries you are using.

I think the issue is with whether you want XP/Vista users to be able to build binaries themselves. From looking it up, it seems like Visual Studio 2013 started to support C99, but it's also the version that started to require Windows 7. It's possible to generate Windows XP builds on later Visual Studio versions but the users won't be able to build Vim themselves.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1246432745@github.com>

Bram Moolenaar

unread,
Sep 18, 2022, 7:16:28 AM9/18/22
to vim/vim, Subscribed

Considering the comments, I think it's fine to drop XP support now. Those few who want to use Vim on an (old) XP system can get Vim version 9.0. It's easy to understand and provides a Vim version with plenty of features. Over time some plugins won't work there, which is a very small price to pay.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1250247452@github.com>

Bram Moolenaar

unread,
Sep 18, 2022, 7:26:30 AM9/18/22
to vim/vim, Subscribed

Closed #11089 via 27b53be.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/issue_event/7408791529@github.com>

Bram Moolenaar

unread,
Oct 11, 2022, 4:47:29 AM10/11/22
to vim/vim, Subscribed


> Since there are still infrastructures where XP is used, I would leave
> the support in. But I would welcome it if we could drop it soon.

But what would "soon" be...?

There might be one other advantage: I believe MSVC does not support
Windows XP in later versions. I still use MSVC 2015 because I think
later versions create a binary that doesn't run on older Windows
systems. Not sure which ones exactly.

So we could switch to a more recent build setup, where Windows 7 is the
oldest Windows version supported. I suppose newer MSVC verions are
better than older ones.

--
Don't read everything you believe.


/// Bram Moolenaar -- ***@***.*** -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/11089/c1274330203@github.com>

Reply all
Reply to author
Forward
0 new messages