(FILECREATED " 4-May-87 21:51:12" {QV}<NOTECARDS>1.3K>NEXT>RHTPATCH254.;2 4746   

      changes to:  (VARS RHTPATCH254COMS)

      previous date: " 4-May-87 20:18:00" {QV}<NOTECARDS>1.3K>NEXT>RHTPATCH254.;1)


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

(PRETTYCOMPRINT RHTPATCH254COMS)

(RPAQQ RHTPATCH254COMS ((DECLARE: FIRST (P (NC.LoadFileFromDirectories (QUOTE NCBROWSERCARD))))
			  (* * Fixes stack overflow problem that can happen when browser card is 
			     specialized.)
			  (* * Changes to NCBROWSERCARD)
			  (FNS NC.GetBrowserSubstance NC.PutBrowserSubstance)))
(DECLARE: FIRST 
(NC.LoadFileFromDirectories (QUOTE NCBROWSERCARD))
)
(* * Fixes stack overflow problem that can happen when browser card is specialized.)

(* * Changes to NCBROWSERCARD)

(DEFINEQ

(NC.GetBrowserSubstance
  (LAMBDA (Card Length Stream VersionNum)                    (* rht: " 4-May-87 20:16")

          (* * Go get all the browser-specific info and then get the graph that is the browser's substance.)



          (* * rht 2/14/86: Added call to NC.ApplySupersFn)



          (* * rht 2/28/86: Added special handling for old version -1 style. I.e. pre 1.3k.)



          (* * fgh 5/1/86 Can't have negative versions, so changed old style to be 255 255.0 Also added defaults for old 
	  style browser specs.)



          (* * fgh 5/25/86 Undid preceeding change w.r.t. the 255 versus -1 Turns out -1 never came from file, only from 
	  converter as an arg.)



          (* * rht 5/4/87: Changed call from NC.ApplySupersFn to APPLY* because otherwise we generate stack overflow for 
	  cards that specialize browser card type.)


    (if (NOT (EQP VersionNum -1))
	then (NC.SetBrowserRootsInfo Card (NC.ReadBrowserRootsInfo Stream))
	       (NC.SetBrowserLinkLabels Card (NC.ReadBrowserLinkLabels Stream))
	       (NC.SetBrowserFormat Card (NC.ReadBrowserFormat Stream))
	       (NC.SetSpecialBrowserSpecs Card (NC.ReadSpecialBrowserSpecs Stream))
	       (NC.SetBrowserDepth Card (NC.ReadBrowserDepth Stream))
	       (NC.SetBrowserLinksLegend Card (NC.ReadBrowserLinksLegend Stream))
	       (NC.SetBrowserSavedLinkingInfo Card (NC.ReadBrowserSavedLinkingInfo Stream))
      else (NC.SetBrowserRootsInfo Card NIL)
	     (NC.SetBrowserLinkLabels Card NIL)
	     (NC.SetBrowserFormat Card NIL)
	     (NC.SetSpecialBrowserSpecs Card NIL)
	     (NC.SetBrowserDepth Card 0)
	     (NC.SetBrowserLinksLegend Card NIL)
	     (NC.SetBrowserSavedLinkingInfo Card NIL))
    (APPLY* (NCP.CardTypeFn (QUOTE Graph)
				(QUOTE GetFn))
	      Card Length Stream VersionNum)))

(NC.PutBrowserSubstance
  (LAMBDA (Card Stream)                                      (* rht: " 4-May-87 20:14")

          (* * For each BrowserUID, clear its UID prop list. Otherwise HPRINT will die in PutGraphSubstance.)



          (* * rht 1/23/86: Now takes Stream as arg)



          (* * rht 2/1/86: Now saves old UID information on card's proplist for restoring when card is brought up again.
	  Note that this info will only exist for nodes connected to some other node with multiple links.)



          (* * fgh 2/5/86 Added call to NC.ApplySupersFn)



          (* * rht 2/6/86: Now writes down all browser info to substance rather than letting it live on prop list.)



          (* * rht 2/20/86: Now checks to see if saved linking info is cached before recomputing it.)



          (* * fgh 5/25/86 Added default depth paramter.)



          (* * rht 5/4/87: Changed call from NC.ApplySupersFn to APPLY* because otherwise we generate stack overflow for 
	  cards that specialize browser card type.)


    (NC.WriteBrowserRootsInfo Stream (NC.FetchBrowserRootsInfo Card))
    (NC.WriteBrowserLinkLabels Stream (NC.FetchBrowserLinkLabels Card))
    (NC.WriteBrowserFormat Stream (NC.FetchBrowserFormat Card))
    (NC.WriteSpecialBrowserSpecs Stream (NC.FetchSpecialBrowserSpecs Card))
    (NC.WriteBrowserDepth Stream (OR (NC.FetchBrowserDepth Card)
					 0))
    (NC.WriteBrowserLinksLegend Stream (NC.FetchBrowserLinksLegend Card))
    (NC.WriteBrowserSavedLinkingInfo Stream (OR (NC.FetchBrowserSavedLinkingInfo Card)
						    (NC.SetBrowserSavedLinkingInfo Card
										     (
								NC.ComputeBrowserSavedLinkingInfo
										       Card))))
    (APPLY* (NCP.CardTypeFn (QUOTE Graph)
				(QUOTE PutFn))
	      Card Stream)))
)
(PUTPROPS RHTPATCH254 COPYRIGHT ("Xerox Corporation" 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (810 4664 (NC.GetBrowserSubstance 820 . 2768) (NC.PutBrowserSubstance 2770 . 4662)))))
STOP