Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!caip!sri-spam!nike!ucbcad!ucbvax!hplabs!sdcrdcf!darrelj From: darrelj@sdcrdcf.UUCP (Darrel VanBuer) Newsgroups: net.ai Subject: Re: Dandelion vs Symbolics Message-ID: <3017@sdcrdcf.UUCP> Date: Fri, 19-Sep-86 10:27:15 EDT Article-I.D.: sdcrdcf.3017 Posted: Fri Sep 19 10:27:15 1986 Date-Received: Sat, 20-Sep-86 20:45:31 EDT References: <25800004@siemens.UUCP> Reply-To: darrelj@sdcrdcf.UUCP (Darrel VanBuer) Organization: System Development Corporation R&D, Santa Monica Lines: 44 A slight echo on the Interlisp file package (partly response to earlier note on problems using MAKEFILE, and losing a bunch of user-entered properties. Rule 1. Users never call MAKEFILE (in 9 years of Interlisp hacking, I've probably called it half a dozen times). So how do you make files? I mainly use two functions: CLEANUP() or CLEANUP(file1 file2 ...) Former does all files containing modifications, latter only named files. The first thing CLEANUP does is call UPDATEFILES, which is also called by: FILES?() Reports the files which need action to have up to date source, compiled and hardcopies, also calls UPDATEFILES, which will engage you in a dialog asking you the location of every "new" object. Most of the ways to define or modify objects are "noticed" by the file package (e.g. the structure editor [DF, EF, DV ...], SETQ, PUTPROP, etc which YOU type at top level). When an object is noticed as modified, either the file(s) containing it are marked as needing a remake, or it gets noted as something to ask you about later. You can write functions which play the game by calling MARKASCHANGED as appropriate. Two global variables interact with details of the process: RECOMPILEDEFAULT usually EXPRS or CHANGES. I prefer the former, but CHANGES has been the default in Interlisp-D because EXPRS didn't work before Intermezzo. CLEANUPOPTIONS My setting is usually (RC STF LIST) which means as part of cleanup, recompile, with compiler flags STF (F means forget source from in core, filepkg will automagically retrieve it if you edit, etc), and make a new hardcopy LISTing. For real fun with filepkg and integration with other tools, try MASTERSCOPE(ANALYZE ALL ON file1) MASTERSCOPE(EDIT WHERE ANY CALLS FOO) CLEANUP() -- Darrel J. Van Buer, PhD System Development Corp. 2525 Colorado Ave Santa Monica, CA 90406 (213)820-4111 x5449 ...{allegra,burdvax,cbosgd,hplabs,ihnp4,orstcs,sdcsvax,ucla-cs,akgua} !sdcrdcf!darrelj VANBUER@USC-ECL.ARPA