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

package changes

The first part of your message is quite reasonable, except for the
claim that it is very expensive to check for.  When P2 exports S1',
you simply find every package that uses or includes P2 and call
(FIND-SYMBOL (SYMBOL-NAME S1') Pn) in that package.  This is just INTERN
that doesn't create new symbols.  If this comes back with a symbol that
isn't S1', you have a name conflict, unless the symbol it comes back
with is on the shadow list of Pn.  Of course, you don't ask the user
questions one at a time; you find all the name conflicts first, sort
them according to their various causes, then give the user one explanation
of what happened.  Continuing from the error would presumably be allowed
with several options including both simple ones like "do it anyway"
and "give up on exporting", and complex options like "ask me a separate
question for each package with a conflict".

I haven't studied the rest of your message yet.  Will send more mail
tomorrow or later today.