mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-27 16:51:15 -03:00
"Emoji width" refers to the width of emoji codepoints. Since Unicode 9, they're classified as "wide" according to TR11 (https://www.unicode.org/reports/tr11/). Unicode 9 was released in 2016, and this slowly percolated into C libraries and terminals. Glibc updated its default in 2.26, released in August 2017. Until now, we'd guess support for unicode 9 by checking the system wcwidth function for an emoji - if it returned 2, we'd set our emoji width to 2 as well. However, that's a problem in the common case of using ssh to connect to an old server - modern desktop OS, old server LTS OS, boom. So now we instead just figure you've got a system that's *displaying* the emoji that has been updated in the last 9 years. In effect we're putting the burden on those who run old RHEL et al as their client OS. They need to set $fish_emoji_width to 1. Fixes #12500 Part of #12562