(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "28-Jul-2023 09:49:24" {DSK}<home>larry>il>medley>lispusers>BACKGROUND-YIELD.;2 1770   

      :EDIT-BY "lmm"

      :CHANGES-TO (FNS BACKGROUND-YIELD)

      :PREVIOUS-DATE "14-Nov-2021 22:05:58" {DSK}<home>larry>il>medley>lispusers>BACKGROUND-YIELD.;1
)


(PRETTYCOMPRINT BACKGROUND-YIELDCOMS)

(RPAQQ BACKGROUND-YIELDCOMS (
                             (* ;; " Add a call to BACKGROUNDFNS to yield when not otherwise busy")

                             (FNS BACKGROUND-YIELD INIT-YIELD)
                             (DECLARE%: DONTEVAL@LOAD DOCOPY (P (INIT-YIELD T)))
                             (VARS BACKGROUND-YIELD)))



(* ;; " Add a call to BACKGROUNDFNS to yield when not otherwise busy")

(DEFINEQ

(BACKGROUND-YIELD
  [LAMBDA NIL                                                (* ; "Edited 28-Jul-2023 09:11 by lmm")
                                                           (* ; "Edited 20-Sep-2021 11:37 by larry")
    (LET ((\BACKGROUND T))
         (DECLARE (SPECVARS \BACKGROUND))
         (IF (FIXP BACKGROUND-YIELD)
             THEN (SUBRCALL YIELD BACKGROUND-YIELD)
                  (SUBRCALL CAUSE-INTERRUPT])

(INIT-YIELD
  [LAMBDA (ONP)                                        (* ; "Edited 19-Sep-2021 13:32 by larry")
    (SETQ BACKGROUNDFNS (REMOVE 'BACKGROUND-YIELD BACKGROUNDFNS))
    (if [AND ONP (CCODEP (GETD 'BACKGROUND-YIELD]
        then 

              (* ;; " add to end")

              (SETQ BACKGROUNDFNS (APPEND BACKGROUNDFNS '(BACKGROUND-YIELD])
)
(DECLARE%: DONTEVAL@LOAD DOCOPY 

(INIT-YIELD T)
)

(RPAQQ BACKGROUND-YIELD 833333)
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (806 1655 (BACKGROUND-YIELD 816 . 1271) (INIT-YIELD 1273 . 1653)))))
STOP
