[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/window.c
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/src/window.c |
Date: |
Thu, 01 Dec 2005 11:25:16 -0500 |
Index: emacs/src/window.c
diff -c emacs/src/window.c:1.528 emacs/src/window.c:1.529
*** emacs/src/window.c:1.528 Sun Nov 27 19:16:28 2005
--- emacs/src/window.c Thu Dec 1 16:25:15 2005
***************
*** 1969,1975 ****
GCPRO1 (windows);
best_window = Qnil;
! for (; CONSP (windows); windows = CDR (windows))
{
struct window *w;
--- 1969,1975 ----
GCPRO1 (windows);
best_window = Qnil;
! for (; CONSP (windows); windows = XCDR (windows))
{
struct window *w;
***************
*** 3667,3673 ****
#endif
set_buffer_internal (old);
! if (!EQ (Vtemp_buffer_show_function, Qnil))
call1 (Vtemp_buffer_show_function, buf);
else
{
--- 3667,3673 ----
#endif
set_buffer_internal (old);
! if (!NILP (Vtemp_buffer_show_function))
call1 (Vtemp_buffer_show_function, buf);
else
{
***************
*** 5831,5837 ****
else
{
if (XBUFFER (new_current_buffer) == current_buffer)
! old_point = PT;
else
/* BUF_PT (XBUFFER (new_current_buffer)) gives us the position of
point in new_current_buffer as of the last time this buffer was
--- 5831,5853 ----
else
{
if (XBUFFER (new_current_buffer) == current_buffer)
! /* The code further down "preserves point" by saving here PT in
! old_point and then setting it later back into PT. When the
! current-selected-window and the final-selected-window both show
! the current buffer, this suffers from the problem that the
! current PT is the window-point of the current-selected-window,
! while the final PT is the point of the final-selected-window, so
! this copy from one PT to the other would end up moving the
! window-point of the final-selected-window to the window-point of
! the current-selected-window. So we have to be careful which
! point of the current-buffer we copy into old_point. */
! if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer)
! && WINDOWP (selected_window)
! && EQ (XWINDOW (selected_window)->buffer, new_current_buffer)
! && !EQ (selected_window, data->current_window))
! old_point = XMARKER (XWINDOW (data->current_window)->pointm)->charpos;
! else
! old_point = PT;
else
/* BUF_PT (XBUFFER (new_current_buffer)) gives us the position of
point in new_current_buffer as of the last time this buffer was
- [Emacs-diffs] Changes to emacs/src/window.c,
Stefan Monnier <=