emacs-devel
[Top][All Lists]
Advanced

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

Is there an IT test for a tab-width spacer?


From: Keith David Bershatsky
Subject: Is there an IT test for a tab-width spacer?
Date: Tue, 24 Oct 2017 17:59:47 -0700

I am working on implementing crosshairs (17684) and multiple fake cursors 
(22873).

it.c lets us know whether we are on the initial tab that has been assigned a 
character by the user with the buffer-display-table, e.g., 187/ยป.

it.c also lets us know whether we have moved beyond that location to a tab 
without a character; i.e., 9, aka (char-to-string 9).

I am having trouble calculating the X and HPOS for each and every location 
between the initial tab and the next textual character.  A buffer-display-table 
for a tab that is assigned a leading 187 followed by a 9 has a minimum 
tab-width of 2.  Even though the buffer-local value for tab-width may be 2, 
that combination of 187/9 might be a total of 3 characters wide depending upon 
the circumstances.  And as the user increases the buffer-local tab-width value, 
it seemingly becomes more difficult to predict the X and HPOS.

Inching along with a test similar to line 22682 in xdisp.c seems insufficient 
for this particular project:  while (it.current_x + it.pixel_width <= target_x).

To analyze the width of the spacer and calculate the X and HPOS for each 
location within that space, is it necessary to go to the next character and 
then mathematically determine what the previous tab-width was?

Thanks,

Keith



reply via email to

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