R.utils (version 1.6.2)

findSourceTraceback: Finds all 'srcfile' objects generated by source() in all call frames

Description

Finds all 'srcfile' objects generated by source() in all call frames. This makes it possible to find out which files are currently scripted by source().

Usage

## S3 method for class 'default':
findSourceTraceback(...)

Arguments

...
Not used.

Value

  • Returns a named list of objects of class 'srcfile'. The names of the list entries corresponds to the 'filename' value of each corresponding 'srcfile' object. The returned list is empty if source() was not called.

Examples

Run this code
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Create two R script files where one source():s the other
# and both lists the traceback of filenames source():d.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
path <- tempdir();
pathnameA <- Arguments$getWritablePathname("foo.R", path=path);
pathnameB <- Arguments$getWritablePathname("bar.R", path=path);

code <- 'cat("BEGIN foo.R
")';
code <- c(code, 'print(findSourceTraceback());');
code <- c(code, sprintf('source("%s");', pathnameB));
code <- c(code, 'cat("END foo.R
")');
code <- paste(code, collapse="");
cat(file=pathnameA, code);

code <- 'cat("BEGIN bar.R
")';
code <- c(code, 'print(findSourceTraceback());');
code <- c(code, 'cat("END bar.R
")');
code <- paste(code, collapse="");
cat(file=pathnameB, code);


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Source the first file
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
source(pathnameA, echo=TRUE);

Run the code above in your browser using DataCamp Workspace