** window-end now takes an optional second argument, UPDATE.
If this is non-nil, then the function always returns an accurate up-to-date value for the buffer position corresponding to the end of the window, even if this requires computation.