diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/window.c | 12 |
2 files changed, 18 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index ff6b9508d62..7f4c59b8eb4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2013-04-11 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * window.c (Fwindow_end): Test more flags, including the buffer's | ||
| 4 | last_overlay_modified flag, to determine whether the window's | ||
| 5 | display is really up-to-date. Prevents the function from | ||
| 6 | returning a stale value. (Bug#14170) | ||
| 7 | (Fwindow_line_height): Fix the test for up-to-date-ness of the | ||
| 8 | current matrix. | ||
| 9 | |||
| 1 | 2013-04-10 Eli Zaretskii <eliz@gnu.org> | 10 | 2013-04-10 Eli Zaretskii <eliz@gnu.org> |
| 2 | 11 | ||
| 3 | * frame.c (do_switch_frame): Mark the TTY frame we switch to as | 12 | * frame.c (do_switch_frame): Mark the TTY frame we switch to as |
diff --git a/src/window.c b/src/window.c index 416d27d2405..ee3feb90b7b 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -1494,7 +1494,12 @@ if it isn't already recorded. */) | |||
| 1494 | b = XBUFFER (buf); | 1494 | b = XBUFFER (buf); |
| 1495 | 1495 | ||
| 1496 | if (! NILP (update) | 1496 | if (! NILP (update) |
| 1497 | && (windows_or_buffers_changed || !w->window_end_valid) | 1497 | && (windows_or_buffers_changed |
| 1498 | || !w->window_end_valid | ||
| 1499 | || b->clip_changed | ||
| 1500 | || b->prevent_redisplay_optimizations_p | ||
| 1501 | || w->last_modified < BUF_MODIFF (b) | ||
| 1502 | || w->last_overlay_modified < BUF_OVERLAY_MODIFF (b)) | ||
| 1498 | && !noninteractive) | 1503 | && !noninteractive) |
| 1499 | { | 1504 | { |
| 1500 | struct text_pos startp; | 1505 | struct text_pos startp; |
| @@ -1703,8 +1708,9 @@ Return nil if window display is not up-to-date. In that case, use | |||
| 1703 | 1708 | ||
| 1704 | /* Fail if current matrix is not up-to-date. */ | 1709 | /* Fail if current matrix is not up-to-date. */ |
| 1705 | if (!w->window_end_valid | 1710 | if (!w->window_end_valid |
| 1706 | || current_buffer->clip_changed | 1711 | || windows_or_buffers_changed |
| 1707 | || current_buffer->prevent_redisplay_optimizations_p | 1712 | || b->clip_changed |
| 1713 | || b->prevent_redisplay_optimizations_p | ||
| 1708 | || w->last_modified < BUF_MODIFF (b) | 1714 | || w->last_modified < BUF_MODIFF (b) |
| 1709 | || w->last_overlay_modified < BUF_OVERLAY_MODIFF (b)) | 1715 | || w->last_overlay_modified < BUF_OVERLAY_MODIFF (b)) |
| 1710 | return Qnil; | 1716 | return Qnil; |