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

(CIFOUT *ME* <file>)

The behaviour of cifout on "top" ogjects is wrong. Currently, the
function notices that its argument is a prototype and just outputs its
definition, without a "C"  command calling it.  The problem with this
(besides the lack of the Call) is that if someone has made an object
with bnodes and tries to make cif by doing (cifout *me* ..) the bnodes
don't appear in the cif because his cell isn't the top-level object --
the buffer is.

I propose the following solution which I will implement if no one

Cifout of a TOP? object causes each of its parts to be cifouted as if
they were top-level (ie bnodes are defined) and the end of the file is
a set of C commands to each of the objects.  In particular, this means
that there is no DS command defining anything corresponding to the
buffer, its parts are C'd at top level in the cif.

For the most common case of *me* having only one part, this is, I
think, the prefered behaviour.  If there is more than one part, the
user may sometimes want them packaged into a symbol, however the
solution I described will make perfectly valid cif.  

                  CalTech bites dead horsies,