[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13007: 24.3.50; emacs_backtrace.txt
From: |
Lars Ingebrigtsen |
Subject: |
bug#13007: 24.3.50; emacs_backtrace.txt |
Date: |
Tue, 29 Dec 2015 12:08:49 +0100 |
User-agent: |
Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.1.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> Function set_window_buffer (W, B, ...) is called where W is selected_window
>> and XBUFFER (B) != current_buffer. This function temporary sets current
>> buffer to XBUFFER (B) to run hooks, and then restore old current_buffer [1].
>> So, on exit we have XBUFFER (XWINDOW (selected_window)->buffer) !=
>> current_buffer,
>> and these gets _finally_ synchronized only when read_key_sequence is called
>> with
>> fix_current_buffer == true [2]. If redisplay is invoked between [1] and [2],
>> its routines may see the condition which was eassert'ed; _finally_ means
>> that some redisplay routines may do the synchronization temporary and
>> then restore original value of current buffer (see pos_visible_p for
>> example).
>
> OK. So what do you suggest, in practical terms? Are you saying that
> we should use BUF_MODIFF(XBUFFER (w->buffer)) instead of MODIFF and
> BUF_OVERLAY_MODIFF(XBUFFER (w->buffer)) instead of OVERLAY_MODIFF
> inside window_outdated? Or do you suggest something else?
>
> I'm okay with using BUF_* macros in window_outdated.
It's unclear what the conclusion here was. Is there anything more to be
done in this bug report?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
- bug#13007: 24.3.50; emacs_backtrace.txt,
Lars Ingebrigtsen <=