[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Restriction condition in DEFVST



Touretzky's case is now fixed, as mentioned in:
    Date: 12 June 1981 20:03-EDT
    From: Richard L. Bryan <RLB at MIT-MC>
	Date: 12 June 1981 1946-EDT
	From: Dave Touretzky at CMU-10A
	(defvst x (name /: symbol))
	...load some stuff...
	X
	(cons-a-x)
	;FOO UNBOUND VARIABLE
    The restriction alist in the (SETQ INIFORM  ...) part of the DEFVST macro
    has a pair (SYMBOL . FOO) which should be (SYMBOL . 'FOO).  I wrote out
    a new source version MC:NILCOM;DEFVST 144 but didn't compile it since I
    don't understand all the circular interfile compilation dependencies.
The compilation dependencies are hierarchical rather than circular, and are 
as follows: 
	DEFVST 		3
	  ||
	  \/
	DEFVSX 		2
	  ||
	  \/
	DEFVSY		1
	  ||
	  \/
	EXTSTR		0
That is, in order to compile a level-n file, all the files below it have 
to be usable in the COMPLR, but none at the same or higher level is required.
Some other features are used too, like EXTEND, EXTMAC, EXTHUK, DEFSETF, and 
UMLMAC, but they are independent of DEFVSxxx.

I've also edited the DEFVSxxx files to use a 1-arg version of GLOBALIZE,
and to use the SHARPC form of code conditionalization (should make
cross-compilation a little more comprehensible).

Dave:   You should just FTP over to CMUA new versions of DEFVST.FAS,
        DEFVSX.FAS, and DEFVSY.FAS (the latter two not being strictly
        necessary to update, but why not).