Subject: bug#54488: 29.0.50; move-to-column/overlay-related regression in latest master, perhaps 28?

From: Eli Zaretskii <[email-masked]>
Date: Thu, 24 Mar 2022 17:29:25 +0200

> From: João Távora <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Thu, 24 Mar 2022 15:01:30 +0000
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > I see that you had problems reconciling the LSP idea of "columns" with
> > that of Emacs.  If LSP indeed works in UTF-16 (I don't know, but I
> > have no reason to doubt that), then I think your solution is decent,
> > although actually encoding stuff could be overhead: after all, whether
> > a given codepoint takes 1 or 2 UTF-16 code units can be easily
> > established by looking at the codepoints themselves.  But that's an
> > optimization.
> 
> An interesting one, though.  I think I follow.  Is there some easy way
> in Emacs to measure how many UTF-16 code units a given codepoint takes?

That's easy: any codepoint above #xFFFF needs 2 UTF-16 code units.

> I'm afraid I evicted this knowledge from the cache since I made that fix
> 2,5 years ago... Is a "codepoint" here a character in a string/buffer?

Yes.