Hi,
Would it make sense to throw a condition when the working directory
changes, so that interested parties (such as guis can act based on the
change using an appropriate calling handler), and not interested parties
can just ignore it.
For example, something like this:
setwd <- function (dir) {
out <- .Internal(setwd(dir))
setwdCondition <- simpleCondition( paste( "setwd: ", dir) )
class( setwdCondition ) <- c("setwd", "condition" )
setwdCondition$dir <- dir
signalCondition( setwdCondition )
invisible( out )
}
which could handled like this to have your prompt responding to changes
of current directory:
withCallingHandlers( f() , setwd = function(e) options( prompt =
sprintf( "[%s]> ", e$dir ) ) )
Beyond the simple example, would it make sense to define a set of
condition or events, or is this abusing the concept of conditions and
something else should be used ? hooks ?
Also, is there a way to "register" a calling handler so that it listens
to every top-level command. Something like options( "error") but for
handling other kinds of conditions ?
Romain
--
Romain Francois
Independent R Consultant
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel