bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#57669: 29.0.50; C-n, C-p off under long lines


From: Gregory Heytings
Subject: bug#57669: 29.0.50; C-n, C-p off under long lines
Date: Sat, 10 Sep 2022 16:55:21 +0000



The buffer->text->monospace flag is likewise implemented based on simplistic assumptions: that only text properties could violate the "monospace-ness" attribute. Here's why this is simplistic:

. faces can be applied by overlays as well

. faces can be applied directly by C code

. faces can be applied by using glyphs from display-tables

. even if we only have the default face, fonts used for various non-ASCII characters can have different metrics from the default face's font, and in some cases they can even be variable-pitch fonts

. portions of display can be made invisible by selective-display, not just by 'invisible' properties

(I'm not claiming that the above is the exhaustive list of all the reasons that the assumptions in behaved_p could be violated; there could be more of them.)


FWIW, the simplest recipe for the fourth point above is to create a buffer with a long line (with say C-u 10000 a) and to insert, somewhere in the middle of that line, characters which have a width equal to zero (e.g. C-x 8 RET zero width space RET) and characters which have a width equal to two (e.g. C-x 8 RET e i s s a). You'll see that your algebraic calculations do not work anymore.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]