check.all.fns compares the functions in two files, test.file and avoid.file.  Typically, test.file is a smaller set of functions that the user plans to send to another user, and avoid.file is a larger set of functions that the user maintains for his or her general use that will not be sent to this other user.  check.all.fns checks that none of the functions in test.file calls a function in avoid.file that is not in test.file.  This avoids problems that arise when someone who does not have avoid.file attempts to use the functions in test.file.  If check.all.fns finds that the function fn.1 in test.file calls a function fn.2 in avoid.file that is not in test.file, the user has various options: (i) add fn.2 to the functions in test.file; (ii) remove fn.1 from the functions in test.file; (iii) rewrite fn.1 so that it no longer needs to call fn.2.  After making a revision, the user will need to run check.all.fns again to see whether the revisions have created new functional dependencies between test.file and avoid.file.    

DETAILS
check.all.fns compares the functions in two files that are on the search path.  By default, these files are set to:

test.file  = "jm.utilities.rda"

avoid.file = "jmfuns.rda"

Suppose that FUN is a function in test.file.  check.all.fns checks whether FUN calls any function that is contained in avoid.file and is not contained in test.file.  check.all.fns does this for every function in test.file.  check.all.fns is used mainly to create a set of functions, test.file, such that none of the functions in test.file calls a function in avoid.file that is not in test.file.  This is useful if the user plans to send test.file to another user who does not have the functions in avoid.file.    

The output is a list.  Component 1 of the output ($ok.fns) is a vector of function names; specifically, the functions in test.file that call only functions that are in test.file or functions that are part of the usual R installation.  Component 2 of the output ($not.ok) is a list.  Each component of component 2 is a vector of function names, the functions in avoid.file that are called by a particular function in test.file but are not present in test.file.  

It would be useful to generalize the check.all.fns function so that it could also check for calls to functions that are contained in packages that are not part of the standard R installation, e.g., a call to the bugs function in R2OpenBUGS.  It might be possible to generalize avoid.file so that it can be a vector of file names and not just a single file.