removeSource
Remove Stored Source from a Function or Language Object
Description
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()
.
Usage
removeSource(fn)
Arguments
fn | a |
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.
Examples
## 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
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.