Wednesday, June 21, 2023

Re: BUG: terminal vim 9.0.1506 x64 window 10

> On Tue, 20 Jun 2023 22:52:05 -0700 (PDT)
> Steve Martin <smartin5590@gmail.com> wrote:
> > [...]
> >
> > Using the Windows CMD shell under the old CMD terminal, whatever that
> > is called
>
> It's Console Host or Conhost in short.

There also is mention of "Win32 virtual console", the +vtp feature.
This is currently enabled for all MS-Windows non-GUI versions, thus it
doesn't appear to have an effect on how Vim works. The feature itself
is useful to distinguish from an old Vim version that didn't support
this.

> > Personally I use bash and Windows Terminal when I'm on Windows. It
> > has features I prefer and I don't usually resize my work space after
> > I've got set up. Will Microsoft fix their issues. Not gonna hold my
> > breath.
>
> I assume by "Microsoft" and "their issue" you mean the issue in Conhost.
> If so, then yeah, it's not gonna get fixed. There are compatibility
> reasons for that (which I don't care about), but to circumvent this the
> team decided to overhaul Conhost and replace it with the new Terminal.
> It'll be the default in the next . . . I donno, year perhaps? Decade?
>
> And just to clarify, resizing MS Terminal window after launching Vim
> doesn't cause any problem. MS Terminal should behave like a Linux
> terminal emulator. It advertizes itself as supporting all xterm
> features. Well, perhaps not all, but most of the oft-used ones.

A problem related to this is that Vim was originally made for the
console, not for a generic terminal like on Unix. In the code there are
calls to is_term_win32() and different behavior when it returns true.
That is when 'term' is set to "win32". And it is set to that value in a
few places, some may not be correct. E.g. near the end of
did_set_string_option():

#if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS)
if (args.os_did_swaptcap)
{
set_termname((char_u *)"win32");
init_highlight(TRUE, FALSE);
}

No comments: