pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/14898 CVS commit: pkgsrc/math/R

The following reply was made to PR pkg/14898; it has been noted by GNATS.

From: "Wen Heping" <>
Subject: PR/14898 CVS commit: pkgsrc/math/R
Date: Mon, 17 Dec 2012 09:08:48 +0000

 Module Name:   pkgsrc
 Committed By:  wen
 Date:          Mon Dec 17 09:08:47 UTC 2012
 Modified Files:
        pkgsrc/math/R: Makefile PLIST distinfo
        pkgsrc/math/R/patches: patch-ac patch-ad patch-src_main_format.c
 Log Message:
 Update to 2.15.1
 Approved by wiz@
 Upstream changes:
     o source() now uses withVisible() rather than
       .Internal(eval.with.vis).  This sometimes alters tracebacks
     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
     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 <c5><81>ukasz Daniel.
     o In package parallel, makeForkCluster() and the multicore-based
       functions use native byte-order for serialization (deferred from
     o, lm.wfit(), 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().
     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).
     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.
     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.
     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.
     o Windows-specific changes will now be announced in this file
       (NEWS).  Changes up and including R 2.15.0 remain in the CHANGES
     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.
     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, 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().
     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.
     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
     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
     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
     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().
     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
     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(<lm>, which=5) now correctly labels the factor level
       combinations for the special case where all h[i,i] are the same.
     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).
     o Environment variable RD2DVI_INPUTENC has been renamed to
     o .Deprecated() becomes a bit more flexible, getting an old
     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
     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,
     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
     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
     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, <URL:>.
     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
     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  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
     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
     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
     o There are new load-balancing functions parLapplyLB() and
     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).
     o Non-ASCII vignettes without a declared encoding are no longer
     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
     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.
     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
       Checking compiled code is now done on FreeBSD (as well as the
       existing supported platforms of Linux, Mac OS X, Solaris and
     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.
     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
     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
     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.
     o Building with a positive value of --with-valgrind-instrumentation
       now also instruments logical, complex and raw vectors.
     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.
     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
     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(<ar>) 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 <li> tag in pages generated by Rd2HTML(). (PR#14841.)
     o Axis tick marks could go out of range when a log scale was used.
     o Signature objects in methods were not allocated as S4 objects
       (caused a problem with trace() reported by Martin Morgan).
 To generate a diff of this commit:
 cvs rdiff -u -r1.132 -r1.133 pkgsrc/math/R/Makefile
 cvs rdiff -u -r1.14 -r1.15 pkgsrc/math/R/PLIST
 cvs rdiff -u -r1.49 -r1.50 pkgsrc/math/R/distinfo
 cvs rdiff -u -r1.27 -r1.28 pkgsrc/math/R/patches/patch-ac
 cvs rdiff -u -r1.14 -r1.15 pkgsrc/math/R/patches/patch-ad
 cvs rdiff -u -r1.2 -r1.3 pkgsrc/math/R/patches/patch-src_main_format.c
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index