Change `%window-y-center' to restrict its result to the proper range.
authorChris Hanson <org/chris-hanson/cph>
Sun, 23 Apr 1989 23:17:38 +0000 (23:17 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 23 Apr 1989 23:17:38 +0000 (23:17 +0000)
v7/src/edwin/bufwin.scm

index 7d420f9ebdc6c836e6bac2b291c64bbcc52c51f5..8a22a9906ba568dae7b64950ad5853b210380e26 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/bufwin.scm,v 1.277 1989/04/20 08:12:57 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/bufwin.scm,v 1.278 1989/04/23 23:17:38 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989 Massachusetts Institute of Technology
 ;;;
 
 (define (%window-y-center window)
   (with-instance-variables buffer-window window ()
-    (let ((qr
-          (integer-divide (* y-size (ref-variable cursor-centering-point))
-                          100)))
-      (if (< (integer-divide-remainder qr) 50)
-         (integer-divide-quotient qr)
-         (1+ (integer-divide-quotient qr))))))
\ No newline at end of file
+    (let ((result
+          (let ((qr
+                 (integer-divide
+                  (* y-size (ref-variable cursor-centering-point))
+                  100)))
+            (if (< (integer-divide-remainder qr) 50)
+                (integer-divide-quotient qr)
+                (1+ (integer-divide-quotient qr))))))
+      (cond ((< result 0) 0)
+           ((< result y-size) result)
+           (else (-1+ y-size))))))
\ No newline at end of file