Subject: bug#51766: 29.0.50; Return value of buffer-chars-modified-tick changes when buffer text is not yet changed before inserting a character for non-latin input methods

From: Eli Zaretskii <[email-masked]>
Date: Fri, 17 Jun 2022 13:50:04 +0300

> From: Ihor Radchenko <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
> Date: Fri, 17 Jun 2022 18:05:36 +0800
> 
> Combined with the issue revealed in this bug report, I am left with no
> Emacs tools to handle the problematic buffer modifications.

You aren't supposed to try to do that in Lisp.  I suggest to describe
a generalization of the use cases you are aware of which you think
need this, and then we could think about implementing some or all of
it in C.

> valign relies on disabling modification hooks because it is otherwise
> difficult to figure out pixel width of a string in current buffer:
> https://github.com/casouri/valign/issues/30

That discussion is very short and lacking in detail, but up front, why
doesn't valign use the primitives we provide for determining the pixel
width of a string?