...
 
Commits (3)
......@@ -82,7 +82,8 @@ vignettes: stamp-recommended
## This needs packages built, hence 'R' dependence on 'javaconf'
## javareconf gets remade often.
stamp-java : etc/javaconf $(srcdir)/src/scripts/javareconf.in
## If configure is re-run, etc/Makeconf gets reset to initial Java state
stamp-java : etc/Makeconf etc/javaconf $(srcdir)/src/scripts/javareconf.in
@WANT_JAVA_TRUE@ @$(ECHO) "configuring Java ..."
@WANT_JAVA_TRUE@ @-bin/R CMD javareconf
@touch stamp-java
......
Revision: 74947
Last Changed Date: 2018-07-02
Revision: 75850
Last Changed Date: 2018-12-13
Feather Spray
Eggshell Igloo
......@@ -353,3 +353,10 @@
## SHLIB_OPENMP_FFLAGS=
## For R itself (src/main/array.c and src/library/stats/src/distance.c)
## R_OPENMP_CFLAGS=
## POSIX threads setting
## pthreads is used in src/main/eval.c. The configure code sees if
## any flag is needed to link to pthread functions (after the OpenMP
## CFLAGS) and if so tries -pthread. Setting this allows an
## alternative to be tried immediately before -pthread.
## PTHREAD_OPT=
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for R 3.5.1.
# Generated by GNU Autoconf 2.69 for R 3.5.2.
#
# Report bugs to <https://bugs.r-project.org>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='R'
PACKAGE_TARNAME='R'
PACKAGE_VERSION='3.5.1'
PACKAGE_STRING='R 3.5.1'
PACKAGE_VERSION='3.5.2'
PACKAGE_STRING='R 3.5.2'
PACKAGE_BUGREPORT='https://bugs.r-project.org'
PACKAGE_URL='https://www.r-project.org'
......@@ -860,6 +860,7 @@ ac_ct_OBJC
OBJCFLAGS
OBJC
F77_VISIBILITY
CXX_VISIBILITY
C_VISIBILITY
CXXCPP0
CXXCPP
......@@ -1705,7 +1706,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures R 3.5.1 to adapt to many kinds of systems.
\`configure' configures R 3.5.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1780,7 +1781,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of R 3.5.1:";;
short | recursive ) echo "Configuration of R 3.5.2:";;
esac
cat <<\_ACEOF
......@@ -2067,7 +2068,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
R configure 3.5.1
R configure 3.5.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -3219,7 +3220,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by R $as_me 3.5.1, which was
It was created by R $as_me 3.5.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -8119,7 +8120,60 @@ case "${CC}" in
C_VISIBILITY=
;;
esac
r_save_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -fvisibility" >&5
$as_echo_n "checking whether $CXX accepts -fvisibility... " >&6; }
if ${r_cv_prog_cxx_vis+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
r_cv_prog_cxx_vis=yes
else
r_cv_prog_cxx_vis=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $r_cv_prog_cxx_vis" >&5
$as_echo "$r_cv_prog_cxx_vis" >&6; }
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
CXXFLAGS=$r_save_CXXFLAGS
if test "${r_cv_prog_cxx_vis}" = yes; then
if test "${r_cv_visibility_attribute}" = yes; then
CXX_VISIBILITY="-fvisibility=hidden"
fi
fi
## Need to exclude Intel compilers, where this does not work correctly.
## The flag is documented and is effective, but also hides
## unsatisfied references. We cannot test for GCC, as icc passes that test.
case "${CXX}" in
## Intel compiler
*icc*|*icpc*)
CXX_VISIBILITY=
;;
esac
ac_ext=f
ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
......@@ -8168,6 +8222,8 @@ esac
ac_ext=m
ac_cpp='$OBJCPP $CPPFLAGS'
ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
......@@ -25268,7 +25324,7 @@ _ACEOF
# flags.
r_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $r_verb"
(eval echo $as_me:25271: \"$ac_link\") >&5
(eval echo $as_me:25327: \"$ac_link\") >&5
r_c_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$r_c_v_output" >&5
CFLAGS=$r_save_CFLAGS
......@@ -25343,7 +25399,7 @@ _ACEOF
# flags.
r_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $r_cv_prog_c_v"
(eval echo $as_me:25346: \"$ac_link\") >&5
(eval echo $as_me:25402: \"$ac_link\") >&5
r_c_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
echo "$r_c_v_output" >&5
CFLAGS=$r_save_CFLAGS
......@@ -32002,6 +32058,118 @@ fi
## OPENMP_CFLAGS to the respective linker flags, and add the OPENMP
## flags to all (C, C++, Fortran and Fortran 77) compiler flags.
case "${host_os}" in
mingw*|windows*|winnt)
;;
*)
r_save_CFLAGS=${CFLAGS}
CFLAGS="${CFLAGS} ${OPENMP_CFLAGS}"
## Other things one might want to try for ancient systems
## -Kthread (Sequent) -pthreads (Solaris/gcc, but -pthread works)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for option providing pthread_kill" >&5
$as_echo_n "checking for option providing pthread_kill... " >&6; }
if ${r_cv_search_pthread_kill+:} false; then :
$as_echo_n "(cached) " >&6
else
r_opts_save_CFLAGS=$CFLAGS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char pthread_kill ();
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
extern "C"
# endif
int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{
return pthread_kill ();
;
return 0;
}
_ACEOF
for r_opt in '' ${PTHREAD_OPT} -pthread; do
if test -z "$r_opt"; then
r_res="none required"
else
r_res=$r_opt
CFLAGS="$r_opt $r_opts_save_CFLAGS"
fi
if ac_fn_c_try_link "$LINENO"; then :
r_cv_search_pthread_kill=$r_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
if ${r_cv_search_pthread_kill+:} false; then :
break
fi
done
if ${r_cv_search_pthread_kill+:} false; then :
else
r_cv_search_pthread_kill=no
fi
rm conftest.$ac_ext
CFLAGS=$r_save_CFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $r_cv_search_pthread_kill" >&5
$as_echo "$r_cv_search_pthread_kill" >&6; }
r_res=$r_cv_search_pthread_kill
CFLAGS=${r_save_CFLAGS}
case "${r_cv_search_pthread_kill}" in
"none required")
## expected on macOS and Solaris, and other platforms with OpenMP in use
have_pthread=1
;;
no)
;;
*)
have_pthread=1
PTHREAD_OPT=${r_cv_search_pthread_kill}
separator=""
test -z "${separator}" && separator=" "
if test -z "${MAIN_LDFLAGS}"; then
MAIN_LDFLAGS="${PTHREAD_OPT}"
else
MAIN_LDFLAGS="${MAIN_LDFLAGS}${separator}${PTHREAD_OPT}"
fi
separator=""
test -z "${separator}" && separator=" "
if test -z "${DYLIB_LDFLAGS}"; then
DYLIB_LDFLAGS="${PTHREAD_OPT}"
else
DYLIB_LDFLAGS="${DYLIB_LDFLAGS}${separator}${PTHREAD_OPT}"
fi
;;
esac
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads are supported" >&5
$as_echo_n "checking whether POSIX threads are supported... " >&6; }
if test -n "${have_pthread}"; then
$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
## <FIXME>
## Need to do this after configuring Fortran 90/95 support, which comes
## way below: should this be moved up to the compiler section?
......@@ -50170,7 +50338,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by R $as_me 3.5.1, which was
This file was extended by R $as_me 3.5.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -50237,7 +50405,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
R config.status 3.5.1
R config.status 3.5.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......@@ -1781,6 +1781,8 @@ AC_SUBST(R_OPENMP_FFLAGS)
## OPENMP_CFLAGS to the respective linker flags, and add the OPENMP
## flags to all (C, C++, Fortran and Fortran 77) compiler flags.
R_PTHREAD
## <FIXME>
## Need to do this after configuring Fortran 90/95 support, which comes
## way below: should this be moved up to the compiler section?
......
r-base (3.5.1-3) unstable; urgency=medium
r-base (3.5.1.20181215-1) unstable; urgency=medium
* Initial rc release (r75850) of R 3.5.2 expected for Dec 20
* debian/rules: Merge PR to pass more paths explicitly to configure
(with thanks to Andreas Henriksson)
(with thanks to Andreas Henriksson via merge request)
* debian/rules: Added a few more explicit paths (with thanks to Kurt
Hornik via email following the PR)
Hornik via email following the merge request)
-- Dirk Eddelbuettel <edd@debian.org> Mon, 10 Dec 2018 19:34:07 -0600
......
R News
CHANGES IN R 3.5.0 patched:
CHANGES IN R 3.5.2:
PACKAGE INSTALLATION:
* New macro CXX_VISIBILITY analogous to C_VISIBILITY (which several
packages have been misusing for C++ code) for the default C++
compiler (but not necessarily one used for non-default C++
dialects like C++14).
TESTING:
* The random number generator tests in tests/p-r-random-tests.R no
longer fail occasionally as they now randomly sample from
"certified" random seeds.
BUG FIXES:
* The "glm" method of drop1() miscalculated the score test
(test="Rao") when the model contained an offset.
* Linear multiple empty models such as lm(y ~ 0) now have a
correctly dimensioned empty coefficient matrix; reported by Brett
Presnell.
* vcov(<empty mlm>) and hence confint() now work (via a consistency
change in summary.lm()).
* confint(<multiple lm()>) now works correctly; reported on R-devel
by Steven Pav.
* quade.test() now also works correctly when its arguments are not
yet sorted along groups, fixing PR#15842.
* Installation on a Unix-alike tries harder to link to the pthread
library where required (rather than relying on OpenMP to provide
it: configuring with --disable-openmp was failing on some Linux
systems).
* The data.frame method for print(x) is fast now also for large
data frames x and got an optional argument max, thanks to
suggestions by Juan Telleria.
* hist() no longer integer overflows in very rare cases, fixing
PR#17450.
* untar() ignored a character compressed argument: however many
external tar programs ignore the flags which should have been set
and automagically choose the compression type, and if appropriate
gzip or bzip2 compression would have been chosen from the magic
header of the tarball.
* zapsmall(x) now works for more "number-like" objects.
* The tools-internal function called from R CMD INSTALL now gets a
warnOption = 1 argument and only sets options(warn = warnOption)
when that increases the warning level (PR#17453).
* Analogously, the tools-internal function called from R CMD check
gets a warnOption = 1 argument and uses the larger of that and
getOption("warn"), also allowing to be run with increased warning
level.
* Parse data now have deterministic parent nodes (PR#16041).
* Calling match() with length one x and POSIXlt table gave a
segfault (PR#17459).
* Fork clusters could hang due to a race condition in cluster
initialization (makeCluster()).
* nextn(n) now also works for larger n and no longer loops
infinitely for e.g, n <- 214e7.
* cooks.distance() and rstandard() now work correctly for multiple
linear models ("mlm").
* polym() and corresponding lm() prediction now also work for a
boundary "vector" case fixing PR#17474, reported by Alexandre
Courtiol.
* With a very large number of variables terms() could segfault
(PR#17480).
* cut(rep(0, 7)) now works, thanks to Joey Reid and Benjamin Tyner
(PR#16802).
* download.file(*, method = "curl", cacheOK = FALSE) should work
now on Windows, thanks to Kevin Ushey's patch in PR#17323.
* duplicated(<dataframe with 'f'>) now works, too, thanks to
Andreas Kersting's PR#17485; ditto for anyDuplicated().
* legend(*, cex = 1:2) now works less badly.
* The print() method for POSIXct and POSIXlt now correctly obeys
getOption("max.print"), fixing a long-standing typo, and it also
gets a corresponding optional max argument.
* Unserialization of raw vectors serialized in ASCII representation
now works correctly.
* <data frame>[TRUE, <new>] <- list(c1, c2) now works correctly,
thanks to Suharto Anggono's PR#15362 and Emil Bode's patch in
PR#17504.
* seq.int(*, by=by, length=n) no longer wrongly "drops fractional
parts" when by is integer, thanks to Suharto Anggono's report
PR#17506.
* Buffering is disabled for file() connections to non-regular files
(like sockets), as well as fifo() and pipe() connections. Fixes
PR#17470, reported by Chris Culnane.
CHANGES IN R 3.5.1:
BUG FIXES:
......@@ -133,8 +246,8 @@ CHANGES IN R 3.5.0:
* available.packages() has two new arguments which control if the
values from the per-session repository cache are used (default
true, as before) and if so how old cached values can be to be
used (default one hour).
true, as before) and if so how old cached values can be used
(default one hour).
These arguments can be passed from install.packages(),
update.packages() and functions calling that: to enable this
......@@ -294,6 +407,8 @@ CHANGES IN R 3.5.0:
slight non-back-compatible change producing typically both more
informative and shorter output.
* gc() gets new argument full.
* write.dcf() gets optional argument useBytes.
* New, partly experimental packageDate() which tries to get a valid
......
......@@ -5,7 +5,133 @@
\title{R News}
\encoding{UTF-8}
\section{\Rlogo CHANGES IN R 3.5.0 patched}{
\section{\Rlogo CHANGES IN R 3.5.2}{
\subsection{PACKAGE INSTALLATION}{
\itemize{
\item New macro \samp{CXX_VISIBILITY} analogous to
\samp{C_VISIBILITY} (which several packages have been misusing for
C++ code) for the default C++ compiler (but not necessarily one used
for non-default C++ dialects like C++14).
}
}
\subsection{TESTING}{
\itemize{
\item The random number generator tests in
\file{tests/p-r-random-tests.R} no longer fail occasionally as
they now randomly sample from \dQuote{certified} random seeds.
}
}
\subsection{BUG FIXES}{
\itemize{
\item The \code{"glm"} method of \code{drop1()} miscalculated the
score test (\code{test="Rao"}) when the model contained an offset.
\item Linear multiple empty models such as \code{lm(y ~ 0)}
now have a correctly dimensioned empty coefficient matrix;
reported by Brett Presnell.
\item \code{vcov(<empty mlm>)} and hence \code{confint()} now
work (via a consistency change in \code{summary.lm()}).
\item \code{confint(<multiple lm()>)} now works correctly;
reported on R-devel by Steven Pav.
\item \code{quade.test()} now also works correctly when its
arguments are not yet sorted along \code{groups}, fixing \PR{15842}.
\item Installation on a Unix-alike tries harder to link to the
\samp{pthread} library where required (rather than relying on
OpenMP to provide it: configuring with \option{--disable-openmp}
was failing on some Linux systems).
\item The \code{data.frame} method for \code{print(x)} is fast now
also for large data frames \code{x} and got an optional argument
\code{max}, thanks to suggestions by Juan Telleria.
\item \code{hist()} no longer integer overflows in very rare
cases, fixing \PR{17450}.
\item \code{untar()} ignored a character \code{compressed}
argument: however many external \command{tar} programs ignore
the flags which should have been set and automagically choose the
compression type, and if appropriate \command{gzip} or
\command{bzip2} compression would have been chosen from the magic
header of the tarball.
\item \code{zapsmall(x)} now works for more \dQuote{number-like} objects.
\item The tools-internal function called from \command{R CMD
INSTALL} now gets a \code{warnOption = 1} argument and only sets
\code{options(warn = warnOption)} when that increases the warning
level (\PR{17453}).
\item Analogously, the tools-internal function called from \command{R CMD
check} gets a \code{warnOption = 1} argument and uses the larger
of that and \code{getOption("warn")}, also allowing to be run with
increased warning level.
\item Parse data now have deterministic parent nodes (\PR{16041}).
\item Calling \code{match()} with length one \code{x} and POSIXlt
\code{table} gave a segfault (\PR{17459}).
\item Fork clusters could hang due to a race condition in cluster
initialization (\code{makeCluster()}).
\item \code{nextn(n)} now also works for larger \code{n} and no
longer loops infinitely for e.g, \code{n <- 214e7}.
\item \code{cooks.distance()} and \code{rstandard()} now work
correctly for multiple linear models (\code{"mlm"}).
\item \code{polym()} and corresponding \code{lm()} prediction now
also work for a boundary "vector" case fixing \PR{17474},
reported by Alexandre Courtiol.
\item With a very large number of variables \code{terms()} could
segfault (\PR{17480}).
\item \code{cut(rep(0, 7))} now works, thanks to Joey Reid and
Benjamin Tyner (\PR{16802}).
\item \code{download.file(*, method = "curl", cacheOK = FALSE)}
should work now on Windows, thanks to Kevin Ushey's patch in
\PR{17323}.
\item \code{duplicated(<dataframe with 'f'>)} now works, too,
thanks to Andreas Kersting's \PR{17485}; ditto for
\code{anyDuplicated()}.
\item \code{legend(*, cex = 1:2)} now works less badly.
\item The \code{print()} method for \code{POSIXct} and
\code{POSIXlt} now correctly obeys \code{getOption("max.print")},
fixing a long-standing typo, and it also gets a corresponding
optional \code{max} argument.
\item Unserialization of raw vectors serialized in ASCII
representation now works correctly.
\item \code{<data frame>[TRUE, <new>] <- list(c1, c2)} now works
correctly, thanks to Suharto Anggono's \PR{15362} and Emil Bode's
patch in \PR{17504}.
\item \code{seq.int(*, by=by, length=n)} no longer wrongly
\dQuote{drops fractional parts} when \code{by} is integer, thanks
to Suharto Anggono's report \PR{17506}.
\item Buffering is disabled for \code{file()} connections to
non-regular files (like sockets), as well as \code{fifo()} and
\code{pipe()} connections. Fixes \PR{17470}, reported by Chris
Culnane.
}
}
}
\section{\Rlogo CHANGES IN R 3.5.1}{
\subsection{BUG FIXES}{
\itemize{
......@@ -62,9 +188,11 @@
default searched for in user documents directory when invoked
\emph{via} the launcher icon. Reported by Jeroen Ooms.
\item \code{printCoefmat()} now also works with explicit \code{right=TRUE}.
\item \code{printCoefmat()} now also works with explicit
\code{right=TRUE}.
\item \code{print.noquote()} now also works with explicit \code{quote=FALSE}.
\item \code{print.noquote()} now also works with explicit
\code{quote=FALSE}.
\item The default method for \code{pairs(.., horInd=*, verInd=*)}
now gets the correct order, thanks to reports by Chris Andrews and
......@@ -147,7 +275,7 @@
\item \code{available.packages()} has two new arguments which
control if the values from the per-session repository cache are
used (default true, as before) and if so how old cached values can
be to be used (default one hour).
be used (default one hour).
These arguments can be passed from \code{install.packages()},
\code{update.packages()} and functions calling that: to enable
......@@ -327,6 +455,8 @@
change producing typically both more informative and shorter
output.
\item \code{gc()} gets new argument \code{full}.
\item \code{write.dcf()} gets optional argument \code{useBytes}.
\item New, partly experimental \code{packageDate()} which tries to
......
No preview for this file type
......@@ -7,7 +7,176 @@
<h2>R News</h2>
<h3><img src="../help/figures/../../html/Rlogo.svg" class="toplogo" alt="[R logo]" /> CHANGES IN R 3.5.0 patched</h3>
<h3><img src="../help/figures/../../html/Rlogo.svg" class="toplogo" alt="[R logo]" /> CHANGES IN R 3.5.2</h3>
<h4>PACKAGE INSTALLATION</h4>
<ul>
<li><p> New macro <span class="samp">CXX_VISIBILITY</span> analogous to
<span class="samp">C_VISIBILITY</span> (which several packages have been misusing for
C++ code) for the default C++ compiler (but not necessarily one used
for non-default C++ dialects like C++14).
</p>
</li></ul>
<h4>TESTING</h4>
<ul>
<li><p> The random number generator tests in
&lsquo;<span class="file">tests/p-r-random-tests.R</span>&rsquo; no longer fail occasionally as
they now randomly sample from &ldquo;certified&rdquo; random seeds.
</p>
</li></ul>
<h4>BUG FIXES</h4>
<ul>
<li><p> The <code>"glm"</code> method of <code>drop1()</code> miscalculated the
score test (<code>test="Rao"</code>) when the model contained an offset.
</p>
</li>
<li><p> Linear multiple empty models such as <code>lm(y ~ 0)</code>
now have a correctly dimensioned empty coefficient matrix;
reported by Brett Presnell.
</p>
</li>
<li> <p><code>vcov(&lt;empty mlm&gt;)</code> and hence <code>confint()</code> now
work (via a consistency change in <code>summary.lm()</code>).
</p>
</li>
<li> <p><code>confint(&lt;multiple lm()&gt;)</code> now works correctly;
reported on R-devel by Steven Pav.
</p>
</li>
<li> <p><code>quade.test()</code> now also works correctly when its
arguments are not yet sorted along <code>groups</code>, fixing <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15842">PR#15842</a>.
</p>
</li>
<li><p> Installation on a Unix-alike tries harder to link to the
<span class="samp">pthread</span> library where required (rather than relying on
OpenMP to provide it: configuring with <span class="option">--disable-openmp</span>
was failing on some Linux systems).
</p>
</li>
<li><p> The <code>data.frame</code> method for <code>print(x)</code> is fast now
also for large data frames <code>x</code> and got an optional argument
<code>max</code>, thanks to suggestions by Juan Telleria.
</p>
</li>
<li> <p><code>hist()</code> no longer integer overflows in very rare
cases, fixing <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17450">PR#17450</a>.
</p>
</li>
<li> <p><code>untar()</code> ignored a character <code>compressed</code>
argument: however many external <code>tar</code> programs ignore
the flags which should have been set and automagically choose the
compression type, and if appropriate <code>gzip</code> or
<code>bzip2</code> compression would have been chosen from the magic
header of the tarball.
</p>
</li>
<li> <p><code>zapsmall(x)</code> now works for more &ldquo;number-like&rdquo; objects.
</p>
</li>
<li><p> The tools-internal function called from <code>R CMD
INSTALL</code> now gets a <code>warnOption = 1</code> argument and only sets
<code>options(warn = warnOption)</code> when that increases the warning
level (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17453">PR#17453</a>).
</p>
</li>
<li><p> Analogously, the tools-internal function called from <code>R CMD
check</code> gets a <code>warnOption = 1</code> argument and uses the larger
of that and <code>getOption("warn")</code>, also allowing to be run with
increased warning level.
</p>
</li>
<li><p> Parse data now have deterministic parent nodes (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=16041">PR#16041</a>).
</p>
</li>
<li><p> Calling <code>match()</code> with length one <code>x</code> and POSIXlt
<code>table</code> gave a segfault (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17459">PR#17459</a>).
</p>
</li>
<li><p> Fork clusters could hang due to a race condition in cluster
initialization (<code>makeCluster()</code>).
</p>
</li>
<li> <p><code>nextn(n)</code> now also works for larger <code>n</code> and no
longer loops infinitely for e.g, <code>n &lt;- 214e7</code>.
</p>
</li>
<li> <p><code>cooks.distance()</code> and <code>rstandard()</code> now work
correctly for multiple linear models (<code>"mlm"</code>).
</p>
</li>
<li> <p><code>polym()</code> and corresponding <code>lm()</code> prediction now
also work for a boundary &quot;vector&quot; case fixing <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17474">PR#17474</a>,
reported by Alexandre Courtiol.
</p>
</li>
<li><p> With a very large number of variables <code>terms()</code> could
segfault (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17480">PR#17480</a>).
</p>
</li>
<li> <p><code>cut(rep(0, 7))</code> now works, thanks to Joey Reid and
Benjamin Tyner (<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=16802">PR#16802</a>).
</p>
</li>
<li> <p><code>download.file(*, method = "curl", cacheOK = FALSE)</code>
should work now on Windows, thanks to Kevin Ushey's patch in
<a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17323">PR#17323</a>.
</p>
</li>
<li> <p><code>duplicated(&lt;dataframe with 'f'&gt;)</code> now works, too,
thanks to Andreas Kersting's <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17485">PR#17485</a>; ditto for
<code>anyDuplicated()</code>.
</p>
</li>
<li> <p><code>legend(*, cex = 1:2)</code> now works less badly.
</p>
</li>
<li><p> The <code>print()</code> method for <code>POSIXct</code> and
<code>POSIXlt</code> now correctly obeys <code>getOption("max.print")</code>,
fixing a long-standing typo, and it also gets a corresponding
optional <code>max</code> argument.
</p>
</li>
<li><p> Unserialization of raw vectors serialized in ASCII
representation now works correctly.
</p>
</li>
<li> <p><code>&lt;data frame&gt;[TRUE, &lt;new&gt;] &lt;- list(c1, c2)</code> now works
correctly, thanks to Suharto Anggono's <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=15362">PR#15362</a> and Emil Bode's
patch in <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17504">PR#17504</a>.
</p>
</li>
<li> <p><code>seq.int(*, by=by, length=n)</code> no longer wrongly
&ldquo;drops fractional parts&rdquo; when <code>by</code> is integer, thanks
to Suharto Anggono's report <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17506">PR#17506</a>.
</p>
</li>
<li><p> Buffering is disabled for <code>file()</code> connections to
non-regular files (like sockets), as well as <code>fifo()</code> and
<code>pipe()</code> connections. Fixes <a href="https://bugs.R-project.org/bugzilla3/show_bug.cgi?id=17470">PR#17470</a>, reported by Chris
Culnane.
</p>
</li></ul>
<h3><img src="../help/figures/../../html/Rlogo.svg" class="toplogo" alt="[R logo]" /> CHANGES IN R 3.5.1</h3>
......@@ -84,10 +253,12 @@ default searched for in user documents directory when invoked
<em>via</em> the launcher icon. Reported by Jeroen Ooms.
</p>
</li>
<li> <p><code>printCoefmat()</code> now also works with explicit <code>right=TRUE</code>.
<li> <p><code>printCoefmat()</code> now also works with explicit
<code>right=TRUE</code>.
</p>
</li>
<li> <p><code>print.noquote()</code> now also works with explicit <code>quote=FALSE</code>.
<li> <p><code>print.noquote()</code> now also works with explicit
<code>quote=FALSE</code>.
</p>
</li>
<li><p> The default method for <code>pairs(.., horInd=*, verInd=*)</code>
......@@ -198,7 +369,7 @@ specifying <code>colClasses</code>.
<li> <p><code>available.packages()</code> has two new arguments which
control if the values from the per-session repository cache are
used (default true, as before) and if so how old cached values can
be to be used (default one hour).
be used (default one hour).
</p>
<p>These arguments can be passed from <code>install.packages()</code>,
<code>update.packages()</code> and functions calling that: to enable
......@@ -414,6 +585,9 @@ change producing typically both more informative and shorter
output.
</p>
</li>
<li> <p><code>gc()</code> gets new argument <code>full</code>.
</p>
</li>
<li> <p><code>write.dcf()</code> gets optional argument <code>useBytes</code>.
</p>
</li>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -36,6 +36,7 @@ CXX17 = @CXX17@
CXX17FLAGS = @CXX17FLAGS@
CXX17PICFLAGS = @CXX17PICFLAGS@
CXX17STD = @CXX17STD@
CXX_VISIBILITY = @CXX_VISIBILITY@
DYLIB_EXT = @DYLIB_EXT@
DYLIB_LD = @DYLIB_LD@
DYLIB_LDFLAGS = @DYLIB_LDFLAGS@@BUILD_LTO_TRUE@ $(CFLAGS) $(CPICFLAGS)
......@@ -45,10 +46,12 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
## NB, set FC before F77 as on Solaris make, setting FC sets F77
## FC is the compiler used for free-form Fortran, exts .f90/.f95
FC = @FC@
FCFLAGS = @FCFLAGS@ $(LTO)
## additional libs needed when linking with $(FC), e.g. on some Oracle compilers
FCLIBS = @FCLIBS@
## F77 is the compiler used for fixed-form Fortran, ext .f
F77 = @F77@
F77_VISIBILITY = @F77_VISIBILITY@
FFLAGS = @FFLAGS@ $(LTO)
......
......@@ -14,7 +14,7 @@ R_PRINTCMD=${R_PRINTCMD-'@R_PRINTCMD@'}
R_RD4PDF=${R_RD4PDF-'@R_RD4PDF@'}
## used for options("texi2dvi")
R_TEXI2DVICMD=${R_TEXI2DVICMD-${TEXI2DVI-'@TEXI2DVICMD@'}}
## used by INSTALL, untar() and installing grDevices
## used by untar and installing grDevices
R_GZIPCMD=${R_GZIPCMD-'@R_GZIPCMD@'}
## Default zip/unzip commands
R_UNZIPCMD=${R_UNZIPCMD-'@R_UNZIPCMD@'}
......@@ -34,7 +34,6 @@ MAKE=${MAKE-'@MAKE@'}
## Prefer a POSIX-compliant sed on e.g. Solaris
SED=${SED-'@SED@'}
## Prefer a tar that can automagically read compressed archives
## Used in R CMD INSTALL for binary packages
TAR=${TAR-'@TAR@'}
## System and compiler types.
......
### R.m4 -- extra macros for configuring R -*- Autoconf -*-
###
### Copyright (C) 1998-2017 R Core Team
### Copyright (C) 1998-2018 R Core Team
###
### This file is part of R.
###
......@@ -3791,7 +3791,28 @@ case "${CC}" in
C_VISIBILITY=
;;
esac
AC_SUBST(C_VISIBILITY)
r_save_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
AC_LANG_PUSH(C++)
AC_CACHE_CHECK(whether $CXX accepts -fvisibility, r_cv_prog_cxx_vis,
[_AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
[r_cv_prog_cxx_vis=yes], [r_cv_prog_cxx_vis=no])])
AC_LANG_POP(C++)
CXXFLAGS=$r_save_CXXFLAGS
if test "${r_cv_prog_cxx_vis}" = yes; then
if test "${r_cv_visibility_attribute}" = yes; then
CXX_VISIBILITY="-fvisibility=hidden"
fi
fi
## Need to exclude Intel compilers, where this does not work correctly.
## The flag is documented and is effective, but also hides
## unsatisfied references. We cannot test for GCC, as icc passes that test.
case "${CXX}" in
## Intel compiler
*icc*|*icpc*)
CXX_VISIBILITY=
;;
esac
AC_LANG_PUSH(Fortran 77)
r_save_FFLAGS=$FFLAGS
FFLAGS="$FFLAGS -fvisibility=hidden"
......@@ -3812,6 +3833,8 @@ case "${F77}" in
F77_VISIBILITY=
;;
esac
AC_SUBST(C_VISIBILITY)
AC_SUBST(CXX_VISIBILITY)
AC_SUBST(F77_VISIBILITY)
])# R_GCC4_VISIBILITY
......@@ -4428,6 +4451,71 @@ AC_DEFUN([R_MNT_WARN],
fi
])# R_MNT_WARN
### A modified version of AC_SEARCH_LIBS
AC_DEFUN([R_SEARCH_OPTS],
[AS_VAR_PUSHDEF([r_Search], [r_cv_search_$1])dnl
AC_CACHE_CHECK([for option providing $1], [r_Search],
[r_opts_save_CFLAGS=$CFLAGS
AC_LANG_CONFTEST([AC_LANG_CALL([], [$1])])
for r_opt in '' $2; do
if test -z "$r_opt"; then
r_res="none required"
else
r_res=$r_opt
CFLAGS="$r_opt $r_opts_save_CFLAGS"
fi
AC_LINK_IFELSE([], [AS_VAR_SET([r_Search], [$r_res])])
AS_VAR_SET_IF([r_Search], [break])
done
AS_VAR_SET_IF([r_Search], , [AS_VAR_SET([r_Search], [no])])
rm conftest.$ac_ext
CFLAGS=$r_save_CFLAGS
])
AS_VAR_COPY([r_res], [r_Search])
AS_VAR_POPDEF([r_Search])dnl
])
## R_PTHREAD
## ---------
## POSIX threads.
AC_DEFUN([R_PTHREAD],
[case "${host_os}" in
mingw*|windows*|winnt)
;;
*)
r_save_CFLAGS=${CFLAGS}
CFLAGS="${CFLAGS} ${OPENMP_CFLAGS}"
## Other things one might want to try for ancient systems
## -Kthread (Sequent) -pthreads (Solaris/gcc, but -pthread works)
R_SEARCH_OPTS([pthread_kill], [${PTHREAD_OPT} -pthread])
CFLAGS=${r_save_CFLAGS}
case "${r_cv_search_pthread_kill}" in
"none required")
## expected on macOS and Solaris, and other platforms with OpenMP in use
have_pthread=1
;;
no)
;;
*)
have_pthread=1
PTHREAD_OPT=${r_cv_search_pthread_kill}
R_SH_VAR_ADD(MAIN_LDFLAGS, [${PTHREAD_OPT}])
R_SH_VAR_ADD(DYLIB_LDFLAGS, [${PTHREAD_OPT}])
;;
esac
;;
esac
AC_MSG_CHECKING([whether POSIX threads are supported])
if test -n "${have_pthread}"; then
AC_DEFINE(HAVE_PTHREAD, 1, [Define if have support for POSIX threads.])
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
])# R_PTHREAD
### Local variables: ***
### mode: outline-minor ***
### outline-regexp: "### [*]+" ***
......
# This file is part of Autoconf. -*- Autoconf -*-
# Programming languages support.
# Copyright (C) 2001-2012 Free Software Foundation, Inc.
# Copyright (C) 2015-2016 R Core Team
# Copyright (C) 2015-2018 R Core Team
# This file is part of Autoconf. This program is free
# software; you can redistribute it and/or modify it under the
......
This diff is collapsed.
......@@ -400,12 +400,14 @@ const char *getTZinfo(void)
if(!Olson[0]) {
const char *p = getenv("TZ");
if(p) {
strcpy(Olson, p);
strncpy(Olson, p, 63);
Olson[63] = '\0';
} else {
GetTimeZoneInformation(&tzi);
wcstombs(StandardName, tzi.StandardName, 64);
wcstombs(DaylightName, tzi.DaylightName, 64);
strcpy(Olson, reg2Olson(tzi.StandardName));
strncpy(Olson, reg2Olson(tzi.StandardName), 63);
Olson[63] = '\0';
}
#ifdef DEBUG
printf("names %s, %s\n", StandardName, DaylightName);
......
......@@ -7,6 +7,7 @@ FULLVERSION=`cat ../../../VERSION`
SVNREVISION=`sed -e 1s/Revision:.// -e q < $(R_HOME)/SVN-REVISION`
RVER = $(shell cut -d' ' -f1 ../../../VERSION | sed -n 1p)
DATE = $(shell date +%F)
SIZEMB = $(shell du -m ../installer/$(RPREFIX)-win.exe | cut -f1)
R_EXE = $(R_HOME)/$(BINDIR)/rterm.exe --vanilla --slave
......@@ -21,6 +22,7 @@ all:
$(SED) -e s/@RWVER@/$(RPREFIX)/g \
-e s/@RVER@/$(RVER)/g \
-e "s/@DATE@/$(DATE)/g" \
-e "s/@SIZEMB@/$(SIZEMB)/g" \
-e "s/@SVNREVISION@/$(SVNREVISION)/g" \
-e "s/@FULLVERSION@/$(FULLVERSION)/g" $${page}.in >$${page}.html; \
done
......
......@@ -37,7 +37,7 @@
<h1>R-@RVER@ for Windows (32/64 bit)</h1>
<div class="download">
<p><a href="@RWVER@-win.exe">Download R @RVER@ for Windows</a> <span>(62 megabytes, 32/64 bit)</span></p>
<p><a href="@RWVER@-win.exe">Download R @RVER@ for Windows</a> <span>(@SIZEMB@ megabytes, 32/64 bit)</span></p>
<ul>
<li><a href="../../windows/base/README.@RWVER@">Installation and other instructions</a></li>
<li><a href="NEWS.@RWVER@.html">New features in this version</a></li>
......
......@@ -36,7 +36,7 @@
<h1>R-devel build for Windows (32/64 bit)</h1>
<div class="download">
<p><a href="@RWVER@-win.exe">Download R-Devel build for Windows</a> <span>(62 megabytes, 32/64 bit)</span></p>
<p><a href="@RWVER@-win.exe">Download R-Devel build for Windows</a> <span>(@SIZEMB@ megabytes, 32/64 bit)</span></p>
<ul>
<li>This build of R-Devel uses the gcc 4.9.3 toolchain produced
by Jeroen Ooms. For details, see <a href="https://github.com/rwinlib/r-base">the Github page</a>.</li>
......
......@@ -36,7 +36,7 @@
<h1>R-@FULLVERSION@ build for Windows (32/64 bit)</h1>
<div class="download">
<p><a href="@RWVER@-win.exe">Download R-@FULLVERSION@ build for Windows</a> <span>(62 megabytes, 32/64 bit)</span></p>
<p><a href="@RWVER@-win.exe">Download R-@FULLVERSION@ build for Windows</a> <span>(@SIZEMB@ megabytes, 32/64 bit)</span></p>
<ul>
<li><a href="../../windows/base/README.@RWVER@">Installation and other instructions</a></li>
<li><a href="NEWS.@RWVER@.html">New features in this version</a></li>
......
......@@ -36,7 +36,7 @@
<h1>R-@FULLVERSION@ build for Windows (32/64 bit)</h1>
<div class="download">
<p><a href="@RWVER@-win.exe">Download R-@FULLVERSION@ build for Windows</a> <span>(62 megabytes, 32/64 bit)</span></p>
<p><a href="@RWVER@-win.exe">Download R-@FULLVERSION@ build for Windows</a> <span>(@SIZEMB@ megabytes, 32/64 bit)</span></p>
<ul>
<li><a href="../../windows/base/README.@RWVER@">Installation and other instructions</a></li>
<li><a href="NEWS.@RWVER@.html">New features in this version</a></li>
......
......@@ -611,6 +611,9 @@
/* Define to 1 if you have the `pown' function. */
#undef HAVE_POWN
/* Define if have support for POSIX threads. */
#undef HAVE_PTHREAD
/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. (For intl) */
#undef HAVE_PTHREAD_MUTEX_RECURSIVE
......
MASS_7.3-50.tar.gz
\ No newline at end of file
MASS_7.3-51.1.tar.gz
\ No newline at end of file
Matrix_1.2-14.tar.gz
\ No newline at end of file
Matrix_1.2-15.tar.gz
\ No newline at end of file
foreign_0.8-70.tar.gz
\ No newline at end of file
foreign_0.8-71.tar.gz
\ No newline at end of file
lattice_0.20-35.tar.gz
\ No newline at end of file
lattice_0.20-38.tar.gz
\ No newline at end of file
mgcv_1.8-24.tar.gz
\ No newline at end of file
mgcv_1.8-26.tar.gz
\ No newline at end of file
survival_2.42-3.tar.gz
\ No newline at end of file
survival_2.43-3.tar.gz
\ No newline at end of file
# File src/library/base/R/cut.R
# Part of the R package, https://www.R-project.org
#
# Copyright (C) 1995-2014 The R Core Team
# Copyright (C) 1995-2018 The R Core Team
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -29,7 +29,7 @@ cut.default <-
nb <- as.integer(breaks + 1) # one more than #{intervals}
dx <- diff(rx <- range(x, na.rm = TRUE))
if(dx == 0) {
dx <- abs(rx[1L])
dx <- if(rx[1L] != 0) abs(rx[1L]) else 1
breaks <- seq.int(rx[1L] - dx/1000, rx[2L] + dx/1000,
length.out = nb)
} else {
......
......@@ -1038,17 +1038,18 @@ data.frame <-
vjj <- value[[ jvseq[[jjj]] ]]
if(jj <= nvars) {
## if a column exists, preserve its attributes
if(length(dim(x[[jj]])) != 2L) x[[jj]][iseq] <- vjj
if(length(dim(x[[jj]])) != 2L)
x[[jj]][iseq ] <- vjj
else x[[jj]][iseq, ] <- vjj
} else {
## try to make a new column match in length: may be an error
x[[jj]] <- vjj[FALSE]
if(length(dim(vjj)) == 2L) {
length(x[[j]]) <- nrows * ncol(vjj)
dim(x[[j]]) <- c(nrows, ncol(vjj))
length(x[[jj]]) <- nrows * ncol(vjj)
dim(x[[jj]]) <- c(nrows, ncol(vjj))
x[[jj]][iseq, ] <- vjj
} else {
length(x[[j]]) <- nrows
length(x[[jj]]) <- nrows
x[[jj]][iseq] <- vjj
}
}
......@@ -1477,7 +1478,7 @@ rbind.data.frame <- function(..., deparse.level = 1, make.row.names = TRUE,
print.data.frame <-
function(x, ..., digits = NULL, quote = FALSE, right = TRUE,
row.names = TRUE)
row.names = TRUE, max = NULL)
{
n <- length(row.names(x))
if(length(x) == 0L) {
......@@ -1489,12 +1490,21 @@ print.data.frame <-
print.default(names(x), quote = FALSE)
cat(gettext("<0 rows> (or 0-length row.names)\n"))
} else {
if(is.null(max)) max <- getOption("max.print", 99999L)
if(!is.finite(max)) stop("invalid 'max' / getOption(\"max.print\"): ", max)
## format.<*>() : avoiding picking up e.g. format.AsIs
m <- as.matrix(format.data.frame(x, digits = digits, na.encode = FALSE))
omit <- (n0 <- max %/% length(x)) < n
m <- as.matrix(
format.data.frame(if(omit) x[seq_len(n0), , drop=FALSE] else x,
digits = digits, na.encode = FALSE))
if(!isTRUE(row.names))
dimnames(m)[[1L]] <-
if(isFALSE(row.names)) rep.int("", n) else row.names
print(m, ..., quote = quote, right = right)
if(isFALSE(row.names)) rep.int("", if(omit) n0 else n)
else row.names
print(m, ..., quote = quote, right = right, max = max)
if(omit)
cat(" [ reached 'max' / getOption(\"max.print\") -- omitted",
n - n0, "rows ]\n")
}
invisible(x)
}
......@@ -1644,7 +1654,7 @@ Ops.data.frame <- function(e1, e2 = NULL)
}
}
for(j in seq_along(cn)) {
left <- if(!lscalar) e1[[j]] else e1
left <- if(!lscalar) e1[[j]] else e1
right <- if(!rscalar) e2[[j]] else e2
value[[j]] <- eval(f)
}
......
......@@ -117,13 +117,13 @@ format.Date <- function(x, ...)
xx
}
## could handle arrays for max.print \\ keep in sync with print.POSIX?t() in ./datetime.R
## keep in sync with print.POSIX?t() in ./datetime.R
print.Date <- function(x, max = NULL, ...)
{
if(is.null(max)) max <- getOption("max.print", 9999L)
if(max < length(x)) {
print(format(x[seq_len(max)]), max=max, ...)
cat(' [ reached getOption("max.print") -- omitted',
print(format(x[seq_len(max)]), max=max+1, ...)
cat(" [ reached 'max' / getOption(\"max.print\") -- omitted",
length(x) - max, 'entries ]\n')
} else if(length(x))
print(format(x), max = max, ...)
......@@ -233,7 +233,7 @@ as.list.Date <- function(x, ...)
lapply(unclass(x), .Date, oldClass(x))
c.Date <- function(..., recursive = FALSE)
.Date(c(unlist(lapply(list(...), unclass))))
.Date(c(unlist(lapply(list(...), unclass))))# recursive=recursive << FIXME?
mean.Date <- function (x, ...)
.Date(mean(unclass(x), ...))
......
......@@ -393,19 +393,20 @@ format.POSIXct <- function(x, format = "", tz = "", usetz = FALSE, ...)
names = names(x))
}
## could handle arrays for max.print \\ keep in sync with print.Date() in ./dates.R
## keep in sync with print.Date() in ./dates.R
print.POSIXct <-
print.POSIXlt <- function(x, tz = "", usetz = TRUE, ...)
print.POSIXlt <- function(x, tz = "", usetz = TRUE, max = NULL, ...)
{
max.print <- getOption("max.print", 9999L)
FORM <- if(missing(tz)) function(z) format(x, usetz = usetz)
else function(z) format(x, tz = tz, usetz = usetz)
if(max.print < length(x)) {
print(FORM(x[seq_len(max.print)]), ...)
cat(' [ reached getOption("max.print") -- omitted',
length(x) - max.print, 'entries ]\n')
if(is.null(max)) max <- getOption("max.print", 9999L)
FORM <- if(missing(tz))
function(z) format(z, usetz = usetz)
else function(z) format(z, tz = tz, usetz = usetz)
if(max < length(x)) {
print(FORM(x[seq_len(max)]), max=max+1, ...)
cat(" [ reached 'max' / getOption(\"max.print\") -- omitted",
length(x) - max, 'entries ]\n')
} else if(length(x))
print(FORM(x), max = max.print, ...)
print(FORM(x), max = max, ...)
else
cat(class(x)[1L], "of length 0\n")
invisible(x)
......@@ -831,10 +832,10 @@ function(..., recursive = FALSE)
}
}
`length<-.difftime` <-
`length<-.difftime` <-
function(x, value)
.difftime(NextMethod(), attr(x, "units"), oldClass(x))
## ----- convenience functions -----
seq.POSIXt <-
......@@ -1159,6 +1160,7 @@ function(x, units = c("secs