[Rd] apropos changes in r-devel: intended feature or bug?
Martin Maechler
maechler at stat.math.ethz.ch
Fri Dec 22 14:38:36 CET 2006
Ok, so be it:
We have seen that both apropos() and find()
have used `some' non-standard evaluation up to R 2.4.1
which gave quite incosistent behavior.
Getting rid of non-standard evaluation get's rid of all
inconsistencies but of course is not back-compatible either.
I'll do this.
Martin
>>>>> "Luke" == Luke Tierney <luke at stat.uiowa.edu>
>>>>> on Fri, 22 Dec 2006 07:08:44 -0600 (CST) writes:
Luke> On Fri, 22 Dec 2006, Kurt Hornik wrote:
>>>>>>> Martin Maechler writes:
>>
>>>>>>> "DeepS" == Deepayan Sarkar <deepayan.sarkar at gmail.com>
>>>>>>> on Thu, 21 Dec 2006 22:07:27 -0800 writes:
>>
DeepS> The old apropos started with: if
DeepS> (!is.character(what)) what <-
DeepS> as.character(substitute(what))
>>
DeepS> The new one has:
>>
DeepS> if (character.only) stopifnot(is.character(what))
DeepS> else what <- as.character(substitute(what))
>>
DeepS> i.e., the check for is.character(what) is
DeepS> missing. This has the effect that 'what' can no
DeepS> longer be a character string generated by a function
DeepS> call unless 'character.only = TRUE'. I don't think
DeepS> this was intended; the change makes previously valid
DeepS> use invalid and I can't think of a situation where it
DeepS> is useful.
>>
>>> [ Did you read the corresponding NEWS entry? ]
>>
>>> It now parallelizes the use in library() , require() etc,
>>> and in particular does what the documentation says it does!
>>
>>> The old behavior was much less consistent and not according to
>>> documentation:
>>
>>> apropos(lm) was equivalent to apropos("lm")
>>> but apropos(fit) gave an error.
>>
>> I would actually prefer if we only had standard evaluation for apropos()
>> and find().
>>
>> (I understand we cannot do this for library() and help().)
Luke> I agree completely. If it is OK to make changes that make previous
Luke> usage fail then it would be better to go to standard evaluation and
Luke> let apropos(lm) fail.
Luke> luke
Luke> --
Luke> Luke Tierney
Luke> Chair, Statistics and Actuarial Science
Luke> Ralph E. Wareham Professor of Mathematical Sciences
Luke> University of Iowa Phone: 319-335-3386
Luke> Department of Statistics and Fax: 319-335-3017
Luke> Actuarial Science
Luke> 241 Schaeffer Hall email: luke at stat.uiowa.edu
Luke> Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
Luke> ______________________________________________
Luke> R-devel at r-project.org mailing list
Luke> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list