Subject: Re: bug#20734: 25.0.50; "Args out of range" with help-window-select t

From: Eli Zaretskii <[email-masked]>
Date: Fri, 05 Jun 2015 22:56:16 +0300

> From: Nicolas Richard <[email-masked]>
> Cc: [email-masked]
> Date: Fri, 05 Jun 2015 21:48:40 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> > Yes, that's the bug.  But the real problem is that we've switched
> > windows temporarily, and we shouldn't move point in the current buffer
> > at all when we do that.
> 
> Ok. I think I understand now.  What about adding an assertion to make
> sure current_buffer is shown in selected_window at that point?

That'd be fine with me.

> >     I think we shouldn't call adjust_point_for_property in this case
> > at all.  Can you see if adding
> >
> >   && EQ (XWINDOW (selected_window)->contents, current_buffer)
> >
> > to the condition that guards the call to adjust_point_for_property
> > fixes the problem?
> 
> Yes it does, but I wrapped the lhs into XBUFFER :
> 
>   && EQ (XBUFFER (XWINDOW (selected_window)->contents), current_buffer)

Sorry, my bad.  But in that case, you don't need EQ, just use == to
compare 2 C pointers.