[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1806: dired-pop-to-buffer in wrong place
From: |
martin rudalics |
Subject: |
bug#1806: dired-pop-to-buffer in wrong place |
Date: |
Thu, 08 Jan 2009 08:42:35 +0100 |
User-agent: |
Thunderbird 2.0.0.16 (Windows/20080708) |
> As I can see currently `fit-window-to-buffer' always takes space
> from the bottom window, but we need it from the top window.
Looking at this again, I believe what you want is to invert the order of
stealing and giving as in the attached patch. Might have side-effects
elsewhere.
martin
Index: window.c
===================================================================
RCS file: /sources/emacs/emacs/src/window.c,v
retrieving revision 1.638
diff -c -r1.638 window.c
*** window.c 8 Jan 2009 03:16:08 -0000 1.638
--- window.c 8 Jan 2009 07:21:10 -0000
***************
*** 4125,4171 ****
while (delta != 0
&& (!NILP (next) || !NILP (prev)))
{
! if (! NILP (next))
{
! int this_one = ((*sizefun) (next)
! - window_min_size (XWINDOW (next), horiz_flag,
0, 0, &fixed_p));
if (!fixed_p)
{
if (this_one > delta)
this_one = delta;
! (*setsizefun) (next, (*sizefun) (next) - this_one, 0);
(*setsizefun) (window, XINT (*sizep) + this_one, 0);
delta -= this_one;
}
! next = XWINDOW (next)->next;
}
if (delta == 0)
break;
! if (! NILP (prev))
{
! int this_one = ((*sizefun) (prev)
! - window_min_size (XWINDOW (prev), horiz_flag,
0, 0, &fixed_p));
if (!fixed_p)
{
if (this_one > delta)
this_one = delta;
! first_affected = prev;
!
! (*setsizefun) (prev, (*sizefun) (prev) - this_one, 0);
(*setsizefun) (window, XINT (*sizep) + this_one, 0);
delta -= this_one;
}
! prev = XWINDOW (prev)->prev;
}
}
--- 4125,4171 ----
while (delta != 0
&& (!NILP (next) || !NILP (prev)))
{
! if (! NILP (prev))
{
! int this_one = ((*sizefun) (prev)
! - window_min_size (XWINDOW (prev), horiz_flag,
0, 0, &fixed_p));
if (!fixed_p)
{
if (this_one > delta)
this_one = delta;
! first_affected = prev;
!
! (*setsizefun) (prev, (*sizefun) (prev) - this_one, 0);
(*setsizefun) (window, XINT (*sizep) + this_one, 0);
delta -= this_one;
}
! prev = XWINDOW (prev)->prev;
}
if (delta == 0)
break;
! if (! NILP (next))
{
! int this_one = ((*sizefun) (next)
! - window_min_size (XWINDOW (next), horiz_flag,
0, 0, &fixed_p));
if (!fixed_p)
{
if (this_one > delta)
this_one = delta;
! (*setsizefun) (next, (*sizefun) (next) - this_one, 0);
(*setsizefun) (window, XINT (*sizep) + this_one, 0);
delta -= this_one;
}
! next = XWINDOW (next)->next;
}
}
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/06
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/06
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/06
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/06
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/06
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/07
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/07
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/07
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/07
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/07
- bug#1806: dired-pop-to-buffer in wrong place,
martin rudalics <=
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/08
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/09
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/13
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/14
- bug#1806: dired-pop-to-buffer in wrong place, Stefan Monnier, 2009/01/14
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/14
- bug#1806: dired-pop-to-buffer in wrong place, Stefan Monnier, 2009/01/14
- bug#1806: dired-pop-to-buffer in wrong place, martin rudalics, 2009/01/15
- bug#1806: dired-pop-to-buffer in wrong place, Stefan Monnier, 2009/01/15
- bug#1806: dired-pop-to-buffer in wrong place, Juri Linkov, 2009/01/15