GNU bug report logs -
#13007
24.3.50; emacs_backtrace.txt
Previous Next
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> 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
This bug report was last modified 9 years and 199 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.