savehistory directories and quitting R (PR#2038)

ripley@stats.ox.ac.uk ripley@stats.ox.ac.uk
Tue, 22 Oct 2002 07:53:18 +0100 (BST)


On Tue, 22 Oct 2002 Mark.Bravington@csiro.au wrote:

> Thanks-- as Duncan Murdoch also noted, R_HISTFILE can be used to solve my
> problem, as below. BTW it's not easy to find out about R_HISTFILE in the
> help system or manuals, though, unless you already know it exists-- it only
> seems to be described under startup options, not things to do with history.
>
> However, Duncan's reply did hint at an inconsistency, in that savehistory()
> defaults to using a file called .Rhistory in getwd(), rather than using
> R_HISTFILE. I've modified my savehistory to default to R_HISTFILE if it
> exists, like so:

Yes, intentional.  Note that it is not R_HISTFILE used, but its value at
the beginning of the session ....

>
> savehistory_ function( file) {
>   if( missing( file) && is.null( file <- Sys.getenv( 'R_HISTFILE')))
>     file <- '.Rhistory'
>   get( 'savehistory', pos='package:base')( file)
> }
>
> #This is not a bug. If you override a system function, you
> #can't expect it
> #to be used by R internals.  Indeed, as from 1.6.0 you can't
> #even expect it
> #to be used by R's base functions, due to namespaces.
>
> With an eye to namespace-like issues, I originally put some code in .First
> to overwrite the version of savehistory within package:base, rather than
> simply masking it with a copy in .GlobalEnv. But, since savehistory wasn't
> actually called at quit time, even that didn't fool the system...
>
> cheers
> Mark
>
> *******************************
>
> Mark Bravington
> CSIRO (CMIS)
> PO Box 1538
> Castray Esplanade
> Hobart
> TAS 7001
>
> phone (61) 3 6232 5118
> fax (61) 3 6232 5012
> Mark.Bravington@csiro.au
>
> #-----Original Message-----
> #From: ripley@stats.ox.ac.uk [mailto:ripley@stats.ox.ac.uk]
> #Sent: Tuesday, 15 October 2002 12:31 AM
> #To: Mark.Bravington@csiro.au
> #Cc: r-devel@stat.math.ethz.ch; R-bugs@biostat.ku.dk
> #Subject: Re: savehistory directories and quitting R (PR#2038)
> #
> #
> #This is not a bug. If you override a system function, you
> #can't expect it
> #to be used by R internals.  Indeed, as from 1.6.0 you can't
> #even expect it
> #to be used by R's base functions, due to namespaces.
> #
> #There are very good reasons for the internal quit code not to
> #call user's
> #R code, the main one being that R errors will not be handled then.
> #.Last is made available as a hook to enable you to do what you want:
> #as the help page says.
> #
> #Doesn't setting R_HISTFILE do this for you automatically? Just set
> #R_HISTFILE="D:/R50/.Rhistory" and the history should be loaded
> #and saved
> #to the specified place.  Works under Unix, at least.
> #
> #
>

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._