]> git.eshelyaron.com Git - emacs.git/commitdiff
(window-buffer-height): Use count-screen-lines.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 28 Mar 2005 14:52:02 +0000 (14:52 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 28 Mar 2005 14:52:02 +0000 (14:52 +0000)
lisp/ChangeLog
lisp/window.el

index 46f5bdc0880ec5acca3fa335a42e564670b841b4..5fe346e9840b1f1debfb92e1e78f4686cc22d271 100644 (file)
@@ -1,5 +1,7 @@
 2005-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * window.el (window-buffer-height): Use count-screen-lines.
+
        * progmodes/python.el (python-preoutput-leftover): New var.
        (python-preoutput-filter): Use it.
        (python-send-receive): Loop until all the result has been received.
index 5768436eaae5c2520740d82f7f7699f1345f55ca..b4fd664a43c0175ea8e0bccc663604ccf4546ef2 100644 (file)
@@ -397,20 +397,13 @@ lines than are actually needed in the case where some error may be present."
 
 (defun window-buffer-height (window)
   "Return the height (in screen lines) of the buffer that WINDOW is displaying."
-  (save-excursion
-    (set-buffer (window-buffer window))
-    (goto-char (point-min))
-    (let ((ignore-final-newline
-           ;; If buffer ends with a newline, ignore it when counting height
-           ;; unless point is after it.
-           (and (not (eobp)) (eq ?\n (char-after (1- (point-max)))))))
-      (+ 1 (nth 2 (compute-motion (point-min)
-                                  '(0 . 0)
-                                  (- (point-max) (if ignore-final-newline 1 0))
-                                  (cons 0 100000000)
-                                  nil
-                                  nil
-                                  window))))))
+  (with-current-buffer (window-buffer window)
+    (max 1
+        (count-screen-lines (point-min) (point-max)
+                            ;; If buffer ends with a newline, ignore it when
+                            ;; counting height unless point is after it.
+                            (eobp)
+                            window))))
 
 (defun count-screen-lines (&optional beg end count-final-newline window)
   "Return the number of screen lines in the region.