From p.murrell at auckland.ac.nz  Mon Apr 26 05:53:49 2004
From: p.murrell at auckland.ac.nz (Paul Murrell)
Date: Mon Apr 26 05:55:35 2004
Subject: [Rd] trellis.device in .First (PR#6812)
References: <Pine.LNX.4.44.0404230741440.1166-100000@gannet.stats>	<Pine.LNX.4.44.0404230809390.1166-100000@gannet.stats>
	<16520.53902.315687.116655@gargle.gargle.HOWL>
Message-ID: <408C87CD.40703@stat.auckland.ac.nz>

Hi


Martin Maechler wrote:
>>>>>>"BDR" == Prof Brian Ripley <ripley@stats.ox.ac.uk>
>>>>>>    on Fri, 23 Apr 2004 08:21:34 +0100 (BST) writes:
>>>>>
> 
> 	  <........>
> 
>     BDR> It is a matter for discussion (with the lattice
>     BDR> maintainer) whether trellis.device should help you out
>     BDR> here by importing the devices from package graphics.  I
>     BDR> think adding (conditionalized on the platform)
> 
>     BDR> importFrom(graphics, windows, postscript, pdf, pictex,
>     BDR>            win.metafile, win.print, png, jpeg, bmp, xfig, bitmap)
> 
>     BDR> to its NAMESPACE might be worth considering.
> 
>     BDR> Alternatively, device.call <- get(device) could be put
>     BDR> in a try call, followed by a try on
>     BDR> getFromNamespace("graphics", device).
> 
> That's a very good idea, I'd support quite a bit.
> 
> I think I would go with the alternative approach
> (where you probably meant to say  device <- getOption("device") first?),
> since the importFrom(..) approach leeds to a somewhat tedious maintenance
> effort to keep up the list of available devices for the different platforms
> (For MacOS X one has to include quartz() only in the situations
>  where it's available) where as Deepayan (the lattice
> maintainer) could rely on getOption("device") to be ok
> {and as you proposed would be on guard using try() or its newer siblings}.


I probably should have thought of this sooner, but anyway ...
Perhaps a better solution would be to split out another package called 
"devices".  Then both "graphics" and "grid" could require "devices" (so 
whenever you go to do any graphics you are guaranteed access to the 
default devices).

Paul


>     BDR> On Fri, 23 Apr 2004, Prof Brian Ripley wrote:
> 
>     >> 1) On the first point, please do read the NEWS file for R
>     >> 1.9.0.
>     >> 
>     >> .Rprofile and .First have always been run before the
>     >> default packages are loaded in .First.sys, to allow them
>     >> to be changed.
>     >> 
>     >> So this *is* a documented change in behaviour, not a bug.
>     >> If I do
>     >> 
>     >> .First <- function() {library(lattice); trellis.device()}
>     >> 
>     >> This happens on all platforms.  You need
>     >> 
>     >> .First <- function() {library(graphics);
>     >> library(lattice); trellis.device()}
>     >> 
>     >> That is true of starting any graphics device in .Rprofile
>     >> or .First.
> 
> 
>     BDR> -- Brian D. Ripley, ripley@stats.ox.ac.uk Professor of
>     BDR> Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
>     BDR> University of Oxford, Tel: +44 1865 272861 (self) 1
>     BDR> South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG,
>     BDR> UK Fax: +44 1865 272595
> 
>     BDR> ______________________________________________
>     BDR> R-devel@stat.math.ethz.ch mailing list
>     BDR> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
> 
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-devel


-- 
Dr Paul Murrell
Department of Statistics
The University of Auckland
Private Bag 92019
Auckland
New Zealand
64 9 3737599 x85392
paul@stat.auckland.ac.nz
http://www.stat.auckland.ac.nz/~paul/


[Rd] trellis.device in .First (PR#6812)
Paul Murrell