[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20734: 25.0.50; "Args out of range" with help-window-select t
From: |
Nicolas Richard |
Subject: |
bug#20734: 25.0.50; "Args out of range" with help-window-select t |
Date: |
Fri, 05 Jun 2015 21:48:40 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> 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?
> 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)
otherwise it complains:
--8<---------------cut here---------------start------------->8---
In file included from keyboard.c:26:0:
keyboard.c: In function ‘command_loop_1’:
lisp.h:339:34: warning: comparison between pointer and integer [enabled by
default]
#define lisp_h_EQ(x, y) (XLI (x) == XLI (y))
^
lisp.h:388:19: note: in expansion of macro ‘lisp_h_EQ’
# define EQ(x, y) lisp_h_EQ (x, y)
^
keyboard.c:1621:7: note: in expansion of macro ‘EQ’
&& EQ (XWINDOW (selected_window)->contents, current_buffer)
^
--8<---------------cut here---------------end--------------->8---
--
Nico.