Skip to content

[Bug]: Broken terminfo handling(?) in Neovim 0.12.1 leads to artifacting when using vertical splits #29336

@Sw3d15h-F1s4

Description

@Sw3d15h-F1s4

Problem description

When you attempt to vertically scroll a split or insert a new line while two or more splits are visible, strange things occur. Vertically scrolling in one split causes all text on the screen to scroll down without actually scrolling anything - it's a purely visual bug. Press Control+L to force a redraw and see nothing on the other split changed.
Inserting a new line creates gaps in the other split, again redrawing shows this is just a visual bug.

I'm a naive idiot, but my guess is something changed with how Neovim sends scrolling escape characters and Termux doesn't handle it right.

What steps will reproduce the bug?

  • Install neovim v0.12.1 and do nvim --clean.
  • Open any file that you need to vertically scroll through.
  • Open a vertical split by doing :vs. Scroll one of the splits down
  • Observe the other split scroll down anyway
  • Temporarily resolve the issue by pressing <C-l> (Control+L)

OR

  • Install neovim v0.12.1 and do nvim --clean.
  • Put a few lines of text on the screen.
  • do :vs
  • Move to a line with some text above and below. Insert a new line by pressing o
  • Observe the other split.
  • Temporarily resolve the issue by pressing <C-l> (Control+L)

What is the expected behavior?

Last version I tried was neovim v0.11.6, which worked fine.

System information

Termux Variables:
TERMUX_APK_RELEASE=F_DROID
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=16386
TERMUX_APP__DATA_DIR=/data/user/0/com.termux
TERMUX_APP__LEGACY_DATA_DIR=/data/data/com.termux
TERMUX_APP__SE_FILE_CONTEXT=u:object_r:app_data_file:s0:c123,c257,c512,c768
TERMUX_APP__SE_INFO=default:targetSdkVersion=28:complete
TERMUX_IS_DEBUGGABLE_BUILD=0
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.3
TERMUX__HOME=/data/data/com.termux/files/home
TERMUX__PREFIX=/data/data/com.termux/files/usr
TERMUX__ROOTFS_DIR=/data/data/com.termux/files
TERMUX__SE_PROCESS_CONTEXT=u®untrusted_app_27:s0:c123,c257,c512,c768
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:
# sources.list
deb https://termux.danyael.xyz/termux/termux-main stable main
Updatable packages:
All packages up to date
termux-tools version:
1.45.0
Android version:
14
Kernel build information:
Linux localhost 5.4.254-qgki-28692233-abT733XXS9DYF1 #1 SMP PREEMPT Thu Jun 19 22:10:26 KST 2025 aarch64 Android
Device manufacturer:
samsung
Device model:
SM-T733
Supported ABIs:
SUPPORTED_ABIS: arm64-v8a,armeabi-v7a,armeabi
SUPPORTED_32_BIT_ABIS: armeabi-v7a,armeabi
SUPPORTED_64_BIT_ABIS: arm64-v8a
LD Variables:
LD_LIBRARY_PATH=
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec-ld-preload.so
Installed termux plugins:
com.termux.widget versionCode:1001
com.termux.x11 versionCode:15
com.termux.gui versionCode:7
com.termux.window versionCode:1001
com.termux.styling versionCode:1000
com.termux.boot versionCode:1000

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug reportSomething is not working properly

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions