From e75e3fd5e092c21feac26d34c5acdf9b4cf8c016 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Thu, 10 Sep 1992 02:44:28 +0000 Subject: [PATCH] Extend the definition of SELECT-BUFFER-IN-WINDOW so that it has the functionality of SET-WINDOW-BUFFER!. Eliminate the latter, then export the procedure of the same name from the window package. --- v7/src/edwin/buffrm.scm | 29 ++++++++++++++++++----------- v7/src/edwin/bufmnu.scm | 4 ++-- v7/src/edwin/curren.scm | 21 +++++++++------------ v7/src/edwin/edwin.pkg | 3 ++- v7/src/edwin/rename.scm | 7 +++---- v7/src/edwin/wincom.scm | 10 ++++++---- v7/src/edwin/winren.scm | 7 +++---- 7 files changed, 43 insertions(+), 38 deletions(-) diff --git a/v7/src/edwin/buffrm.scm b/v7/src/edwin/buffrm.scm index 966a056d9..e87ca68f9 100644 --- a/v7/src/edwin/buffrm.scm +++ b/v7/src/edwin/buffrm.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/buffrm.scm,v 1.45 1992/09/08 22:32:36 cph Exp $ +;;; $Id: buffrm.scm,v 1.46 1992/09/10 02:43:14 cph Exp $ ;;; ;;; Copyright (c) 1986, 1989-92 Massachusetts Institute of Technology ;;; @@ -401,15 +401,18 @@ Automatically becomes local when set in any fashion." (lambda (window) (let ((association (assq window converted-windows))) (and association - (cdr association)))))) + (cdr association))))) + (selected-window (editor-frame-selected-window frame))) (make-window-configuration (screen-x-size screen) (screen-y-size screen) root-window (window-x-size frame) (window-y-size frame) - (converted-window (editor-frame-selected-window frame)) - (converted-window (editor-frame-cursor-window frame)) + (converted-window selected-window) + (let ((window (editor-frame-cursor-window frame))) + (and (not (eq? window selected-window)) + (converted-window window))) (let ((window (object-unhash *minibuffer-scroll-window*))) (and window (converted-window window))))))) @@ -453,11 +456,12 @@ Automatically becomes local when set in any fashion." (let ((buffer (saved-window/buffer saved-window))) (if (buffer-alive? buffer) (begin - (set-window-buffer! window buffer) - (set-window-point! window - (saved-window/point saved-window)) - (push-buffer-mark! buffer - (saved-window/mark saved-window)) + (%set-buffer-point! buffer + (saved-window/point saved-window)) + (select-buffer-in-window buffer window false) + (let ((mark (saved-window/mark saved-window))) + (if mark + (push-buffer-mark! buffer mark))) (set-window-start-mark! window (saved-window/start-mark saved-window) @@ -468,7 +472,7 @@ Automatically becomes local when set in any fashion." (for-each (lambda (window) (let ((buffer (other-buffer false))) (if buffer - (set-window-buffer! window buffer)))) + (select-buffer-in-window buffer window false)))) need-buffers) (let ((convert-window (lambda (saved-window) @@ -484,7 +488,10 @@ Automatically becomes local when set in any fashion." (screen-select-window! screen window)))))) (let ((window (window-configuration/cursor-window configuration))) (if window - (screen-select-cursor! screen (convert-window window)))) + (let ((window (convert-window window))) + (without-interrupts + (lambda () + (screen-select-cursor! screen window)))))) (let ((window (window-configuration/minibuffer-scroll-window configuration))) diff --git a/v7/src/edwin/bufmnu.scm b/v7/src/edwin/bufmnu.scm index fd07a613f..c54e30418 100644 --- a/v7/src/edwin/bufmnu.scm +++ b/v7/src/edwin/bufmnu.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/bufmnu.scm,v 1.119 1992/04/16 22:29:46 cph Exp $ +;;; $Id: bufmnu.scm,v 1.120 1992/09/10 02:44:14 cph Exp $ ;;; ;;; Copyright (c) 1986, 1989-92 Massachusetts Institute of Technology ;;; @@ -182,7 +182,7 @@ You can mark buffers with the \\[buffer-menu-mark] command." (let ((new (window-split-vertically! window height))) (if new (begin - (set-window-buffer! new (car buffers) true) + (select-buffer-in-window (car buffers) new true) (loop new (cdr buffers)))))) (loop window others)))))) (clear-message))) diff --git a/v7/src/edwin/curren.scm b/v7/src/edwin/curren.scm index a4090ce69..f6948ea34 100644 --- a/v7/src/edwin/curren.scm +++ b/v7/src/edwin/curren.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/curren.scm,v 1.103 1992/04/10 20:20:50 cph Exp $ +;;; $Id: curren.scm,v 1.104 1992/09/10 02:43:53 cph Exp $ ;;; ;;; Copyright (c) 1986, 1989-92 Massachusetts Institute of Technology ;;; @@ -379,7 +379,7 @@ last-buffer (error "Buffer to be killed has no replacement" buffer)))) - (set-window-buffer! (car windows) new-buffer false) + (select-buffer-in-window new-buffer (car windows) false) (loop (cdr windows) new-buffer)))) (bufferset-kill-buffer! (current-bufferset) buffer)))) @@ -403,23 +403,20 @@ (or (buffer-get buffer key) '())) (define (select-buffer buffer) - (set-window-buffer! (current-window) buffer true)) + (select-buffer-in-window buffer (current-window) true)) (define (select-buffer-no-record buffer) - (set-window-buffer! (current-window) buffer false)) + (select-buffer-in-window buffer (current-window) false)) -(define (select-buffer-in-window buffer window) - (set-window-buffer! window buffer true)) - -(define (set-window-buffer! window buffer record?) +(define (select-buffer-in-window buffer window record?) (without-interrupts (lambda () (undo-leave-window! window) (if (current-window? window) (change-selected-buffer buffer record? (lambda () - (%set-window-buffer! window buffer))) - (%set-window-buffer! window buffer))))) + (set-window-buffer! window buffer))) + (set-window-buffer! window buffer))))) (define-variable select-buffer-hook "An event distributor that is invoked when a buffer is selected. @@ -440,7 +437,7 @@ The buffer is guaranteed to be selected at that time." (let ((window (current-window))) (set! old-buffer (window-buffer window)) (if (buffer-alive? buffer) - (set-window-buffer! window buffer true))) + (select-buffer-in-window buffer window true))) (set! buffer) unspecific) thunk @@ -448,7 +445,7 @@ The buffer is guaranteed to be selected at that time." (let ((window (current-window))) (set! buffer (window-buffer window)) (if (buffer-alive? old-buffer) - (set-window-buffer! window old-buffer true))) + (select-buffer-in-window old-buffer window true))) (set! old-buffer) unspecific)))) diff --git a/v7/src/edwin/edwin.pkg b/v7/src/edwin/edwin.pkg index 2358e7239..db8569a56 100644 --- a/v7/src/edwin/edwin.pkg +++ b/v7/src/edwin/edwin.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/edwin.pkg,v 1.98 1992/09/08 18:18:18 cph Exp $ +$Id: edwin.pkg,v 1.99 1992/09/10 02:44:17 cph Exp $ Copyright (c) 1989-92 Massachusetts Institute of Technology @@ -377,6 +377,7 @@ MIT in each case. |# edwin-variable$truncate-partial-width-windows screen-window-configuration set-screen-window-configuration! + set-window-buffer! set-window-debug-trace! set-window-point! set-window-start-mark! diff --git a/v7/src/edwin/rename.scm b/v7/src/edwin/rename.scm index 93f21506e..11b7395dc 100644 --- a/v7/src/edwin/rename.scm +++ b/v7/src/edwin/rename.scm @@ -1,8 +1,8 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/rename.scm,v 1.4 1990/11/02 03:24:41 cph Rel $ +;;; $Id: rename.scm,v 1.5 1992/09/10 02:44:22 cph Exp $ ;;; -;;; Copyright (c) 1989, 1990 Massachusetts Institute of Technology +;;; Copyright (c) 1989-92 Massachusetts Institute of Technology ;;; ;;; This material was developed by the Scheme project at the ;;; Massachusetts Institute of Technology, Department of @@ -59,5 +59,4 @@ (e<-w 'window? 'buffer-frame?) (e<-w 'window-x-size 'buffer-frame-x-size) (e<-w 'window-y-size 'buffer-frame-y-size) - (e<-w 'window-needs-redisplay? 'buffer-frame-needs-redisplay?) - (e<-w '%set-window-buffer! 'set-window-buffer!))) \ No newline at end of file + (e<-w 'window-needs-redisplay? 'buffer-frame-needs-redisplay?))) \ No newline at end of file diff --git a/v7/src/edwin/wincom.scm b/v7/src/edwin/wincom.scm index aaa07ab6c..431cf572b 100644 --- a/v7/src/edwin/wincom.scm +++ b/v7/src/edwin/wincom.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/wincom.scm,v 1.111 1992/02/12 23:47:39 cph Exp $ +;;; $Id: wincom.scm,v 1.112 1992/09/10 02:44:25 cph Exp $ ;;; ;;; Copyright (c) 1987, 1989-92 Massachusetts Institute of Technology ;;; @@ -376,7 +376,7 @@ ARG lines. No arg means split equally." (let ((window (current-window)) (use-window (lambda (window) - (select-buffer-in-window buffer window) + (select-buffer-in-window buffer window true) (select-window window)))) (let loop ((windows (buffer-windows buffer))) (cond ((null? windows) @@ -399,7 +399,9 @@ ARG lines. No arg means split equally." (let ((screen (other-screen (selected-screen) false))) (if screen (begin - (select-buffer-in-window buffer (screen-selected-window screen)) + (select-buffer-in-window buffer + (screen-selected-window screen) + true) screen) (make-screen buffer)))) (editor-error "Display doesn't support multiple screens"))) @@ -451,7 +453,7 @@ Also kills any pop up window it may have created." window)) (define (pop-into-window window) - (set-window-buffer! window buffer true) + (select-buffer-in-window buffer window true) (maybe-record-window window)) (define (maybe-record-window window) diff --git a/v7/src/edwin/winren.scm b/v7/src/edwin/winren.scm index e46443cc1..f5e12c909 100644 --- a/v7/src/edwin/winren.scm +++ b/v7/src/edwin/winren.scm @@ -1,8 +1,8 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/winren.scm,v 1.3 1990/11/02 03:25:09 cph Rel $ +;;; $Id: winren.scm,v 1.4 1992/09/10 02:44:28 cph Exp $ ;;; -;;; Copyright (c) 1989, 1990 Massachusetts Institute of Technology +;;; Copyright (c) 1989-92 Massachusetts Institute of Technology ;;; ;;; This material was developed by the Scheme project at the ;;; Massachusetts Institute of Technology, Department of @@ -50,5 +50,4 @@ (define window?) (define window-x-size) (define window-y-size) -(define window-needs-redisplay?) -(define %set-window-buffer!) \ No newline at end of file +(define window-needs-redisplay?) \ No newline at end of file -- 2.25.1