(FILECREATED " 6-Jun-85 15:17:51" {PHYLUM}<NOTECARDS>RELEASE1.2I>FGHPATCH013.;1 2966   

      changes to:  (VARS FGHPATCH013COMS)
		   (FNS NC.TEditQuitFn))


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

(PRETTYCOMPRINT FGHPATCH013COMS)

(RPAQQ FGHPATCH013COMS ((FNS NC.TEditQuitFn NC.PutTextSubstance)))
(DEFINEQ

(NC.TEditQuitFn
  (LAMBDA (WindowOrID)                                       (* fgh: " 6-Jun-85 15:16")
                                                             (* Called by TEdit when quitting out of a TEdit-based 
							     note card. Close up attached windows,)
    (PROG (TextStream Window PromptWindow (ID (NC.CoerceToID WindowOrID)))
          (SETQ Window (NC.FetchWindow ID))
          (SETQ PromptWindow (CAR (WINDOWPROP Window (QUOTE PROMPTWINDOW))))
          (AND Window (for AttachedWindow in (ALLATTACHEDWINDOWS Window) unless (EQ AttachedWindow 
										    PromptWindow)
			 do (DETACHWINDOW AttachedWindow)
			    (CLOSEW AttachedWindow)
			    (until (NULL (OPENWP AttachedWindow)) do (BLOCK))))
          (SETQ TextStream (NC.FetchSubstance ID))
          (NC.DeactivateCard ID)

          (* * Obsolete (* MAke sure TEdit won't close the database file) (replace (TEXTOBJ TXTFILE) of 
	  (TEXTOBJ TextStream) with NIL) (TEDIT.MAPPIECES (TEXTOBJ TextStream) (FUNCTION (LAMBDA (CH# PC PC# OBL) 
	  (replace (PIECE PFILE) of PC with NIL)))))



          (* * Setting the PromptWindow PROCESS to NIL is to break a circularity caused by TEXTOBJ -> PROMPTWINDOW -> PROCESS 
	  -> TEXTSTREAM -> TEXTOBJ)


          (AND Window (SETQ PromptWindow (GETPROMPTWINDOW Window NIL NIL T))
	       (WINDOWPROP PromptWindow (QUOTE PROCESS)
			   NIL)
	       (REMOVEPROMPTWINDOW Window))
          (RETURN T))))

(NC.PutTextSubstance
  (LAMBDA (ID DatabaseStream)                                (* fgh: " 6-Jun-85 15:11")
                                                             (* Put text substance from card ID on the database 
							     file)
    (PROG ((Substance (NC.FetchSubstance ID))
	   EndPtr EndPtrLoc StartPtr)
          (SETQ StartPtr (IPLUS (GETFILEPTR DatabaseStream)
				6))
          (NC.PutPtr DatabaseStream StartPtr)
          (SETQ EndPtrLoc (GETFILEPTR DatabaseStream))
          (NC.PutPtr DatabaseStream 0)
          (AND (ZEROP (fetch (TEXTOBJ TEXTLEN) of (TEXTOBJ Substance)))
	       (TEDIT.INSERT Substance "   " 1))
          (TEDIT.PUT.PCTB (TEXTOBJ Substance)
			  DatabaseStream)
          (SETQ EndPtr (GETFILEPTR DatabaseStream))
          (SETFILEPTR DatabaseStream EndPtrLoc)
          (NC.PutPtr DatabaseStream EndPtr))))
)
(PUTPROPS FGHPATCH013 COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (338 2884 (NC.TEditQuitFn 348 . 1936) (NC.PutTextSubstance 1938 . 2882)))))
STOP