One more thing: The UNLISP file can be helpful for finding unintended global variables, but some of the warnings it
gives can be safely ignored; for example, you might see things such as
warning: length(first(s)) = 2 and length(second(s)) = 1 is a special function without a full Lisp translation.
warning: calling length(first(s)) = 2 and length(second(s)) = 1 in compiled code might not have the desired effect.
I don't think that such warnings indicate a problem. You might also see something like
/* The following functions are not known to be translated:
[crunch]$ */
This means that crunch was used as a function but not defined. This might indicate a problem--in my case, it's a bug because
I changed the function name "crunch" to "simp_gauss_hypergeometric" but failed to change all the calls to crunch.
--Barton