(FILECREATED " 2-Jun-87 14:30:34" {QV}<NOTECARDS>1.3K>NEXT>PMIPATCH044.;1 4522   

      changes to:  (VARS PMIPATCH044COMS)
		   (FNS NC.ProcessNoteFileNeedsTruncationError))


(* Copyright (c) 1987 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT PMIPATCH044COMS)

(RPAQQ PMIPATCH044COMS ((* * pmi 6/2/87: Reinstates fix made by Randy T. which I clobbered with a 
			     concurrent patch file of my own: (* * rht 4/30/87: Fixes bug reported by 
								 Kirk: 
							   NC.ProcessNoteFileNeedsTruncationError 
								 breaks with a shouldn't happen if 
								 the user selects outside of the menu 
								 asking whether to truncate or not.))
			  (* * Change to NCDATABASE)
			  (FNS NC.ProcessNoteFileNeedsTruncationError)))
(* * pmi 6/2/87: Reinstates fix made by Randy T. which I clobbered with a concurrent patch 
file of my own: (* * rht 4/30/87: Fixes bug reported by Kirk: 
NC.ProcessNoteFileNeedsTruncationError breaks with a shouldn't happen if the user selects 
outside of the menu asking whether to truncate or not.))

(* * Change to NCDATABASE)

(DEFINEQ

(NC.ProcessNoteFileNeedsTruncationError
  (LAMBDA (NoteFile Don'tCacheTypesAndTitlesFlg Don'tCreateFlg Convertw/oConfirmFlg 
		    Don'tCreateArrayFlg Can'tTruncateFlg Don'tCreateInterfaceFlg 
		    Don'tGetSpecialCardsFlg PromptWindow PublicOrPrivate MenuPosition QuietFlg 
		    ReadOnlyFlg Don'tCheckForTruncationFlg)
                                                             (* pmi: " 2-Jun-87 14:27")

          (* * Discovered NoteFile needs version truncation when attempted to open it. Process that error.)



          (* * fgh 5/23/86 First created.)



          (* * fgh 9/1/86 Updated args to match NC.OpenNoteFile.)



          (* * rht 10/29/86: Changed name from Abort to Cancel.)



          (* * rht 10/31/86: Added Don'tCheckForTruncationFlg arg.)



          (* * pmi 5/14/87: Removed NoteFilesHashArray argument.)



          (* * pmi 6/2/87: Reinstates fix made by Randy T. which I must have clobbered with the above patch file of my own: 
	  (* * rht 4/30/87: No longer breaks when user selects outside of menu.))


    (PROG (TruncationFn)

          (* * If appropriate, notify the user.)


	    (if (WINDOWP PromptWindow)
		then (NC.PrintMsg PromptWindow T "NoteFile " (fetch (NoteFile FullFileName)
								    of NoteFile)
				      
			    " has information written since last successful close or checkpoint."
				      (CHARACTER 13)))

          (* * If the device has a TruncationFn then apply it and try to Open the NoteFile.)


	    (if (AND (NULL Can'tTruncateFlg)
			 (SETQ TruncationFn (fetch (NoteFile TruncateNoteFileFn) of NoteFile)))
		then 

          (* * ASk the user if they want to truncate, or abort, or repair the notefile.)


		       (SELECTQ (NC.AskUserAboutTruncation NoteFile PromptWindow)
				  (Cancel (RETURN (QUOTE CancelOpen)))
				  (Inspect% &% Repair (RETURN (NC.ProcessInspectAndRepairRequest
								  NoteFile 
								  Don'tCacheTypesAndTitlesFlg 
								  Don'tCreateFlg Convertw/oConfirmFlg 
								  Don'tCreateArrayFlg 
								  Can'tTruncateFlg 
								  Don'tCreateInterfaceFlg 
								  Don'tGetSpecialCardsFlg 
								  PromptWindow PublicOrPrivate 
								  MenuPosition QuietFlg ReadOnlyFlg 
								  Don'tCheckForTruncationFlg)))
				  (Truncate% File (RETURN (NC.ProcessTruncationRequest NoteFile 
								      Don'tCacheTypesAndTitlesFlg 
										   Don'tCreateFlg 
									     Convertw/oConfirmFlg 
									      Don'tCreateArrayFlg 
										 Can'tTruncateFlg 
									  Don'tCreateInterfaceFlg 
									  Don'tGetSpecialCardsFlg 
										     PromptWindow 
										  PublicOrPrivate 
										     MenuPosition 
											 QuietFlg 
										      ReadOnlyFlg 
								       Don'tCheckForTruncationFlg)))
				  (RETURN (QUOTE CancelOpen)))
	      else 

          (* * No TruncationFn. Tell the user if appropriate and return an error msg.)


		     (if (WINDOWP PromptWindow)
			 then (NC.PrintMsg PromptWindow NIL 
					       "No file truncation possible for this NoteFile."
					       (CHARACTER 13)
					       "See a NoteCards wizard."
					       (CHARACTER 13)))
		     (RETURN (QUOTE NoteFileNeedsTruncation))))))
)
(PUTPROPS PMIPATCH044 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (1099 4440 (NC.ProcessNoteFileNeedsTruncationError 1109 . 4438)))))
STOP