Subject: bug#6385: A slightly less aggressive fit-window-to-buffer

From: Lennart Borgman <[email-masked]>
Date: Wed, 9 Jun 2010 20:56:51 +0200

I believe fit-window-to-buffer has become a bit upset and unnecessary
aggressive because of visual lines. It looks like it need a bit more
feedback from the display system to be really sure that the buffer is
entirely visible.

The attached patch is something I have used to get around the problem.
I am not sure it is the right thing but I am rather sure it does not
hurt.

Too see the problem it tries to fix just call the function with a
buffer larger than window and point below the window bottom (you have
to write a bit elisp code for that).

Of course we need a non-killing version of fit-window-to-buffer, but
for the moment this patch might be useful.
=== modified file 'lisp/window.el'
--- trunk/lisp/window.el	2010-06-07 18:28:02 +0000
+++ patched/lisp/window.el	2010-06-09 18:48:37 +0000
@@ -1502,10 +1502,12 @@
 			     (forward-line 0))
 			   (point))))
 		(set-window-vscroll window 0)
+                (redisplay t)
 		(while (and (< desired-height max-height)
 			    (= desired-height (window-height))
 			    (not (pos-visible-in-window-p end)))
 		  (enlarge-window 1)
+                  (redisplay t)
 		  (setq desired-height (1+ desired-height))))
 	      ;; Return non-nil only if nothing "bad" happened.
 	      (setq value t)))