(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (FILECREATED "14-Aug-95 16:51:06" ("compiled on " {DSK}library>GCHAX.;6) "30-Mar-95 20:33:04" bcompl'd in "Medley 14-Aug-95 ..." dated "14-Aug-95 15:27:48") (FILECREATED "20-Oct-94 10:19:00" {DSK}library>GCHAX.;6 61574 changes to%: (FNS \SEE-GC-ENTRY \SFLHASHLOOKUP \MAPGC) previous date%: "19-Oct-94 13:22:23" {DSK}library>GCHAX.;4) \MAPGC :D8 (L (1 INCLUDEZEROCNT 0 MAPFN)) jA`HYj jIdj5AIjwIHnI\LIH hl@Oj m`J[l K\jA$KHnLLKH il@JjnHkXX(149 \GC.LOOKUP.BIGREFCNT 110 \GETBASEFIXP 90 \GETBASEFIXP 75 \GC.LOOKUP.BIGREFCNT 18 \GETBASEFIXP) (99 \HTCOLL 8 \HTMAIN) () \SHOWGCA0001A0002 :D8 (L (2 COLL? 1 CNT 0 PTR) F 0 ONLYTYPES F 1 SELECTEDITEMS F 2 MAXCNT F 3 TOTALCNT F 4 COLLCNT F 5 MINCNT F 6 CARLVL F 7 CDRLVL F 8 COLLECT) c P@P[UAUBggh Ah lh @hVW WQd@&cSkcBTkcnARkch(58 LVLPRINT 48 SPACES 39 PRIN1 31 PRIN1) (25 % 19 *) () \SHOWGCA0001 :D8 (NAME SI::*UNWIND-PROTECT* P 3 SELECTEDITEMS P 2 MAXCNT P 1 COLLCNT P 0 TOTALCNT I 0 SI::*CLEANUP-FORMS* F 4 FILE F 5 SI::*RESETFORMS* F 6 MINCNT F 7 COLLECT F 8 RESULT) gTi-g !gTg chhdUc T hhUc oh h jddWhhKcgkV Hh oh Vh h nV"JjJh oh h Ih oh h WWT(213 TERPRI 206 PRIN1 194 PRIN1 186 TERPRI 179 PRIN1 167 PRIN1 148 TERPRI 141 PRIN1 133 PRIN1 121 PRIN1 114 \MAPGC 85 TERPRI 78 PRIN1 58 OUTPUT 38 OPENFILE 20 OPENP) (106 \SHOWGCA0001A0002 33 OUTPUT 27 CLOSEF 15 OUTPUT 4 OUTPUT) ( 200 " collision entries" 173 " items with overflowed reference cnt" 127 " items with reference cnt greater than or equal to " 72 " cnt datum") \SHOWGC :D8 (P 2 RESETSTATE P 1 SI::*RESETFORMS* P 0 LISPXHIST I 5 MINCNT I 4 CDRLVL I 3 CARLVL I 2 FILE I 1 COLLECT I 0 ONLYTYPES F 8 LISPXHIST) ~ClbDlbElb @ W!g $AK LbK_hK_KOd3  oO M Nh]N&(108 ERROR 94 \TYPENUMBERFROMNAME 48 SI::RESETUNWIND 43 \MVLIST 38 \SHOWGCA0001) (33 SI::RESETUNWIND) ( 101 "Not a valid type") \GCENTRIES.BY.TYPEA0001 :D8 (L (2 COLL? 1 REFCNT 0 PTR) F 2 \#OFENTRIES F 3 \#COLLISIONS F 4 MINREFCNT F 5 TYPECOUNTS F 6 TYPECOLLISIONS) DTA>Rkc@UIHIH k BSkc@VIHIH k h(64 SETA 57 ELT 32 SETA 25 ELT) NIL () \GCENTRIES.BY.TYPE :D8 (L (1 MINFRACTION) P 3 \#COLLISIONS P 2 \#OFENTRIES P 1 TYPECOLLISIONS P 0 TYPECOUNTS I 0 MINREFCNT) W@jbAob`kgjd `kgjd jddddG g `j OdO @joi @i i Nojhdi oi i i `j__OONojhdi oJL_i ooOJi oi oKM_i ooOKi oi i i Nojhdi oJi oKi i i h _NOOk_HO _jOJ_ANO oO jhdi oOi ooOi oi LOԼIO _j7MOԽoOi ooOKi oi i Ok_a(587 TERPRI 580 PRIN1 568 PRINTNUM 546 PRINTNUM 522 ELT 508 PRIN1 496 PRINTNUM 476 PRINTNUM 462 FLUSHRIGHT 452 CONCAT 438 \TYPENAMEFROMNUMBER 410 ELT 385 NCHARS 380 \TYPENAMEFROMNUMBER 373 TERPRI 366 TERPRI 359 PRINTNUM 346 PRINTNUM 333 FLUSHRIGHT 316 TERPRI 310 TERPRI 303 PRIN1 291 PRINTNUM 269 PRINTNUM 253 PRIN1 241 PRINTNUM 219 PRINTNUM 202 FLUSHRIGHT 165 TERPRI 158 TERPRI 151 PRIN1 139 FLUSHRIGHT 122 TERPRI 115 PRIN2 107 PRIN1 71 \MAPGC 53 ARRAY 34 ARRAY) (170 \MaxTypeNumber 76 \MaxTypeNumber 66 \GCENTRIES.BY.TYPEA0001 46 WORD 39 \MaxTypeNumber 27 WORD 20 \MaxTypeNumber) ( 574 "%%" 557 100.0 552 (FLOAT 6 1) 538 (FIX 10) 502 "%%" 487 100.0 482 (FLOAT 6 1) 468 (FIX 7) 445 "Type " 352 (FIX 17) 339 (FIX 7) 323 "Total" 297 "%%" 280 100.0 275 (FLOAT 6 1) 258 (FIX 10) 247 "%%" 230 100.0 225 (FLOAT 6 1) 208 (FIX 7) 192 "All other types" 145 " all entries collisions" 129 "Type" 101 " with reference count at least " 12 0.002) \#COLLISIONS :D8 NIL g (9 \GCSTATS.AUX) (4 \#COLLISIONS) () \#OVERFLOWS :D8 NIL g (9 \GCSTATS.AUX) (4 \#OVERFLOWS) () \GCSTATS.AUXA0001 :D8 (L (2 COLLISIONP 1 REFCNT 0 PTR) F 0 \#GCLOSERS F 1 \#GCENTRIES F 2 \GCTYPE.AUX) 4QkcRdgnAPkchgBPkc(49 SHOULDNT) (33 \#COLLISIONS 11 \#OVERFLOWS) () \GCSTATS.AUX :D8 (P 1 \#GCLOSERS P 0 \#GCENTRIES I 0 \GCTYPE.AUX) ,jdg HIdHHoh(14 \MAPGC) (30 FLOATP 22 FLOATP 9 \GCSTATS.AUXA0001) ( 35 65536) \SEE-GC-ENTRY :D8 (L (0 OFFSET)) `@AHdj jodj5jH@YH\nLI ioHIL j mZ`J[l Kj-K@ѹKnLI ioKILJ Jjh(163 CL:FORMAT 146 \GC.LOOKUP.BIGREFCNT 112 \GETBASEFIXP 92 \GETBASEFIXP 85 CL:FORMAT 69 \GC.LOOKUP.BIGREFCNT 18 \GETBASEFIXP) (101 \HTCOLL 4 \HTMAIN) ( 153 "OVENTRY: ~O LINKPOINTER: ~S CNT: ~A LINK: ~A~%%" 76 "ENTRY: ~O POINTER ~S CNT: ~A ~%%" 26 "EMPTY") \PRINTFREELIST :D8 (L (2 FILE 1 DETAILS 0 TYPE)) # @d3  o@ bBg b`@lqBo@ HjoB B B h@AB Yd)d3 "B IB B B hj O%O]j1oB B B h_OO_O_BoMIh_^O ZI J nH[j\Ih i j" OjLjBoL A:oB B I jhB l k O_[B B LdOO_N__OOOkO_jOO_KLlԼj_O_bOl hB oOB oB oOB OOgB Ok_Oj_OC(524 PRIN1 503 PRINTNUM 487 PRIN1 475 PRINTNUM 459 TAB 372 TERPRI 365 TERPRI 343 LINELENGTH 335 REVERSE 328 TERPRI 321 PRIN1 306 CL:FORMAT 280 SORT 274 \APPEND2 259 CL:FORMAT 251 LENGTH 244 LENGTH 195 TERPRI 188 TERPRI 181 PRIN1 151 TERPRI 144 TERPRI 137 PRIN1 128 TERPRI 110 \SCANFREELIST 100 TERPRI 93 TERPRI 86 PRIN1 70 CL:FORMAT 65 \TYPENAMEFROMNUMBER 36 \GETSTREAM 23 ERROR 10 \TYPENUMBERFROMNAME) (518 + 43 \DTDSpaceBase 31 OUTPUT) ( 493 (FIX 3) 481 "/" 465 (FIX 6 8) 315 "Details (page/#free):" 300 "~D pages are reclaimable~%%" 223 "~D cells free~%%Free list covers ~D Pages with ~D extra hops~%%" 175 "Free list is empty" 80 "not an allocated type" 59 "Type ~S: " 17 "Not a valid type") \SHOWFREELISTS :D8 (L (1 FILE 0 DETAILS)) RAg b`ljIHJo Idl`IlJI@A jԺIkY(69 \PRINTFREELIST 38 CONCAT 10 \GETSTREAM) (52 \DTDSpaceBase 17 \MaxTypeNumber 5 OUTPUT) ( 33 " total free pages") \SCANFREELIST :D8 (L (2 FILE 1 DETAILS 0 TYPE)) mA@d3  o@ bdlohh`@lZd7AJB JJ\HjKk԰/H"J@#oJJhIHIKIKILkJZ(70 PRINT 28 ERROR 15 \TYPENUMBERFROMNAME) (50 \DTDSpaceBase) ( 103 "Bad free list at" 40 "LISTP scan not implemented" 22 "Not a valid type") \ISONFREELIST :D8 (L (0 OBJECT)) -@Hlo`HlYd@IiIYNIL (20 \DTDSpaceBase) ( 14 "LISTP scan not implemented") PFL :D8 (L (0 X)) @i (6 \PRINTFREELIST) NIL () SFL :D8 (L (0 X)) @ @i (12 \PRINTFREELIST 5 \SORTFREELIST) NIL () \COLLECTINUSEA0001 :D8 (NAME SI::*UNWIND-PROTECT* P 0 \INTERRUPTABLE I 0 SI::*CLEANUP-FORMS* F 16 TYPE F 17 PRED) 0W i `W lbOhOkjo nnOOnOk_nj_n_j_n`OnW OO OkO _ OO_!OdkjOkO O_OjNMTjNOYIlѼKO[O5OOZdLhOJiW"LdkW"LO_LOмNk^OlԱ:O(190 \SFLHASHLOOKUP 152 \SFLHASHLOOKUP 139 \SFLHASHLOOKUP 57 LISPVERSION 48 SHOULDNT 10 \SORTFREELIST) (113 \MDSTypeTable 15 \DTDSpaceBase) ( 43 "Odd size?") \COLLECTINUSE :D8 (P 1 SI::*RESETFORMS* I 1 PRED I 0 TYPE) a@d3  o@ blHjHkXgn hhhg $(90 SI::RESETUNWIND 85 \MVLIST 80 \COLLECTINUSEA0001 60 RECLAIMMIN 39 RECLAIM 23 ERROR 10 \TYPENUMBERFROMNAME) (75 SI::RESETUNWIND 52 RECLAIMMIN) ( 17 "Not a valid type") \SORTFREELIST :D8 (L (2 READONLY 1 FLG 0 TYPE) P 14 \INTERRUPTABLE) @d3  o@ b`@l @lhnjd OO$`On@Ok_Ol_Oldoj[ldK i[dl YdnIKlkH\dL]NLNL_h_^H\dL]NNL_AIkjNkI Z O__OBOOO&dHo HLOOLIi Z_JOO_JOZO@CoL BdԱBOOOo !LOOML_\ML_\(410 RAID 377 RAID 322 \SFLHASHLOOKUP 290 RAID 239 \SFLHASHLOOKUP 132 \ALLOCBLOCK 23 ERROR 10 \TYPENUMBERFROMNAME) (65 \MDSTypeTable 30 \DTDSpaceBase) ( 405 "No PREVPAGELASTFREE" 371 "Bad free list" 285 "No PREVPAGELASTFREE" 106 1.4 17 "Not a valid type") \SFLHASHLOOKUP :D8 (L (2 INSERT 1 HASHTABLE 0 PAGE#)) /A!@HAIZdd@jjBJ@JIlذNIL NIL () \SHOWCIRCULARITY :D8 (P 0 CIRCLEHASH I 1 MAXLEVEL I 0 OBJECT) #ld hA3 Ajnb@ h(31 \SHOWCIRCULARITY1 6 HARRAY) NIL () \SHOWCIRCULARITY1 :D8 (L (1 PATH 0 OBJ) F 6 CIRCLEHASH F 7 MAXLEVEL F 8 OBJECT) @dWA.@QHdl(@Ab@AW @AW lHju@jl@@mZ nUJjJk{@V q@iV @AbJdk[Kм@dL𒿰OA @lb`Hl Y0@V &@iV @AbId@MA h(241 \SHOWCIRCULARITY1 218 PUTHASH 208 GETHASH 177 \SHOWCIRCULARITY1 143 PUTHASH 133 GETHASH 58 \SHOWCIRCULARPATH 49 \SHOWCIRCULARLIST 38 \SHOWCIRCULARLIST) (191 \DTDSpaceBase) () \SHOWCIRCULARLIST :D8 (L (2 DEPTH 1 PATH 0 LST) F 0 OBJECT) 6@dA PA Bj@ABk @Bkbbh(36 \SHOWCIRCULARLIST 19 \SHOWCIRCULARITY 9 \SHOWCIRCULARITY1) NIL () \SHOWCIRCULARPATH :D8 (L (0 PATH) F 3 OBJECT) Ji S@ !H i Joi iZIdikl HX(66 PRIN2 60 LVLPRIN2 43 PRIN1 27 TERPRI 13 REVERSE 5 TERPRI) NIL ( 37 " -> ") \SHOW.CLOSED.WINDOWS :D8 NIL ~g j#HJH[ JK oK oi K -oi !K l \jLkٰK kԺ(118 \FINDPOINTER 106 RECLAIM 94 CLOSEW 86 MOUSECONFIRM 73 CLOSEW 66 MOUSECONFIRM 54 CURSORPOSITION 42 OPENW 33 \WINDOW.ACCOUNTED.FOR? 14 OPENWINDOWS 9 \COLLECTINUSE) (4 WINDOW) ( 80 "Find pointers? Click LEFT to search, RIGHT to leave window open and go on" 60 "Click LEFT to close window, RIGHT to save" 48 (0 . 0)) \WINDOW.ACCOUNTED.FOR? :D8 (L (0 WINDOW)) ?@ 7@g %@g @g db(54 GETWINDOWUSERPROP 41 OPENWP 36 GETWINDOWUSERPROP 23 OPENWP 18 GETWINDOWUSERPROP 5 OPENWP) (49 MAINWINDOW 31 ICONFOR 13 ICONWINDOW) () \FINDPOINTER :D8 (L (4 ALLBACKFLG 2 ALLFLG 0 PTR) P 4 REFSFOUND P 0 *PRINT-BASE* I 3 MARGIN I 1 COLLECT/INSPECT?) Cjbl @ BBgT``````k````h`j IkD&Cji oi Ii i IjB@ B`Jo_AMLgM h_lk__OdOOJOj_ljOO4OOOO"_$jg`O$l_& +O"_$jKO j>OKO"`)lO"k_.O.O*O,@O$djOmN1`oh`oh`ohh^_(hi oi O(i oi O,Okjnj_d3 djOOn_(i i O(3OKO, %O, hlO,DB O,O&B _AOMBILNO.k_.O,l_,Ok_O k_ O"n_"mOk_@(611 \FINDPOINTER.TYPE 600 \FINDPOINTER.LISTP 583 \FINDPOINTER.FOUND 574 \FINDPOINTER.FOUND.ON.STACK 557 TERPRI 550 PRIN2 499 PRIN1 487 PRIN1 478 PRIN1 466 \FINDPOINTER.NEWITEM 331 \LOOKUPPAGEMAP 218 INSPECT 172 \FINDPOINTER.STACK 158 TERPRI 151 PRIN1 143 PRIN1 131 TAB 91 SCREENBITMAP 13 \REFCNT) (439 \PLISTSPACE 425 \DEFSPACE 411 \VALSPACE 350 \InterfacePage 301 \DTDSpaceBase 209 COLLECT 182 \STACKSPACE 111 \STACKSPACE 85 \HTCOLL 79 \HTMAIN 73 \SMALLNEGSPACE 67 \SMALLPOSPSPACE 59 \PNPSPACE 53 \PNPSPACE 47 \AtomHashTable 41 \PageMapTBL 35 \PAGEMAP 29 \FPTOVP 21 :STACK) ( 493 " of atom " 472 "as " 445 "property list" 431 "function definition" 417 "value" 191 (T NIL) 137 "Reference count = ") \FINDPOINTERS.OF.TYPE :D8 (L (1 FILTER 0 TYPE) P 2 PTR) M@ A HdHAIJkAA Ji i (72 TERPRI 65 \FINDPOINTER 60 PRINT 52 RECLAIM 46 RECLAIM 39 EVAL 11 FNTYP 5 \COLLECTINUSE) NIL () \FINDPOINTER.FOUND :D8 (L (1 MSG 0 BASE)) Hh AAi oi o@i gi o@i i (69 TERPRI 63 PRINTNUM 50 PRIN1 39 PRINTNUM 26 PRIN1 14 PRIN1 5 \FINDPOINTER.NEWITEM) (44 %,) ( 55 (FIX 6 8) 31 (FIX 2 8) 20 "at location ") \FINDPOINTER.NEWITEM :D8 (L (0 COUNTIT) F 0 REFSFOUND F 1 MARGIN) 1Qji @Pkci oi oi @(45 PRIN1 33 PRIN1 21 PRIN1 7 TAB) NIL ( 39 "Found " 27 ". ") \FINDPOINTER.LISTP :D8 (L (2 ALLFLG 1 ALLBACKFLG 0 BASE) F 9 REFSFOUND F 10 MARGIN)  @@n@lW3HI B@o hIllO'OjhOO ZjOlOOlIHO[lM.HO $LKlooHObO]Ol__L@jjWkcA5@ kAkbWkcgi i o)i oi Lgi oi @ikl Jji `goo i dg@gkbJlZ@ghJA \@LL(376 \FINDPOINTER 333 TERPRI 327 ASKUSER 301 TAB 292 LVLPRINT 281 PRIN1 269 PRIN1 254 PRIN1 242 \FINDPOINTER.NEWITEM 228 \FINDPOINTER.NEWITEM 219 PRIN1 191 \REFCNT 116 \FINDPOINTER.LISTP.FREE 74 \FZEROP 40 \FINDPOINTER.FOUND 25 \FINDPOINTER.LISTP.FREE) (367 COLLECT 349 A 340 N 312 N 307 DWIMWAIT 263 CAR 213 %.) ( 322 ((Y "es") (N "o") (A "ll the way back")) 317 "Shall I search for pointers to this list? " 275 " of list " 248 "as " 234 "somewhere inside list " 137 "a tail" 131 "an element" 35 "in freed list cell ") \FINDPOINTER.LISTP.FREE :D8 (L (1 WORDOFFSET 0 PAGEBASE)) )@@kZHIAIi@IJk԰hNIL NIL () \FINDPOINTER.TYPE :D8 (L (2 ALLFLG 1 DTD 0 BASE) F 11 COLLECT/INSPECT? F 12 MARGIN) g A nnHHnH@l@m@n@oIHH]@JM_IM^A [O \BhKLh oi Ni jA_ L`h__)h;Koi oi L'o%_OO iON oi oi Oi i KULO`goo i dgOWhWl gO hO(350 INSPECT 335 \FINDPOINTER 309 TERPRI 303 ASKUSER 266 TERPRI 259 PRIN1 250 PRIN1 238 PRIN1 224 \FINDPOINTER.INTERPRET.RECORD 186 PRIN1 174 PRIN1 142 RECLOOK 130 PRIN2 122 PRIN1 111 \FINDPOINTER.NEWITEM 94 \ISONFREELIST 86 MEMB 13 LISPVERSION) (341 N 316 Y 288 N 283 DWIMWAIT 149 SYSTEMRECLST) ( 298 ((Y "es") (N "o") (I "nspect it")) 293 "Shall I search for pointers to this object? " 244 "object " 232 " " 195 " freed " 180 " in" 168 " (not a pointer field)" 116 "at offset " 58 -512) \FINDPOINTER.INTERPRET.RECORD :D8 (L (1 OFFSET 0 DEC)) @j"HhZdg:gdgdgdgSKJJgKlh˻IdA)oi JJi oi hlY]dgKIkYJlhIk԰dgKl,lIkԹh dgdg𴮿KjJk[HX(135 PRIN1 123 PRIN1 110 PRIN1) (217 BITS 209 FLAG 180 BYTE 149 WORD 77 FULLXPOINTER 59 FULLXPOINTER 51 POINTER 42 XPOINTER 36 POINTER 23 *) ( 129 ")" 104 " (") \FINDPOINTER.STACK :D8 (L (0 PTR)) )`jIHhkI@kI IkY(32 \FINDPOINTER.FOUND.ON.STACK) (4 \InterfacePage) () \FINDPOINTER.PARSE.STACK :D8 (L (0 BASE)) ``@HJokHdldlJHkHXmol5JkHkH`jkHkHHkHX6hHlԸkHjkHlHlXdJkHlkHѿHIrhNIL (11 \InterfacePage 4 \InterfacePage) ( 64 "Free block" 27 "System context") \FINDPOINTER.FOUND.ON.STACK :D8 (L (0 BASE) P 0 \INTERRUPTABLE F 2 *TERMINAL-IO*) |`g0`@2`h4l~`6IoI :h Ro@ IRI ooI i h(120 TERPRI 113 CL:FORMAT 95 STRINGP 84 CL:FORMAT 70 \FINDPOINTER.NEWITEM 62 STRPOS) (42 \InterfacePage 29 \InterfacePage 20 \InterfacePage 12 \FINDPOINTER.PARSE.STACK 7 \InterfacePage) ( 107 "(~S)" 101 "(~A)" 77 "in stack cell ~O " 56 "FINDPOINTER") (PRETTYCOMPRINT GCHAXCOMS) (RPAQQ GCHAXCOMS ((COMS (* ; "Looking at gc table") (FNS \MAPGC \SHOWGC \GCENTRIES.BY.TYPE \#COLLISIONS \#OVERFLOWS \GCSTATS.AUX \SEE-GC-ENTRY)) (COMS (* ; "Hacking free lists") (FNS \PRINTFREELIST \SHOWFREELISTS \SCANFREELIST \ISONFREELIST) (FNS PFL SFL) (FNS \COLLECTINUSE \SORTFREELIST \SFLHASHLOOKUP)) (COMS (* ; "finding circularities") (FNS \SHOWCIRCULARITY \SHOWCIRCULARITY1 \SHOWCIRCULARLIST \SHOWCIRCULARPATH)) (COMS (* ; "special window storage leak finder") (FNS \SHOW.CLOSED.WINDOWS \WINDOW.ACCOUNTED.FOR?)) (COMS (* ; "Brute force search for raw pointers") (FNS \FINDPOINTER \FINDPOINTERS.OF.TYPE \FINDPOINTER.FOUND \FINDPOINTER.NEWITEM \FINDPOINTER.LISTP \FINDPOINTER.LISTP.FREE \FINDPOINTER.TYPE \FINDPOINTER.INTERPRET.RECORD \FINDPOINTER.STACK \FINDPOINTER.PARSE.STACK \FINDPOINTER.FOUND.ON.STACK) ) (DECLARE%: EVAL@COMPILE DONTCOPY (MACROS \COERCETOTYPENUMBER .ALLOCATED.PER.PAGE. MDSTYPE#) (FILES ( LOADCOMP) LLGC LLBASIC) (LOCALVARS . T) (GLOBALVARS SYSTEMRECLST)) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA SFL PFL) (NLAML) (LAMA))))) (PUTPROPS GCHAX COPYRIGHT ( "Syntelligence Systems, Inc. This program or documentation contains confidential information and trade secrets of Syntelligence Systems, Inc. Reverse engineering, reverse compiling and disassembling of object code are prohibited. Use of this program or documentation is governed by written agreement with Syntelligence Systems, Inc. Use of copyright notice is precautionary and does not imply publication or disclosure of trade secrets" 1982 1983 1984 1985 1986 1987 1990 1992 1994)) NIL