(FILECREATED " 3-Apr-87 16:49:12" {QV}<NOTECARDS>1.3K>NEXT>RHTPATCH237.;1 5698 changes to: (VARS RHTPATCH237COMS) (FNS NC.CheckpointNoteFile)) (* Copyright (c) 1987 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT RHTPATCH237COMS) (RPAQQ RHTPATCH237COMS ((* * Removes extra "T" arg being passed by NC.CheckpointNoteFile to NC.SaveDirtyCards.) (* * Change to NCDATABASE) (FNS NC.CheckpointNoteFile))) (* * Removes extra "T" arg being passed by NC.CheckpointNoteFile to NC.SaveDirtyCards.) (* * Change to NCDATABASE) (DEFINEQ (NC.CheckpointNoteFile (LAMBDA (NoteFile QuietFlg Don'tSaveDirtyCardsFlg InterestedWindow OperationMsg) (* rht: " 3-Apr-87 16:47") (* * Checkpoint a notefile by call the device specific checkpoint fn.) (* * fgh 5/26/86 First created.) (* * fgh 9/1/86 Updated with with changes made to checkpinting since 5/23/86. Reimplemented changes include: (* * fgh 6/4/86 Added Don'tSaveDirtyCardsFlg to prevent double passes through active cards at close time) (* * fgh 6/13/86 Changed printouts to NF menu. Added check for operations in progress.) (* * fgh 6/25/86 Put in contention lock and NC.ProtectedNoteFileOperation Added Don'tCheckOperationInProgressFlg Don'tCheckCardOperationsInProgressFlg & InterestedWindow args.) (* * rht 7/4/86: Added check for readonly notefile.) (* * rht 7/16/86: Now passes QuietFlg arg down to NC.SaveDirtyCards.)) (* * pmi 12/3/86 Added check for open NoteFile before attempting Checkpoint (Code stolen from NC.CloseNoteFile)) (* * pmi 12/22/86 Made test for open notefile consistent with other NoteFile operations (ie. Abort Close)) (* * rg 3/4/87 rewritten for new concurrency machinery) (* * rht 3/25/87: Now calls NC.CoerceToInterestedWindow.) (* * rg 3/27/87 fiddled with NC.ProtectedNoteFileOperation wrapper) (* * rht 4/3/87: Took out extra "T" argument being passed to NC.SaveDirtyCards.) (DECLARE (GLOBALVARS NC.MsgDelay)) (NC.ProtectedNoteFileOperation NoteFile "Checkpoint NoteFile" InterestedWindow (OR (OPENWP InterestedWindow) (SETQ InterestedWindow ( NC.CoerceToInterestedWindow NoteFile))) (PROG ((FullFileName (fetch (NoteFile FullFileName) of NoteFile)) ReturnValue) (* * Make sure NF is open) (if (NULL (ERSETQ (SETQ ReturnValue (NC.NoteFileOpenP NoteFile)))) then (SETQ ReturnValue (QUOTE OpenPFailed))) (if (NULL ReturnValue) then (* * NoteFile is not open.) (NC.PrintMsg InterestedWindow T "Can't checkpoint a closed notefile." (CHARACTER 13)) (DISMISS NC.MsgDelay) (NC.ClearMsg InterestedWindow T) (RETURN NIL) elseif (NOT (type? NoteFile ReturnValue)) then (* * Error return from NoteFileOpenPFn) (if (NULL (ERSETQ (NC.ReportError NIL (CONCAT "OpenP test on " FullFileName "failed because " ReturnValue (CHARACTER 13) "OK to continue Checkpoint. ↑ to abort Checkpoint.")))) then (RETURN ReturnValue))) (SETQ OperationMsg (CONCAT (OR OperationMsg "") "Checkpointing " FullFileName (CHARACTER 13))) (if (NC.CheckForNotReadOnly NoteFile InterestedWindow "Can't checkpoint ") then (RETURN (PROGN (OR QuietFlg (RESETSAVE NIL (BQUOTE (NC.ClearMsg , InterestedWindow T))) ) (* * If appropriate, msg the user.) (OR QuietFlg (NC.PrintMsg InterestedWindow "Checkpointing notefile " FullFileName " ..." (CHARACTER 13))) (* * Save the dirty cards on the screen if necessary.) (if (NULL Don'tSaveDirtyCardsFlg) then (NC.SaveDirtyCards NoteFile InterestedWindow OperationMsg QuietFlg)) (* Put out the new ChkptPtr to the file.) (* * Call the device specific checkpoint fn.) (if (NULL (ERSETQ (SETQ ReturnValue (APPLY* (fetch (NoteFile CheckpointNoteFileFn) of NoteFile) NoteFile InterestedWindow OperationMsg QuietFlg) ))) then (SETQ ReturnValue (QUOTE CheckpointFailed)) ) (* * Process the error returns.) (if (type? NoteFile ReturnValue) then (* * Successful return.) (OR QuietFlg (NC.PrintMsg InterestedWindow T (OR OperationMsg "") " Checkpoint done." (CHARACTER 13))) NoteFile else (* * Error return.) (ERSETQ (NC.ReportError NIL (CONCAT "Checkpoint failed for " FullFileName " because " ReturnValue ".") )) ReturnValue)))))))) ) (PUTPROPS RHTPATCH237 COPYRIGHT ("Xerox Corporation" 1987)) (DECLARE: DONTCOPY (FILEMAP (NIL (587 5616 (NC.CheckpointNoteFile 597 . 5614))))) STOP