I just investigated the same bug. "less" loses input lines because it does not count output lines correctly. The problem is that it assumes that east asian wide characters have width 1, but in reality, e.g. on xterm, these characters take 2 positions. In other words, the routine pwidth() in less-481:line.c is broken (since the is_wide_char(ch) returns false for characters that take two screen positions).
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to less in Ubuntu. https://bugs.launchpad.net/bugs/1562308 Title: missing or duplicate lines caused by a wrapped line with wide characters Status in less package in Ubuntu: Confirmed Bug description: When you scroll down text with "j" key and encounter a wrapped line with wide characters (such as UTF8-encoded Japanese characters), "less" seems to show the whole wrapped line at a single "j" key, causing the view scroll down by 2 lines at once. Strangely, if you type "k" to scroll up, it does that by only 1 line. As a result, there is a missing line that should have been shown. Even stranger stuff (i.e., duplicate lines) happens when you type "j" and "k" alternately when a wrapped line with wide characters is at the bottom of the view. # Steps to reproduce 1. Open xterm. 2. Set the geometory of xterm to 71x22. 3. Open the attached lesstest.long_jap.txt with less (maybe you need environment variable LANG=ja_JP.UTF-8) 4. Type "j", then you will see "003" at the top, and a long wrapped line with Japanese characters at the bottom. 5. Type "k", then you will see "001" and "003" at the top. "002" is missing. # Expected behavior In step 4, only the first part of the wrapped line should be shown. In step 5, all "001", "002" and "003" should be shown. # Test Environment - Xubuntu 16.04 (Xenial) beta (in VirtualBox on Xubuntu 14.04) - less: 481-2.1 - xterm: 322-1ubuntu1 - Japanese environment (LANG=ja_JP.UTF-8) # Note - The same problem happens on xfce4-terminal (0.6.3-2ubuntu1) - lv (4.51-2.3build1) doesn't have such problem. - In "less" in Xubuntu 14.04 (version 458-2), this problem didn't exist. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/less/+bug/1562308/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp