I don't mean to undo others' work but it looks like the hand-rolled EditLine for LLDB on Windows isn't used. It'd be easier to make changes to bring the other platforms' Editline wrapper up to date (e.g. simplifying char vs wchar_t) without modifying/testing this one too.
It looks like this EditLine port was added before I joined this project. @zturner may have worked on it, but I don't know/remember.
If it's actually unused, I have no objection to removing it. I harbor some hope that Windows's steadily improving unix-like terminal implementation (which console programs can enable) will eventually make a Windows-port of EditLine trivial.
I concur that the MSVC version tweak should be a separate change. If you remove that from this patch, I'll LGTM.
I ran LLDB tests from a clean tree and with my change and the failures seemed to be the same, but there is a large amount of them. I also did manual testing with the changes. Build is still green.
Editline is only used when Cmake can find the editline libraries, which it never does on Windows. So the code that is actually used for console I/O is the code in the IOHandlerEditline class in IOHandler.cpp that is outside of the #ifdef LLDB_USE_EDITLINE preprocessor check. That uses POSIX functions for console I/O. I think it may be a good follow up change to make IOHandlerEditline be used in editline-specific cases and move the fallback/non-editline code in that class to another class.