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

Macro use in Bomb package



Do you agree that the following line which appears in the bomb package
(in the Michael-Wjr merge) several times:

		CAT(~,CAT(KIND,_Bomb))()				\

Should instead be:

		~CAT(KIND,_Bomb)()					\

?

It turns out the first form won't preprocess correctly on some
preprocessors.  This has caught Heh before (bombs wouldn't work right
on the Mac) Try as hard as I could, I could not figure out how to
write CAT so that it would nest properly under all preprocessors.  In
fact, with the nested CAT, I'm surprised the bomb code above works on
the suns.  Since "~" is considered a separate token by all, the second
form above should always work.

I'm going to modify my local copy (now that I've already submitted to
the merge).  It would probably be good for you to make this change in
the code you're feeding into the merge.


Note:  CAT and STR work by themselves, but none of the functional
compositions of them work on all platforms.