[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18545: 24.4.50: Bug - forward-line inside with-selected-window
From: |
martin rudalics |
Subject: |
bug#18545: 24.4.50: Bug - forward-line inside with-selected-window |
Date: |
Sat, 27 Sep 2014 15:36:49 +0200 |
> AFAIU, this means the window is not being redrawn on each
> forward-line; not even its mode line is updated. You should be able
> to confirm this if you turn on trace-redisplay (assuming you've built
> with GLYPH_DEBUG, a.k.a. "--enable-checking=glyphs") -- you will not
> see the window announced in the trace. (Btw, turning off
> blink-cursor-mode removes a lot of clutter from the redisplay trace,
> so I suggest to do that in these experiments.)
I attach an output, can't make much head or tail of it. The *sidebar*
window is the one with the problem, the .emacs window the one on the
right of it.
> If you add to the function that calls forward-line a message showing
> point, do you see the value of point move on each forward-line even
> though the window is not redrawn?
Simply copied from the *Messages* buffer the positions appear as:
17
22
27
32
37
42
47
52
57
62
67
72
77
82
87
92
97
102
107
112
117
122 [28 times]
127
132 [21 times]
137 [23 times]
142 [23 times]
147 [7 times]
Auto-saving...
147 [3 times]
152
157 [22 times]
162 [23 times]
167 [23 times]
172 [9 times]
Each line contains four characters and apparently stuttering begins
at position 122.
>> > if (!cursor_row_fully_visible_p (w, 0, 0))
>> > {
>> > w->cursor.vpos = -1;
>> > clear_glyph_matrix (w->desired_matrix);
>> > goto try_to_scroll;
>> > }
>> >
>> > after the call to set_cursor_from_row on line 16322.
>> >
>> > If this doesn't work, please see why.
>>
>> It fails to do anything because running cursor_row_fully_visible_p
>> returns at
>>
>> if (!MATRIX_ROW_PARTIALLY_VISIBLE_P (w, row))
>> return 1;
>>
>> and this one apparently fails to detect that the row is partially visible
>> because of
>>
>> (gdb) p row->height
>> $5 = 16
>> (gdb) p row->visible_height
>> $6 = 16
>>
>> Any ideas?
>
> What is last_visible_y in that window? To see that, step into
> try_window called on line 16235, wait until it calls start_display,
> and look at it.last_visible_y.
At the xdisp.c line reading:
while (it.current_y < it.last_visible_y)
I have
(gdb) p it.last_visible_y
$7 = 442
and (just to confirm the earlier posted) at the xdisp.c line reading
if (new_vpos >= w->cursor.y)
I have:
(gdb) p new_vpos
$10 = 426
(gdb) p w->cursor.y
$11 = 432
>> BTW is there a way to print the value returned by a macro in gdb?
>
> Yes, just print it:
>
> (gdb) p MATRIX_ROW_PARTIALLY_VISIBLE_P (w, row)
Here I get
(gdb) p MATRIX_ROW_PARTIALLY_VISIBLE_P (w, row)
No symbol "__FILE__" in current context.
> If this doesn't work, perhaps you didn't build with -g3,
I used CPPFLAGS='-DGLYPH_DEBUG=1' CFLAGS='-O0 -g3'
> or your
> compiler is buggy.
Hmm...
martin
As an aside, in my function calling `forward-line' I found this
;; (unless (pos-visible-in-window-p (point) (selected-window))
;; (recenter (- (window-height) 2)))) ; what for did I use that ?
commented out at least since 2008-06-24. Apparently something here did
behave differently many years ago. BTW, the bug does not disappear when
I comment in those lines.
trace-redisplay.txt
Description: Text document
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, (continued)
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, lompik, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, martin rudalics, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, martin rudalics, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window,
martin rudalics <=
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Stefan Monnier, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Stefan Monnier, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, martin rudalics, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/27
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, martin rudalics, 2014/09/28
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/28
- bug#18545: 24.4.50: Bug - forward-line inside with-selected-window, Eli Zaretskii, 2014/09/28