Change DISPLAY-STYLE in order to orthogonalize the effects that it can
authorChris Hanson <org/chris-hanson/cph>
Tue, 14 May 1996 01:44:28 +0000 (01:44 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 14 May 1996 01:44:28 +0000 (01:44 +0000)
have.  New design allows each of the different style effects to be
selected separately.

v7/src/edwin/edtfrm.scm
v7/src/edwin/edwin.pkg
v7/src/edwin/screen.scm
v7/src/edwin/vc.scm
v7/src/edwin/window.scm

index eedb68d73c1b6f294c6b7713cc41a06c83469c67..6a8f84baf4117e8e7867a6c0f8e9ded996fc4ec6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: edtfrm.scm,v 1.88 1995/01/06 01:02:39 cph Exp $
+;;;    $Id: edtfrm.scm,v 1.89 1996/05/14 01:44:28 cph Exp $
 ;;;
 ;;;    Copyright (c) 1985, 1989-95 Massachusetts Institute of Technology
 ;;;
@@ -88,9 +88,8 @@
        ((eq? window start))
       (notice-window-changes! window)))
   (with-instance-variables editor-frame window (display-style)
-    (if (and (not display-style)
-            (not (car redisplay-flags)))
-       true
+    (or (not (or (display-style/ignore-redisplay-flags? display-style)
+                (car redisplay-flags)))
        (let ((finished?
               (window-update-display! window screen 0 0 0 x-size 0 y-size
                                       display-style)))
index 1ad5e32f435524d54bd2d917a4e28eb9bbfb35f1..796895ee17fa2cec99494913624ae491de66efbd 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: edwin.pkg,v 1.195 1996/05/12 02:19:09 cph Exp $
+$Id: edwin.pkg,v 1.196 1996/05/14 01:43:50 cph Exp $
 
 Copyright (c) 1989-96 Massachusetts Institute of Technology
 
@@ -299,6 +299,10 @@ MIT in each case. |#
         "edtfrm")
   (parent (edwin))
   (export (edwin)
+         display-style/discard-screen-contents?
+         display-style/ignore-input?
+         display-style/ignore-redisplay-flags?
+         display-style/screen-output?
          edwin-variable$cursor-centering-point
          edwin-variable$mode-line-inverse-video
          edwin-variable$scroll-step
index 3fe491a1e88e019b93c1e24b7875e1ba9d283f6b..4b2efdf59a17780700aee17b1b207890682a57ff 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: screen.scm,v 1.107 1996/03/06 07:04:10 cph Exp $
+;;;    $Id: screen.scm,v 1.108 1996/05/14 01:44:18 cph Exp $
 ;;;
 ;;;    Copyright (c) 1989-96 Massachusetts Institute of Technology
 ;;;
   (eq? 'DELETED (screen-visibility screen)))
 
 (define (update-screen! screen display-style)
-  (if (and display-style (not (eq? 'NO-OUTPUT display-style)))
+  (if (display-style/discard-screen-contents? display-style)
       (screen-force-update screen))
   (let ((finished?
         (with-screen-in-update screen display-style
                 (and (thunk)
                      (if (screen-visible? screen)
                          (and (or (not (screen-needs-update? screen))
-                                  (and (not (eq? 'NO-OUTPUT display-style))
+                                  (and (display-style/screen-output?
+                                        display-style)
                                        (screen-update screen display-style)))
                               (begin
                                 (screen-update-cursor screen)
index 99ab0e4d75b818b9edcb89013238cda4746d6ba9..253e68fb7c83bf4e5a96415a01cabd0d9dd0d79e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: vc.scm,v 1.22 1996/04/24 02:38:08 cph Exp $
+;;;    $Id: vc.scm,v 1.23 1996/05/14 01:44:01 cph Exp $
 ;;;
 ;;;    Copyright (c) 1994-96 Massachusetts Institute of Technology
 ;;;
@@ -1347,7 +1347,7 @@ the value of vc-log-mode-hook."
        (point-context (vc-mark-context (buffer-point buffer)))
        (mark-context (vc-mark-context (buffer-mark buffer))))
     (revert-buffer buffer #t dont-confirm?)
-    (update-screens! 'NO-OUTPUT)
+    (update-screens! '(IGNORE-INPUT))
     (if (null? point-contexts)
        (let ((m (vc-find-context buffer point-context)))
          (if m
index 19670b1815e994c87821b282c93cfc65c0a3487d..c710064b52a9522bf5d34ef7dcaced1cb895225c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: window.scm,v 1.156 1996/05/14 01:24:18 cph Exp $
+;;;    $Id: window.scm,v 1.157 1996/05/14 01:44:11 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989-96 Massachusetts Institute of Technology
 ;;;
   (update-inferiors! (window-inferiors window) screen x-start y-start
                     xl xu yl yu display-style
     (lambda (window screen x-start y-start xl xu yl yu display-style)
-      (and (or display-style (not ((editor-halt-update? current-editor))))
+      (and (or (display-style/ignore-input? display-style)
+              (not ((editor-halt-update? current-editor))))
           (=> window :update-display! screen x-start y-start xl xu yl yu
               display-style)))))
 
 
 (define (update-inferior! inferior screen x-start y-start xl xu yl yu
                          display-style updater)
-  (or (not (or display-style (inferior-needs-redisplay? inferior)))
+  (or (not (or (display-style/ignore-redisplay-flags? display-style)
+              (inferior-needs-redisplay? inferior)))
       (let ((window (inferior-window inferior))
            (xi (inferior-x-start inferior))
            (yi (inferior-y-start inferior)))
 
 (define (salvage-inferiors! window)
   (for-each-inferior-window window (lambda (window) (=> window :salvage!))))
+
+(define (display-style/discard-screen-contents? display-style)
+  (if (pair? display-style)
+      (memq 'DISCARD-SCREEN-CONTENTS display-style)
+      display-style))
+
+(define (display-style/screen-output? display-style)
+  (or (not (pair? display-style))
+      (memq 'SCREEN-OUTPUT display-style)))
+
+(define (display-style/ignore-redisplay-flags? display-style)
+  (if (pair? display-style)
+      (memq 'IGNORE-REDISPLAY-FLAGS display-style)
+      display-style))
+
+(define (display-style/ignore-input? display-style)
+  (if (pair? display-style)
+      (memq 'IGNORE-INPUT display-style)
+      display-style))
 \f
 ;;;; Standard Methods
 ;;;  All windows support these operations