rk.replace.function {rkward} | R Documentation |
rk.replace.function
can be used to replace a function inside a
different package / namespace. It is mainly intended for internal usage
inside rkward, e.g. to replace menu
and select.list
with
appropriate GUI implementations.
rk.replace.function(functionname, environment, replacement, copy.formals = TRUE)
functionname |
name of the function to be replaced (character). |
environment |
package environment or namespace, where replacment should be done. |
replacement |
the replacement. This should be a function. |
copy.formals |
logical; whether to copy the |
The original function is assigned to the environment
rkward::.rk.backups
with the same name as the original, and can be
referred to from the replacement. WARNING: This mechanism does not support
several subsequent replacments of the same function, nor does it support
replacement of generics.
WARNING: This function can be used to alter - and disrupt - internal functions in arbitrary ways. You better know what you are doing.
WARNING: Does not work well on generics!
Returns NULL
, invisibly, unconditionally.
Thomas Friedrichsmeier rkward-devel@kde.org
## Not run rk.replace.function ("history", as.environment ("package:utils"), function () { cat ("This is what you typed:\n") eval (body (.rk.backups$history)) }) ## End not run