removeSource

0th

Percentile

Remove Stored Source from a Function or Language Object

When options("keep.source") is TRUE, a copy of the original source code to a function is stored with it. Similarly, parse() may keep formatted source for an expression. Such source reference attributes are removed from the object by removeSource().

Keywords
utility
Usage
removeSource(fn)
Arguments
fn

a function or another language object (fulfilling is.language) from which to remove the source.

Details

This removes the "srcref" and related attributes, via recursive cleaning of body(fn) in the case of a function or the recursive language parts, otherwise.

Value

A copy of the fn object with the source removed.

See Also

is.language about language objects.

srcref for a description of source reference records, deparse for a description of how functions are deparsed.

Aliases
  • removeSource
Examples
library(utils) # NOT RUN { ## to make this act independently of the global 'options()' setting: op <- options(keep.source = TRUE) fn <- function(x) { x + 1 # A comment, kept as part of the source } fn names(attributes(fn)) # "srcref" (only) names(attributes(body(fn))) # "srcref" "srcfile" "wholeSrcref" f2 <- removeSource(fn) f2 stopifnot(length(attributes(fn)) > 0, is.null(attributes(f2)), is.null(attributes(body(f2)))) ## Source attribute of parse()d expressions, ## have {"srcref", "srcfile", "wholeSrcref"} : E <- parse(text ="a <- x^y # power") ; names(attributes(E )) E. <- removeSource(E) ; names(attributes(E.)) stopifnot(length(attributes(E )) > 0, is.null(attributes(E.))) options(op) # reset to previous state # }
Documentation reproduced from package utils, version 3.6.1, License: Part of R 3.6.1

Community examples

Looks like there are no examples yet.