[4310] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

Re: [barnowl/barnowl] Make owl_text_wordwrap count display columns,

daemon@ATHENA.MIT.EDU (Daniel JB Clark)
Tue Nov 3 13:06:03 2026

Date: Tue, 03 Nov 2026 10:05:58 -0800
From: Daniel JB Clark <notifications@github.com>
Reply-To: barnowl/barnowl <reply+ABCERSM2YQVJ7V7MKGSW64TLMNWINEVBNHHQAAAAAFXPIQV3@reply.github.com>
To: barnowl/barnowl <barnowl@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
In-Reply-To: <barnowl/barnowl/pull/192@github.com>


----==_mimepart_6aea228650895_10c12d0449961
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

djbclark left a comment (barnowl/barnowl#192)

Testing status: **not done yet.** I ran this PR's own tests on master and on the branch, plus a live BarnOwl check with injected messages (before/after screenshots and logs), but I still need to review that evidence myself before calling it tested.

Findings: the three byte-vs-column cases in `tester.c` fail on master and pass on the branch (`make check` passes). Live, accented and CJK text now wraps by column. **Emoji are only partly fixed:** `mk_wcwidth` has no range for emoji (U+1F600 counts as 1 column, terminals draw 2), so a line of emoji is wrapped as if half as wide and runs past the right edge of the screen. Master wrapped such lines too early but never overflowed. That is an existing `wcwidth.c` limitation, but it contradicts the claim that emoji wrapping is fixed, so either the table needs the wide emoji ranges or the description should be narrowed.

Could use a human: check emoji and CJK wrapping in a real terminal (my renderer font has no CJK glyphs, so those showed as boxes).


-- 
Reply to this email directly or view it on GitHub:
https://github.com/barnowl/barnowl/pull/192#issuecomment-6611691375
You are receiving this because you are subscribed to this thread.

Message ID: <barnowl/barnowl/pull/192/c6611691375@github.com>
----==_mimepart_6aea228650895_10c12d0449961
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div style=3D"display: flex; flex-wrap: wrap; white-space: pre-wrap; alig=
n-items: center; "><img height=3D"20" width=3D"20" style=3D"border-radius=
:50%; margin-right: 4px;" decoding=3D"async" src=3D"https://avatars.githu=
busercontent.com/u/131936?s=3D20&amp;v=3D4" /><strong>djbclark</strong> l=
eft a comment <a href=3D"https://github.com/barnowl/barnowl/pull/192#issu=
ecomment-6611691375">(barnowl/barnowl#192)</a></div>
<p dir=3D"auto">Testing status: <strong>not done yet.</strong> I ran this=
 PR's own tests on master and on the branch, plus a live BarnOwl check wi=
th injected messages (before/after screenshots and logs), but I still nee=
d to review that evidence myself before calling it tested.</p>
<p dir=3D"auto">Findings: the three byte-vs-column cases in <code class=3D=
"notranslate">tester.c</code> fail on master and pass on the branch (<cod=
e class=3D"notranslate">make check</code> passes). Live, accented and CJK=
 text now wraps by column. <strong>Emoji are only partly fixed:</strong> =
<code class=3D"notranslate">mk_wcwidth</code> has no range for emoji (U+1=
F600 counts as 1 column, terminals draw 2), so a line of emoji is wrapped=
 as if half as wide and runs past the right edge of the screen. Master wr=
apped such lines too early but never overflowed. That is an existing <cod=
e class=3D"notranslate">wcwidth.c</code> limitation, but it contradicts t=
he claim that emoji wrapping is fixed, so either the table needs the wide=
 emoji ranges or the description should be narrowed.</p>
<p dir=3D"auto">Could use a human: check emoji and CJK wrapping in a real=
 terminal (my renderer font has no CJK glyphs, so those showed as boxes).=
</p>

<p style=3D"font-size:small;-webkit-text-size-adjust:none;color:#666;">&m=
dash;<br />Reply to this email directly, <a href=3D"https://github.com/ba=
rnowl/barnowl/pull/192?email_source=3Dnotifications&amp;email_token=3DABC=
ERSOUYDP3DN7UPNRLRUL5XINANA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW=
2ZLOOQXTMNRRGE3DSMJTG422M4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOSWGM33PORSXE=
X3DNRUWG2Y#issuecomment-6611691375">view it on GitHub</a>, or <a href=3D"=
https://github.com/notifications/unsubscribe-auth/ABCERSLJYAWWNTHWT2LXPGL=
5XINANAVCNFSNUABCKJSXA33TNF2G64TZHM3TINZTGA4TWSLTON2WKOZWGE2TMNBWHA4TEM5B=
OYBA">unsubscribe</a>.<br />Triage notifications, keep track of coding ag=
ent tasks and review pull requests on the go with GitHub Mobile for <a hr=
ef=3D"https://github.com/notifications/mobile/ios/ABCERSI7ULDW4OSJUJS5PZ3=
5XINANA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRRGE3DSMJT=
G422M4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOSVGM33PORSXEX3JN5ZQ">iOS</a> and=
 <a href=3D"https://github.com/notifications/mobile/android/ABCERSPMZGN5A=
TE7BGWCYLT5XINANA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMN=
RRGE3DSMJTG422M4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOSXGM33PORSXEX3BNZSHE33=
JMQ">Android</a>. Download it today!
<br />You are receiving this because you are subscribed to this thread.<i=
mg src=3D"https://github.com/notifications/beacon/ABCERSMDBFB7S3L2SNDOBND=
5XINANBFCNFSM6AAAAADD77TNLKWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3P=
NVWWK3TUL5UWJTYAAAAADCQWM5X2M4TFMFZW63VKON2WE43DOJUWEZLE.gif" height=3D"1=
" width=3D"1" alt=3D"" /><span style=3D"color: transparent; font-size: 0;=
 display: none; visibility: hidden; overflow: hidden; opacity: 0; width: =
0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <sp=
an>&lt;barnowl/barnowl/pull/192/c6611691375</span><span>@</span><span>git=
hub</span><span>.</span><span>com&gt;</span></span></p>

<script type=3D"application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/barnowl/barnowl/pull/192?email_source=3Dnot=
ifications\u0026email_token=3DABCERSNTVJPRWLPUHLGOTVL5XINANA5CNFSNUABFM5U=
WIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRRGE3DSMJTG422M4TFMFZW63VKON2W=
E43DOJUWEZLEUVSXMZLOOSVWO3LBNFWF6Y3MNFRWW#issuecomment-6611691375",
"url": "https://github.com/barnowl/barnowl/pull/192?email_source=3Dnotifi=
cations\u0026email_token=3DABCERSNTVJPRWLPUHLGOTVL5XINANA5CNFSNUABFM5UWIO=
RPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRRGE3DSMJTG422M4TFMFZW63VKON2WE43=
DOJUWEZLEUVSXMZLOOSVWO3LBNFWF6Y3MNFRWW#issuecomment-6611691375",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>

----==_mimepart_6aea228650895_10c12d0449961--

home help back first fref pref prev next nref lref last post