Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timer fails to properly update the screen #2612

Closed
markonm opened this issue Feb 2, 2018 · 2 comments
Closed

Timer fails to properly update the screen #2612

markonm opened this issue Feb 2, 2018 · 2 comments

Comments

@markonm
Copy link

markonm commented Feb 2, 2018

Vim version: 8.0.1449

" reproduce.vim
function! Timer() abort
  call timer_start(0, { _-> matchadd('Search', '.') })
  return ''
endfunction
nnoremap <expr> <c-j> Timer()
1. vim  --clean reproduce.vim
2. :so %
3. <c-j>
4. screen is not updated until the cursor is moved

This fails on linux TUI vim. On gVim it works properly. It also works properly on Windows in gVim and vim.

I think changes in redraw_after_callback from this commit are the cause.

@lacygoill
Copy link

lacygoill commented Feb 3, 2018

I have the same issue.

I was adding/removing a match for a short period of time, with timers, every time I move the cursor to the next occurrence of a search pattern with n, to get a blinking effect. It worked until the patch v8.0.1449. Now, there's no blinking anymore, the match stays active for a few seconds, before disappearing.

As said by @xtal8 , the issue seems specific to Vim in the terminal (not gVim).


Current environment:

  • vim --version: VIM - Vi IMproved 8.0 Included patches: 1-1464
  • Operating system: Ubuntu 16.04.3 LTS
  • Terminal emulator: rxvt-unicode v9.22
  • Terminal multiplexer: tmux 2.3
  • $TERM: screen-256color
  • Shell: zsh 5.3.1

@markonm
Copy link
Author

markonm commented Feb 8, 2018

Fixed by acda04f. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants