Commit 900cc981 authored by Dirk Eddelbuettel's avatar Dirk Eddelbuettel

Import Upstream version 2.6.2

parent 912b894c
......@@ -6,6 +6,178 @@
o colnames(DF) is now also fast for large dataframes DF with
automatic row.names. Note that the correct usage is
names(DF). (PR#10470)
o tools::texi2dvi() works around the failure of 'texi2dvi --quiet'
to be quiet in texinfo 4.11.
o On Linux, parallel 32/64-bit installations are supported using
o A compilation problem on one system where glob was not found
has been corrected. (PR#10468)
o The "profile.nls" method of plot() was losing the x axis labels.
o array() computed the total number of entries in the array before
coercing the dimensions to integer. (Reported by Allen McIntosh.)
o persp() misreported errors in the y parameter. (Reported by Allen
o source("clipboard", echo=TRUE) and file("clipboard", open="rt")
gave spurious errors. (Reported by Fernando Saldanha.)
o attributes<-() stripped any existing attributes before checking
that all elements of the right-hand side had names.
o rbinom(n, size, *) gave NaN when 'size > .Machine$integer.max'.
o print.summary.lm() is now consistent in the capitalization of
o confint() misreported on some rank-deficient lm() models.
(PR#10496) This could also occur in the default method.
o \code{\var{<name>}} was not rendered correctly to latex in Rd
files for non-alphabetic arguments <name>.
o In 2.6.1, curve(*, add=TRUE) used a wrong default 'xlim' when x
coordinates were logged.
o The Java-based search in help.start() now only requires a
JVM >= 1.4 (2.6.1 accidentally required >= 1.5).
o The default method for range() was omitting 'na.rm' for
non-numeric objects such as those of class "Date". (PR#10508)
o cut(x, breaks=<n>) misbehaved on a constant vector of negative
o bxp(), the plotting engine of boxplot(), no longer plots staple
ticks multiple times. (PR#10499)
o The automatic detection of the domain for message translation
was not working correctly for messages in message(), warning()
and stop() in packages other than 'base'.
o The profile.nls() function misbehaved when encountering
non-convergence of the "port" algorithm.
o Under certain rare circumstances in R 2.6.x, log(), round()
and trunc() could alter their arguments in the caller. This
involved passing of empty '...' arguments, and was spotted
when using apply(x, 2, log).
o par() no longer warns unnecessarily when asked to set new=FALSE
on an unused graphics device.
o plot.formula() was not passing on '...' when used with a
one-sided formula.
plot.formula() was not accepting expressions for annotations
passed to title(). (PR#10525)
o pchisq(x, df=0, ncp=L) now returns the correct limit exp(-L/2) for
x=0 and is no longer returning NaN for x > 0, L < 80. (PR#10551)
o Non-ASCII characters were only working correctly in Hershey
fonts if these were specified by the 'vfont' argument to
text() and not if specified as a font family.
o There were several errors in Hershey$allowed, but the help
page listed the allowed combinations correctly.
o text() no longer attempts to use 'vfont' with an expression
for 'labels' (it was documented not to work).
o fisher.test(simulate.p.value = TRUE) gave incorrect answers
in some extremely degenerate problems. (PR#10558)
o src/extra/pcre has been updated to PCRE 7.5 (bugfix release).
o capture.output() completes an incomplete final line of
output when file = NULL. (PR#10534)
o capture.output() now returns invisibly if output is written to
a file/connection.
o format.AsIs() did not remove the "AsIs" class and so could go
into an infinite loop.
o summary.mlm() lost the names of the coefficients when there
was only one.
o Rdconv was not marking examples files with an encoding if
this was known from the package's DESCRIPTION file.
o readChar() from a raw vector was reading a number of bytes,
not characters.
o slotNames() was erroneously treating classes that extend
"character" as strings.
o R no longer ignores SIGPIPE signals even in processes launched
by system(). Instead PR#1959 is handled by a simple error
handler which will give an error message in circumstances
where none was given before.
o The AIC() S4 generic in package stats4 no longer disables
dispatch of S3 methods for AIC().
o The conflicts check in library() excluded all S4 generics, even
where they were unrelated to the function masked. It is now
more selective (although still too generous to S4 generics).
o proc.time() was missing a protect and could misbehave if
provoked by gctorture(). (PR#10600)
o The cut() and hist() methods for dates and datetimes are now
more accurate for intervals of "months" and "years", thanks to
Marc Schwarz.
o url()/download.file() could segfault if the HTTP interaction
involved a redirect to an address starting with '/' on the
same server.
o Memory allocations used in format() and in an internal utility
function could be off by one byte. (PR#10635)
o isoreg(x, y) no longer segfaults when y has NAs.
o split(x, g) always returns a list as documented. (It used to
return NULL for a zero-length 'x'.)
o tapply(x, g, ...) misbehaved if the args were of zero length.
o hist.POSIXt(*, xaxt = "n") no longer suppresses the y-axis.
o strptime() crashed under certain locales on Mac OS X.
o gregexpr() no longer segfaults when "" is given as the search
pattern. Thanks to Herve Pages for the bug report.
o matplot(x, *) with default 'pch' did not plot columns from column
number 37 on (because the default pch was NA for those). (PR#10676)
o print.htest() lost output when used within sink(file, split=TRUE).
o Setting par(col.main=) also set par("col") to the same colour.
o Anonymous fifos were broken (again).
......@@ -98,7 +270,7 @@ BUG FIXES
o tclServiceMode() (package tcltk) now works under Unix-alikes.
(Although documented, it used only to work under Windows.)
o As Mac OS X 10.5.0 comes with incompatible /bin/sh shell, we
o As Mac OS X 10.5.x comes with incompatible /bin/sh shell, we
force SHELL=/bin/bash (which is ok) in that case. [Only for
2.6.x: another solution is used in 2.7.0.]
......@@ -120,7 +292,7 @@ BUG FIXES
default 'order.max' was >= length(x) which is non-sensical.
o Keyboard events in getGraphicsEvent() could cause stack
imbalance errors (PR#10453)
imbalance errors. (PR#10453)
......@@ -181,9 +353,9 @@ NEW FEATURES
is not.)
The Math2 and Summary groups (round, signif, all, any, max, min,
summ, prod, range) are now primitive.
sum, prod, range) are now primitive.
See under METHODS PACKAGE below for some consquences for S4 methods.
See under METHODS PACKAGE below for some consequences for S4 methods.
o apropos() now sorts by name and not by position on the search
Revision: 43537
Last Changed Date: 2007-11-26
Revision: 44383
Last Changed Date: 2008-02-08
This diff is collapsed.
......@@ -75,6 +75,8 @@ AC_DEFINE_UNQUOTED(R_OS, "${host_os}",
case "${host_os}" in
......@@ -307,7 +307,7 @@ src/main/apse.h
Copyright (c) 1997-2007 University of Cambridge
Copyright (c) 1997-2008 University of Cambridge
All rights reserved.
See file src/extra/pcre/LICENCE. For binary builds of R that requires
This diff is collapsed.
This diff is collapsed.
......@@ -34,8 +34,9 @@ DISTCLEANFILES = Makefile
.SUFFIXES: .class .java
## <FIXME> test for validity of flags in configure
(cd $(srcdir) && $(JAVAC) $(<F))
(cd $(srcdir) && $(JAVAC) -source 1.4 -target 1.4 $(<F))
all: Makefile R
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -3529,7 +3529,7 @@ anywhere a function call is legitimate.
* Simple examples::
* Defining new binary operators::
* Named arguments and defaults::
* The ellipsis argument (...)::
* The three dots argument::
* Assignment within functions::
* More advanced examples::
* Scope::
......@@ -3638,7 +3638,7 @@ The matrix multiplication operator, @code{%*%}, and the outer product
matrix operator @code{%o%} are other examples of binary operators
defined in this way.
@node Named arguments and defaults, The ellipsis argument (...), Defining new binary operators, Writing your own functions
@node Named arguments and defaults, The three dots argument, Defining new binary operators, Writing your own functions
@section Named arguments and defaults
@cindex Named arguments
@cindex Default values
......@@ -3699,7 +3699,7 @@ It is important to note that defaults may be arbitrary expressions, even
involving other arguments to the same function; they are not restricted
to be constants as in our simple example here.
@node The ellipsis argument (...), Assignment within functions, Named arguments and defaults, Writing your own functions
@node The three dots argument, Assignment within functions, Named arguments and defaults, Writing your own functions
@section The @samp{@dots{}} argument
Another frequent requirement is to allow one function to pass on
......@@ -3720,7 +3720,7 @@ fun1 <- function(data, data.frame, graph=TRUE, limit=20, ...) @{
@end example
@node Assignment within functions, More advanced examples, The ellipsis argument (...), Writing your own functions
@node Assignment within functions, More advanced examples, The three dots argument, Writing your own functions
@section Assignments within functions
Note that @emph{any ordinary assignments done within the function are
......@@ -6574,8 +6574,9 @@ at it.
@item fm <- lm(y ~ x, data=dummy)
@itemx summary(fm)
Fit a simple linear regression of @math{y} on @math{x} and look at the
Fit a simple linear regression and look at the
analysis. With @code{y} to the left of the tilde,
we are modelling @math{y} dependent on @math{x}.
@item fm1 <- lm(y ~ x, data=dummy, weight=1/w^2)
@itemx summary(fm1)
......@@ -7217,6 +7218,9 @@ EOF
but here @code{stdin()} refers to the program source and
@code{"stdin"} will not be usable.
Very short scripts can be passed to @command{Rscript} on the
command-line via the @option{-e} flag.
@node The command-line editor, Function and variable index, Invoking R, Top
@appendix The command-line editor
......@@ -68,7 +68,7 @@ The current version of this document is @value{VERSION}.
* R Internal Structures::
* .Internal vs .Primitive::
* Internationaliation in the R sources::
* Internationalization in the R sources::
* R coding standards::
* Testing R code::
* Function and variable index::
......@@ -612,7 +612,7 @@ the search path.
The objects defined by the @R{} code in the package are symbols with
bindings in the @code{namespace:@var{pkg}} environment. The
@code{package:@var{pkg}} environment is populated by selected symbols
fron the @code{namespace:@var{pkg}} environment (the exports). The
from the @code{namespace:@var{pkg}} environment (the exports). The
enclosure of this environment is an environment populated with the
explicit imports from other name spaces, and the enclosure of
@emph{that} environment is the base name space. (So the illusion of the
......@@ -881,7 +881,7 @@ that the arguments of specials are not evaluated before the C code is
called, and those of builtins are. In each case positional matching of
arguments is used. Note that being a special/builtin is separate from
being primitive or @code{.Internal}: @code{function} is a special
primitive, @code{+} is a builtin primiitve, @code{switch} is a special
primitive, @code{+} is a builtin primitive, @code{switch} is a special
@code{.Internal} and @code{grep} is a builtin @code{.Internal}.
@cindex generic, internal
......@@ -991,7 +991,7 @@ appropriate setting can be extracted by the macro @code{PRIMPRINT}.
@findex invisible
The @R{} primitive function @code{invisible} makes use of this
mechanism: it just sets @code{R_Visibility = FALSE} before entry and
mechanism: it just sets @code{R_Visible = FALSE} before entry and
returns its argument.
For most functions the intention will be that the setting of
......@@ -1082,8 +1082,8 @@ most of @R{} itself. (There are some necessary exceptions: foremost
For background papers see
@url{} and
@uref{} and
@node Serialization Formats, Encodings for CHARSXPs, The write barrier, R Internal Structures
@section Serialization Formats
......@@ -1095,7 +1095,7 @@ and also at a lower level by @code{.saveRDS}/@code{.readRDS} and
serialize to (a file, a connection, a raw vector) and whether they are
intended to serialize a single object or a collection of objects
(typically a workspace). @code{save} writes a header indicating the
format at the beginning of the file (a single LF-terninated line) which
format at the beginning of the file (a single LF-terminated line) which
the lower-level versions do not.
@R{} has used the same serialization format since @R{} 1.4.0 in December
......@@ -1140,7 +1140,7 @@ pseudo-@code{SEXPTYPE}s cover @code{R_NilValue}, @code{R_EmptyEnv},
@code{R_MissingArg} and @code{R_BaseNamespace}.
For all @code{SEXPTYPE}s except @code{NILSXP}, @code{SYMSXP} and
@code{ENVSXP} serialization starts with a integer with the
@code{ENVSXP} serialization starts with an integer with the
@code{SEXPTYPE} in bits 0:7@footnote{only 0:4 will currently be used for
@code{SEXPTYPE}s but values 241:255 are used for pseudo-@code{SEXPTYPE}s.}
followed by the object bit, two bits indicating if there are any
......@@ -1163,7 +1163,7 @@ integer indicating if the environment is locked followed by the
enclosure, frame, `tag' (the hash table) and attributes.
In the `XDR' format integers and doubles are written in bigendian
order: however the format is not fully XDR as defind in RFC 1832 as byte
order: however the format is not fully XDR as defined in RFC 1832 as byte
quantities (such as the contents of @code{CHARSXP} and @code{RAWSXP}
types) are written as-is and not padded to a multiple of four bytes.
......@@ -1262,7 +1262,7 @@ is not passed down). However, there are two complications. One is that
code might be called from either a primitive or a @code{.Internal}, in
which case probably @code{warningcall} is more appropriate. The other
involves replacement functions, where the call will be of the form
(fron @R{} < 2.6.0)
(from @R{} < 2.6.0)
> length(x) <- y ~ x
Error in "length<-"(`*tmp*`, value = y ~ x) : invalid value
......@@ -1338,7 +1338,7 @@ objects without needing to know their internal `metaname' (although
@subsection S4 methods
Details of methods are stored in S4 objects of class
@code{"MethodsList"}. They have a non-syntatic name of the form
@code{"MethodsList"}. They have a non-syntactic name of the form
@code{.__M__@var{generic}:@var{package}} for all methods defined in the
current environment for the named generic derived from a specific
package (which might be @code{.GlobalEnv}).
......@@ -1369,7 +1369,7 @@ corresponding @code{"MethodsList"} and environment are exported and so
will appear (as hidden objects) in the package environment.
Methods for primitives which are internally S4 generic (see below) are
always exported, whether mentioned in the @code{NAMESPACE} file or not.
always exported, whether mentioned in the @file{NAMESPACE} file or not.
Methods can be imported either via the directive
@code{importMethodsFrom} or via importing a namespace by @code{import}.
......@@ -1389,7 +1389,7 @@ only the visible methods will be cached.
@subsection Mechanics of S4 dispatch
This subsection does not discuss how S4 methods are chosen: see
For all but primitive functions, setting a method on an existing
function that is not itself S4 generic creates a new object in the
......@@ -1712,7 +1712,7 @@ compiled against Internet Explorer internals (and so loads
@file{wininet.dll} and @file{wsock32.dll}).
@end table
@node .Internal vs .Primitive, Internationaliation in the R sources, R Internal Structures, Top
@node .Internal vs .Primitive, Internationalization in the R sources, R Internal Structures, Top
@chapter @code{.Internal} vs @code{.Primitive}
@findex .Internal
......@@ -1960,7 +1960,7 @@ checking (e.g.@: by @code{tools::checkS3methods} and by package
(and name space), @samp{.GenericArgsEnv} for those primitives which are
internal S3 generics, and @samp{.ArgsEnv} for the rest. Those
environments contain closures with the same names as the primitives,
formal argumnts derived (manually) from the help pages, a body which
formal arguments derived (manually) from the help pages, a body which
is a suitable call to @code{UseMethod} or @code{NULL} and environment the
base name space.
......@@ -2011,8 +2011,8 @@ know that if other @code{.Internal} or primitive functions are not
internally generic except by reading the source code.