emacs-evil / evil

The extensible vi layer for Emacs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

missing characters when horizontal scrolling if fringe-mode off + truncate-lines + tab indentation

strager opened this issue · comments

Issue type

  • Bug report

Environment

Emacs version: GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0) (built with Nix)
Operating System: Linux Mint 21.2 Victoria (based on Ubuntu 22.04 Jammy)
Evil version: 1.15.0
Evil installation type: manual
Graphical/Terminal: X
Tested in a make emacs session (see CONTRIBUTING.md): No

Reproduction steps

init.el:

(package-initialize)
(evil-mode 1)
(fringe-mode 0)
(setq-default truncate-lines t)

File:

	AssertStringsEqual(t, err.Error(), "could not find '## Unreleased' heading in changelog")
// NOTE: The above line has a leading TAB (not spaces)

Open the file in Emacs and run these Evil commands:

  • $ (go to end of line)
  • F" (go to the last ")
  • ; (repeat search; go to the first ")

Expected behavior

Buffer scrolls horizontally. I can see some characters to the left and to the right. Due to truncate-lines, I see $ on the left-most column and $ on the right-most column.

Actual behavior

Buffer scrolls horizontally. I can see some characters to the left and to the right, but some characters on the right are missing. Due to truncate-lines, I see $ on the left-most column but there is no $ on the right-most column.

Screenshot:
image

Further notes

Works as expected with fringe-mode enabled.

Works as expected if tabs are replaced with spaces.

Specific repro might depend on window size and font size.