Thanks for your great reply, Andrew! It does spawn an iteration of my question though. Just to clarify things further, say the myCell.cdf file actually contained the following (and sorry in advance because all the indentation is apparently lost when I paste it into the box where I ask my question): LIBRARY = "myLib" CELL = "myCell" let( ( libId cellId cdfId ) unless( cellId = ddGetObj( LIBRARY CELL ) error( "Can't find cell: %s." CELL ) ) when( cdfId = cdfGetBaseCellCDF( cellId ) cdfDeleteCDF( cdfId ) ) cdfId = cdfCreateBaseCellCDF( cellId ) a = 3.14159 <---- a constant whose name is likely to clash with a lot of stuff b = 1.41421 <---- a constant hopefully accessible by all of this final cdf's callbacks cdfCreateParam( cdfId ?name "X" ?prompt "X" ?defValue "0" ?type "string" ?storeDefault "yes" ?callback "letseq( a bunch of code that hopefully uses a and b from above goes here )" <------ ) cdfCreateParam( cdfId ?name "Y" ?prompt "Y" ?defValue "0" ?type "string" ?storeDefault "yes" ?callback "letseq( a bunch of code that hopefully uses a and b from above goes here )" <------ ) ) I'm under the impression myCell.cdf file is an intermediate file that is used to create the actual cdf for myCell in the library myLib. The code in the callback is just a really long string that is presumably *blindly* written out to the real cdf and the references to the callback's a and b variables in the new location might not actually have anything to do with the declared a and b variables at the top of the myCell.cdf file. If that's the case, then declaring the a and b variables in myCell.cdf is irrelevant, and the poor choice of names for the variables a and b are now highly open to being stomped on in the global space. That's the essential part of my question. Finally, the code above is in a file called e.g. myCell.cdf - not a *.ils file. Is this an issue?Image may be NSFW.
Clik here to view.
Clik here to view.
