On 2022-12-02, Bram Moolenaar wrote:
> Gary Johnson wrote:
>
> > After updating to the latest Vim, 9.0.0984, and starting Vim in
> > a terminal without a file specified, the command line font was
> > extremely tiny. (I'd estimate the font size to be 4 points.) If
> > a file was opened from the command line, its font in the buffer was
> > also tiny. Subsequent commands typed in the command line were of
> > the expected font. The font in the buffer remained tiny until ^L
> > was typed.
> >
> > Bisecting my vimrc and my usual color scheme plugin revealed the
> > command causing the tiny font to be
> >
> > :set bg&
> >
> > and bisecting the git commits showed the bad commit to be
> > 733a69b29f0b0c3d2ddca463a41bdd912379bc5e, tag v9.0.0980.
> >
> > Steps to reproduce
> >
> > 1. vim -N -u NONE -i NONE --cmd 'set bg&'
> > 2. Type a colon (:) and note that it is in a very tiny font.
> > 3. Continue typing the ex command to edit some file, e.g.,
> > ":e feature.h". Note that the file is displayed in the buffer
> > in the same tiny font.
> >
> > Expected behavior
> >
> > I expect Vim to use the same 11-pt font it normally uses, as set in
> > the terminal's preferences.
> >
> > Version of Vim
> >
> > 9.0.0980 and 9.0.0984
> >
> > Environment
> >
> > Operating system: Cygwin version 3.3.6-1 (latest as of 2022-12-01)
> > on Windows 10 Pro version 22H2
> > Terminal: mintty version 3.6.2-1 (also latest as of 2022-12-01)
> > Value of $TERM: xterm-256color
>
> This doesn't look right. Doesn't mintty have a termcap/terminfo entry
> and you can set $TERM accordingly?
Thanks very much for the reply.
It turns out that it does and you can. I've always left it set to
xterm-256color for the usual reason that "everything" knows how to
talk to an xterm-256color terminal.
I set TERM to mintty and the problem disappears.
> Since $TERM includes "xterm" Vim assumes the terminal behaves like an
> xterm and will enable modifyOtherKeys level 2. This should be harmless
> if the terminal advertises to be working like xterm but doesn't actually
> support it.
>
> I assume that mintty can't handle the escape sequences that do work for
> xterm. To find out which one please use a log:
>
> vim -N -u NONE -i NONE --log logfile --cmd 'set bg&'
>
> Around where you type the edit command you should be able to find some
> "raw key input:" and "raw terminal output:" lines that hopefully provide
> more information.
I did that with TERM=xterm-256color and TERM=mintty and used vimdiff
to compare the two logfiles. I found the offending escape sequence,
but I don't know what it means.
When TERM=xterm-256color, at the end of the "raw terminal output:"
line that prints the introductory message is the sequence
^[[?4m
I looked in the xterm source, in the file ctlseqs.txt, but could not
find that sequence, i.e., CSI ? ... m.
When I send that sequence from Vim to mintty with
:call echoraw("\e[?4m")
characters on the command line are printed in the tiny font.
I did a similar comparison between the logfiles with and without "-c
'set bg&'" argument. When that argument was _not_ present, the
logfile contained additional "raw terminal output:" lines that
presumably reset the font.
> You can also change the 'keyprotocol' option, e.g. make it empty, and
> see what effect that has.
Adding the argument
--cmd 'set keyprotocol='
or
-c 'set keyprotocol='
had no effect, whether set before or after bg&: the font on the
command line was always tiny.
So the correct solution is to set TERM=mintty. I'll do that and see
if anything else breaks, although I don't use that computer much for
my current work, so I won't notice anything for a while.
I would still like to know what that escape sequence is supposed to
do. If mintty's response seems to be a bug, then I'll report it to
the author.
Regards,
Gary
--
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/20221202224719.GC16317%40phoenix.