[vim/vim] Flickering in popups windows - Introduced by patch 9.2.0016 (Issue #19510)

18 views
Skip to first unread message

Javier Jaramago Fernández

unread,
Feb 25, 2026, 10:53:11 AM (6 days ago) Feb 25
to vim/vim, Subscribed
JavierJF created an issue (vim/vim#19510)

Steps to reproduce

  1. Copy the following script in a buffer.
" scroll_popup.vim
" Continuously scrolling popup with multi-line content

let s:text = []
for i in range(1, 50)
	call add(s:text, printf("This is scrolling line %02d — Vim popup demo", i))
endfor

let s:firstline = 1
let s:popup_id = -1

function! s:scroll_popup(timer) abort
	let s:firstline += 1

	" Wrap when reaching the end
	if s:firstline > len(s:text)
		let s:firstline = 1
	endif

	call popup_setoptions(s:popup_id, {'firstline': s:firstline})
endfunction

function! StartScrollingPopup() abort
	let s:popup_id = popup_create(s:text, {
		\ 'title': 'Scrolling Popup',
		\ 'pos': 'center',
		\ 'minwidth': 60,
		\ 'minheight': 10,
		\ 'maxheight': 10,
		\ 'border': [],
		\ 'scrollbar': 1,
		\ 'opacity': 100,
	\ })

	" Scroll every 500 ms
	call timer_start(1000, function('s:scroll_popup'), {'repeat': -1})
endfunction

call StartScrollingPopup()
  1. Source the buffer. If there is background text overlapping with the popup, flickering will start to take place in the areas where background text intersect with popup text.

The issue has been bisected to patch 9.2.0016, with commit 6c20307 and subsequent commit 95e8faa. This is reproducible in at least alacritty and kitty terminal emulators.

Expected behaviour

There should be no flickering when the popup is scrolled or refreshed.

Version of Vim

Bisected to patch 9.2.0016

Environment

Operating system: Arch Linux
Terminal: Alacritty / Kitty
$TERM: xterm-256color
Shell: zsh / bash

Logs and stack traces


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

Mao-Yining

unread,
Feb 25, 2026, 11:06:55 AM (6 days ago) Feb 25
to vim/vim, Subscribed
mao-yining left a comment (vim/vim#19510)

Is this relate to #19499 ?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3960336402@github.com>

Javier Jaramago Fernández

unread,
Feb 25, 2026, 11:15:51 AM (6 days ago) Feb 25
to vim/vim, Subscribed
JavierJF left a comment (vim/vim#19510)

@mao-yining I can't reproduce with your script in particular, it's likely to be the same issue. The fact that I can't reproduce may be because of the environment different or terminal difference. If you want to confirm if the issues are related you can compile VIM against 89712b9. If your script fails to reproduce with that version, is the same issue.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3960391365@github.com>

Foxe Chen

unread,
Feb 25, 2026, 6:43:57 PM (6 days ago) Feb 25
to vim/vim, Subscribed
64-bitman left a comment (vim/vim#19510)

I am also pretty sure I am experiencing this issue with the vim-fuzzbox plugin


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3962931930@github.com>

Shougo

unread,
Feb 25, 2026, 7:14:14 PM (6 days ago) Feb 25
to vim/vim, Subscribed
Shougo left a comment (vim/vim#19510)

I think #19297 fixes the issue.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3963044101@github.com>

Christian Brabandt

unread,
Feb 26, 2026, 4:01:23 PM (5 days ago) Feb 26
to vim/vim, Subscribed

Closed #19510 as completed via 97c5bed.


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/issue/19510/issue_event/23116955662@github.com>

Yggdroot

unread,
Mar 2, 2026, 10:04:07 PM (21 hours ago) Mar 2
to vim/vim, Subscribed
Yggdroot left a comment (vim/vim#19510)

This issue should not be closed, v9.2.0089 still has the issue.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3988316292@github.com>

Shougo

unread,
Mar 2, 2026, 10:23:11 PM (21 hours ago) Mar 2
to vim/vim, Subscribed
Shougo left a comment (vim/vim#19510)

Hi, I have tested above test_popup.vim, but the problem is fixed.
My version is Vim 9.2.0096. Please test the latest 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/issues/19510/3988393148@github.com>

mattn

unread,
12:22 AM (19 hours ago) 12:22 AM
to vim/vim, Subscribed
mattn left a comment (vim/vim#19510)

@Yggdroot could you please test #19559 ?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3988729747@github.com>

Yggdroot

unread,
12:53 AM (19 hours ago) 12:53 AM
to vim/vim, Subscribed
Yggdroot left a comment (vim/vim#19510)

Hi, I have tested above test_popup.vim, but the problem is fixed. My version is Vim 9.2.0096. Please test the latest version.

try the following reproduce:

function! ShowSimplePopup()
    call cursor(13, 1)
    let id = popup_create(
                \ ['Hello from popup!',
                \  'Hello from popup!',
                \  'Hello from popup!',
                \  'Hello from popup!',
                \  'Press q to close'],
                \ {
                \   'line': 10,
                \   'col': 20,
                \   'minwidth': 30,
                \   'maxheight': 5,
                \   'padding': [0,1,0,1],
                \   'border': [],
                \   'filter': 'PopupFilter'
                \ })
    call win_execute(id, 'setlocal cursorline')
endfunction

function! PopupFilter(id, key)
    if a:key ==# 'q'
        call popup_close(a:id)
        return 1
    elseif a:key ==# 'j'
        call win_execute(a:id, 'normal! j')
        return 1
    elseif a:key ==# 'k'
        call win_execute(a:id, 'normal! k')
        return 1
    endif
    return 0
endfunction

call ShowSimplePopup()

supose the file called a.vim,

  1. vim a.vim
  2. :so %
  3. press j or k for some time.

The reproduce may not cover all the scenarios, because I find flicking both on Linux and Windows, but the script can only reproduce the issue on Windows.


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/issues/19510/3988819796@github.com>

Yggdroot

unread,
1:17 AM (18 hours ago) 1:17 AM
to vim/vim, Subscribed
Yggdroot left a comment (vim/vim#19510)

@Yggdroot could you please test #19559 ?

The PR does not fix the flickering issue.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3988907588@github.com>

Shougo

unread,
1:36 AM (18 hours ago) 1:36 AM
to vim/vim, Subscribed
Shougo left a comment (vim/vim#19510)

try the following reproduce:

Sorry. I cannot reproduce the problem with clean Vim environment.
Is this a problem that only occurs on Windows?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3988973644@github.com>

Yggdroot

unread,
1:41 AM (18 hours ago) 1:41 AM
to vim/vim, Subscribed
Yggdroot left a comment (vim/vim#19510)

try the following reproduce:

Sorry. I cannot reproduce the problem with clean Vim environment. Is this a problem that only occurs on Windows?

No. But I can only make a minimal reproduceable script on Windows.

Press j or k for 10 seconds.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3988998410@github.com>

Linwei

unread,
2:01 AM (18 hours ago) 2:01 AM
to vim/vim, Subscribed
skywind3000 left a comment (vim/vim#19510)

Sorry. I cannot reproduce the problem with clean Vim environment.

It is easy to reproduce in GVim:

gvim-flicker.gif (view on web)


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3989092067@github.com>

mattn

unread,
2:02 AM (17 hours ago) 2:02 AM
to vim/vim, Subscribed
mattn left a comment (vim/vim#19510)

It is easy to reproduce in GVim (a popup window from Leaderf plugin):

Please provide small script to reproduce. If you can't provide way to reproduce easily, it's not EASY.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3989101418@github.com>

Yggdroot

unread,
2:19 AM (17 hours ago) 2:19 AM
to vim/vim, Subscribed
Yggdroot left a comment (vim/vim#19510)

It is easy to reproduce, just use my script above,

  1. vim vim92/README.txt
  2. :so a.vim
  3. Press and hold the j key.

2.gif (view on web)


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3989188198@github.com>

mattn

unread,
2:29 AM (17 hours ago) 2:29 AM
to vim/vim, Subscribed
mattn left a comment (vim/vim#19510)

https://github.com/user-attachments/assets/ac089e00-99e2-4220-963d-87f86ce7308a


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3989235606@github.com>

Yggdroot

unread,
9:44 AM (10 hours ago) 9:44 AM
to vim/vim, Subscribed
Yggdroot left a comment (vim/vim#19510)

2026-03-03.162710.mp4

hold the j key.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3991537045@github.com>

Linwei

unread,
2:02 PM (5 hours ago) 2:02 PM
to vim/vim, Subscribed
skywind3000 left a comment (vim/vim#19510)

@mattn there is a flicker in your video between 00:02 - 00:03

2026-03-03.162710.mp4


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19510/3992971056@github.com>

Reply all
Reply to author
Forward
0 new messages