R.cache (version 0.14.0)

.baseLoad: Loads an object from a file connection

Description

Loads an object from a file connection similar to load(), but without resetting file connections (to position zero).

WARNING: This is an internal function that should not be called by anything but the internal code of the R.cache package.

Usage

.baseLoad(con, envir=parent.frame())

Arguments

envir

An environment where the loaded object will be stored.

Value

Returns (invisible) a character vector of the names of objects loaded.

Details

The reason why it is not possible to use load() is that that resets the file position of the connection before trying to load the object. The reason why that happens is because when you pass a regular file connection to load() it gets coerced via gzcon(), which is the function that resets the file position.

The workaround is to create a local copy of base::load() and modify it by dropping the gzcon() coercion. This is possible because this function, that is .baseLoad(), is always called with a gzfile() connection.

See Also

This function is used by loadCache() and readCacheHeader().