'setwd.jm' sets the current working directory to its argument, 'dir2', just as 'setwd' does.  In addition, if there is a 'data.rda' attached to the search path prior to changing the working directory, this file is detached from the search path.  If there exists a 'data.rda' file in the new working directory ('dir2'), then it is loaded onto the search command.  If there is no 'data.rda' file in the new working directory, then 'data.rda' is created by saving a default character vector 'File.Description' in 'data.rda' and saving it.  'File.Description describes the purpose of 'data.rda'. Change 'File.Description' to something more descriptive if you like.

If 'data.rda' does not already contain an object called 'loc.data.rda', then 'loc.data.rda' is created and moved to 'data.rda'.  'loc.data.rda' is a character string that specifies the location of 'data.rda' in the directory structure.  Its main use is to avoid a situation where a function moves an object to a 'data.rda' file which happens to be different from the intended 'data.rda' file.  

'setwd.jm' is designed to identify the intended directory on either the X220 laptop or on the UHouse computer.

'tog.utilities' toggles between a search path on which jmfuns.rda is attached, and a search path on which jm.utilities.rda is attached.  The function is useful when checking that the functions in jm.utilities.rda do not call any functions that are only present in jmfuns.rda.

'tog.utilities' is less useful now that the 'find.fun.in.fun' and 'check.all.funs' functions have been written.  These latter function facilitate the checking of whether functions in jm.utilities.rda call functions that are in jmfuns.rda and not in jm.utilities.rda.  In other words, there should be less need to toggle jm.utilities.rda onto and off of the search path now that 'find.fun.in.fun' and 'check.all.funs' functions have been written.

The 'windows.jm' function in "jmfuns.rda" opens a graphics window.  It is almost identical to the 'windows' function in the grDevices package, except that it has been modified to use JM's preferred defaults.  

OBSOLETE:  Previously, JM created a function named windows and stored it in jmfuns.rda.  By saving JM's windows function to "jmfuns.rda", which sits in front of the grDevices package on the search path, JM's windows function would intercept the call to windows, introduces JM's defaults, and passes the rest of the function call on to the grDevices windows function.  This strategy has been abandoned because it may cause confusion for students who use the jmfuns.rda functions.