From c15eb9ec5589b7784393623515e8ea905c609b78 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sun, 23 Apr 1989 23:17:38 +0000 Subject: [PATCH] Change `%window-y-center' to restrict its result to the proper range. --- v7/src/edwin/bufwin.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/v7/src/edwin/bufwin.scm b/v7/src/edwin/bufwin.scm index 7d420f9eb..8a22a9906 100644 --- a/v7/src/edwin/bufwin.scm +++ b/v7/src/edwin/bufwin.scm @@ -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 ;;; @@ -507,9 +507,14 @@ (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 -- 2.25.1