Extend the definition of SELECT-BUFFER-IN-WINDOW so that it has the
authorChris Hanson <org/chris-hanson/cph>
Thu, 10 Sep 1992 02:44:28 +0000 (02:44 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 10 Sep 1992 02:44:28 +0000 (02:44 +0000)
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
v7/src/edwin/bufmnu.scm
v7/src/edwin/curren.scm
v7/src/edwin/edwin.pkg
v7/src/edwin/rename.scm
v7/src/edwin/wincom.scm
v7/src/edwin/winren.scm

index 966a056d92a80d18655202023b99a169091ff24e..e87ca68f9c7f13ad2f4d05c056adfe542960a421 100644 (file)
@@ -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)))
index fd07a613fc2948c937784077a8274dc3c3e912ca..c54e30418d9a44410f030439df029204c933ed1b 100644 (file)
@@ -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)))
index a4090ce69f381883f9c4e92553b3cfe89fbd46aa..f6948ea340fd01aa9173324eefcd940f7481506f 100644 (file)
@@ -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
 ;;;
                      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))))
 
   (or (buffer-get buffer key) '()))
 \f
 (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))))
 
index 2358e72396b4bc89cdbcd9037cce3652da0bcac6..db8569a5660f482b0f5815ad1f88c3f2df843556 100644 (file)
@@ -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!
index 93f21506e718aef7c832ee50bbbbe3b7b9dd5a29..11b7395dc9d04e47fe471c231ff6dd4983fc9c75 100644 (file)
@@ -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
index aaa07ab6c47527f79dec2dd96f0926fb87abb511..431cf572b7e4e7d177770c88e69a53db076d596d 100644 (file)
@@ -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)
index e46443cc170a4feb8794e15837ff0bd1c928ab55..f5e12c909ac4a05c6fec63a523fd322f9bb36851 100644 (file)
@@ -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