bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#4534: assertion failure at window.c:grow_mini_window


From: martin rudalics
Subject: bug#4534: assertion failure at window.c:grow_mini_window
Date: Thu, 24 Sep 2009 17:32:22 +0200
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

>>              shrink_mini_window (w);
>>              ... should resize the mini_window down to one line ...
>
> That's exactly what happens, except that shrink_mini_window (w) does
> *not* resize the miniwindow; it's still 6 lines height. So

Too bad.  Anyway, this configuration is completely useless to get the
original sizes back when we're done with the miniwindow.  Could you try
brute force as in the untested patch attached?

martin
*** xdisp.c.~1.1295.~   2009-08-20 10:47:19.687500000 +0200
--- xdisp.c     2009-09-24 17:23:23.937500000 +0200
***************
*** 8789,8816 ****
        }
        else
        {
!         /* Always resize to exact size needed.  */
!         if (height > WINDOW_TOTAL_LINES (w))
!           {
!             int old_height = WINDOW_TOTAL_LINES (w);
!             freeze_window_starts (f, 1);
!             grow_mini_window (w, height - WINDOW_TOTAL_LINES (w));
!             window_height_changed_p = WINDOW_TOTAL_LINES (w) != old_height;
!           }
!         else if (height < WINDOW_TOTAL_LINES (w))
!           {
!             int old_height = WINDOW_TOTAL_LINES (w);
!             freeze_window_starts (f, 0);
!             shrink_mini_window (w);
! 
!             if (height)
!               {
!                 freeze_window_starts (f, 1);
!                 grow_mini_window (w, height - WINDOW_TOTAL_LINES (w));
!               }
! 
!             window_height_changed_p = WINDOW_TOTAL_LINES (w) != old_height;
!           }
        }
  
        if (old_current_buffer)
--- 8789,8799 ----
        }
        else
        {
!         int old_height = WINDOW_TOTAL_LINES (w);
!         freeze_window_starts (f, 1);
!         shrink_mini_window (w);
!         grow_mini_window (w, height - WINDOW_TOTAL_LINES (w));
!         window_height_changed_p = WINDOW_TOTAL_LINES (w) != old_height;
        }
  
        if (old_current_buffer)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]