head 1.21; access; symbols pkgsrc-2019Q1:1.20.0.24 pkgsrc-2019Q1-base:1.20 pkgsrc-2018Q4:1.20.0.22 pkgsrc-2018Q4-base:1.20 pkgsrc-2018Q3:1.20.0.20 pkgsrc-2018Q3-base:1.20 pkgsrc-2018Q2:1.20.0.18 pkgsrc-2018Q2-base:1.20 pkgsrc-2018Q1:1.20.0.16 pkgsrc-2018Q1-base:1.20 pkgsrc-2017Q4:1.20.0.14 pkgsrc-2017Q4-base:1.20 pkgsrc-2017Q3:1.20.0.12 pkgsrc-2017Q3-base:1.20 pkgsrc-2017Q2:1.20.0.8 pkgsrc-2017Q2-base:1.20 pkgsrc-2017Q1:1.20.0.6 pkgsrc-2017Q1-base:1.20 pkgsrc-2016Q4:1.20.0.4 pkgsrc-2016Q4-base:1.20 pkgsrc-2016Q3:1.20.0.2 pkgsrc-2016Q3-base:1.20 pkgsrc-2016Q2:1.19.0.2 pkgsrc-2016Q2-base:1.19 pkgsrc-2016Q1:1.18.0.8 pkgsrc-2016Q1-base:1.18 pkgsrc-2015Q4:1.18.0.6 pkgsrc-2015Q4-base:1.18 pkgsrc-2015Q3:1.18.0.4 pkgsrc-2015Q3-base:1.18 pkgsrc-2015Q2:1.18.0.2 pkgsrc-2015Q2-base:1.18 pkgsrc-2015Q1:1.17.0.8 pkgsrc-2015Q1-base:1.17 pkgsrc-2014Q4:1.17.0.6 pkgsrc-2014Q4-base:1.17 pkgsrc-2014Q3:1.17.0.4 pkgsrc-2014Q3-base:1.17 pkgsrc-2014Q2:1.17.0.2 pkgsrc-2014Q2-base:1.17 pkgsrc-2014Q1:1.16.0.6 pkgsrc-2014Q1-base:1.16 pkgsrc-2013Q4:1.16.0.4 pkgsrc-2013Q4-base:1.16 pkgsrc-2013Q3:1.16.0.2 pkgsrc-2013Q3-base:1.16 pkgsrc-2013Q2:1.15.0.6 pkgsrc-2013Q2-base:1.15 pkgsrc-2013Q1:1.15.0.4 pkgsrc-2013Q1-base:1.15 pkgsrc-2012Q4:1.15.0.2 pkgsrc-2012Q4-base:1.15 pkgsrc-2012Q3:1.14.0.20 pkgsrc-2012Q3-base:1.14 pkgsrc-2012Q2:1.14.0.18 pkgsrc-2012Q2-base:1.14 pkgsrc-2012Q1:1.14.0.16 pkgsrc-2012Q1-base:1.14 pkgsrc-2011Q4:1.14.0.14 pkgsrc-2011Q4-base:1.14 pkgsrc-2011Q3:1.14.0.12 pkgsrc-2011Q3-base:1.14 pkgsrc-2011Q2:1.14.0.10 pkgsrc-2011Q2-base:1.14 pkgsrc-2011Q1:1.14.0.8 pkgsrc-2011Q1-base:1.14 pkgsrc-2010Q4:1.14.0.6 pkgsrc-2010Q4-base:1.14 pkgsrc-2010Q3:1.14.0.4 pkgsrc-2010Q3-base:1.14 pkgsrc-2010Q2:1.14.0.2 pkgsrc-2010Q2-base:1.14 pkgsrc-2010Q1:1.13.0.4 pkgsrc-2010Q1-base:1.13 pkgsrc-2009Q4:1.13.0.2 pkgsrc-2009Q4-base:1.13 pkgsrc-2009Q3:1.12.0.16 pkgsrc-2009Q3-base:1.12 pkgsrc-2009Q2:1.12.0.14 pkgsrc-2009Q2-base:1.12 pkgsrc-2009Q1:1.12.0.12 pkgsrc-2009Q1-base:1.12 pkgsrc-2008Q4:1.12.0.10 pkgsrc-2008Q4-base:1.12 pkgsrc-2008Q3:1.12.0.8 pkgsrc-2008Q3-base:1.12 cube-native-xorg:1.12.0.6 cube-native-xorg-base:1.12 pkgsrc-2008Q2:1.12.0.4 pkgsrc-2008Q2-base:1.12 cwrapper:1.12.0.2 pkgsrc-2008Q1:1.11.0.10 pkgsrc-2008Q1-base:1.11 pkgsrc-2007Q4:1.11.0.8 pkgsrc-2007Q4-base:1.11 pkgsrc-2007Q3:1.11.0.6 pkgsrc-2007Q3-base:1.11 pkgsrc-2007Q2:1.11.0.4 pkgsrc-2007Q2-base:1.11 pkgsrc-2007Q1:1.11.0.2 pkgsrc-2007Q1-base:1.11 pkgsrc-2006Q4:1.10.0.6 pkgsrc-2006Q4-base:1.10 pkgsrc-2006Q3:1.10.0.4 pkgsrc-2006Q3-base:1.10 pkgsrc-2006Q2:1.10.0.2 pkgsrc-2006Q2-base:1.10 pkgsrc-2006Q1:1.9.0.8 pkgsrc-2006Q1-base:1.9 pkgsrc-2005Q4:1.9.0.6 pkgsrc-2005Q4-base:1.9 pkgsrc-2005Q3:1.9.0.4 pkgsrc-2005Q3-base:1.9 pkgsrc-2005Q2:1.9.0.2 pkgsrc-2005Q2-base:1.9 pkgsrc-2005Q1:1.8.0.4 pkgsrc-2005Q1-base:1.8 pkgsrc-2004Q4:1.8.0.2 pkgsrc-2004Q4-base:1.8 pkgsrc-2004Q3:1.7.0.4 pkgsrc-2004Q3-base:1.7 pkgsrc-2004Q2:1.7.0.2 pkgsrc-2004Q2-base:1.7 pkgsrc-2004Q1:1.6.0.2 pkgsrc-2004Q1-base:1.6 pkgsrc-2003Q4:1.5.0.4 pkgsrc-2003Q4-base:1.5 netbsd-1-6-1:1.5.0.2 netbsd-1-6-1-base:1.5 netbsd-1-6:1.4.0.6 netbsd-1-6-RELEASE-base:1.4 pkgviews:1.4.0.2 pkgviews-base:1.4 buildlink2:1.3.0.2 buildlink2-base:1.4 netbsd-1-5-PATCH003:1.3 netbsd-1-4-RELEASE:1.1; locks; strict; comment @# @; 1.21 date 2019.06.09.13.39.12; author wen; state dead; branches; next 1.20; commitid 8ZIUXZ2lMIJQ8wqB; 1.20 date 2016.07.26.04.53.33; author wen; state Exp; branches; next 1.19; commitid U026uw5jOdVQUMfz; 1.19 date 2016.04.13.21.04.04; author markd; state Exp; branches; next 1.18; commitid JSyiWR6ruHd3Cv2z; 1.18 date 2015.05.13.12.48.05; author ryoon; state Exp; branches; next 1.17; commitid PCNNvc2e5Bf6Hhly; 1.17 date 2014.05.03.22.29.42; author markd; state Exp; branches; next 1.16; commitid 2bxSZnDY8AqCV8zx; 1.16 date 2013.08.13.19.53.30; author markd; state Exp; branches; next 1.15; commitid DqFDtyOjCkDcyk1x; 1.15 date 2012.12.17.09.08.47; author wen; state Exp; branches; next 1.14; 1.14 date 2010.05.06.07.33.41; author adam; state Exp; branches; next 1.13; 1.13 date 2009.12.11.18.53.40; author adam; state Exp; branches; next 1.12; 1.12 date 2008.04.26.02.39.27; author markd; state Exp; branches; next 1.11; 1.11 date 2007.03.14.11.50.35; author markd; state Exp; branches; next 1.10; 1.10 date 2006.06.13.12.28.09; author markd; state Exp; branches; next 1.9; 1.9 date 2005.05.02.16.57.19; author drochner; state Exp; branches; next 1.8; 1.8 date 2004.11.24.10.14.10; author markd; state Exp; branches; next 1.7; 1.7 date 2004.04.27.11.24.31; author markd; state dead; branches; next 1.6; 1.6 date 2003.12.03.12.05.19; author markd; state Exp; branches; next 1.5; 1.5 date 2002.12.10.11.58.12; author markd; state Exp; branches; next 1.4; 1.4 date 2002.05.20.18.16.01; author cjep; state Exp; branches; next 1.3; 1.3 date 2002.03.01.11.11.36; author markd; state Exp; branches 1.3.2.1; next 1.2; 1.2 date 99.05.25.23.49.42; author jlam; state dead; branches; next 1.1; 1.1 date 98.12.21.10.29.41; author frueauf; state Exp; branches; next ; 1.3.2.1 date 2002.06.23.18.52.33; author jlam; state Exp; branches; next ; desc @@ 1.21 log @Update to 3.6.0 Upstream changes: CHANGES IN R 3.6.0: SIGNIFICANT USER-VISIBLE CHANGES: * Serialization format version 3 becomes the default for serialization and saving of the workspace (save(), serialize(), saveRDS(), compiler::cmpfile()). Serialized data in format 3 cannot be read by versions of R prior to version 3.5.0. Serialization format version 2 is still supported and can be selected by version = 2 in the save/serialization functions. The default can be changed back for the whole R session by setting environment variables R_DEFAULT_SAVE_VERSION and R_DEFAULT_SERIALIZE_VERSION to 2. For maximal back-compatibility, files vignette.rds and partial.rdb generated by R CMD build are in serialization format version 2, and resave by default produces files in serialization format version 2 (unless the original is already in format version 3). * The default method for generating from a discrete uniform distribution (used in sample(), for instance) has been changed. This addresses the fact, pointed out by Ottoboni and Stark, that the previous method made sample() noticeably non-uniform on large populations. See PR#17494 for a discussion. The previous method can be requested using RNGkind() or RNGversion() if necessary for reproduction of old results. Thanks to Duncan Murdoch for contributing the patch and Gabe Becker for further assistance. The output of RNGkind() has been changed to also return the 'kind' used by sample(). NEW FEATURES: * Sys.setFileTime() has been vectorized so arguments path and time of length greater than one are now supported. * axis() gets new option gap.axis = NA for specifying a multiplication factor for the minimal "gap" (distance) between axis labels drawn. Its default is 1 for labels _parallel_ to the axis, and 0.25 for perpendicular ones. Perpendicular labels no longer overlap, fixing bug PR#17384. * The default method of plot() gains new arguments xgap.axis = NA and ygap.axis = NA to be passed to the x- and y- axis(.., gap.axis=*) calls. * removeSource() now works not only for functions but also for some language objects. * as.call(), rep.int(), rep_len() and nchar() dispatch internally. * is(object, class2) looks for class2 in the calling namespace after looking in the namespace of class(object). * extendrange(.., f) with a length-2 f now extends separately to the left and the right. * lengths() dispatches internally to S4 methods. * download.file() on Windows now uses URLdecode() to determine the file extension, and uses binary transfer (mode = "wb") also for file extension .rds. The help page for download.file() now contains the same information on all platforms. * Setting C locale for collation _via_ environment variables LC_ALL and LC_COLLATE and _via_ a call to Sys.setlocale() now takes precedence over environment variable R_ICU_LOCALE. * There is a new function, nullfile(), to give the file name of the null system device (e.g., /dev/null) on the current platform. * There are two new options, keep.parse.data and keep.parse.data.pkgs, which control whether parse data are included into sources when keep.source or keep.source.pkgs is TRUE. By default, keep.parse.data.pkgs is now FALSE, which changes previous behavior and significantly reduces space and time overhead when sources are kept when installing packages. * In rapply(x, ..), x can also be "list-like" and of length >= 2^{31}. * trimws() gets new optional whitespace argument, allowing more extensive definitions of "space", such as including Unicode spaces (as wished in PR#17431). * weighted.mean() no longer coerces the weights to a double/numeric vector, since sum() now handles integer overflow. This makes weighted.mean() more polymorphic and endomorphic, but be aware that the results are no longer guaranteed to be a vector of type double. * When loading namespaces, S3 method registrations which overwrite previous registrations are now noted by default (using packageStartupMessage()). * compiler::cmpfile() gains a version argument, for use when the output file should be saved in serialization format 2. * The axis labeling in the default method of pairs() may now be toggled by new options horOdd and verOdd. * (Not Windows nor macOS.) Package tcltk now supports an environment variable R_DONT_USE_TK which if set disables Tk initialization. This is intended for use to circumvent errors in loading the package, e.g. with recent Linux running under an address sanitizer. * The numeric method of all.equal() gets optional arguments countEQ and formatFUN. If countEQ is true, the mean error is more sensible when many entries are *eq*ual. * outer(x,y, FUN = "*") is more efficient using tcrossprod(u,v) instead of u %*% t(v). * vcov() is more efficient via new optional arguments in summary.mlm(). * The default method of summary() gets an option to choose the _kind_ of quantile()s to use; wish of PR#17438. * Fitting multiple linear models _via_ lm() does work with _matrix_ offsets, as suggested in PR#17407. * The new functions mem.maxVSize() and mem.maxMSize() allow the maximal size of the vector heap and the maximal number of nodes allowed in the current R process to be queried and set. * news() gains support for NEWS.md files. * An effort has been started to have our reference manuals, i.e., all help pages. show platform-independent information (rather than Windows or Unix-alike specifics visible only on that platform). Consequently, the Windows version of X11() / x11() got identical formal arguments to the Unix one. * sessionInfo()$running has been factored out in a new variable osVersion. * slice.index() now also works for multi-dimensional margins. * untar() used with an external tar command assumes this supports decompression including xz and automagically detecting the compression type. This has been true of all mainstream implementations since 2009 (for GNU tar, since version 1.22): older implementations are still supported _via_ the new argument support_old_tars whose default is controlled by environment variable R_SUPPORT_OLD_TARS. (It looks like NetBSD and OpenBSD have 'older' tar commands for this purpose.) * The new function asplit() allow splitting an array or matrix by its margins. * New functions errorCondition() and warningCondition() provide a convenient way to create structured error and warning objects. .Deprecated() now signals a warning of class "deprecatedWarning", and .Defunct() now signals an error of class "defunctError". * Many 'package not found' errors are now signaled as errors of class "packageNotFoundError". * As an experimental feature, when loadNamespace() fails because the requested package is not available the error is initially signaled with a retry_loadNamespace restart available. This allows a calling handler to try to install the package and continue. * S3method() directives in NAMESPACE can now also be used to perform _delayed_ S3 method registration. * Experimentally, setting environment variable _R_CHECK_LENGTH_1_LOGIC2_ will lead to warnings (or errors if the variable is set to a 'true' value) when && or || encounter and use arguments of length more than one. * Added "lines" and "chars" coordinate systems to grconvertX() and grconvertY(). * getOption() is more efficient notably for the rare case when called with two arguments, from several contributors in PR#17394. * In .col(dim) and .row(dim), dim now may also be an integer-valued "double". * sQuote() and dQuote() get an explicit q argument with obvious default instead of using getOption("fancyQuotes") implicitly and unconditionally. * unzip() can list archives with comments and with spaces in file names even using an external unzip command. * Command line completion has a new setting rc.settings(dots = FALSE) to remove ... from the list of possible function arguments. * library() no longer checks packages with compiled code match R.version$platform. loadNamespace() never has, and increasingly the 'canonical name' does not reflect the important characteristics of compiled code. * The primitive functions drop() and unclass() now avoid duplicating their data for atomic vectors that are large enough, by returning ALTREP wrapper objects with adjusted attributes. R-level assignments to change attributes will also use wrapper objects to avoid duplicating data for larger atomic vectors. R functions like structure() and unname() will therefore not duplicate data in these settings. Generic vectors as produced by list() are not yet covered by this optimization but may be in due course. * In formals(), envir becomes an optional argument instead of being hardwired. * Instead of signalling an error for an invalid S4 object x, str(x) now gives a warning and subsequently still shows most parts of x, e.g., when slots are missing. * gamma(x) and lgamma(x) no longer warn when correctly returning Inf or underflowing to zero. This helps maximum likelihood and similar computations. * convertColor() is now vectorized, so a lot faster for converting many colours at once. The new argument vectorized to colorConverter() ensures that non-vectorized colour converters still work. (Thanks to Brodie Gaslam.) * download.file() and url() get new argument headers for custom HTTP headers, e.g., allowing to perform basic http authentication, thanks to a patch contributed by G'abor Cs'ardi. * File-based connection functions file(), gzfile(), bzfile() and xzfile() now signal an error when used on a directory. * For approx(), splinefun() _etc_, a new setting ties = c("ordered", ) allows skipping the sorting and still treat ties. * format(x) gives a more user friendly error message in the case where no method is defined. A minimal method is provided in format.default(x) when isS4(x) is true. * which(x) now also works when x is a long vector, thanks to Suharto Anggono's PR#17201. *NB*: this may return a double result, breaking the previous guarantee of an integer result. * seq.default() is more careful to return an integer (as opposed to double) result when its arguments are large and/or classed objects; see comment #9 of Suharto Anggono's PR#17497. * The plot() method for lm and glm fits, plot.lm(), gains a new option iter.smooth with a default of 0 for binomial fits, no longer down-weighting when smoothing the residuals. * zip() passes its list of files _via_ standard input to the external command when too long for the command line (on some platforms). * data() gains an overwrite argument. * t.test() now also returns the standard error (in list component stderr). * model.matrix(*, contrasts.arg = CC) now warns about invalid contrasts.args. * Performance of substr() and substring() has been improved. * stopifnot() has been simplified thanks to Suharto Anggono's proposals to become considerably faster for cheap expressions. * The default 'user agent' has been changed when accessing http:// and https:// sites using libcurl. (A site was found which caused libcurl to infinite-loop with the previous default.) * sessionInfo() now also contains RNGkind() and prints it when it differs from the default; based on a proposal and patch by Gabe Becker in PR#17535. Also, RNGversion(getRversion()) works directly. * library() and require() now allow more control over handling search path conflicts when packages are attached. The policy is controlled by the new conflicts.policy option. * barplot() gets a formula method, thanks to a patch proposal by Arni Magnusson in PR#17521. * pmax() and pmin(x) now also work for long vectors, thanks to Suharto Anggono's PR#17533. * bxp() now warns when omitting duplicated arguments. * New hcl.colors() function to provide wide range of HCL-based colour palettes with much better perceptual properties than the existing RGB/HSV-based palettes like rainbow(). Also a new hcl.pals() function to list available palette names for hcl.colors(). Contributed by Achim Zeileis. * The default colours for image() and filled.contour() are now based on hcl.colors(). * The palette-generating functions rainbow(), gray.colors(), etc. get a new rev argument to facilitate reversing the order of colors. * New str2lang() and str2expression() as streamlined versions of parse(text=., keep.source=FALSE) allow to abstract typical call constructions, e.g., in formula manipulations. (Somewhat experimental) * Add update_PACKAGES() for incrementally updating a package repository index, instead of rebuilding the index from scratch. Thanks to Gabe Becker in PR#17544 for the patch, based on part of his switchr package. INSTALLATION on a UNIX-ALIKE: * The options selected for the C++ compiler default to the C++11 standard if supported, otherwise to the C++98 standard. * Visibility macros such as C_VISIBILITY can now be user-set (including to empty), e.g. in config.site. * Macro FCLIBS, which has sometimes been needed on Solaris, has been renamed to FCLIBS_XTRA. * Macro F77 is always set to the value of FC, so the latter should be set to user-select the Fortran compiler for both fixed-form and free-form Fortran. In particular, gfortran is now the first choice for F77, not f95. Macros FFLAGS and FCFLAGS remain distinct to allow for a compiler which needs a flag to select free- or fixed-form Fortran (most use the source-file extension to choose: .f is fixed-form and .f90 and .f95 are free-form). If only one of them is set, its value is used for both. * The special-casing of CFLAGS, CXXFLAGS and FFLAGS for Intel compilers on Linux has been removed: we do not have recent experience but the generic defaults now chosen are the same as those previously special-cased for x86_64. If necessary, override the defaults on the configure command line or in file config.site. * Long-untested configure support for HP-UX and very old versions of Linux has been removed. * configure --with-blas (without specifying a value) includes OpenBLAS in its search (before ATLAS and a generic BLAS). This follows recent versions of the ax_blas autoconf macro. * The configure macro MAKEINFO has been updated to TEXI2ANY. * Support for make install-strip has been enhanced. PACKAGE INSTALLATION: * Source package installation is by default 'staged': the package is installed into a temporary location under the final library directory and moved into place once the installation is complete. The benefit is that partially-installed packages are hidden from other R sessions. The overall default is set by environment variable R_INSTALL_STAGED. R CMD INSTALL has new options --staged-install and --no-staged-install, and packages can use the StagedInstall field in their DESCRIPTION file to opt out. (That opt-out is a temporary measure which may be withdrawn in future.) Staged installation requires either --pkglock or --lock, one of which is used by default. * The interpretation of source code with extension .f is changing. Previously this denoted FORTRAN 77 code, but current compilers no longer have a FORTRAN 77 mode and interpret it as 'fixed-form' Fortran 90 (or later where supported) code. Extensions .f90 and .f95 continue to indicate 'free-form' Fortran code. Legal FORTRAN 77 code is also legal fixed-form Fortran 9x; however this change legitimizes the use of later features, in particular to replace features marked 'obsolescent' in Fortran 90 and 'deleted' in Fortran 2018 which gfortran 8.x and later warn about. * Packages containing files in the src directory with extensions .f90 or .f95 are now linked using the C or C++ compiler rather than the Fortran 9x compiler. This is consistent with fixed-form Fortran code and allows mixing of C++ and free-form Fortran on most platforms. Consequentially, a package which includes free-form Fortran 9x code which uses OpenMP should include SHLIB_OPENMP_CFLAGS (or the CXXFLAGS version if they also include C++ code) in PKG_LIBS rather than SHLIB_OPENMP_FCFLAGS - fortunately on almost all current platforms they are the same flag. * Macro PKG_FFLAGS will be used for the compilation of both fixed-form and free-form Fortran code unless PKG_FCFLAGS is also set (in src/Makevars or src/Makevars.win). * The make macro F_VISIBILITY is now preferred for both fixed-form and free-form Fortran, for use in src/Makevars and similar. * R CMD INSTALL gains a new option --strip which (where supported) strips installed shared object(s): this can also be achieved by setting the environment variable _R_SHLIB_STRIP_ to a true value. The new option --strip-lib attempts stripping of static and shared libraries installed under lib. These are most useful on platforms using GNU binutils (such as Linux) and compiling with -g flags. * There is more support for installing UTF-8-encoded packages in a strict Latin-1 locale (and probably for other Latin locales): non-ASCII comments in R code (and NAMESPACE files) are worked around better. UTILITIES: * R CMD check now optionally checks makefiles for correct and portable use of the SHLIB_OPENMP_*FLAGS macros. * R CMD check now evaluates \Sexpr{} expressions (including those in macros) before checking the contents of Rd files and so detects issues both in evaluating the expressions and in the expanded contents. * R CMD check now lists missing packages separated by commas and with regular quotes such as to be useful as argument in calling install.packages(c(..)); from a suggestion by Marcel Ramos. * tools::Rd2latex() now uses UTF-8 as its default output encoding. * R CMD check now checks line endings of files with extension .hpp and those under inst/include. The check now includes that a non-empty file is terminated with a newline. R CMD build will correct line endings in such files. * R CMD check now tries re-building all vignettes rather than stopping at the first error: whilst doing so it adds 'bookmarks' to the log. By default (see the 'R Internals' manual) it re-builds each vignette in a separate process. It now checks for duplicated vignette titles (also known as 'index entries'): they are used as hyperlinks on CRAN package pages and so do need to be unique. * R CMD check has more comprehensive checks on the data directory and the functioning of data() in a package. * R CMD check now checks autoconf-generated configure files have their corresponding source files, including optionally attempting to regenerate them on platforms with autoreconf. * R CMD build has a new option --compression to select the compression used for the tarball. * R CMD build now removes src/*.mod files on all platforms. C-LEVEL FACILITIES: * New pointer protection C functions R_PreserveInMSet and R_ReleaseFromMSet have been introduced to replace UNPROTECT_PTR, which is not safe to mix with UNPROTECT (and with PROTECT_WITH_INDEX). Intended for use in parsers only. * NAMEDMAX has been raised to 7 to allow further protection of intermediate results from (usually ill-advised) assignments in arguments to BUILTIN functions. Properly written package code should not be affected. * R_unif_index is now considered to be part of the C API. * R_GetCurrentEnv() allows C code to retrieve the current environment. DEPRECATED AND DEFUNCT: * Argument compressed of untar() is deprecated - it is only used for external tar commands which increasingly for extraction auto-detect compression and ignore their zjJ flags. * var(f) and hence sd(f) now give an error for factor arguments; they gave a deprecation warning since R 3.2.3, PR#16564. * Package tools' vignetteDepends() has been deprecated (it called a function deprecated since Feb 2016), being partly replaced by newly exported vignetteInfo(). * The f77_f2c script has been removed: it no longer sufficed to compile the .f files in R. * The deprecated legacy support of make macros such as CXX1X has been removed: use the CXX11 forms instead. * Make macro F77_VISIBILITY is deprecated in favour of F_VISIBILITY. * Make macros F77, FCPIFCPLAGS and SHLIB_OPENMP_FCFLAGS are deprecated in favour of FC, FPICFLAGS and SHLIB_OPENMP_FFLAGS respectively. * $.data.frame had become an expensive version of the default method, so has been removed. (Thanks to Radford Neal for picking this up and to Duncan Murdoch for providing a patch.) BUG FIXES: * replayPlot(r) now also works in the same R session when r has been "reproduced" from serialization, typically after saving to and reading from an RDS file. * substr() and substring() now signal an error when the input is invalid UTF-8. * file.copy() now works also when its argument to is of length greater than one. * mantelhaen.test() no longer suffers from integer overflow in largish cases, thanks to Ben Bolker's PR#17383. * Calling setGeneric("foo") in a package no longer fails when the enclosing environment of the implicit generic foo() is .GlobalEnv. * untar(file(".tar.gz"), *) now gives a better error message, suggesting to use gzfile() instead. * Method dispatch uses more relevant environments when looking up class definitions. * The documentation for identify() incorrectly claimed that the indices of identified points were returned in the order that the points were selected. identify() now has a new argument order to allow the return value to include the order in which points were identified; the documentation has been updated. Reported by Richard Rowe and Samuel Granjeaud. * order(...., decreasing=c(TRUE, FALSE)) could fail in some cases. Reported from StackOverflow via Karl Nordstr"om. * User macros in Rd files now accept empty and multi-line arguments. * Changes in print.*(), thanks to Lionel Henry's patches in PR#17398: * Printing lists, pairlists or attributes containing calls with S3 class no longer evaluate those. * Printing S4 objects within lists and pairlists dispatches with show() rather than print(), as with auto-printing. * The indexing tags (names or [[]]) of recursive data structures are now printed correctly in complex cases. * Arguments supplied to print() are now properly forwarded to methods when printing lists, pairlists or attributes containing S3 objects. * The print parameters are now preserved when printing S3 objects or deparsing symbols and calls. Previously, printing lists containing S3 objects or expressions would reset these parameters. * Printing lists, pairlists or attributes containing functions now uses srcref attributes if present. * Calling install.packages() with a length zero pkgs argument now is a no-op (PR#17422). * unlist(x) now returns a correct factor when x is a nested list with factor leaves, fixing PR#12572 and PR#17419. * The documentation help(family) gives more details about the aic component, thanks to Ben Bolker's prompting. * The documentation for attributes and `attributes<-` now gives x as name of the first and main argument which the implementation has been requiring, fixing PR#17434. For consistency, the first argument name is also changed from obj to x for `mostattributes<-`. * strwidth() now uses par("font") as default font face (PR#17352). * plot(, log="x") no longer warns about log. * The print() method for "htest" objects now formats the test statistic and parameter directly and hence no longer rounds to units _before_ the decimal point. Consequently, printing of t.test() results with a small number of digits now shows non-large df's to the full precision (PR#17444). * kruskal.test() and fligner.test() no longer erroneously insist on numeric g group arguments (PR#16719). * Printing a news db via the browser now does a much better job (PR#17433). * print.aov() missed column names in the multivariate case due to misspelling (reported by Chris Andrews). * axis() now creates valid at locations also for small subnormal number ranges in log scale plots. * format.POSIXlt() now also recycles the zone and gmtoff list components to full length when needed, and its internal C code detects have_zone in more cases. In some cases, this changes its output to become compatible with format.POSIXct(). * On Windows, detectCores() in package parallel now detects processors in all processor groups, not just the group R is running in (impacts particularly systems with more than 64 logical processors). Reported by Arunkumar Srinivasan. * On Windows, socketSelect() would hang with more than 64 sockets, and hence parallel::clusterApplyLB() would hang with more than 64 workers. Reported by Arunkumar Srinivasan. * as(1L, "double") now does coerce (PR#17457). * lm.influence(), influence.measures(), rstudent() etc now work (more) correctly for multivariate models ("mlm"), thanks to (anonymous) stackoverflow remarks. * sample.int(2.9, *, replace=TRUE) again behaves as documented and as in R < 3.0.0, namely identically to sample.int(2, ..). * Fixes to convertColor() for chromatic adaptation; thanks to Brodie Gaslam PR#17473. * Using \Sexpr[stage=install]{..} to create an Rd section no longer gives a warning in R CMD check; problem originally posted by G'abor Cs'ardi, then reported as PR#17479 with a partial patch by Duncan Murdoch. * Parse data now include a special node for equal assignment. * split.default() no longer relies on [[<-(), so it behaves as expected when splitting an object by a factor with the empty string as one of its levels. Thanks to Brad Friedman for the report. * Line numbers in messages about .Rd files are now more reliable, thanks to a patch from Duncan Murdoch. * In the numeric method for all.equal(), a numeric scale argument is now checked to be positive and allowed to be of length > 1. (The latter worked originally and with a warning in recent years). * Deferred string conversions now record the OutDec option setting when not equal to the default. Reported by Michael Sannella. * When y is numeric and f a factor, plot(y ~ f) nicely uses "y" and "f" as y- and x-labels. The more direct boxplot(y ~ f) now does too. The new argument ann = FALSE may be used to suppress these. * Subassignment to no/empty rows of a data frame is more consistent and typically a no-op in all cases instead of sometimes an error; part of Emil Bode's PR#17483. * Calls like formatC(*, zero.print = "< 0.001") no longer give an error and are further improved via new optional argument replace.zero. Reported by David Hugh-Jones. * methods::formalArgs("") now finds the same function as formals(""), fixing Emil Bode's PR#17499. * The methods package better handles duplicated class names across packages. * The default method of seq() now avoids integer overflow, thanks to the report and "cumsum" patch of Suharto Anggono's PR#17497. * sub() no longer loses encodings for non-ASCII replacements (PR#17509). * Fix for rotated raster image on X11 device. (Partial fix for PR#17148; thanks to Mikko Korpela). * formula(model.frame(frml, ..)) now returns frml in all cases, thanks to Bill Dunlap. The previous behavior is available as DF2formula(). * ar.ols() also returns scalar var.pred in univariate case (PR#17517). * normalizePath() now treats NA path as non-existent and normalizes it to NA. file.access() treats NA file name as non-existent. file.edit() and connection functions such as file() now treat NA file names as errors. * The internal regularize.values() auxiliary of approx(), splinefun() etc now warns again when there are ties and the caller did not specify ties. Further, it no longer duplicates x and y unnecessarily when x is already sorted (PR#17515). * strtoi("", base) now gives NA on all platforms, following its documentation. Reported by Michael Chirico. * In the definition of an S4 class, prototype elements are checked against the slots of the class, with giving a prototype for an undefined slot now being an error. (Reported by Bill Dunlap.) * From setClassUnion(), if environment variable _R_METHODS_SHOW_CHECKSUBCLASSES is set to true, the internal .checkSubclasses() utility prints debugging info to see where it is used. * max.col(m) with an m of zero columns now returns integer NA (instead of 1). * axTicks() no longer returns small "almost zero" numbers (in exponential format) instead of zero, fixing Ilario Gelmetti's PR#17534. * isSymmetric(matrix(0, dimnames=list("A","b"))) is FALSE again, as always documented. * The cairo_pdf graphics device (and other Cairo-based devices) now clip correctly to the right and bottom border. There was an off-by-one-pixel bug, reported by Lee Kelvin. * as.roman(3) <= 2:4 and all other comparisons now work, as do group "Summary" function calls such as max(as.roman(sample(20))) and as.roman(NA). (Partly reported by Bill Dunlap in PR#17542.) * reformulate("x", response = "sin(y)") no longer produces extra back quotes, PR#17359, and gains new optional argument env. * When reading console input from stdin with re-encoding (R --encoding=enc < input) the code on a Unix-alike now ensures that each converted input line is terminated with a newline even if re-encoding fails. * as.matrix.data.frame() now produces better strings from logicals, thanks to PR#17548 from Gabe Becker. * The S4 generic signature of rowSums(), rowMeans(), colSums() and colMeans() is restricted to "x". * match(x, tab) now works for long _character_ vectors x, thanks to PR#17552 by Andreas Kersting. * Class unions are unloaded when their namespace is unloaded (PR#17531, adapted from a patch by Brodie Gaslam). * selectMethod() is robust to ANY-truncation of method signatures (thanks to Herve Pages for the report). @ text @$NetBSD: patch-ad,v 1.20 2016/07/26 04:53:33 wen Exp $ Adjust EXTRA_LIBS and @@WANT_R_SHLIB_TRUE@@R_bin_LDADD --- src/main/Makefile.in.orig 2016-07-26 01:55:40.000000000 +0000 +++ src/main/Makefile.in @@@@ -94,13 +94,13 @@@@ MAIN_OBJS = `ls ../unix/*.o ../appl/*.o EXTRA_STATIC_LIBS = $(R_TRE) $(R_XDR) $(R_LIBINTL) $(R_TZONE) STATIC_LIBS = $(MAIN_LIBS) $(EXTRA_STATIC_LIBS) -EXTRA_LIBS = $(BLAS_LIBS) $(FLIBS) $(R_XTRA_LIBS) @@LIBINTL@@ $(READLINE_LIBS) $(LIBS) +EXTRA_LIBS = $(BLAS_LIBS) $(FLIBS) $(R_XTRA_LIBS) @@LIBINTL@@ $(READLINE_LIBS) $(LIBS) @@LIBMULTITHREAD@@ R_binary = R.bin R_bin_OBJECTS = Rmain.o @@WANT_R_SHLIB_FALSE@@$(OBJECTS) @@WANT_R_SHLIB_FALSE@@R_bin_LDADD = $(MAIN_OBJS) $(EXTRA_STATIC_LIBS) $(EXTRA_LIBS) ## Linked against -lRblas becasue -lR is and otherwise ld complains. -@@WANT_R_SHLIB_TRUE@@R_bin_LDADD = -lR @@BLAS_SHLIB_TRUE@@-lRblas +@@WANT_R_SHLIB_TRUE@@R_bin_LDADD = -L../../lib@@R_ARCH@@ ${COMPILER_RPATH_FLAG}$(Rexeclibdir) -lR @@BLAS_SHLIB_TRUE@@-lRblas @@BUILD_LTO_FALSE@@R_bin_DEPENDENCIES =@@WANT_R_SHLIB_FALSE@@ libR.a @@USE_EXPORTFILES_TRUE@@ $(top_builddir)/etc/R.exp libR_la = libR$(R_DYLIB_EXT) @ 1.20 log @Update to 3.3.1 Upstream changes: CHANGES IN R 3.3.1: BUG FIXES: * R CMD INSTALL and hence install.packages() gave an internal error installing a package called description from a tarball on a case-insensitive file system. * match(x, t) (and hence x %in% t) failed when x was of length one, and either character and x and t only differed in their Encoding or when x and t where complex with NAs or NaNs. (PR#16885.) * unloadNamespace(ns) also works again when ns is a 'namespace', as from getNamespace(). * rgamma(1,Inf) or rgamma(1, 0,0) no longer give NaN but the correct limit. * length(baseenv()) is correct now. * pretty(d, ..) for date-time d rarely failed when "halfmonth" time steps were tried (PR#16923) and on 'inaccurate' platforms such as 32-bit windows or a configuration with --disable-long-double; see comment #15 of PR#16761. * In text.default(x, y, labels), the rarely(?) used default for labels is now correct also for the case of a 2-column matrix x and missing y. * as.factor(c(a = 1L)) preserves names() again as in R < 3.1.0. * strtrim(""[0], 0[0]) now works. * Use of Ctrl-C to terminate a reverse incremental search started by Ctrl-R in the readline-based Unix terminal interface is now supported for readline >= 6.3 (Ctrl-G always worked). (PR#16603) * diff() now keeps the "units" attribute, as subtraction already did, PR#16940. CHANGES IN R 3.3.0: SIGNIFICANT USER-VISIBLE CHANGES: * nchar(x, *)'s argument keepNA governing how the result for NAs in x is determined, gets a new default keepNA = NA which returns NA where x is NA, except for type = "width" which still returns 2, the formatting / printing width of NA. * All builds have support for https: URLs in the default methods for download.file(), url() and code making use of them. Unfortunately that cannot guarantee that any particular https: URL can be accessed. For example, server and client have to successfully negotiate a cryptographic protocol (TLS/SSL, ...) and the server's identity has to be verifiable _via_ the available certificates. Different access methods may allow different protocols or use private certificate bundles: we encountered a https: CRAN mirror which could be accessed by one browser but not by another nor by download.file() on the same Linux machine. NEW FEATURES: * The print method for methods() gains a byclass argument. * New functions validEnc() and validUTF8() to give access to the validity checks for inputs used by grep() and friends. * Experimental new functionality for S3 method checking, notably isS3method(). Also, the names of the R 'language elements' are exported as character vector tools::langElts. * str(x) now displays "Time-Series" also for matrix (multivariate) time-series, i.e. when is.ts(x) is true. * (Windows only) The GUI menu item to install local packages now accepts *.tar.gz files as well as *.zip files (but defaults to the latter). * New programmeR's utility function chkDots(). * D() now signals an error when given invalid input, rather than silently returning NA. (Request of John Nash.) * formula objects are slightly more "first class": e.g., formula() or new("formula", y ~ x) are now valid. Similarly, for "table", "ordered" and "summary.table". Packages defining S4 classes with the above S3/S4 classes as slots should be reinstalled. * New function strrep() for repeating the elements of a character vector. * rapply() preserves attributes on the list when how = "replace". * New S3 generic function sigma() with methods for extracting the estimated standard deviation aka "residual standard deviation" from a fitted model. * news() now displays R and package news files within the HTML help system if it is available. If no news file is found, a visible NULL is returned to the console. * as.raster(x) now also accepts raw arrays x assuming values in 0:255. * Subscripting of matrix/array objects of type "expression" is now supported. * type.convert("i") now returns a factor instead of a complex value with zero real part and missing imaginary part. * Graphics devices cairo_pdf() and cairo_ps() now allow non-default values of the cairographics 'fallback resolution' to be set. This now defaults to 300 on all platforms: that is the default documented by cairographics, but apparently was not used by all system installations. * file() gains an explicit method argument rather than implicitly using getOption("url.method", "default"). * Thanks to a patch from Tomas Kalibera, x[x != 0] is now typically faster than x[which(x != 0)] (in the case where x has no NAs, the two are equivalent). * read.table() now always uses the names for a named colClasses argument (previously names were only used when colClasses was too short). (In part, wish of PR#16478.) * (Windows only) download.file() with default method = "auto" and a ftps:// URL chooses "libcurl" if that is available. * The out-of-the box Bioconductor mirror has been changed to one using https://: use chooseBioCmirror() to choose a http:// mirror if required. * The data frame and formula methods for aggregate() gain a drop argument. * available.packages() gains a repos argument. * The undocumented switching of methods for url() on https: and ftps: URLs is confined to method = "default" (and documented). * smoothScatter() gains a ret.selection argument. * qr() no longer has a ... argument to pass additional arguments to methods. * [ has a method for class "table". * It is now possible (again) to replayPlot() a display list snapshot that was created by recordPlot() in a different R session. It is still not a good idea to use snapshots as a persistent storage format for R plots, but it is now not completely silly to use a snapshot as a format for transferring an R plot between two R sessions. The underlying changes mean that packages providing graphics devices (e.g., Cairo, RSvgDevice, cairoDevice, tikzDevice) will need to be reinstalled. Code for restoring snapshots was contributed by Jeroen Ooms and JJ Allaire. Some testing code is available at . * tools::undoc(dir = D) and codoc(dir = D) now also work when D is a directory whose normalizePath()ed version does not end in the package name, e.g. from a symlink. * abbreviate() has more support for multi-byte character sets - it no longer removes bytes within characters and knows about Latin vowels with accents. It is still only really suitable for (most) European languages, and still warns on non-ASCII input. abbreviate(use.classes = FALSE) is now implemented, and that is more suitable for non-European languages. * match(x, table) is faster (sometimes by an order of magnitude) when x is of length one and incomparables is unchanged, thanks to Peter Haverty (PR#16491). * More consistent, partly not back-compatible behavior of NA and NaN coercion to complex numbers, operations less often resulting in complex NA (NA_complex_). * lengths() considers methods for length and [[ on x, so it should work automatically on any objects for which appropriate methods on those generics are defined. * The logic for selecting the default screen device on OS X has been simplified: it is now quartz() if that is available even if environment variable DISPLAY has been set by the user. The choice can easily be overridden _via_ environment variable R_INTERACTIVE_DEVICE. * On Unix-like platforms which support the getline C library function, system(*,intern = TRUE) no longer truncates (output) lines longer than 8192 characters, thanks to Karl Millar. (PR#16544) * rank() gains a ties.method = "last" option, for convenience (and symmetry). * regmatches(invert = NA) can now be used to extract both non-matched and matched substrings. * data.frame() gains argument fix.empty.names; as.data.frame.list() gets new cut.names, col.names and fix.empty.names. * plot(x ~ x, *) now warns that it is the same as plot(x ~ 1, *). * recordPlot() has new arguments load and attach to allow package names to be stored as part of a recorded plot. replayPlot() has new argument reloadPkgs to load/attach any package names that were stored as part of a recorded plot. * S4 dispatch works within calls to .Internal(). This means explicit S4 generics are no longer needed for unlist() and as.vector(). * Only font family names starting with "Hershey" (and not "Her" as before) are given special treatment by the graphics engine. * S4 values are automatically coerced to vector (via as.vector) when subassigned into atomic vectors. * findInterval() gets a left.open option. * The version of LAPACK included in the sources has been updated to 3.6.0, including those 'deprecated' routines which were previously included. _Ca_ 40 double-complex routines have been added at the request of a package maintainer. As before, the details of what is included are in src/modules/lapack/README and this now gives information on earlier additions. * tapply() has been made considerably more efficient without changing functionality, thanks to proposals from Peter Haverty and Suharto Anggono. (PR#16640) * match.arg(arg) (the one-argument case) is faster; so is sort.int(). (PR#16640) * The format method for object_size objects now also accepts "binary" units such as "KiB" and e.g., "Tb". (Partly from PR#16649.) * Profiling now records calls of the form foo::bar and some similar cases directly rather than as calls to . Contributed by Winston Chang. * New string utilities startsWith(x, prefix) and endsWith(x, suffix). Also provide speedups for some grepl("^...",*) uses (related to proposals in PR#16490). * Reference class finalizers run at exit, as well as on garbage collection. * Avoid parallel dependency on stats for port choice and random number seeds. (PR#16668) * The radix sort algorithm and implementation from data.table (forder) replaces the previous radix (counting) sort and adds a new method for order(). Contributed by Matt Dowle and Arun Srinivasan, the new algorithm supports logical, integer (even with large values), real, and character vectors. It outperforms all other methods, but there are some caveats (see ?sort). * The order() function gains a method argument for choosing between "shell" and "radix". * New function grouping() returns a permutation that stably rearranges data so that identical values are adjacent. The return value includes extra partitioning information on the groups. The implementation came included with the new radix sort. * rhyper(nn, m, n, k) no longer returns NA when one of the three parameters exceeds the maximal integer. * switch() now warns when no alternatives are provided. * parallel::detectCores() now has default logical = TRUE on all platforms - as this was the default on Windows, this change only affects Sparc Solaris. Option logical = FALSE is now supported on Linux and recent versions of OS X (for the latter, thanks to a suggestion of Kyaw Sint). * hist() for "Date" or "POSIXt" objects would sometimes give misleading labels on the breaks, as they were set to the day before the start of the period being displayed. The display format has been changed, and the shift of the start day has been made conditional on right = TRUE (the default). (PR#16679) * R now uses a new version of the logo (donated to the R Foundation by RStudio). It is defined in .svg format, so will resize without unnecessary degradation when displayed on HTML pages-there is also a vector PDF version. Thanks to Dirk Eddelbuettel for producing the corresponding X11 icon. * New function .traceback() returns the stack trace which traceback() prints. * lengths() dispatches internally. * dotchart() gains a pt.cex argument to control the size of points separately from the size of plot labels. Thanks to Michael Friendly and Milan Bouchet-Valat for ideas and patches. * as.roman(ch) now correctly deals with more diverse character vectors ch; also arithmetic with the resulting roman numbers works in more cases. (PR#16779) * prcomp() gains a new option rank. allowing to directly aim for less than min(n,p) PC's. The summary() and its print() method have been amended, notably for this case. * gzcon() gains a new option text, which marks the connection as text-oriented (so e.g. pushBack() works). It is still always opened in binary mode. * The import() namespace directive now accepts an argument except which names symbols to exclude from the imports. The except expression should evaluate to a character vector (after substituting symbols for strings). See Writing R Extensions. * New convenience function Rcmd() in package tools for invoking R CMD tools from within R. * New functions makevars_user() and makevars_site() in package tools to determine the location of the user and site specific Makevars files for customizing package compilation. UTILITIES: * R CMD check has a new option --ignore-vignettes for use with non-Sweave vignettes whose VignetteBuilder package is not available. * R CMD check now by default checks code usage (_via_ codetools) with only the base package attached. Functions from default packages other than base which are used in the package code but not imported are reported as undefined globals, with a suggested addition to the NAMESPACE file. * R CMD check --as-cran now also checks DOIs in package CITATION and Rd files. * R CMD Rdconv and R CMD Rd2pdf each have a new option --RdMacros=pkglist which allows Rd macros to be specified before processing. DEPRECATED AND DEFUNCT: * The previously included versions of zlib, bzip2, xz and PCRE have been removed, so suitable external (usually system) versions are required (see the 'R Installation and Administration' manual). * The unexported and undocumented Windows-only devices cairo_bmp(), cairo_png() and cairo_tiff() have been removed. (These devices should be used as e.g. bmp(type = "cairo").) * (Windows only) Function setInternet2() has no effect and will be removed in due course. The choice between methods "internal" and "wininet" is now made by the method arguments of url() and download.file() and their defaults can be set _via_ options. The out-of-the-box default remains "wininet" (as it has been since R 3.2.2). * [<- with an S4 value into a list currently embeds the S4 object into its own list such that the end result is roughly equivalent to using [[<-. That behavior is deprecated. In the future, the S4 value will be coerced to a list with as.list(). * Package tools' functions package.dependencies(), pkgDepends(), etc are deprecated now, mostly in favor of package_dependencies() which is both more flexible and efficient. INSTALLATION and INCLUDED SOFTWARE: * Support for very old versions of valgrind (e.g., 3.3.0) has been removed. * The included libtool script (generated by configure) has been updated to version 2.4.6 (from 2.2.6a). * libcurl version 7.28.0 or later with support for the https protocol is required for installation (except on Windows). * BSD networking is now required (except on Windows) and so capabilities("http/ftp") is always true. * configure uses pkg-config for PNG, TIFF and JPEG where this is available. This should work better with multiple installs and with those using static libraries. * The minimum supported version of OS X is 10.6 ('Snow Leopard'): even that has been unsupported by Apple since 2012. * The configure default on OS X is --disable-R-framework: enable this if you intend to install under /Library/Frameworks and use with R.app. * The minimum preferred version of PCRE has since R 3.0.0 been 8.32 (released in Nov 2012). Versions 8.10 to 8.31 are now deprecated (with warnings from configure), but will still be accepted until R 3.4.0. * configure looks for C functions __cospi, __sinpi and __tanpi and uses these if cospi _etc_ are not found. (OS X is the main instance.) * (Windows) R is now built using gcc 4.9.3. This build will require recompilation of at least those packages that include C++ code, and possibly others. A build of R-devel using the older toolchain will be temporarily available for comparison purposes. During the transition, the environment variable R_COMPILED_BY has been defined to indicate which toolchain was used to compile R (and hence, which should be used to compile code in packages). The COMPILED_BY variable described below will be a permanent replacement for this. * (Windows) A make and R CMD config variable named COMPILED_BY has been added. This indicates which toolchain was used to compile R (and hence, which should be used to compile code in packages). PACKAGE INSTALLATION: * The make macro AWK which used to be made available to files such as src/Makefile is no longer set. C-LEVEL FACILITIES: * The API call logspace_sum introduced in R 3.2.0 is now remapped as an entry point to Rf_logspace_sum, and its first argument has gained a const qualifier. (PR#16470) Code using it will need to be reinstalled. Similarly, entry point log1pexp also defined in Rmath.h is remapped there to Rf_log1pexp * R_GE_version has been increased to 11. * New API call R_orderVector1, a faster one-argument version of R_orderVector. * When R headers such as R.h and Rmath.h are called from C++ code in packages they include the C++ versions of system headers such as rather than the legacy headers such as . (Headers Rinternals.h and Rinterface.h already did, and inclusion of system headers can still be circumvented by defining NO_C_HEADERS, including as from this version for those two headers.) The manual has long said that R headers should *not* be included within an extern "C" block, and almost all the packages affected by this change were doing so. * Including header S.h from C++ code would fail on some platforms, and so gives a compilation error on all. * The deprecated header Rdefines.h is now compatible with defining R_NO_REMAP. * The connections API now includes a function R_GetConnection() which allows packages implementing connections to convert R connection objects to Rconnection handles used in the API. Code which previously used the low-level R-internal getConnection() entry point should switch to the official API. BUG FIXES: * C-level asChar(x) is fixed for when x is not a vector, and it returns "TRUE"/"FALSE" instead of "T"/"F" for logical vectors. * The first arguments of .colSums() etc (with an initial dot) are now named x rather than X (matching colSums()): thus error messages are corrected. * A coef() method for class "maov" has been added to allow vcov() to work with multivariate results. (PR#16380) * method = "libcurl" connections signal errors rather than retrieving HTTP error pages (where the ISP reports the error). * xpdrows.data.frame() was not checking for unique row names; in particular, this affected assignment to non-existing rows via numerical indexing. (PR#16570) * tail.matrix() did not work for zero rows matrices, and could produce row "labels" such as "[1e+05,]". * Data frames with a column named "stringsAsFactors" now format and print correctly. (PR#16580) * cor() is now guaranteed to return a value with absolute value less than or equal to 1. (PR#16638) * Array subsetting now keeps names(dim(.)). * Blocking socket connection selection recovers more gracefully on signal interrupts. * The data.frame method of rbind() construction row.names works better in borderline integer cases, but may change the names assigned. (PR#16666) * (X11 only) getGraphicsEvent() miscoded buttons and missed mouse motion events. (PR#16700) * methods(round) now also lists round.POSIXt. * tar() now works with the default files = NULL. (PR#16716) * Jumps to outer contexts, for example in error recovery, now make intermediate jumps to contexts where on.exit() actions are established instead of trying to run all on.exit() actions before jumping to the final target. This unwinds the stack gradually, releases resources held on the stack, and significantly reduces the chance of a segfault when running out of C stack space. Error handlers established using withCallingHandlers() and options("error") specifications are ignored when handling a C stack overflow error as attempting one of these would trigger a cascade of C stack overflow errors. (These changes resolve PR#16753.) * The spacing could be wrong when printing a complex array. (Report and patch by Lukas Stadler.) * pretty(d, n, min.n, *) for date-time objects d works again in border cases with large min.n, returns a labels attribute also for small-range dates and in such cases its returned length is closer to the desired n. (PR#16761) Additionally, it finally does cover the range of d, as it always claimed. * tsp(x) <- NULL did not handle correctly objects inheriting from both "ts" and "mts". (PR#16769) * install.packages() could give false errors when options("pkgType") was "binary". (Reported by Jose Claudio Faria.) * A bug fix in R 3.0.2 fixed problems with locator() in X11, but introduced problems in Windows. Now both should be fixed. (PR#15700) * download.file() with method = "wininet" incorrectly warned of download file length difference when reported length was unknown. (PR#16805) * diag(NULL, 1) crashed because of missed type checking. (PR#16853) @ text @d1 1 a1 1 $NetBSD$ @ 1.19 log @Update to R 3.2.4 3.2.4 NEW FEATURES install.packages() and related functions now give a more informative warning when an attempt is made to install a base package. summary(x) now prints with less rounding when x contains infinite values. provideDimnames() gets an optional unique argument. shQuote() gains type = "cmd2" for quoting in cmd.exe in Windows. The data.frame method of rbind() gains an optional argument stringsAsFactors (instead of only depending on getOption("stringsAsFactors")). smooth(x, *) now also works for long vectors. tools::texi2dvi() has a workaround for problems with the texi2dvi script supplied by texinfo 6.1. It extracts more error messages from the LaTeX logs when in emulation mode. DEPRECATED AND DEFUNCT Use of SUPPORT_OPENMP from header ‘Rconfig.h’ is deprecated in favour of the standard OpenMP define _OPENMP. (This has been the recommendation in the manual for a while now.) The make macro AWK which is long unused by R itself but recorded in file ‘etc/Makeconf’ is deprecated and will be removed in R 3.3.0. The C header file ‘S.h’ is no longer documented: its use should be replaced by ‘R.h’. 3.2.3 NEW FEATURES Some recently-added Windows time zone names have been added to the conversion table used to convert these to Olson names. (Including those relating to changes for Russia in Oct 2014, as in PR#16503.) (Windows) Compatibility information has been added to the manifests for ‘Rgui.exe’, ‘Rterm.exe’ and ‘Rscript.exe’. This should allow win.version() and Sys.info() to report the actual Windows version up to Windows 10. Windows "wininet" FTP first tries EPSV / PASV mode rather than only using active mode (reported by Dan Tenenbaum). which.min(x) and which.max(x) may be much faster for logical and integer x and now also work for long vectors. The ‘emulation’ part of tools::texi2dvi() has been somewhat enhanced, including supporting quiet = TRUE. It can be selected by texi2dvi = "emulation". (Windows) MiKTeX removed its texi2dvi.exe command in Sept 2015: tools::texi2dvi() tries texify.exe if it is not found. (Windows only) Shortcuts for printing and saving have been added to menus in Rgui.exe. loess(..., iterTrace=TRUE) now provides diagnostics for robustness iterations, and the print() method for summary() shows slightly more. The included version of PCRE has been updated to 8.38, a bug-fix release. View() now displays nested data frames in a more friendly way. @ text @d1 2 a2 1 $NetBSD: patch-ad,v 1.18 2015/05/13 12:48:05 ryoon Exp $ d5 1 a5 1 --- src/main/Makefile.in.orig 2015-12-10 23:15:17.000000000 +0000 d7 2 a8 2 @@@@ -103,13 +103,13 @@@@ EXTRA_STATIC_LIBS = \ $(R_ZLIBS) $(R_BZLIBS) $(R_PCRE) $(R_TRE) $(R_XDR) $(R_XZ) $(R_LIBINTL) $(R_TZONE) @ 1.18 log @Update to 3.2.0 Changelog: CHANGES IN 3.2.0: NEW FEATURES: * anyNA() gains a recursive argument. * When x is missing and names is not false (including the default value), Sys.getenv(x, names) returns an object of class "Dlist" and hence prints tidily. * (Windows.) shell() no longer consults the environment variable SHELL: too many systems have been encountered where it was set incorrectly (usually to a path where software was compiled, not where it was installed). R_SHELL, the preferred way to select a non-default shell, can be used instead. * Some unusual arguments to embedFonts() can now be specified as character vectors, and the defaults have been changed accordingly. * Functions in the Summary group duplicate less. (PR#15798) * (Unix-alikes.) system(cmd, input = ) now uses 'shell-execution-environment' redirection, which will be more natural if cmd is not a single command (but requires a POSIX-compliant shell). (Wish of PR#15508) * read.fwf() and read.DIF() gain a fileEncoding argument, for convenience. * Graphics devices can add attributes to their description in .Device and .Devices. Several of those included with R use a "filepath" attribute. * pmatch() uses hashing in more cases and so is faster at the expense of using more memory. (PR#15697) * pairs() gains new arguments to select sets of variables to be plotted against each other. * file.info(, extra_cols = FALSE) allows a minimal set of columns to be computed on Unix-alikes: on some systems without properly-configured caching this can be significantly faster with large file lists. * New function dir.exists() in package base to test efficiently whether one or more paths exist and are directories. * dput() and friends gain new controls hexNumeric and digits17 which output double and complex quantities as, respectively, binary fractions (exactly, see sprintf("%a")) and as decimals with up to 17 significant digits. * save(), saveRDS() and serialize() now support ascii = NA which writes ASCII files using sprintf("%a") for double/complex quantities. This is read-compatible with ascii = TRUE but avoids binary->decimal->binary conversions with potential loss of precision. Unfortunately the Windows C runtime's lack of C99 compliance means that the format cannot be read correctly there in R before 3.1.2. * The default for formatC(decimal.mark =) has been changed to be getOption("OutDec"); this makes it more consistent with format() and suitable for use in print methods, e.g. those for classes "density", "ecdf", "stepfun" and "summary.lm". getOption("OutDec") is now consulted by the print method for class "kmeans", by cut(), dendrogram(), plot.ts() and quantile() when constructing labels and for the report from legend(trace = TRUE). (In part, wish of PR#15819.) * printNum() and hence format() and formatC() give a warning if big.mark and decimal.mark are set to the same value (period and comma are not uncommonly used for each, and this is a check that conventions have not got mixed). * merge() can create a result which uses long vectors on 64-bit platforms. * dget() gains a new argument keep.source which defaults to FALSE for speed (dput() and dget() are most often used for data objects where this can make dget() many times faster). * Packages may now use a file of common macro definitions in their help files, and may import definitions from other packages. * A number of macros have been added in the new share/Rd directory for use in package overview help pages, and promptPackage() now makes use of them. * tools::parse_Rd() gains a new permissive argument which converts unrecognized macros into text. This is used by utils:::format.bibentry to allow LaTeX markup to be ignored. * options(OutDec =) can now specify a multi-byte character, e.g., options(OutDec = "\u00b7") in a UTF-8 locale. * is.recursive(x) is no longer true when x is an external pointer, a weak reference or byte code; the first enables all.equal(x, x) when x <- getClass(.). * ls() (aka objects()) and as.list.environment() gain a new argument sorted. * The "source" attribute (which has not been added to functions by R since before R version 2.14.0) is no longer treated as special. * Function returnValue() has been added to give on.exit() code access to a function's return value for debugging purposes. * crossprod(x, y) allows more matrix coercions when x or y are vectors, now equalling t(x) %*% y in these cases (also reported by Radford Neal). Similarly, tcrossprod(x,y) and %*% work in more cases with vector arguments. * Utility function dynGet() useful for detecting cycles, aka infinite recursions. * The byte-code compiler and interpreter include new instructions that allow many scalar subsetting and assignment and scalar arithmetic operations to be handled more efficiently. This can result in significant performance improvements in scalar numerical code. * apply(m, 2, identity) is now the same as the matrix m when it has _named_ row names. * A new function debuggingState() has been added, allowing to temporarily turn off debugging. * example() gets a new optional argument run.donttest and tools::Rd2ex() a corresponding commentDonttest, with a default such that example(..) in help examples will run \donttest code only if used interactively (a change in behaviour). * rbind.data.frame() gains an optional argument make.row.names, for potential speedup. * New function extSoftVersion() to report on the versions of third-party software in use in this session. Currently reports versions of zlib, bzlib, the liblzma from xz, PCRE, ICU, TRE and the iconv implementation. A similar function grSoftVersion() in package grDevices reports on third-party graphics software. Function tcltk::tclVersion() reports the Tcl/Tk version. * Calling callGeneric() without arguments now works with primitive generics to some extent. * vapply(x, FUN, FUN.VALUE) is more efficient notably for large length(FUN.VALUE); as extension of PR#16061. * as.table() now allows tables with one or more dimensions of length 0 (such as as.table(integer())). * names(x) <- NULL now clears the names of call and ... objects. * library() will report a warning when an insufficient dependency version is masking a sufficient one later on the library search path. * A new plot() method for class "raster" has been added. * New check_packages_in_dir_changes() function in package tools for conveniently analyzing how changing sources impacts the check results of their reverse dependencies. * Speed-up from Peter Haverty for ls() and methods:::.requirePackage() speeding up package loading. (PR#16133) * New get0() function, combining exists() and get() in one call, for efficiency. * match.call() gains an envir argument for specifying the environment from which to retrieve the ... in the call, if any; this environment was wrong (or at least undesirable) when the definition argument was a function. * topenv() has been made .Internal() for speedup, based on Peter Haverty's proposal in PR#16140. * getOption() no longer calls options() in the main case. * Optional use of libcurl (version 7.28.0 from Oct 2012 or later) for Internet access: * capabilities("libcurl") reports if this is available. * libcurlVersion() reports the version in use, and other details of the "libcurl" build including which URL schemes it supports. * curlGetHeaders() retrieves the headers for http://, https://, ftp:// and ftps:// URLs: analysis of these headers can provide insights into the `existence' of a URL (it might for example be permanently redirected) and is so used in R CMD check --as-cran. * download.file() has a new optional method "libcurl" which will handle more URL schemes, follow redirections, and allows simultaneous downloads of multiple URLs. * url() has a new method "libcurl" which handles more URL schemes and follows redirections. The default method is controlled by a new option url.method, which applies also to the opening of URLs _via_ file() (which happens implicitly in functions such as read.table.) * When file() or url() is invoked with a https:// or ftps:// URL which the current method cannot handle, it switches to a suitable method if one is available. * (Windows.) The DLLs internet.dll and internet2.dll have been merged. In this version it is safe to switch (repeatedly) between the internal and Windows internet functions within an R session. The Windows internet functions are still selected by flag --internet2 or setInternet2(). This can be overridden for an url() connection _via_ its new method argument. download.file() has new method "wininet", selected as the default by --internet2 or setInternet2(). * parent.env<- can no longer modify the parent of a locked namespace or namespace imports environment. Contributed by Karl Millar. * New function isLoadedNamespace() for readability and speed. * names(env) now returns all the object names of an environment env, equivalently to ls(env, all.names = TRUE, sorted = FALSE) and also to the names of the corresponding list, names(as.list(env, all.names = TRUE)). Note that although names() returns a character vector, the names have no particular ordering. * The memory manager now grows the heap more aggressively. This reduces the number of garbage collections, in particular while data or code are loaded, at the expense of slightly increasing the memory footprint. * New function trimws() for removing leading/trailing whitespace. * cbind() and rbind() now consider S4 inheritance during S3 dispatch and also obey deparse.level. * cbind() and rbind() will delegate recursively to methods::cbind2 (methods::rbind2) when at least one argument is an S4 object and S3 dispatch fails (due to ambiguity). * (Windows.) download.file(quiet = FALSE) now uses text rather than Windows progress bars in non-interactive use. * New function hsearch_db() in package utils for building and retrieving the help search database used by help.search(), along with functions for inspecting the concepts and keywords in the help search database. * New function .getNamespaceInfo(), a no-check version of getNamespaceInfo() mostly for internal speedups. * The help search system now takes \keyword entries in Rd files which are not standard keywords (as given in KEYWORDS in the R documentation directory) as concepts. For standard keyword entries the corresponding descriptions are additionally taken as concepts. * New lengths() function for getting the lengths of all elements in a list. * New function toTitleCase() in package tools, tailored to package titles. * The matrix methods of cbind() and rbind() allow matrices as inputs which have 2^31 or more elements. (For cbind(), wish of PR#16198.) * The default method of image() has an explicit check for a numeric or logical matrix (which was always required). * URLencode() will not by default encode further URLs which appear to be already encoded. * BIC(mod) and BIC(mod, mod2) now give non-NA numbers for arima() fitted models, as nobs(mod) now gives the number of "used" observations for such models. This fixes PR#16198, quite differently than proposed there. * The print() methods for "htest", "pairwise.htest" and "power.htest" objects now have a digits argument defaulting to (a function of) getOption("digits"), and influencing all printed numbers coherently. Unavoidably, this changes the display of such test results in some cases. * Code completion for namespaces now recognizes all loaded namespaces, rather than only the ones that are also attached. * The code completion mechanism can now be replaced by a user-specified completer function, for (temporary) situations where the usual code completion is inappropriate. * unzip() will now warn if it is able to detect truncation when unpacking a file of 4GB or more (related to PR#16243). * methods() reports S4 in addition to S3 methods; output is simplified when the class argument is used. .S3methods() and methods::.S4methods() report S3 and S4 methods separately. * Higher order functions such as the apply functions and Reduce() now force arguments to the functions they apply in order to eliminate undesirable interactions between lazy evaluation and variable capture in closures. This resolves PR#16093. INSTALLATION and INCLUDED SOFTWARE: * The \donttest sections of R's help files can be tested by make check TEST_DONTTEST=TRUE . * It is possible to request the use of system valgrind headers _via_ configure option --with-system-valgrind-headers: note the possible future incompatibility of such headers discussed in the 'R Installation and Administration' manual. (Wish of PR#16068.) * The included version of liblzma has been updated to xz-utils 5.0.7 (minor bug fixes from 5.0.5). * configure options --with-system-zlib, --with-system-bzlib and --with-system-pcre are now the default. For the time being there is fallback to the versions included in the R sources if no system versions are found or (unlikely) if they are too old. Linux users should check that the -devel or -dev versions of packages zlib, bzip2/libbz2 and pcre as well as xz-devel/liblzma-dev (or similar names) are installed. * configure by default looks for the texi2any script from texinfo 5.1 or later, rather than the makeinfo program. (makeinfo is a link to the Perl script texi2any in texinfo 5.x.) * R CMD INSTALL gains an option --built-timestamp=STAMP allowing 100% reproducible package building, thanks to Dirk Eddelbuettel. UTILITIES: * There is support for testing the \dontrun and \donttest parts of examples in packages. tools::testInstalledPackage() accepts new arguments commentDontrun = FALSE and commentDonttest = FALSE. R CMD check gains options --run-dontrun and --run-donttest. * The HTML generated by tools::Rd2HTML() and tools::toHTML() methods is now 'XHTML 1.0 Strict'. * The compiler package's utility function setCompilerOptions() now returns the old values invisibly. The initial optimization level can also be set with the environment variable R_COMPILER_OPTIMIZE. * R CMD build adds a NeedsCompilation field if one is not already present in the DESCRIPTION file. * R CMD check gains option --test-dir to specify an alternative set of tests to run. * R CMD check will now by default continue with testing after many types of errors, and will output a summary count of errors at the end if any have occurred. * R CMD check now checks that the Title and Description fields are correctly terminated. * R CMD check --as-cran now: * checks a README.md file can be processed: this needs pandoc installed. * checks the existence and accessibility of URLs in the DESCRIPTION, CITATION, NEWS.Rd and README.md files and in the help files (provided the build has libcurl support). * reports non-ASCII characters in R source files when there is no package encoding declared in the DESCRIPTION file. * reports (apparent) S3 methods exported but not registered. * reports overwriting registered S3 methods from base/recommended packages. (Such methods are replaced in the affected package for the rest of the session, even if the replacing namespace is unloaded.) * reports if the Title field does not appear to be in title case (see 'Writing R Extensions': there may be false positives, but note that technical words should be single-quoted and will then be accepted). Most of these checks can also be selected by environment variables: see the 'R Internals' manual. C-LEVEL FACILITIES: * New C API utility logspace_sum(logx[], n). * Entry points rbinom_mu, rnbinom_mu and rmultinom are remapped (by default) to Rf_rbinom_mu etc. This requires packages using them to be re-installed. * .C(DUP = FALSE) and .Fortran(DUP = FALSE) are now ignored, so arguments are duplicated if DUP = TRUE would do so. As their help has long said, .Call() is much preferred. * New entry point R_allocLD, like R_alloc but guaranteed to have sufficient alignment for long double pointers. * isPairList() now returns TRUE for DOTSXP. WINDOWS BUILD CHANGES: A number of changes to the Windows build system are in development. The following are currently in place. * Installation using external binary distributions of zlib, bzip2, liblzma, pcre, libpng, jpeglib and libtiff is now required, and the build instructions have been revised. * A new make target rsync-extsoft has been added to obtain copies of the external libraries from CRAN. * Building the manuals now requires texi2any from texinfo 5.1 or later. CRAN binary builds include the manuals, but by default builds from source will not, and they will be accessed from CRAN. See the comments in src/gnuwin32/MkRules.dist for how to specify the location of texi2any. * (Windows) Changes have been made to support an experimental Windows toolchain based on GCC 4.9.2. The default toolchain continues to be based on GCC 4.6.3, as the new toolchain is not yet stable enough. A change to a new toolchain is expected during the R 3.2.x lifetime. PACKAGE INSTALLATION: * (Windows) The use of macro ZLIB_LIBS in file src/Makevars.win (which has not been documented for a long time) now requires an external libz.a to be available (it is part of the 'goodies' used to compile Windows binary packages). It would be simpler to use -lz instead. * The default for option pkgType on platforms using binary packages is now "both", so source packages will be tried if binary versions are not available or not up to date. There are options for what install.packages(type = "both") (possibly called _via_ update.packages()) will do if compilation of a source package is desirable: see ?options (under utils). If you intend not to accept updates as source packages, you should use update.packages(type = "binary"). DEPRECATED AND DEFUNCT: * download.file(method = "lynx") is defunct. * Building R using the included versions of zlib, bzip2, xz and PCRE is deprecated: these are frozen (bar essential bug-fixes) and will be removed for R 3.3.0. * The configure option --with-valgrind-instrumentation=3 has been withdrawn, as it did not work with recent valgrind headers: it is now treated as level 2. * The MethodsList class in package methods had been deprecated in R 2.11.0 and is defunct now. Functions using it are defunct if they had been deprecated in R 2.11.0, and are deprecated now, otherwise. BUG FIXES: * Fixed two obscure bugs in pairlist subassignment, reported by Radford Neal as part of pqR issue 16. * Fixes for bugs in handling empty arguments and argument matching by name in log(). * all.equal() gains methods for environments and refClasses. * [<- and [[<- gain S4 data.frame methods to avoid corruption of S4 class information by the S3 methods. * callNextMethod() should now work within a .local call when ... is absent from formals(.local). * dput(pairlist(x)) generates a call to the pairlist constructor instead of the list constructor. * Fix missing() when arguments are propagated through ... . (PR#15707) * eigen(m) now defaults to symmetric = TRUE even when the dimnames are asymmetric if the matrix is otherwise symmetric. (PR#16151) * Fix issues with forwarding ... through callGeneric() and callNextMethod(). (PR#16141) * callGeneric() now works after a callNextMethod(). * Subclass information is kept consistent when replacing an ordinary S4 class with an "old class" _via_ the S4Class argument to setOldClass(). Thus, for example, a data.frame is valid for a list argument in the signature, and a factor is valid for vector arguments. * In qbeta() the inversion of pbeta() is much more sophisticated. This works better in corner cases some of which failed completely previously (PR#15755), or were using too many iterations. * Auto-printing no longer duplicates objects when printing is dispatched to a method. * kmeans(x, k) would fail when nrow(x) >= 42949673. (Comment 6 of PR#15364) * 'Abbreviated' locale-specific day and month names could have been truncated in those rare locales where there are the same as the full names. * An irrelevant warning message from updating subclass information was silenced (the namespace would not be writable in this case). CHANGES IN R 3.1.3: NEW FEATURES: * The internal method of download.file() can now handle files larger than 2GB on 32-bit builds which support such files (tested on 32-bit R running on 64-bit Windows). * kruskal.test() warns on more types of suspicious input. * The as.dendrogram() method for "hclust" objects gains a check argument protecting against memory explosion for invalid inputs. * capabilities() has a new item long.double which indicates if the build uses a long double type which is longer than double. * nlm() no longer modifies the callback argument in place (a new vector is allocated for each invocation, which mimics the implicit duplication that occurred in R < 3.1.0); note that this is a change from the previously documented behavior. (PR#15958) * icuSetCollate() now accepts locale = "ASCII" which uses the basic C function strcmp and so collates strings byte-by-byte in numerical order. * sessionInfo() tries to report the OS version in use (not just that compiled under, and including details of Linux distributions). * model.frame() (used by lm() and many other modelling functions) now warns when it drops contrasts from factors. (Wish of PR#16119) * install.packages() and friends now accept the value type = "binary" as a synonym for the native binary type on the platform (if it has one). * Single source or binary files can be supplied for install.packages(type = "both") and the appropriate type and repos = NULL will be inferred. * New function pcre_config() to report on some of the configuration options of the version of PCRE in use. In particular, this reports if regular expressions using \p{xx} are supported. * (Windows.) download.file(cacheOK = FALSE) is now supported when internet2.dll is used. * browseURL() has been updated to work with Firefox 36.0 which has dropped support for the -remote interface. INSTALLATION and INCLUDED SOFTWARE: * The included version of PCRE has been updated to 8.36. * configure accepts MAKEINFO=texi2any as another way to ensure texinfo 5.x is used when both 5.x and 4.x are installed. UTILITIES: * R CMD check now checks the packages used in \donttest sections of the examples are specified in the DESCRIPTION file. (These are needed to run the examples interactively.) * R CMD check checks for the undeclared use of GNU extensions in Makefiles, and for Makefiles with a missing final linefeed. R CMD build will correct line endings in all Makefiles, not just those in the src directory. * R CMD check notes uses of library() and require() in package code: see the section 'Suggested packages' of 'Writing R Extensions' for good practice. DEPRECATED AND DEFUNCT: * The configure option --with-valgrind-instrumentation=3 is deprecated and will be removed in R 3.2.0. BUG FIXES: * (Windows.) Rscript.exe was missing a manifest specifying the modern style for common controls (e.g., the download progress bar). * If a package had extra documentation files but no vignette, the HTML help system produced an empty index page. * The parser now gives an error if a null character is included in a string using Unicode escapes. (PR#16046) * qr.Q() failed on complex arguments due to pre-3.0(!) typo. (PR#16054) * abs() failed with named arguments when the argument was complex. (PR#16047) * "noquote" objects may now be used as columns in dataframes. (PR#15997) * Some values with extremely long names were printed incorrectly. (PR#15999) * Extremely large exponents on zero expressed in scientific notation (e.g. 0.0e50000) could give NaN. (PR#15976) * download.file() reported downloaded sizes as 0KB if less than 1MB, only for R 3.1.2 and only on big-endian platforms. * prompt() did not escape percent signs in the automatically generated usage section of help files. * drop.terms() dropped some of the attributes of the object it was working with. (PR#16029) * (Windows.) The command completion in Rgui.exe messed up the console. (PR#15791) * (Windows.) The choose.files() command returned a blank string when the user asked for a single file but cancelled the request. (PR#16074) * Math2 S4 group generics failed to correctly dispatch "structure"- and "nonStructure"-derived classes. * loadNamespace() imposed undocumented restrictions on the versionCheck parameter. (Reported by Geoff Lee.) * Rare over-runs detected by AddressSanitizer in substr() and its replacement version have been avoided. _Inter alia_ that fix gives the documented behaviour for substr(x, 1, 2) <- "" (subsequently reported as PR#16214). * Loading packages incorrectly defining an S4 generic followed by a function of the same name caused an erroneous cyclic namespace dependency error. * Declared vignette encodings are now always passed to the vignette engine. * Port Tomas Kalibera's fix from R-devel that restores the loadMethod() fast path, effectively doubling the speed of S4 dispatch. * power.t.test() and power.prop.test() now make use of the extendInt option of uniroot() and hence work in more extreme cases. (PR#15792) * If a package was updated and attached when its namespace was already loaded, it could end up with parts from one version and parts from the other. (PR#16120) * tools:::.Rdconv() didn't accept --encoding= due to a typo. (PR#16121) * Unix-alike builds without a suitable makeinfo were documented to link the missing HTML manuals to CRAN, but did not. * save(*, ascii=TRUE) and load() now correctly deal with NaN's. (PR#16137) * split.Date() retains fractional representations while avoiding incomplete class propagation. * R_ext/Lapack.h had not been updated for changes made by LAPACK to the argument lists of its (largely internal) functions dlaed2 and dlaed3. (PR#16157) * RShowDoc("NEWS", "txt") had not been updated for the layout changes of R 3.1.0. * The xtfrm() method for class "Surv" has been corrected and its description expanded. * mode(x) <- y would incorrectly evaluate x before changing its mode. (PR#16215) * besselJ(1, 2^64) and besselY(..) now signal a warning, returning NaN instead of typically segfaulting. (Issue 3 of PR#15554) * HTML conversion of \href markup in .Rd files did not remove the backslash from \% and so gave an invalid URL. In a related change, the \ escape is now required in such URLs. CHANGES IN R 3.1.2: NEW FEATURES: * embedFonts() now defaults to format = "ps2write" for .ps and .eps files. This is available in Ghostscript 9.x (since 2010) whereas the previous default, format = "pswrite", was removed in Ghostscript 9.10. * For consistency with [dpqr]norm(), [dp]lnorm(sdlog = 0) model a point mass at exp(mulog) rather than return NaN (for an error). * capabilities() now reports if ICU is compiled in for use for collation (it is only actually used if a suitable locale is set for collation, and never for a C locale). * (OS X only.) Package tcltk checks when loaded if it is linked against the CRAN X11-based Tcl/Tk and if so that the Tcl/Tk component and the X11 libraries are installed. This allows more informative error messages to be given advising the installation of the missing component or of XQuartz. The X11() device and X11-based versions of the data editor and viewer (invoked by edit() and View() for data frames and matrices from command-line R) check that the X11 libraries are installed and if not advises installing XQuartz. * icuSetCollate() allows locale = "default", and locale = "none" to use OS services rather than ICU for collation. Environment variable R_ICU_LOCALE can be used to set the default ICU locale, in case the one derived from the OS locale is inappropriate (this is currently necessary on Windows). * New function icuGetCollate() to report on the ICU collation locale in use (if any). * utils::URLencode() was updated to use unreserved and reserved characters from RFC 3986 () instead of RFC 1738. * unique(warnings()) and c(warnings()) are now supported. * The Bioconductor 'version' used by setRepositories() now defaults to 3.0. (It can be set at runtime _via_ environment variable R_BIOC_VERSION.) * Omegahat is no longer listed as providing Windows binary packages, e.g. by setRepositories(). It has no binary packages available for R 3.1.x and those for earlier versions were 32-bit only. INSTALLATION and INCLUDED SOFTWARE: * The configure script reports on the more important capabilities/options which will not be compiled in. More types of external BLAS are recognized by name in that report. * When building R as a shared library, the -L${R_HOME}/lib${R_ARCH} flag is placed earlier in the link commands used during installation and when packages are installed: this helps ensure that the current build has priority if an R shared library has already been installed by e.g. install-libR in a library mentioned in LDFLAGS (and not in 'your system's library directory' as documented). (Wish of PR#15790.) * LaTeX package upquote is no longer required for R's use of inconsolata. * (Windows only) If both 32- and 64-bit versions of R are installed, the bin/R.exe and bin/Rscript.exe executables now run 64-bit R. (To run 32-bit R, overwrite these files with copies of bin/i386/Rfe.exe.) UTILITIES: * Running R CMD check with _R_CHECK_DEPENDS_ONLY_ true now makes the VignetteBuilder packages available even if they are listed in Suggests, since they are needed to recognise and process non-Sweave vignettes. * R CMD check now reports empty importFrom declarations in a NAMESPACE file, as these are common errors (writing importFrom(Pkg) where import(Pkg) was intended). * R CMD check now by default checks code usage directly on the package namespace without loading and attaching the package and its suggests and enhances. For good practice with packages in the Suggests field, see SS1.1.3.1 of 'Writing R Extensions'. For use of lazy-data objects in the package's own code, see ?data. BUG FIXES: * dmultinom() did not handle non-finite probabilities correctly. * prettyNum(x, zero.print=*) now also works when x contains NAs. * A longstanding bug exhibited by nlminb() on Windows was traced to a compiler bug in gcc 4.6.3; a workaround has been put in place. (PR#15244 and PR#15914). * Rendering of \command in HTML versions of help pages has been improved: this is particularly evident on the help page for INSTALL. * as.hexmode(x) and as.octmode(x) now behave correctly for some numeric x, e.g., c(NA, 1) or c(1, pi). * drop1() failed if the scope argument had no variables to drop. (PR#15935) * edit() (and hence fix()) failed if an object had a non-character attribute named "source" (an attribute that had been used in R prior to version 2.14.0). * callGeneric() could fail if the generic had ... as a formal argument. (PR#15937). * Forking in package parallel called C entry point exit in the child. This was unsafe (_exit should have been called), and could flush stdin of the main R process (seen most often on Solaris). As good practice, stdout is now flushed before forking a child. * R objects such as list(`a\b` = 1) now print correctly. * getAnywhere("C_pbinom") now returns correctly a single object (rather than unlisting it). * The confint() method for nls() fits failed it these has specified parameter limits despite using an algorithm other than "port". (PR#15960) * Subclassing an S4 class failed if the class required arguments to the generator, through its initialize() method. * removeSource() did not properly handle expressions containing arguments that were supplied as missing, e.g. x[i,]. (PR#15957) * as.environment(list()) now works, and as.list() of such an environment is now the same as list(). * Several tcltk functions failed when run in unusual environments. (PR#15970) * options(list()) now works (trivially). (PR#15979) * merge(, ..) now works correctly for two `independent' dendrograms (PR#15648), and still compatibly via adjust = "auto" e.g. for two branches of an existing dendrogram. * The plot method for "hclust" objects gets an optional argument check; When that is true (the default) it checks more carefully for valid input. * (Windows only) If a user chose to install 64 bit R but not 32 bit R, the bin/R and bin/Rscript executables failed to run. (PR#15981) * Various possible buffer overruns have been prevented, and missed memory protection added. (PR#15990) * Rscript no longer passes --args to R when there are no extra ("user") arguments. * objects like getClass("refClass")@@prototype now print() and str() without error. * identical() now also looks at the S4 bit. * hist(x, breaks) is more robust in adding a small fuzz to few breaks when some are very large. (PR#15988) * sub() and gsub() did not handle regular expressions like "\s{2,}" properly if the text contained NA or non-ascii elements in a UTF-8 locale. Part of this was due to a bug in the TRE library. (PR#16009) * RShowDoc("NEWS") now displays the PDF version. * Matrices and arrays with last dimension zero did not print at all or incompletely. (PR#16012) * plot.histogram() and hence hist() now respect the xaxs, yaxs and lab graphics parameters. (PR#16021) * bw.SJ(x) and other bw.*() no longer segfault when x contains non-finite values. (PR#16024) * R CMD Rd2pdf unintentionally ignored its --os option. * The internal method of download.file() was not reporting file sizes and progress correctly on files larger than 2GB (inherited from libxml2). This is corrected for 64-bit builds (32-bit platforms may not support such files, but where possible will be supported in future versions of R). * Work around a bug in OS X Yosemite where key environment variables may be duplicated causing issues in subprocesses. The duplicates are now removed on R startup (via Rprofile). (PR#16042) * Adjust X11 auto-launch detection in DISPLAY on OS X to recognize latest XQuartz. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.17 2014/05/03 22:29:42 markd Exp $ d4 1 a4 1 --- src/main/Makefile.in.orig 2015-03-18 23:03:54.000000000 +0000 d21 1 a21 1 libR_la = libR$(DYLIB_EXT) @ 1.17 log @Update to R 3.1.0 NEW FEATURES: * type.convert() (and hence by default read.table()) returns a character vector or factor when representing a numeric input as a double would lose accuracy. Similarly for complex inputs. If a file contains numeric data with unrepresentable numbers of decimal places that are intended to be read as numeric, specify colClasses in read.table() to be "numeric". * tools::Rdiff(useDiff = FALSE) is closer to the POSIX definition of diff -b (as distinct from the description in the man pages of most systems). * New function anyNA(), a version of any(is.na(.)) which is fast for atomic vectors, based on a proposal by Tim Hesterberg. * arrayInd(*, useNames = TRUE) and, analogously, which(*, arr.ind = TRUE) now make use of names(.dimnames) when available. * is.unsorted() now also works for raw vectors. * The "table" method for as.data.frame() (also useful as as.data.frame.table()) now passes sep and base arguments to provideDimnames(). * uniroot() gets new optional arguments, notably extendInt, allowing to auto-extend the search interval when needed. The return value has an extra component, init.it. * switch(f, ...) now warns when f is a factor, as this typically happens accidentally where the useR meant to pass a character string, but f is treated as integer (as always documented). * The parser has been modified to use less memory. * The way the unary operators (+ - !) handle attributes is now more consistent. If there is no coercion, all attributes (including class) are copied from the input to the result: otherwise only names, dims and dimnames are. * colorRamp() and colorRampPalette() now allow non-opaque colours and a ramp in opacity via the new argument alpha = TRUE. (Suggested by Alberto Krone-Martins, but optionally as there are existing uses which expect only RGB values.) * grid.show.layout() and grid.show.viewport() get an optional vp.ex argument. * There is a new function find_gs_cmd() in the tools package to locate a GhostScript executable. (This is an enhanced version of a previously internal function there.) * object.size() gains a format() method. * There is a new family, "ArialMT", for the pdf() and postscript() devices. This will only be rendered correctly on viewers which have access to Monotype TrueType fonts (which are sometimes requested by journals). * The text and PDF news files, including NEWS and NEWS.2, have been moved to the doc directory. * combn(x, simplify = TRUE) now gives a factor result for factor input x (previously user error). * Added utils::fileSnapshot() and utils::changedFiles() functions to allow snapshots and comparison of directories of files. * make.names(names, unique=TRUE) now tries to preserve existing names. * New functions cospi(x), sinpi(x), and tanpi(x), for more accurate computation of cos(pi*x), etc, both in R and the C API. Using these gains accuracy in some cases, e.g., inside lgamma() or besselI(). * print.table(x, zero.print = ".") now also has an effect when x is not integer-valued. * There is more support to explore the system's idea of time-zone names. Sys.timezone() tries to give the current system setting by name (and succeeds at least on Linux, OS X, Solaris and Windows), and OlsonNames() lists the names in the system's Olson database. Sys.timezone(location = FALSE) gives the previous behaviour. * Platforms with a 64-bit time_t type are allowed to handle conversions between the "POSIXct" and "POSIXlt" classes for date-times outside the 32-bit range (before 1902 or after 2037): the existing workarounds are used on other platforms. (Note that time-zone information for post-2037 is speculative at best, and the OS services are tested for known errors and so not used on OS X.) Currently time_t is usually long and hence 64-bit on Unix-alike 64-bit platforms: however it several cases the time-zone database is 32-bit. On R for Windows it is 64-bit (for both architectures as from this version). * The "save.defaults" option can include a value for compression_level. * colSums() and friends now have support for arrays and data-frame columns with 2^31 or more elements. * as.factor() is faster when f is an unclassed integer vector (for example, when called from tapply()). * fft() now works with longer inputs, from the 12 million previously supported up to 2 billion. * Complex svd() now uses LAPACK subroutine ZGESDD, the complex analogue of the routine used for the real case. * Sweave now outputs .tex files in UTF-8 if the input encoding is declared to be UTF-8, regardless of the local encoding. The UTF-8 encoding may now be declared using a LaTeX comment containing the string %\SweaveUTF8 on a line by itself. * file.copy() gains a copy.date argument. * Printing of date-times will make use of the time-zone abbreviation in use at the time, if known. For example, for Paris pre-1940 this could be LMT, PMT, WET or WEST. To enable this, the "POSIXlt" class has an optional component "zone" recording the abbreviation for each element. For platforms which support it, there is also a component "gmtoff" recording the offset from GMT where known. * (On Windows, by default on OS X and optionally elsewhere.) The system C function strftime has been replaced by a more comprehensive version with closer conformance to the POSIX 2008 standard. * dnorm(x, log = FALSE) is more accurate (but somewhat slower) for |x| > 5. * Some versions of the tiff() device have further compression options. * read.table(), readLines() and scan() have a new argument to influence the treatment of embedded nuls. * Avoid duplicating the right hand side values in complex assignments when possible. This reduces copying of replacement values in expressions such as Z$a <- a0 and ans[[i]] <- tmp: some package code has relied on there being copies. Also, a number of other changes to reduce copying of objects; all contributed by or based on suggestions by Michael Lawrence. * The fast argument of KalmanLike(), KalmanRun() and KalmanForecast() has been replaced by update, which instead of updating mod in place, optionally returns the updated model in an attribute "mod" of the return value. * arima() and makeARIMA() get a new optional argument SSinit, allowing the choice of a different *s*tate *s*pace initialization which has been observed to be more reliable close to non-stationarity. * warning() has a new argument noBreaks., to simplify post-processing of output with options(warn = 1). * pushBack() gains an argument encoding, to support reading of UTF-8 characters using scan(), read.table() and related functions in a non-UTF-8 locale. * all.equal.list() gets a new argument use.names which by default labels differing components by names (if they match) rather than by integer index. Saved R output in packages may need to be updated. * The methods for all.equal() and attr.all.equal() now have argument check.attributes after ... so it cannot be partially nor positionally matched (as it has been, unintentionally). A side effect is that some previously undetected errors of passing empty arguments (no object between commas) to all.equal() are detected and reported. There are explicit checks that check.attributes is logical, tolerance is numeric and scale is NULL or numeric. This catches some unintended positional matching. The message for all.equal.numeric() reports a "scaled difference" only for scale != 1. * all.equal() now has a "POSIXt" method replacing the "POSIXct" method. * The "Date" and "POSIXt" methods of seq() allows by = "quarter" for completeness (by = "3 months" always worked). * file.path() removes any trailing separator on Windows, where they are invalid (although sometimes accepted). This is intended to enhance the portability of code written by those using POSIX file systems (where a trailing / can be used to confine path matching to directories). * New function agrepl() which like grepl() returns a logical vector. * fifo() is now supported on Windows. * sort.list(method = "radix") now allows negative integers * Some functionality of print.ts() is now available in .preformat.ts() for more modularity. * mcparallel() gains an option detach = TRUE which allows execution of code independently of the current session. It is based on a new estranged = TRUE argument to mcfork() which forks child processes such that they become independent of the parent process. * The pdf() device omits circles and text at extremely small sizes, since some viewers were failing on such files. * The rightmost break for the "months", "quarters" and "years" cases of hist.POSIXlt() has been increased by a day. * The handling of DF[i,] <- a where i is of length 0 is improved. * hclust() gains a new method "ward.D2" which implements Ward's method correctly. The previous "ward" method is "ward.D" now, with the old name still working. Thanks to research and proposals by Pierre Legendre. * The sunspot.month dataset has been amended and updated from the official source, whereas the sunspots and sunspot.year datasets will remain immutable. The documentation and source links have been updated correspondingly. * The summary() method for "lm" fits warns if the fit is essentially perfect, as most of the summary may be computed inaccurately (and with platform-dependent values). Programmers who use summary() in order to extract just a component which will be reliable (e.g. $cov.unscaled) should wrap their calls in suppressWarnings(). @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.16 2013/08/13 19:53:30 markd Exp $ d4 1 a4 1 --- src/main/Makefile.in.orig 2014-04-13 11:25:39.000000000 +0000 d6 1 a6 1 @@@@ -98,13 +98,13 @@@@ EXTRA_STATIC_LIBS = \ d17 1 a17 1 -@@WANT_R_SHLIB_TRUE@@R_bin_LDADD = -L../../lib@@R_ARCH@@ -lR @@BLAS_SHLIB_TRUE@@-lRblas @ 1.16 log @Update to R 3.0.1 Changes: many new features and bug fixes. See NEWS file for details. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.15 2012/12/17 09:08:47 wen Exp $ d4 1 a4 1 --- src/main/Makefile.in.orig 2013-03-05 23:02:40.000000000 +0000 d6 2 a7 2 @@@@ -95,13 +95,13 @@@@ EXTRA_STATIC_LIBS = \ $(R_ZLIBS) $(R_BZLIBS) $(R_PCRE) $(R_TRE) $(R_XDR) $(R_XZ) $(R_LIBINTL) @ 1.15 log @Update to 2.15.1 Approved by wiz@@ Upstream changes: CHANGES IN R VERSION 2.15.1: NEW FEATURES: o source() now uses withVisible() rather than .Internal(eval.with.vis). This sometimes alters tracebacks slightly. o install.packages("pkg_version.tgz") on Mac OS X now has sanity checks that this is actually a binary package (as people have tried it with incorrectly named source packages). o splineDesign() and spline.des() in package splines have a new option sparse which can be used for efficient construction of a sparse B-spline design matrix (_via_ Matrix). o norm() now allows type = "2" (the 'spectral' or 2-norm) as well, mainly for didactical completeness. o pmin() and pmax()) now also work when one of the inputs is of length zero and others are not, returning a zero-length vector, analogously to, say, +. o colorRamp() (and hence colorRampPalette()) now also works for the boundary case of just one color when the ramp is flat. o qqline() has new optional arguments distribution, probs and qtype, following the example of lattice's panel.qqmathline(). o .C() gains some protection against the misuse of character vector arguments. (An all too common error is to pass character(N), which initializes the elements to "", and then attempt to edit the strings in-place, sometimes forgetting to terminate them.) o Calls to the new function globalVariables() in package utils declare that functions and other objects in a package should be treated as globally defined, so that CMD check will not note them. o print(packageDescription(*)) trims the Collate field by default. o The included copy of zlib has been updated to version 1.2.7. o A new option "show.error.locations" has been added. When set to TRUE, error messages will contain the location of the most recent call containing source reference information. (Other values are supported as well; see ?options.) o The NA warning messages from e.g. pchisq() now report the call to the closure and not that of the .Internal. o Added Polish translations by <81>ukasz Daniel. PERFORMANCE IMPROVEMENTS: o In package parallel, makeForkCluster() and the multicore-based functions use native byte-order for serialization (deferred from 2.15.0). o lm.fit(), lm.wfit(), glm.fit() and lsfit() do less copying of objects, mainly by using .Call() rather than .Fortran(). o .C() and .Fortran() do less copying: arguments which are raw, logical, integer, real or complex vectors and are unnamed are not copied before the call, and (named or not) are not copied after the call. Lists are no longer copied (they are supposed to be used read-only in the C code). o tabulate() makes use of .C(DUP = FALSE) and hence does not copy bin. (Suggested by Tim Hesterberg.) It also avoids making a copy of a factor argument bin. o Other functions (often or always) doing less copying include cut(), dist(), the complex case of eigen(), hclust(), image(), kmeans(), loess(), stl() and svd(LINPACK = TRUE). o There is less copying when using primitive replacement functions such as names(), attr() and attributes(). DEPRECATED AND DEFUNCT: o The converters for use with .C() (see ?getCConverterDescriptions) are deprecated: use the .Call() interface instead. There are no known examples (they were never fully documented). UTILITIES: o For R CMD check, a few people have reported problems with junctions on Windows (although they were tested on Windows 7, XP and Server 2008 machines and it is unknown under what circumstances the problems occur). Setting the environment variable R_WIN_NO_JUNCTIONS to a non-empty value (e.g. in ~/.R/check.Renviron) will force copies to be used instead. INSTALLATION: o R CMD INSTALL with _R_CHECK_INSTALL_DEPENDS_ set to a true value (as done by R CMD check --as-cran) now restricts the packages available when lazy-loading as well as when test-loading (since packages such as ETLUtils and agsemisc had top-level calls to library() for undeclared packages). This check is now also available on Windows. C-LEVEL FACILITIES: o C entry points mkChar and mkCharCE now check that the length of the string they are passed does not exceed 2^31-1 bytes: they used to overflow with unpredictable consequences. o C entry points R_GetCurrentSrcref and R_GetSrcFilename have been added to the API to allow debuggers access to the source references on the stack. WINDOWS-SPECIFIC CHANGES: o Windows-specific changes will now be announced in this file (NEWS). Changes up and including R 2.15.0 remain in the CHANGES file. o There are two new environment variables which control the defaults for command-line options. If R_WIN_INTERNET2 is set to a non-empty value, it is as if --internet2 was used. If R_MAX_MEM_SIZE is set, it gives the default memory limit if --max-mem-size is not specified: invalid values being ignored. BUG FIXES: o lsfit() lost the names from the residuals. o More cases in which merge() could create a data frame with duplicate column names now give warnings. Cases where names specified in by match multiple columns are errors. o Nonsense uses such as seq(1:50, by = 5) (from package plotrix) and seq.int(1:50, by = 5) are now errors. o The residuals in the 5-number summary printed by summary() on an "lm" object are now explicitly labelled as weighted residuals when non-constant weights are present. (Wish of PR#14840.) o tracemem() reported that all objects were copied by .C() or .Fortran() whereas only some object types were ever copied. It also reported and marked as copies _some_ transformations such as rexp(n, x): it no longer does so. o The plot() method for class "stepfun" only used the optional xval argument to compute xlim and not the points at which to plot (as documented). (PR#14864) o Names containing characters which need to be escaped were not deparsed properly. (PR#14846) o Trying to update (recommended) packages in R_HOME/library without write access is now dealt with more gracefully. Further, such package updates may be skipped (with a warning), when a newer installed version is already going to be used from .libPaths(). (PR#14866) o hclust() is now fast again (as up to end of 2003), with a different fix for the "median"/"centroid" problem. (PR#4195). o get_all_vars() failed when the data came entirely from vectors in the global environment. (PR#14847) o R CMD check with _R_CHECK_NO_RECOMMENDED_ set to a true value (as done by the --as-cran option) could issue false errors if there was an indirect dependency on a recommended package. o formatC() uses the C entry point str_signif which could write beyond the length allocated for the output string. o Missing default argument added to implicit S4 generic for backsolve(). (PR#14883) o Some bugs have been fixed in handling load actions that could fail to export assigned items or generate spurious warnings in CMD check on loading. o For tiff(type = "windows"), the numbering of per-page files except the last was off by one. o On Windows, loading package stats (which is done for a default session) would switch line endings on stdout and stderr from CRLF to LF. This affected Rterm and R CMD BATCH. o On Windows, the compatibility function x11() had not kept up with changes to windows(), and issued warnings about bad parameters. (PR#14880) o On Windows, the Sys.glob() function did not handle UNC paths as it was designed to try to do. (PR#14884) o In package parallel, clusterApply() and similar failed to handle a (pretty pointless) length-1 argument. (PR#14898) o Quartz Cocoa display reacted asynchronously to dev.flush() which means that the redraw could be performed after the plot has been already modified by subsequent code. The redraw is now done synchronously in dev.flush() to allow animations without sleep cycles. o Source locations reported in traceback() were incorrect when byte-compiled code was on the stack. o plogis(x, lower = FALSE, log.p = TRUE) no longer underflows early for large x (e.g. 800). o ?Arithmetic's "1 ^ y and y ^ 0 are 1, _always_" now also applies for integer vectors y. o X11-based pixmap devices like png(type = "Xlib") were trying to set the cursor style, which triggered some warnings and hangs. o Code executed by the built-in HTTP server no longer allows other HTTP clients to re-enter R until the current worker evaluation finishes, to prevent cascades. o The plot() and Axis() methods for class "table" now respect graphical parameters such as cex.axis. (Reported by Martin Becker.) o Under some circumstances package.skeleton() would give out progress reports that could not be translated and so were displayed by question marks. Now they are always in English. (This was seen for CJK locales on Windows, but may have occurred elsewhere.) o The evaluator now keeps track of source references outside of functions, e.g. when source() executes a script. o The replacement method for window() now works correctly for multiple time series of class "mts". (PR#14925) o is.unsorted() gave incorrect results on non-atomic objects such as data frames. (Reported by Matthew Dowle.) o The value returned by tools::psnice() for invalid pid values was not always NA as documented. o Closing an X11() window while locator() was active could abort the R process. o getMethod(f, sig) produced an incorrect error message in some cases when f was not a string). o Using a string as a "call" in an error condition with options(showErrorCalls=TRUE) could cause a segfault. (PR#14931) o The string "infinity" allowed by C99 was not accepted as a numerical string value by e.g. scan() and as.character(). (PR#14933) o In legend(), setting some entries of lwd to NA was inconsistent (depending on the graphics device) in whether it would suppress those lines; now it consistently does so. (PR#14926) o by() failed for a zero-row data frame. (Reported by Weiqiang Qian) o Yates correction in chisq.test() could be bigger than the terms it corrected, previously leading to an infinite test statistic in some corner cases which are now reported as NaN. o xgettext() and related functions sometimes returned items that were not strings for translation. (PR#14935) o plot(, which=5) now correctly labels the factor level combinations for the special case where all h[i,i] are the same. (PR#14837) CHANGES IN R VERSION 2.15.0: SIGNIFICANT USER-VISIBLE CHANGES: o The behaviour of unlink(recursive = TRUE) for a symbolic link to a directory has changed: it now removes the link rather than the directory contents (just as rm -r does). On Windows it no longer follows reparse points (including junctions and symbolic links). NEW FEATURES: o Environment variable RD2DVI_INPUTENC has been renamed to RD2PDF_INPUTENC. o .Deprecated() becomes a bit more flexible, getting an old argument. o Even data-only packages without R code need a namespace and so may need to be installed under R 2.14.0 or later. o assignInNamespace() has further restrictions on use apart from at top-level, as its help page has warned. Expect it to be disabled from programmatic use in the future. o system() and system2() when capturing output report a non-zero status in the new "status" attribute. o kronecker() now has an S4 generic in package methods on which packages can set methods. It will be invoked by X %x% Y if either X or Y is an S4 object. o pdf() accepts forms like file = "|lpr" in the same way as postscript(). o pdf() accepts file = NULL. This means that the device does NOT create a PDF file (but it can still be queried, e.g., for font metric info). o format() (and hence print()) on "bibentry" objects now uses options("width") to set the output width. o legend() gains a text.font argument. (Suggested by Tim Paine, PR#14719.) o nchar() and nzchar() no longer accept factors (as integer vectors). (Wish of PR#6899.) o summary() behaves slightly differently (or more precisely, its print() method does). For numeric inputs, the number of NAs is printed as an integer and not a real. For dates and datetimes, the number of NAs is included in the printed output (the latter being the wish of PR#14720). The "data.frame" method is more consistent with the default method: in particular it now applies zapsmall() to numeric/complex summaries. o The number of items retained with options(warn = 0) can be set by options(nwarnings=). o There is a new function assignInMyNamespace() which uses the namespace of the function it is called from. o attach() allows the default name for an attached file to be overridden. o bxp(), the work horse of boxplot(), now uses a more sensible default xlim in the case where at is specified differently from 1:n, see the discussion on R-devel, . o New function paste0(), an efficient version of paste(*, sep=""), to be used in many places for more concise (and slightly more efficient) code. o Function setClass() in package methods now returns, invisibly, a generator function for the new class, slightly preferred to calling new(), as explained on the setClass help page. o The "dendrogram" method of str() now takes its default for last.str from option str.dendrogram.last. o New simple fitted() method for "kmeans" objects. o The traceback() function can now be called with an integer argument, to display a current stack trace. (Wish of PR#14770.) o setGeneric() calls can be simplified when creating a new generic function by supplying the default method as the def argument. See ?setGeneric. o serialize() has a new option xdr = FALSE which will use the native byte-order for binary serializations. In scenarios where only little-endian machines are involved (these days, close to universal) and (un)serialization takes an appreciable amount of time this may speed up noticeably transferring data between systems. o The internal (un)serialization code is faster for long vectors, particularly with XDR on some platforms. (Based on a suggested patch by Michael Spiegel.) o For consistency, circles with zero radius are omitted by points() and grid.circle(). Previously this was device-dependent, but they were usually invisible. o NROW(x) and NCOL(x) now work whenever dim(x) looks appropriate, e.g., also for more generalized matrices. o PCRE has been updated to version 8.30. o The internal R_Srcref variable is now updated before the browser stops on entering a function. (Suggestion of PR#14818.) o There are 'bare-bones' functions .colSums(), .rowSums(), .colMeans() and .rowMeans() for use in programming where ultimate speed is required. o The formerly internal function .package_dependencies() from package tools for calculating (recursive) (reverse) dependencies on package databases has been renamed to package_dependencies() and is now exported. o There is a new function optimHess() to compute the (approximate) Hessian for an optim() solution if hessian = TRUE was forgotten. o .filled.contour() is a 'bare-bones' function to add a filled-contour rectangular plot to an already prepared plot region. o The stepping in debugging and single-step browsing modes has changed slightly: now left braces at the start of the body are stepped over for if statements as well as for for and while statements. (Wish of PR#14814.) o library() no longer warns about a conflict with a function from package:base if the function has the same code as the base one but with a different environment. (An example is Matrix::det().) o When deparsing very large language objects, as.character() now inserts newlines after each line of approximately 500 bytes, rather than truncating to the first line. o New function rWishart() generates Wishart-distributed random matrices. o Packages may now specify actions to be taken when the package is loaded (setLoadActions()). o options(max.print = Inf) and similar now give an error (instead of warnings later). o The "difftime" replacement method of units tries harder to preserve other attributes of the argument. (Wish of PR#14839.) o poly(raw = TRUE) no longer requires more unique points than the degree. (Requested by John Fox.) PACKAGE parallel: o There is a new function mcmapply(), a parallel version of mapply(), and a wrapper mcMap(), a parallel version of Map(). o A default cluster can be registered by the new function setDefaultCluster(): this will be used by default in functions such as parLapply(). o clusterMap() has a new argument .scheduling to allow the use of load-balancing. o There are new load-balancing functions parLapplyLB() and parSapplyLB(). o makePSOCKCluster() has a new option useXDR = FALSE which can be used to avoid byte-shuffling for serialization when all the nodes are known to be little-endian (or all big-endian). PACKAGE INSTALLATION: o Non-ASCII vignettes without a declared encoding are no longer accepted. o C/C++ code in packages is now compiled with -NDEBUG to mitigate against the C/C++ function assert being called in production use. Developers can turn this off during package development with PKG_CPPFLAGS = -UNDEBUG. o R CMD INSTALL has a new option --dsym which on Mac OS X (Darwin) dumps the symbols alongside the .so file: this is helpful when debugging with valgrind (and especially when installing packages into R.framework). [This can also be enabled by setting the undocumented environment variable PKG_MAKE_DSYM, since R 2.12.0.] o R CMD INSTALL will test loading under all installed sub-architectures even for packages without compiled code, unless the flag --no-multiarch is used. (Pure R packages can do things which are architecture-dependent: in the case which prompted this, looking for an icon in a Windows R executable.) o There is a new option install.packages(type = "both") which tries source packages if binary packages are not available, on those platforms where the latter is the default. o The meaning of install.packages(dependencies = TRUE) has changed: it now means to install the essential dependencies of the named packages plus the Suggests, but only the essential dependencies of dependencies. To get the previous behaviour, specify dependencies as a character vector. o R CMD INSTALL --merge-multiarch is now supported on OS X and other Unix-alikes using multiple sub-architectures. o R CMD INSTALL --libs-only now by default does a test load on Unix-alikes as well as on Windows: suppress with --no-test-load. UTILITIES: o R CMD check now gives a warning rather than a note if it finds inefficiently compressed datasets. With bzip2 and xz compression having been available since R 2.10.0, it only exceptionally makes sense to not use them. The environment variable _R_CHECK_COMPACT_DATA2_ is no longer consulted: the check is always done if _R_CHECK_COMPACT_DATA_ has a true value (its default). o Where multiple sub-architectures are to be tested, R CMD check now runs the examples and tests for all the sub-architectures even if one fails. o R CMD check can optionally report timings on various parts of the check: this is controlled by environment variable _R_CHECK_TIMINGS_ documented in 'Writing R Extensions'. Timings (in the style of R CMD BATCH) are given at the foot of the output files from running each test and the R code in each vignette. o There are new options for more rigorous testing by R CMD check selected by environment variables - see the 'Writing R Extensions' manual. o R CMD check now warns (rather than notes) on undeclared use of other packages in examples and tests: increasingly people are using the metadata in the DESCRIPTION file to compute information about packages, for example reverse dependencies. o The defaults for some of the options in R CMD check (described in the 'R Internals' manual) have changed: checks for unsafe and .Internal() calls and for partial matching of arguments in R function calls are now done by default. o R CMD check has more comprehensive facilities for checking compiled code and so gives fewer reports on entry points linked into .so/.dll files from libraries (including C++ and Fortran runtimes). Checking compiled code is now done on FreeBSD (as well as the existing supported platforms of Linux, Mac OS X, Solaris and Windows). o R CMD build has more options for --compact-vignettes: see R CMD build --help. o R CMD build has a new option --md5 to add an MD5 file (as done by CRAN): this is used by R CMD INSTALL to check the integrity of the distribution. If this option is not specified, any existing (and probably stale) MD5 file is removed. DEPRECATED AND DEFUNCT: o R CMD Rd2dvi is now defunct: use R CMD Rd2pdf. o Options such --max-nsize, --max-vsize and the function mem.limits() are now defunct. (Options --min-nsize and --min-vsize remain available.) o Use of library.dynam() without specifying all the first three arguments is now disallowed. Use of an argument chname in library.dynam() including the extension .so or .dll (which was never allowed according to the help page) is defunct. This also applies to library.dynam.unload() and to useDynLib directives in NAMESPACE files. o The internal functions .readRDS() and .saveRDS() are now defunct. o The off-line help() types "postscript" and "ps" are defunct. o Sys.putenv(), replaced and deprecated in R 2.5.0, is finally removed. o Some functions/objects which have been defunct for five or more years have been removed completely. These include .Alias(), La.chol(), La.chol2inv(), La.eigen(), Machine(), Platform(), Version, codes(), delay(), format.char(), getenv(), httpclient(), loadURL(), machine(), parse.dcf(), printNoClass(), provide(), read.table.url(), restart(), scan.url(), symbol.C(), symbol.For() and unix(). o The ENCODING argument to .C() is deprecated. It was intended to smooth the transition to multi-byte character strings, but can be replaced by the use of iconv() in the rare cases where it is still needed. INSTALLATION: o Building with a positive value of --with-valgrind-instrumentation now also instruments logical, complex and raw vectors. C-LEVEL FACILITIES: o Passing R objects other than atomic vectors, functions, lists and environments to .C() is now deprecated and will give a warning. Most cases (especially NULL) are actually coding errors. NULL will be disallowed in future. .C() now passes a pairlist as a SEXP to the compiled code. This is as was documented, but pairlists were in reality handled differently as a legacy from the early days of R. o call_R and call_S are deprecated. They still exist in the headers and as entry points, but are no longer documented and should not be used for new code. BUG FIXES: o str(x, width) now obeys its width argument also for function headers and other objects x where deparse() is applied. o The convention for x %/% 0L for integer-mode x has been changed from 0L to NA_integer_. (PR#14754) o The exportMethods directive in a NAMESPACE file now exports S4 generics as necessary, as the extensions manual said it does. The manual has also been updated to be a little more informative on this point. It is now required that there is an S4 generic (imported or created in the package) when methods are to be exported. o Reference methods cannot safely use non-exported entries in the namespace. We now do not do so, and warn in the documentation. o The namespace import code was warning when identical S4 generic functions were imported more than once, but should not (reported by Brian Ripley, then Martin Morgan). o merge() is no longer allowed (in some ways) to create a data frame with duplicate column names (which confused PR#14786). o Fixes for rendering raster images on X11 and Windows devices when the x-axis or y-axis scale is reversed. o getAnywhere() found S3 methods as seen from the utils namespace and not from the environment from which it was called. o selectMethod(f, sig) would not return inherited group methods when caching was off (as it is by default). o dev.copy2pdf(out.type = "cairo") gave an error. (PR#14827) o Virtual classes (e.g., class unions) had a NULL prototype even if that was not a legal subclass. See ?setClassUnion. o The C prototypes for zdotc and zdotu in R_ext/BLAS.h have been changed to the more modern style rather than that used by f2c. (Patch by Berwin Turlach.) o isGeneric() produced an error for primitives that can not have methods. o .C() or .Fortran() had a lack-of-protection error if the registration information resulted in an argument being coerced to another type. o boxplot(x=x, at=at) with non finite elements in x and non integer at could not generate a warning but failed. o heatmap(x, symm=TRUE, RowSideColors=*) no longer draws the colors in reversed order. o predict() was incorrect in the multivariate case, for p >= 2. o print(x, max=m) is now consistent when x is a "Date"; also the "reached ... max.print .." messages are now consistently using single brackets. o Closed the
  • tag in pages generated by Rd2HTML(). (PR#14841.) o Axis tick marks could go out of range when a log scale was used. (PR#14833.) o Signature objects in methods were not allocated as S4 objects (caused a problem with trace() reported by Martin Morgan). @ text @d1 1 a1 1 $NetBSD$ d3 2 a4 1 --- src/main/Makefile.in.orig 2012-03-01 23:02:24.000000000 +0000 d6 1 a6 1 @@@@ -98,14 +98,14 @@@@ EXTRA_STATIC_LIBS = \ d14 2 a15 3 R_bin_OBJECTS = Rmain.o @@BUILD_LTO_TRUE@@@@WANT_R_SHLIB_FALSE@@$(OBJECTS) @@BUILD_LTO_TRUE@@@@WANT_R_SHLIB_FALSE@@R_bin_LDADD = $(MAIN_OBJS) $(EXTRA_STATIC_LIBS) $(EXTRA_LIBS) @@BUILD_LTO_FALSE@@@@WANT_R_SHLIB_FALSE@@R_bin_LDADD = libR.a $(EXTRA_LIBS) @ 1.14 log @Changes 2.11.0: * Packages must have been installed under R >= 2.10.0, as the current help system is the only one now supported. * A port to 64-bit Windows is now available as well as binary package repositiories: see the 'R Administration and Installation Manual'. * Argument matching for primitive functions is now done in the same way as for interpreted functions except for the deliberate exceptions call switch .C .Fortran .Call .External all of which use positional matching for their first argument, and also some internal-use-only primitives. * The default device for command-line R at the console on Mac OS X is now quartz() and not X11(). New features * The 'open' modes for connections are now interpreted more consistently. * R CMD INSTALL now uses the internal untar() in package utils. * help(try.all.packages = TRUE) is much faster. * R CMD check has a new option '--timings' to record per-example timings in file .Rcheck/-Ex.timings. * The TRE library has been updated to version 0.8.0 (minor bugfixes). More... @ text @d2 2 a3 2 --- src/main/Makefile.in.orig 2010-03-25 08:32:02.000000000 +0000 d5 1 a5 1 @@@@ -96,13 +96,13 @@@@ EXTRA_STATIC_LIBS = \ d13 3 a15 2 R_bin_OBJECTS = Rmain.o @@WANT_R_SHLIB_FALSE@@R_bin_LDADD = libR.a $(EXTRA_LIBS) d19 1 a19 1 R_bin_DEPENDENCIES =@@WANT_R_SHLIB_FALSE@@ libR.a @@USE_EXPORTFILES_TRUE@@ $(top_builddir)/etc/R.exp @ 1.13 log @Changes 2.10.0: * Package help is now converted from Rd by the R-based converters that were first introduced in 2.9.0. * HTML help is now generated dynamically using an HTTP server running in the R process and listening on the loopback interface. * polygon(), pdf() and postscript() now have a parameter 'fillOddEven' (default FALSE), which controls the mode used for polygon fills of self-intersecting shapes. * New debugonce() function; further, getOption("deparse.max.lines") is now observed when debugging. * plot() methods for "stepfun" and hence "ecdf" no longer plot points by default for n >= 1000. * [g]sub(*, perl=TRUE) now also supports '\E' in order to *end* \U and \L case changes, thanks to a patch from Bill Dunlap. * factor(), `levels<-`(), etc, now ensure that the resulting factor levels are unique (as was always the implied intention). Factors with duplicated levels are still constructible by low-level means, but are now declared illegal. * New print() (S3) method for class "function", also used for auto-printing. Further, .Primitive functions now print and auto-print identically. * The print() and toLatex() methods for class "sessionInfo" now show the locale in a nicer format and have arguments to suppress locale information. * In addition to previously only round(), there are other 'Math' group (S3) methods for 'difftime', such as floor(), signif(), abs(), etc. * For completeness, old.packages() and available.packages() allow 'type' to be specified (you could always specify 'available' or 'contriburl'). * More... @ text @d3 1 a3 1 --- src/main/Makefile.in.orig 2009-10-14 04:05:03.000000000 +0200 d5 1 a5 1 @@@@ -97,13 +97,13 @@@@ EXTRA_STATIC_LIBS = \ @ 1.12 log @Update to 2.7.0 SIGNIFICANT USER-VISIBLE CHANGES o The default graphics device in non-interactive use is now pdf() rather than postscript(). [PDF viewers are now more widely available than PostScript viewers.] The default width and height for pdf() and bitmap() have been changed to 7 (inches) to match the screen devices. o Most users of the X11() device will see a new device that has different fonts, anti-aliasing of lines and fonts and supports semi-transparent colours. o Considerable efforts have been made to make the default output from graphics devices as similar as possible (and in particular close to that from postscript/pdf). Many devices were misinterpreting 'pointsize' in some way, for example as being in device units (pixels) rather than in points. o Packages which include graphics devices need to be re-installed for this version of R, with recently updated versions. + New features and bug fixes. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.11 2007/03/14 11:50:35 markd Exp $ d3 1 a3 4 Add LIBMULTITHREAD to EXTRA_LIBS to pick up -lpthread on NetBSD, otherwise R segfaults on loading tcltk extension. --- src/main/Makefile.in.orig 2008-04-10 14:05:02.000000000 +1200 d5 2 a6 2 @@@@ -91,12 +91,12 @@@@ MAIN_LIBS = ../unix/libunix.a ../appl/li EXTRA_STATIC_LIBS = $(R_ZLIBS) $(R_BZLIBS) $(R_PCRE) $(R_XDR)$(R_LIBINTL) d15 1 d18 1 a18 1 R_bin_DEPENDENCIES =@@WANT_R_SHLIB_FALSE@@ libR.a @ 1.11 log @Update R to version 2.4.1. pkgsrc changes: no longer automatically generate the PLIST. use (de)install templates for handling updating the index files when adding/removing R packages. Changes 2.4.1 This is a maintenance release and fixes a number of mostly minor bugs. Changes 2.4.0 This release has many new features. One important aspect is that S4 classes now have their own internal type, and S4 method dispatch has been completely revised to using cached generic functions, giving substantial performance improvements. As a consequence, all packages depending on "methods" need to be reinstalled. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.10 2006/06/13 12:28:09 markd Exp $ d3 4 a6 1 --- src/main/Makefile.in.orig 2006-09-05 02:41:33.000000000 +1200 d8 7 a14 1 @@@@ -104,7 +104,7 @@@@ COMMON_DEPENDENCIES = \ d16 2 a17 2 R_bin_OBJECTS = Rmain.o @@WANT_R_SHLIB_FALSE@@$(OBJECTS) @@WANT_R_SHLIB_FALSE@@R_bin_LDADD = $(RLIBS) $(EXTRA_LIBS) d20 1 a20 1 R_bin_DEPENDENCIES =@@WANT_R_SHLIB_FALSE@@ $(RLIBS) $(COMMON_DEPENDENCIES) @ 1.10 log @Update to R 2.3.1 This version contains several minor fixups and removes a couple of bad bugs such as NA-handling of mean() for integer vectors. Changes 2.3.0 This version contains several changes and additions, mostly incremental. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.9 2005/05/02 16:57:19 drochner Exp $ d3 1 a3 1 --- src/main/Makefile.in.orig 2006-04-10 10:19:51.000000000 +1200 d5 1 a5 1 @@@@ -103,7 +103,7 @@@@ COMMON_DEPENDENCIES = \ d9 2 a10 2 -@@WANT_R_SHLIB_TRUE@@R_bin_LDADD = -L../../lib@@R_ARCH@@ -lR +@@WANT_R_SHLIB_TRUE@@R_bin_LDADD = -L../../lib@@R_ARCH@@ ${COMPILER_RPATH_FLAG}$(Rexeclibdir) -lR @ 1.9 log @update to 2.1.0 too many changes to list here ...still doesn't work within TEXmacs @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- src/main/Makefile.in.orig 2005-04-18 23:29:59.000000000 +0200 d5 7 a11 1 @@@@ -144,7 +144,7 @@@@ R: Makefile d13 1 a13 7 $(R_binary): $(R_bin_OBJECTS) $(R_bin_DEPENDENCIES) @@WANT_R_SHLIB_FALSE@@ $(MAIN_LINK) -o $@@ $(R_bin_LDFLAGS) $(R_bin_OBJECTS) $(R_bin_LDADD) $(READLINE_LIBS) $(LIBS) -@@WANT_R_SHLIB_TRUE@@ $(MAIN_LINK) -o $@@ $(R_bin_LDFLAGS) $(R_bin_OBJECTS) -L../../lib -lR +@@WANT_R_SHLIB_TRUE@@ $(MAIN_LINK) -o $@@ $(R_bin_LDFLAGS) $(R_bin_OBJECTS) -L../../lib ${COMPILER_RPATH_FLAG}$(Rexeclibdir) -lR install-bin-local: $(R_binary) @@$(MAKE) rhome="$(abs_top_builddir)" install-bin @ 1.8 log @Make bulk build happy by fixing up the rpath. Not actually an issue in normal operation as the binary is always called from a wrapper script that sets LD_LIBRARY_PATH. @ text @d3 1 a3 1 --- src/main/Makefile.in.orig 2004-11-16 01:31:44.000000000 +1300 d8 1 a8 1 @@WANT_R_SHLIB_FALSE@@ $(MAIN_LINK) -o $@@ $(R_bin_LDFLAGS) $(R_bin_OBJECTS) $(R_bin_LDADD) $(LIBS) @ 1.7 log @Update R to 1.9.0 and buildlink3ify USER-VISIBLE CHANGES o Underscore '_' is now allowed in syntactically valid names, and make.names() no longer changes underscores. Very old code that makes use of underscore for assignment may now give confusing error messages. o Package 'base' has been split into packages 'base', 'graphics', 'stats' and 'utils'. All four are loaded in a default installation, but the separation allows a 'lean and mean' version of R to be used for tasks such as building indices. Packages ctest, eda, modreg, mva, nls, stepfun and ts have been merged into stats, and lqs has been returned to MASS. In all cases a stub has been left that will issue a warning and ensure that the appropriate new home is loaded. All the time series datasets have been moved to package stats. Sweave has been moved to utils. Package mle has been moved to stats4 which will become the central place for statistical S4 classes and methods distributed with base R. Package mle remains as a stub. Users may notice that code in .Rprofile is run with only the new base loaded and so functions may now not be found. For example, ps.options(horizontal = TRUE) should be preceded by library(graphics) or called as graphics::ps.options or, better, set as a hook -- see ?setHook. o There has been a concerted effort to speed up the startup of an R session: it now takes about 2/3rds of the time of 1.8.1. o A warning is issued at startup in a UTF-8 locale, as currently R only supports single-byte encodings. plus many new features and bug fixes. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.6 2003/12/03 12:05:19 markd Exp $ d3 3 a5 4 --- src/scripts/SHLIB.in.orig 2003-04-04 05:31:58.000000000 +1200 +++ src/scripts/SHLIB.in @@@@ -93,7 +93,7 @@@@ if ${with_f77}; then fi d7 7 a13 6 if test -f ${R_HOME}/bin/libR@@DYLIB_EXT@@; then - LIBR="-L${R_HOME}/bin -lR" + LIBR="-Wl,-R@@prefix@@/lib/R/bin -L${R_HOME}/bin -lR" else LIBR= fi @ 1.6 log @Update R to 1.8.1. Changes since 1.6.2 Many new features. Language changes. Additional standard package 'mle'. Some old features deprecated or defunct. Many many bug fixes. Update to 1.8.0 from Ray Brownrigg in private communication, cleaned up and updated to 1.8.1 by me. @ text @d1 1 a1 1 $NetBSD$ @ 1.5 log @Update R to version 1.6.1. Pkgsrc changes: Now builds the libR.so and provides a buildlink2.mk for packages that want to use it. From suggestions from Kent Polk. Recommended library set is now included in the base package. Changes: CHANGES IN R VERSION 1.6.1 NEW FEATURES o Added a few "trivial and obviously missing" functions to tcltk: tkchooseDirectory, tkpopup, tkdialog, tkread o barplot() has a new argument `axis.lty', which if set to 1 allows the pre-1.6.0 behaviour of plotting the axis and tick marks for the categorical axis. (This was apparently not intentional, but axis() used to ignore lty=0.) The argument `border' is no longer ".NotYetUsed". CHANGES IN R VERSION 1.6.0 USER-VISIBLE CHANGES o The default colour palette now has "grey" instead of "white" in location 8. See palette(). o grid(nx) behaves differently (but the same as in R versions <= 0.64). NEW FEATURES o Preparations for name space support: o The objects created in the methods package to represent classes, generic functions, method definitions, and inheritance relations now themselves belong to true classes. In particular, the "classRepresentation" objects follow the description in "Programming with Data" (section 7.6). o Other additions and changes to the methods package: o New methods ([[, print, str) and extended plot() method (incl. logical `horiz') for "dendrogram" class. o sprintf() now checks the agreement between formats and object types, and handles special values (NA, Inf, ...) correctly. o chol() now uses a tolerance for non-positive-definiteness and so should give more consistent results across platforms. o New function agrep() for approximate (fuzzy) string matching. o help.search() can now use both approximate (fuzzy) and regular expression matching. By default, if the pattern to be matched consists of only alphanumeric characters, whitespace or a dash, approximate matching is used. o axis() has three new optional arguments `col', `lty', and `lwd' all for drawing the axis line and tick marks. o Function vcov() (formerly in MASS), a generic function to return the variance-covariance matrix of the parameter estimates of a fitted model. o duplicated() and unique() have methods for matrices and arrays (based on ideas from Jens Oehlschlgel). o Internally memory sizes and counts of cons cells are now stored in unsigned longs. This allows memory limits to be set and objects created in the range 2-4Gb on 32-bit platforms, and allows 64-bit platforms to use much larger amounts of memory. o Command-line flags to set memory can now use the suffix `G' for gigabytes. The setting of maximum vsize is now only limited by the platform's address space. o All warning and error messages are truncated to a length set by options(warning.length=), defaulting to 1000. (Previously most (but not quite all) were truncated at 8192 characters.) o [dpqr]gamma() check for shape parameter > 0. o as.POSIX[cl]t can now convert logical NAs. o All installed packages (even those shipped with R) are given a `Built' field in the DESCRIPTION file. o as.data.frame() now coerces logical matrices into logical columns (rather than factors). o [[<-.data.frame no longer coerces character replacement values to factor. This is consistent with using $ to replace and with S4. o library() attempts to detect improperly installed packages, so as from this version an installed package must have a DESCRIPTION file and that file must have been stamped with a `Built:' line (which was introduced in 1.2.0). Under Unix-alikes, the platform is checked against that used for installation. o print.factor() has new arguments `max.levels' (with a smart default) and `width'. print.ordered() is no longer needed. o RNGkind() has an additional option for normal random generators: "Inversion". o data.frame() recycles factors and "AsIs" objects as well as atomic vectors. o rect() accepts additional graphics parameters through a ... argument (in the same way as polygon). o strwidth/strheight() now coerce their first argument in exactly the same way text() does, so a wider range of inputs is allowed. o prompt()'s default and data.frame methods have a new 3rd argument `name' allowing them to used more easily in scripts and loops. o rgb() has a new `maxColorValue' argument, allowing r,g,b in [0,M], particularly in {0:255}, efficiently and non-error-prone. o summaryRprof() provides the functionality of R CMD Rprof in R code, though more slowly. o pdf() now uses PDF not R code for clipping, which ensures that partially visible text strings are (partially) shown. o Each R session uses a per-session temporary directory which is removed at normal termination. The directory name is given by the tempdir() function, and filenames returned by tempfile() will be within that directory. o help.start() on Unix now uses a .R subdirectory of the per-session temporary directory and not ~/.R. A side effect is that ~/.R is now never deleted by R. o cbind/rbind() used to ignore all zero-length vectors, an undocumented quirk for S-compatibility. This caused problems when combining zero-extent matrices and zero-length vectors, and now zero-length vectors are ignored unless the result would have zero rows/columns. o plot.spec(x) now also works for other x than AR and Pgram results. o New functions La.chol() and La.chol2inv() for Cholesky decomposition and inverse of positive definite matrices using Lapack. o Changes to the tcltk package o New function axTicks() returning tick mark locations like axis(). o grid() has a more sensible default behavior. Tick axis alignment only happens when no numbers of grid cells are specified. New arguments lwd and equilogs; nx/ny = NA for not drawing, see ?grid. o installed.packages() has a new argument `priority'. o termplot() uses factor levels rather than 1,2,3... for x-axis. o The trace() function has been robustified and a new function tracingState() added to turn tracing temporarily on and off. o New cophenetic() in "mva" as utility for hierarchical clustering. o p.adjust() has two new methods, 'Hommel' and 'FDR', contributed by Gordon Smyth . o stars() now has add and plot arguments. and lots of bug fixes. @ text @d3 1 a3 1 --- src/scripts/SHLIB.in.orig Wed Jul 17 19:36:11 2002 d5 1 a5 1 @@@@ -93,7 +93,7 @@@@ d8 1 a8 1 if test -f ${R_HOME}/bin/libR@@SHLIB_EXT@@; then @ 1.4 log @Add NetBSD tag. Fix NetBSD tag in patch-ad. @ text @d3 4 a6 7 --- share/sh/help-links.sh.orig Wed May 23 02:46:18 2001 +++ share/sh/help-links.sh @@@@ -35,6 +35,7 @@@@ rm -f ${PKGLIST} rm -f ${SEARCHINDEX} cp ${R_HOME}/doc/html/packages-head.html ${PKGLIST} +chmod 644 ${PKGLIST} d8 6 a13 2 get_unique () { if test -r ${1}; then @ 1.3 log @Make local copy of R's package list writable before trying to append to it. From PR# pkg/15773 from Ray Brownrigg. @ text @d1 1 a1 1 $NetSBD$ @ 1.3.2.1 log @Merge from pkgsrc-current to buildlink2 branch. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.4 2002/05/20 18:16:01 cjep Exp $ @ 1.2 log @Oops, still learning CVS. Forgot to remove these files before the commit. @ text @d1 1 a1 1 $NetBSD: patch-ad,v 1.1 1998/12/21 10:29:41 frueauf Exp $ d3 7 a9 3 --- src/library/eda/src/Makefile.in.orig Tue Oct 13 04:04:28 1998 +++ src/library/eda/src/Makefile.in Sun Dec 20 11:16:36 1998 @@@@ -18,7 +18,7 @@@@ d11 2 a12 29 all: $(LIB) @@$(MKINSTALLDIRS) $(top_builddir)/library/$(pkg)/libs - @@cp $< $(top_builddir)/library/$(pkg)/libs + @@cp $(LIB) $(top_builddir)/library/$(pkg)/libs $(LIB): $(OBJS) $(SHLIBLD) $(SHLIBLDFLAGS) -o $@@ $(OBJS) --- src/library/modreg/src/Makefile.in.orig Tue Nov 10 03:07:44 1998 +++ src/library/modreg/src/Makefile.in Sun Dec 20 11:17:28 1998 @@@@ -19,7 +19,7 @@@@ all: $(LIB) @@$(MKINSTALLDIRS) $(top_builddir)/library/$(pkg)/libs - @@cp $< $(top_builddir)/library/$(pkg)/libs + @@cp $(LIB) $(top_builddir)/library/$(pkg)/libs $(LIB): $(OBJS) $(top_builddir)/bin/R SHLIB -o $@@ $(OBJS) --- src/library/mva/src/Makefile.in.orig Tue Oct 13 04:04:28 1998 +++ src/library/mva/src/Makefile.in Sun Dec 20 11:18:09 1998 @@@@ -19,7 +19,7 @@@@ all: $(LIB) @@$(MKINSTALLDIRS) $(top_builddir)/library/$(pkg)/libs - @@cp $< $(top_builddir)/library/$(pkg)/libs + @@cp $(LIB) $(top_builddir)/library/$(pkg)/libs $(LIB): $(OBJS) $(SHLIBLD) $(SHLIBLDFLAGS) -o $@@ $(OBJS) @ 1.1 log @Update R to 0.63.1, provided in pr 6618 by Johnny C. Lam. Changes since 0.63.0 are mostly bigfixes and patches that make it actually work properly with NetBSD. @ text @d1 1 a1 1 $NetBSD$ @