From edd at debian.org  Fri Jun 10 21:36:05 2011
From: edd at debian.org (Dirk Eddelbuettel)
Date: Fri, 10 Jun 2011 14:36:05 -0500
Subject: [Rd] How to add a welcome message in Package development?
In-Reply-To: <EC3D7B97-9AAD-4626-BC5E-3372344AB155@r-project.org>
References: <BANLkTikFL8LuPkX6SSEp-yNqNhYpt-zrWg@mail.gmail.com>
	<EC3D7B97-9AAD-4626-BC5E-3372344AB155@r-project.org>
Message-ID: <19954.29221.228372.585633@max.nulle.part>


On 10 June 2011 at 15:10, Simon Urbanek wrote:
| 
| On Jun 10, 2011, at 2:54 PM, Nipesh Bajaj wrote:
| 
| > Dear all, it is my first post in R-devel list, and hope that this is
| > the right place to ask question related to package development.
| > 
| > I have created my first package in Windows through the usual route.
| > Now I want to add some ***Welcome message*** as soon as user loads my
| > package into their R console, using library() function. However I
| > could not figure out where and how should I add this functionality in
| > entire package development procedure, and the "Writing R Exts"
| > document also seem to be mum on this issue.
| > 
| 
| Personally, I find "welcome messages" extremely annoying, because if you load a dependency chain of 20 packages and each has something silly to say, you get pages of completely useless output (since you can't read all of them anyway) that tend to interfere with automated scripts. Also anything people tend to say in those is pertinent only once (when the user first sees the message) so the message is pointless most of the time that it's shown. But that's just my opinion.
| 
| That said, you can simply use cat() in .First.lib (if your packages has no namespace) or .onAttach or .onLoad (if your packages has a namespace).

No, not cat() --- please use   packageStartupMessage()   as that can actually 
be suppressed easily.

Dirk, who also finds them annoying

-- 
Gauss once played himself in a zero-sum game and won $50.
                      -- #11 at http://www.gaussfacts.com



[Rd] How to add a welcome message in Package development?
Dirk Eddelbuettel