changeset 33536:035e7b097577

(fit-window-to-buffer): Be sure to acquire at least one text line even if the buffer is empty.
author Kenichi Handa <handa@m17n.org>
date Thu, 16 Nov 2000 06:15:55 +0000
parents 22c73c25126b
children 53c51fd75027
files lisp/window.el
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/window.el	Thu Nov 16 06:14:00 2000 +0000
+++ b/lisp/window.el	Thu Nov 16 06:15:55 2000 +0000
@@ -456,6 +456,11 @@
 	  ;; (`count-screen-lines' always works on the current buffer).
 	  (with-current-buffer buf
 	    (+ (count-screen-lines)
+	       ;; If the buffer is empty, (count-screen-lines) is
+	       ;; zero.  But, even in that case, we need one text line
+	       ;; for cursor.
+	       (if (= (point-min) (point-max))
+		   1 0)
 	       ;; For non-minibuffers, count the mode-line, if any
 	       (if (and (not (window-minibuffer-p window))
 			mode-line-format)
@@ -495,11 +500,13 @@
 			 (1- (point))
 		       (point))))))
 	(set-window-vscroll window 0)
+	(prog1
+	 (list desired-height max-height)
 	(while (and (< desired-height max-height)
 		    (= desired-height (window-height window))
 		    (not (pos-visible-in-window-p end window t)))
 	  (enlarge-window 1)
-	  (setq desired-height (1+ desired-height)))))))
+	  (setq desired-height (1+ desired-height))))))))
 
 (defun shrink-window-if-larger-than-buffer (&optional window)
   "Shrink the WINDOW to be as small as possible to display its contents.