(FILECREATED "21-May-84 21:32:23" {PHYLUM}<LISPUSERS>PAGEHOLD.;13 2182
changes to: (FNS END.OF.PAGE.HOLD)
(VARS PAGEHOLDCOMS)
previous date: " 5-Dec-83 19:18:29" {PHYLUM}<JONL>LISP>PAGEHOLD.;11)
(* Copyright (c) 1982, 1983, 1984 by Xerox Corporation)
(PRETTYCOMPRINT PAGEHOLDCOMS)
(RPAQQ PAGEHOLDCOMS ((* Things for page hold mechanism)
(DECLARE: DONTCOPY (MACROS SHIFTDOWN?))
(GLOBALRESOURCES EndOfPage.BOX)
(FNS END.OF.PAGE.HOLD)
(INITVARS (PAGE.WAIT.SECS 10))
(GLOBALVARS PAGE.WAIT.SECS)
(ADVISE PAGEFULLFN)))
(* Things for page hold mechanism)
(DECLARE: DONTCOPY
(DECLARE: EVAL@COMPILE
(PUTPROPS SHIFTDOWN? MACRO (NIL
(OR (KEYDOWNP (QUOTE LSHIFT))
(KEYDOWNP (QUOTE RSHIFT)))))
)
)
(RPAQQ \EndOfPage.BOX.GLOBALRESOURCE NIL)
(DECLARE: DOEVAL@COMPILE DONTCOPY
[PUTDEF (QUOTE EndOfPage.BOX)
(QUOTE GLOBALRESOURCES)
(QUOTE (NEW (SETUPTIMER 0]
)
(DEFINEQ
(END.OF.PAGE.HOLD
[LAMBDA NIL (* JonL "21-May-84 21:22")
(* Foo)
(if (NOT (NUMBERP PAGE.WAIT.SECS))
then NIL
elseif (ILESSP PAGE.WAIT.SECS 1)
then (until (NOT (SHIFTDOWN?)) do (BLOCK))
T
else (during PAGE.WAIT.SECS timerUnits (QUOTE SECONDS) resourceName EndOfPage.BOX
do (if (SHIFTDOWN?)
then (* Release the hold when user presses either SHIFT key
and then lifts up on it)
(until (NOT (SHIFTDOWN?)) do (BLOCK))
(RETURN T)
elseif (KEYDOWNP (QUOTE CTRL))
then (* CTRL key selects default PAGEFULLFN)
(RETURN NIL))
(BLOCK)
finally (RETURN T])
)
(RPAQ? PAGE.WAIT.SECS 10)
(DECLARE: DOEVAL@COMPILE DONTCOPY
(ADDTOVAR GLOBALVARS PAGE.WAIT.SECS)
)
(PUTPROPS PAGEFULLFN READVICE
[NIL (BEFORE NIL (AND (END.OF.PAGE.HOLD)
(RETURN T])
(READVISE PAGEFULLFN)
(PUTPROPS PAGEHOLD COPYRIGHT ("Xerox Corporation" 1982 1983 1984))
(DECLARE: DONTCOPY
(FILEMAP (NIL (954 1870 (END.OF.PAGE.HOLD 964 . 1868)))))
STOP