extract.filename.only takes a character vector of Window's file names possibly including paths, and returns the vector of file names without paths.  The file extensions are removed.

'extract.lastname' extracts either the last name (default) or
given names from a string of the form, 'Smith, John' or
'Smith, John David'.  The function also applies to a string vector
of names.
ARGUMENTS:
'char.vec' - a vector of names that are formatted as 'Last, First
(Optional Middle)'.
'first' - if TRUE, then the given names are extracted; if FALSE (default),
then the last name is extracted.  Note that the last name must be the string
that precedes a comma.  A string of the form 'John Smith' will be returned
as 'John Smith', but 'Smith, John' will return 'Smith'.
'pos.lastname' defaults to 1; it indicates the position of the last name,
e.g., 'Doe, John David' versus 'John David Doe'.
'ch.split' indicates the separator between the last name and the given names.
'ch.split' defaults to ',' but it can be set to other characters, e.g., ' '.
'lower' - if TRUE, then all characters are transformed to lower case;
the default is FALSE.
'No.Names' - if TRUE, then the vector components are named by 'char.vec'
(the input string vector).  If FALSE, then the vector components have
no names.

'factor.codes' displays the correspondence between factor codes
and their numeric values.

'find.data.rda' creates a variable, 'loc.data.rda' in the .GlobalEnv if there exists a file designated 'file:data.rda' on the search path.  If not, it returns a message stating that the file was not found. The main use for this function is to create a string called 'loc.data.rda' that can be moved to a 'data.rda' file in order to identify it.

find.fn.in.fn creates a vector of all function names for all functions called by a designated function such that the called functions are in a designated avoid.file and are not in a designated test.file.  For example, suppose FUN = move, test.file = jm.utilities.rda, and avoid.file = jmfuns.rda.  Then find.fn.in.fn(FUN = move, test.file = "jm.utilities.rda", avoid.file = "jmfuns.rda") creates a vector of function names for functions that are called by move, that are contained in jmfuns.rda and not contained in jm.utilities.rda.  find.fn.in.fn returns the names of these function.  

Usually, the user is trying to create a set of functions, to be stored in test.file, such that the functions in test.file do not call any functions that are neither in test.file nor are general purpose R functions. 

find.fn.in.fn is used by the check.all.fns function to check that all functions within a test.file are self-contained in the sense that they only call other functions within test.file or general purpose R functions.   

The output of find.fn.in.fn is either character(0) if all functions called by FUN are either general purpose R function or are in test.file, or it is a vector of function names, i.e., the names of functions that are in the avoid.file and are not in the test.file.  

ARGUMENTS:

FUN = function to be scanned for references to other functions.

test.file = path + filename where referenced functions are to be sought.  The default is 'file:E:/r/jm.utilities.rda'.  The find.fn.in.fn function is used to check that there are no functions called in FUN that are in the avoid.file and not in test.file.  

avoid.file = path + filename.  The default value is 'file:E:/r/jmfuns.rda' because this is JM's set of all default functions.  

sink.file = the file where the function code will be temporarily written.