{eris}current>dt>newDTnotes.tedit notes on new DT-related front-end functions & features 8 apr 86 m herring entry points OPTIMIZATIONSOFF & DFNFLG handling calling conventions bugs entry points -- (LOFILE file) -- recognizes DFNFLGFILES -- if not then LOAD file; if so the LOADFN all fns on file 'PROP, i.e. to EXPR or CODE properties of the fns (COFILE file) -- apply CO to the list of FNS on the file (DTFILE file) -- apply DT to the list of FNS on the file (CO fn) -- COMPILE "ST N" fn -- recognizes OPTIMIZATIONSOFFFILES -- if true then compile with OPTIMIZATIONSOFF forced true, else ... false -- recognizes DFNFLGFILES -- if so then compile to the CODE properties of the fn (DT fn) -- convert ccodep definition of fn to tcodep definition on TCODE property of fn -- recognizes DFNFLGFILES -- if so then uses the CODE properties of the fn -- DFNFLGFILES can be escaped by passing the ccodep directly to DT (EDITF fn) -- advised to recognize DFNFLGFILES -- unfortunately, since DFNFLG is accessed as a global value, the best I could do is-- if DFNFLG is wrong for this fn on entry to EDITF, EDITF will break, and if DFNFLG is wrong on exiting EDITF, EDITF will break then (it might not be too late to undo). what you should see on editing a DFNFLGFILES fn is "prop changed but NOT unsaved" (DPC fn) -- as before but recognizes DFNFLGFILES -- if so then use the CODE property of the fn -- DFNFLGFILES can be escaped by passing the ccodep directly to DPC OPTIMIZATIONSOFF & DFNFLG handling-- before using a file that should have either feature, push its filename (the root anyway) on the corresponding xxxFILES list: OPTIMIZATIONSOFFFILES -- a list of filenames -- all and only those fns, which are FNS of some file on this list (root file names are used) are to be COed with OPTIMIZATIONSOFF forced T DFNFLGFILES -- a list of filenames -- all and only those fns, which are FNS of some file on this list (root file names are used) are to be related to by all these functions defined here as though their definition cell is never to be touched a fn is "on" OPTIMIZATIONSOFFFILES or DFNFLGFILES iff some file on that list has a FILE property COMS variable (or the existence of a variable named fileCOMS will do) and that has a LISTP global value & fn is listed there as a FNS. A file is on one of these lists if to-upper of root-file-name less any trailing ".dcom" EQ ditto of some file on the list. calling conventions -- everyone will take a list of whatever it is documented as taking one of. everyone, given no argument (or NIL), will take that to mean to re-use the last argument supplied to any function in its class. The two classes are: (1) FILE (guys whose names end in FILE) and (2) all others. when one of these functions is given a list, holding the STOP key down long enough will cause the function to abort cleanly. aborted functions can be restarted by supplying them the single argument T. If say COFILE is aborted, then probably the inner call to CO was aborted too. This will be clear from the messages printed. Then the rest of the aborted file can be got by CO[T] and the rest of the list of files can be done by COFILE[T]. bugs -- neither handles nor notices compiler-generated subfunctions. Both CO of DFNFLGFILES files & DT of any files should do this.(HGACHA ?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) +7$–99Ü怣%}¹ñdIÓ}=A þrzº