root.dir returns the root directory for the current computer.  The 'root.dir' function expects that 1 of 5 cases will apply:

1) R is running on a computer that has an object named 'root.dir.local'  on the search path.  'root.dir.local' is a string that names the directory to be treated as the root directory on the current computer.  If 'root.dir.local' exists on the search path, it supercedes any other specification of the root directory and the 'root.dir' function returns 'root.dir.local' as its value.  Thus, you can set the directory to be treated as the root directory on any computer by creating a 'root.dir.local' that names that directory, e.g., 'root.dir.local <- "c:/mywork/".

2) R is running on JM's X220 laptop and the computer name is 'SPARSEGREY'.  In this case, 'root.dir' returns "e:/".

3) R is running on Dad's computer and the computer name is 'SFMIYA2011-PC'.  In this case, 'root.dir' returns "b:/ab/john/".

4) R is running on Jean's ThinkPad and the computer name is 'JC-THINKPAD'.  In this case, 'root.dir' returns "d:/john/".  

5) None of the cases, (1) - (4) applies.  In this case, the root directory is the root directory on the path to the current R working directory.  E.g., if 'getwd()' returns "C:/mywork/data", then 'root.dir()' returns 'c:/'.  

If endSlash = TRUE, then the root specification ends in a /; otherwise it does not, e.g., root.dir( endSlash = FALSE ) returns e: on the x220 laptop.

save.jm is exactly like the save function in the R-base except that it checks whether the target file exists.  If it exists, then save.jm warns the user and refuses to overwrite the target file (default action).  This default can be overridden (overwrite = TRUE).  The file specification may include a path.  
 
save.jm(list = character(0), overwrite = FALSE, 
file = stop("'file' must be specified."), 
envir = parent.frame(), ...)

DETAILS:
The save.jm code adjusts the drive specifications so that they are appropriate for different computers that JM uses; these adjustments are not made when the function is called on any other computer.  In other words, if this function is called while R is running on a computer that is not JM's usual computer, then file specifications remain exactly as input by the user.  

ARGUMENTS:

list: A string vector of one or more object names.

overwrite: If overwrite = TRUE, the output file will be overwritten if it exists.  If overwrite = FALSE (default), then the file will not be overwritten and the user is warned that no action was taken.  

file: The file to which the objects will be saved.

envir: Same as the envir argument for the save function.  

...: save.jm calls the save function to carry out the actual save operation.  Additional arguments can be passed to save by means of the ... argument.