[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
update_window: w->desired_matrix is a partial representation.
From: |
Keith David Bershatsky |
Subject: |
update_window: w->desired_matrix is a partial representation. |
Date: |
Thu, 17 Jan 2019 00:05:28 -0800 |
I am working on optimizing redrawing fake cursors in relation to implementing
proposed feature requests #22873 (multiple fake cursors); and, #17684
(crosshairs / visible fill-column).
HYPOTHETICAL:
* The header-line-format is non-nil.
* Line numbering is turned on.
* The window contains a word-wrapped line consisting of 4 screen lines;
followed by a hard return; followed by miscellaneous lines of text.
0. My header-line format.
1. 12345⤸
2. 67890⤸
3. 12345⤸
4. 67890
5.
6. Every good boy deserves fudge.
7. Once upon a time there lived a ....
* The user interactively calls undo, and text (!) is inserted into the middle
of the first screen line.
* The word-wrapped line in the first step increases in length from 4 screen
lines to 5 screen lines; followed by a hard return; followed by miscellaneous
lines.
0. My header-line format.
1. 12!34⤸
2. 56789⤸
3. 01234⤸
4. 56789⤸
5. 0
6.
7. Every good boy deserves fudge.
8. Once upon a time there lived a ....
RESULT:
* All subsequent screen lines get pushed down one row to make room for the new
row (VPOS 5) that was inserted by the undo.
* update_window_line reports that VPOS lines 1 to 5 are changed_p.
* If we dump_glyph_row for each line of w->desired_matrix from within
update_window, we observe that the empty line between the first 6 screen lines
(including the header-line) and the subsequent miscellaneous lines is _not_
present. VPOS 6 is "Every good by deserves fudge."
ERRONEOUS EXPECTATION: I expected VPOS 6 of w->desired_matrix to be the line
containing a visible line number 6, _not_ the subsequent line that contains
"Every good by deserves fudge."
QUESTION #1: From within update_window, is it possible to programmatically
access the glyph_row containing the visible line number 6?
QUESTION #2: From within update_window, is it possible to programmatically
test to see whether VPOS 6 and all subsequent screen lines have been pushed
downwards to make room for the new VPOS 5?
- update_window: w->desired_matrix is a partial representation.,
Keith David Bershatsky <=