[R] R 1.9.0 is release

Duncan Murdoch dmurdoch at pair.com
Mon Apr 12 21:37:40 CEST 2004

On 12 Apr 2004 14:05:25 +0200, Peter Dalgaard
<p.dalgaard at biostat.ku.dk> wrote :

>I've rolled up R-1.9.0.tgz a short while ago. This is a new version
>with a number of new features, most notably a substantial
>reorganization of the standard packages, a major update of the grid
>package, and the fact that underscore can now be used as a regular
>character in variable names.

I've just uploaded the Windows build.  It should appear on CRAN and
the mirrors by tomorrow.

The main Windows-specific changes are the following:

 - A "stay on top" option for windows.
 - Rcmd can now be written R CMD, as on Unix.
 - Tony Plate's "Paste commands only" to paste the commands from a
copied block of output
There are many other changes and bug fixes.  Here's an extract from
the CHANGES file:


Both Rterm and Rgui now give usage information via the --help or -h
command-line flag.

There is now a "Misc|Break to debugger" menu option, enabled 
when a debugger is detected (somewhat fallibly), or infallibly by the
"--debug" command line option.  This will cause a trap to an external
debugger, e.g. for running Rgui under gdb.  If the menu item is
selected when not running under a debugger R is likely to crash.
If the "--debug" option is used, R will break to the debugger during
command line processing, allowing the startup process to be debugged.

Added "stay" argument to bringToTop(), to allow the user to specify
that a window should stay on top of other windows.  Also added "stay
on top" item to the popup menus.  All of these require R to be running
in SDI mode ("Rgui --sdi" or via the settings in file `Rconsole').

Changed windows() so that new windows fit within the MDI client

Added winMenuNames() and winMenuItems() functions to query user menus.

Added menu items for www.r-project.org and CRAN on the help menu. 
(Wishlist PR#6492)

Added "R" command to be similar to Unix invocation of scripts, e.g.
"R CMD INSTALL" is the same as "Rcmd INSTALL".  Rcmd still exists for 
backwards compatibility (and to avoid conflicts over the name `R').
All of R, R CMD and Rcmd now accept --help.

Rcmd Rd2dvi can now be specified as such rather than as Rcmd

Added "Paste commands only" to edit and popup menus in the Rgui
This allows copying of a block of output, but pasting only the
back to the console for re-execution.  (Code contributed by Tony


Parallel make (make -j2, say) can be used, but only usefully on
dual-processor (or perhaps hyperthreaded) hosts with at least 384Mb of

Installing now sorts in the C locale to ensure that a consistent sort
order is used.  (Some aspects of sorting used to be done in the locale
of the host machine, but Perl and the cygwin-based tools used the
ASCII collation order.)

The long-untested support for making Windows .hlp files has been

There is support for using K. Goto's fast BLAS.  On a 2.6Ghz P4 with
1Gb RAM and A a 1000 x 1000 matrix we had the following timings

A %*% A	 3.7	0.65	0.56
svd(A)	16.2	7.77	6.83

Note that using a fast BLAS is much less effective for smaller
matrices as are more common in statistical applications.

Faster assembler code for exponentiation is used.

Cross-building of R itself now works again.  (It had been broken since

Building/installing packages

R CMD INSTALL/build/check map path names with spaces in to their short

R CMD INSTALL now supports versioned install via

Installing (binary) package bundles now checks the MD5 sums and
reports success, just as for packages.

Added "* DONE" to the end of INSTALL logs so --install option to CHECK
will work. (This is a repository maintainer option; see 
src/scripts/check.in for docs).

Internal changes

The fast bmp/png/jpeg code introduced in R 1.8.0 is used even for
256-color displays (as we have now been able to test it on such).

R's internal malloc etc are now remapped to Rm_malloc etc and only
used in allocating memory for R objects, the Wilcoxon tests and a few
other memory-intensive applications.

Improved malloc routines from the current version of Doug Lea's malloc
(as suggested by David Teller) should enable large memory areas to be
used more effectively, in particular those over 2Gb where OS support
has been enabled.  The initially requested memory is no longer
reserved, but as this malloc is able to work with non-contiguous
memory chunks that should not matter.

The installer uses LZMA compression, so Inno Setup >= 4.1.5 is

Version 1.2.5 of libpng is now used in binary builds.

Bug fixes

Fixed list.files() to properly handle paths like "C:", etc.

Fixed unlink() to accept empty file list for Unix consistency.

Fixed handling of whitespace in Rd2dvi.sh processing of DESCRIPTION

Fixed handling of "--max-mem-size" syntax error on command line.

In RGui, ^T would not transpose the first and second characters on a
line.  (PR#5593)

Fixed junk character at start of a pipe(). (PR#5053)

R CMD SHLIB was computing dependencies for all C files, not just those
specified on the command line, and building the DLL from all *.o files
in the directory.

The sizes of metafiles in pixels were often coming out one pixel more
than requested, so the background was not quite all painted.  Now we

Rproxy.dll would cause a crash when transferring large amounts of

Workaround for Microsoft's esoteric idea that date-times in 1970
1970-01-01 00:00:00 GMT are invalid, so as.POSIXct("1970-01-01
00:00:00") failed in timezones ahead of GMT.

Avoid possible segfault with browseURL() on urls of more than 264
(although these are not guaranteed to work).

More information about the R-announce mailing list