URL: <https://savannah.gnu.org/bugs/?68712>
Summary: GNU screen advances cursor on zero-width combining
characters
Group: GNU Screen
Submitter: hovsater
Submitted: Thu 24 Sep 2026 07:48:44 AM UTC
Category: encoding
Severity: 3 - Normal
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Unlocked
Release: 5.0.2
Fixed Release: None
Planned Release: None
Work Required: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Thu 24 Sep 2026 07:48:44 AM UTC By: hovsater <hovsater>
*Problem*
When a string containing Unicode combining characters (NFD form) is printed,
e.g:
printf "Hovsa\u0308ter"
GNU screen incorrectly assigns these nonspacing marks a display width of 1
instead of 0, advancing its internal cursor by one column per combining mark.
This causes all subsequent terminal output (e.g. a pager like less via git
log) to be rendered at incorrect column positions, corrupting the display.
*Reproduce*
Go into the GNU screen source code and run:
$ printf "Hovsa\u0308ter" && git log
Notice how the terminal display has been corrupted.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68712>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
