For changes since the release of R 1.0.0 on 29 Feb 2000 see the file CHANGES rw1000 ====== The highlight colour used for help files in the internal pager can now be set in the file Rconsole. tempfile() can have argument `pattern' of length greater than 1. A bug in tab expansion in the console and internal pager has been corrected. link.html.help() is able to cope with packages with missing TITLE files. rw0990 ====== The console and internal pager now have horizontal scollbars. These are disabled (greyed out) if no text is obscured in the current view. Help menu items will be greyed out if the corresponding files are not installed. Many of the menu items now call internal functions and so are much faster, but produce nothing on the console. Help files will be displayed in the internal pager with headings in a contrasting colour. There are new functions winDialog() and winDialogString() to produce dialog boxes, and functions winMenu* (use ?winMenus) to manipulate user menus. Following Unix, the handling of help(, offline=TRUE) has been altered. It will be necessary to adjust helpPRINT.bat to set the TEXINPUTS path to find Rd.sty. TeX processing of these help files normally uses LaTeX package `ae' to handle Latin-1 characters: this can be changed by setting the environment variable R_RD4DVI. The conversion to text help no longer requires groff. rw0901 ====== It is possible to install packages from any directory (set PKGDIR on the make command) and to any directory (set RLIB on the make command). RLIBS is no longer accepted for the library directory: use R_LIBS (which has been preferred since 0.65.0). The code to set the `cra' parameter for a windows() device (and hence the base character size of symbols) is more robust. The code handling Ctrl-like keys has been changed and ought to be more robust (AltGr on Danish Windows NT used to misbehave.) savePlot recognises filename="clipboard" (or "") for wmf plots. The installer has always been version-specific and now tests it is being used for the right version. rw0900 ====== We made a determined attempt to quote paths which might contain spaces, and almost all cases work. Be careful with external unzip, pager and editor programs that these do handle quoted paths. Rterm can be interrupted by Ctrl-C as well as Ctrl-Break. Fast typing should not give problems in interactive use. Better formatting of math expressions in graphics labels, legends, ... (but only if font is True Type since it seems not possible to get per-char font metric information for raster fonts). Support for GIF format bitmaps has been removed, but support for PNG, JPEG and BMP has been added. This can be done via the File menu on the graphics window, savePlot() or dev.print to the new devices png(), bmp() and jpeg(), which can also be used directly. PDF versions of the (draft) manuals are available in file rw0900d.zip and install into rw0900/doc/manuals. These can be read in Acrobat Reader from the Manuals sub-menu of the Help menu provided they and the reader (http://www.adobe.com) are installed. The installer will install packages in the library directory if the installation directory path ends in rw0900. You can install packages by install.packages("/path/to/mypkg.zip", CRAN=NULL) rw0651 ====== New function savePlot() to save plots to wmf, gif or ps. There is now support for help via compiled HTML files (as used by the latest Microsoft products): set options(chmhelp=TRUE) to use this. You will probably need Internet Explorer 4 or later installed to use this, or you can install hhupd.exe from the windows/windows-NT/base/etc directory on CRAN. There is support for building Windows help files (as in Windows 95). Set options(winhelp=TRUE) to make this your preferred help system. Both compiled HTML files and Windows help are available for the standard packages. The new function update.packages() is supported if you have wget.exe (a copy is in the windows/windows-NT/base/etc/wget.zip on CRAN) or lynx.exe, from http://www.fdisk.com/doslynx/lynxport.htm. On NT only, CPU times are returned by proc.time() (using a call to GetProcessTimes). Rotated text on a windows / win.* device is placed more accurately, especially for non-multiples of 90 degrees. A windows() device reports itself as `windows' not `X11'. getenv() now returns all the environmental variables. unlink() can now remove (empty) directories (but not using wildcard specifications). The complex LINPACK routines which were not included in the Unix versions of R are now omitted here. There is more support for (support of) ActiveX Automation via the Rproxy.dll: see the file front-ends/readme. As under Unix, .Renviron is first searched for in the working directory, then in the home directory. (It this case the home directory must be given by the R_USER or HOME environmental variable.) The sockets code is definitely working in this version, enough to support source.url and friends. options(pager="console") is set as the default if --ess is used (as it works better with Emacs). The rounding code has been re-written to be more accurate and to round to even as documented. The rw-FAQ is linked into the HTML help system. We believe the problems with re-sizing windows (especially on Windows 9x) have been solved. rw0650 ====== [ Because Guido Masarotto was ill for several weeks, rw0650 was only ever pre-released. ] There are many changes `under the skin' which are not reflected in user-visible changes, but either improve performance or will allow future enhancements. The environment variables have been changed: R_HOME is now R's home directory and R_USER is the HOME for the user which will be used by R (and defaults to HOME, if set, then to ${HOMEDRIVE}${HOMEPATH}, if that is set, then the working directory). (There are many other such changes in R: for example RLIBS becomes R_LIBS, although for the time being RLIBS is also recognised.) Saving a plot as postscript from the device menu will produce a portrait plot irrespective of the setting of ps.options(). Saving a plot as a metafile should be more reliable on machines which report incorrect information on the size of the screen. The new flag --no-environ suppresses reading .Renviron and is implied by --vanilla. When rterm is used non-interactively either --save or --no-save must be specified: these is no longer a default of --no-save (for consistency with Unix). More support for building R into other applications: see the examples in the front-ends directory of the source distribution. Interrupting by Esc or Ctrl-Break is handled internally by signals, so the `User Break' response will no longer appear, but in rterm ^C will be echoed. There is limited support for `tilde-expansion': file paths such as ~/rest will be expanded to ${HOME}\rest if HOME is set, or to ${HOMEDRIVE}${HOMEPATH}\rest if those variables are set. Using rterm either interactively or with --ess will be more responsive and use much less CPU time when waiting for input. Interruptions by Ctrl-Break or (under --ess, for use by ESS) Ctrl-C should happen immediately and be handled correctly. [On NT: problems with Win 98 were corrected for rw0651.] The installer can now install correctly in a top-level directory (e.g. C:\), fixing a bug in the unzip code used. rw0642 ====== There are few Windows-specific enhancements: rw0642 (and R-0.64.2) is a bug-fixing release. If options(pager="console") then files are listed in the console window, as happened prior to rw0640. On request, we have enabled `pagerstyle = singlewindow' in MDI mode, although we do not recommend this combination. The file HOME\.Renviron is read (it was HOME\Renviron, and the documentation used both names). Only the last line was successfully processed in rw0641, but all lines are in this version. unlink() on non-existent files no longer causes a crash. The new function win.version() will report details of the run-time Windows version, principally for use in bug.report(). bug.report() has a new argument wait: wait=FALSE gives a non-modal editor screen. Generally TAB will move between fields in dialog boxes, and return and escape will work (selecting OK and Cancel) in the Change Directory dialog box. The installer will allow several packages to be selected, and will install them in sequence. It should give more informative messages on some error conditions. Usually return will select Next or Finish, escape will select Cancel and B Back. There is a new target `make check' for running the standard tests and checking the standard packages (as on Unix). Saving the content of a graphic device as GIF should work again (under some circumstances, it resulted in a white image in rw064[01]). rw0641 ====== There is a choice of interface for Rgui: o SDI, single document interface. This is like the previous version, with separate windows for the console, graphics and pager(s). o MDI, multiple document interface. Here the console, graphics and pagers are subwindows of one main `frame' window. You can set your preference (and details of the MDI) in the Rconsole file: this can also be overriden on the command line by --mdi or --sdi. If you use multiple files in a single SDI pager, the (row) positions are remembered and re-used when you switch views in the pager. For MDI pagers, the pager size is chosen by the system, and only multiple pagers are supported. When pagers are re-sized the strategy is now to keep the middle line in the middle. The option `setwidthonresize' in Rconsole automatically generates an internal call to options("width") if you resize the console and change its width. This is the default, but we suggest you do not resize while R is outputting. The console, pagers and graphics devices now have right-click popup menus, and you can paste from a pager to the console directly. There is a new console menu item to show a file in a pager. This is intended to allow lines to be selected in an script file displayed in a pager and submitted to the R engine. `Busy' cursors are used where appropriate: a cross-hair cursor is used on a graphics device to indicate that locator() (or identify()) is in use. The file HOME\.Renviron is now read. This can contain environment variables in NAME=value form, one per line. This is useful for setting R_VSIZE, R_NSIZE, RLIBS and R_PAPERSIZE, for example. You can now paste in more to the console: the limit (which was 2048 chars) is now that of the clipboard. Pasting can take place whilst the console is busy. The command `make pkgcheck-pkgname' will do the equivalent of `R CMD check', that is run all the examples in the help pages for that package. unlink can now handle wildcards and a vector argument of length more than one. The inverse hyperbolic tangent functions asinh acosh atanh are now available in this version. rw0640 ====== R-0.64 uses platform-independent code for file handling. Files are displayed under a pager in a separate window rather than in the console. Environment variables can be set as NAME=value on the command line, including in a short-cut. Content of the pager and of the Rgui's console can be printed using File | Print. The help, latex and example files can be stored in zip files to save space; this is used for the base package. The menus are enabled/disabled and check-marked correctly under NT. We hope to have solved the 'rw0633 font dimension problem' shown under some NT versions. read.fwf works if you have Perl installed. help(, offline=TRUE) will work if you have latex installed and customize RHOME/bin/helpPRINT.bat The sockets code is compiled in, but we have not tested it. system() has new arguments `invisible' and `minimized'. rw0633 ====== The beginnings of a FAQ (RHOME/rw-faq). Programs can be launched from all shells: the full path to the executable is not needed. Configurable fonts in the graphics devices by the file Rdevga. Workspaces are saved in XDR format, and so can be shared with most Unix implementations of R. Printer and metafile graphics devices (?win.print and ?win.metafile). Consistent handling of start directory for dialogs and the working directory across versions of Windows. An improved and enhanced system() function (?system and ?shell). Windows-specific help files where necessary. Better support for ESS. Better support for the installation of pre-compiled packages (?link.html.help) rw0632 ====== The NT copy to the clipboard bug has been fixed. Help files use latin1 encoding (but, to see the difference, you must use a latin1 capable font; for this reason, now, as packed, the R console uses "Courier New"; if you don't like it, edit etc/Rconsole). rw0631 ====== There are two executables, Rgui.exe and Rterm.exe. NEW FEATURES Will run from NT command line. No `tricks' are needed for animated graphics. The windows are much more responsive. R commands can be interrupted by Esc. Rterm allows batch mode operation and can also be run in inferior-R-mode under NTEmacs. There is a history mechanism for graphics plots. Graphics can be copied to the clipboard. Commands history is saved between session (only by Rgui.exe). Saved images and user profile are called .RData and .Rprofile as under Unix (before they were RData and Rprofile). rw0630 ====== - Minor adjustment to reflect changes in R-0.63.0 (options, example,...) - Fixed a couple of minor bugs in the graphics device. - More control keys (some Emacs-like (crtl+a, crtl+e, crtl+k), and, by popular demand, crtl+c and crtl-v for copy and paste); take a look at the help/console menuitem. - Added support for Cygwin B20 (target remains Mingw32,i.e, no Unix emulation layer) - Access of global variables in R.exe from a dll should work (all the horrible name-mangling needed by `gnuwin32' - `var' in R.exe becames `*__imp_var' in a dll - is done automatically). rw0624 ====== New features: - The console can be configured (font, colours, dimensions). No fancy dialog (yet), but look at the rw0624/etc/Rconsole file. - help.start() now is implemented. Of course, you need the html documentation. Bugs fixed (I hope): - Alt+Gr problems on some European keyboards. - Focus is 'always' given back to the console. - Filters in the dialogs which ask a file-name. - round(..) now works as documented. - Some small modifications to the graphic device (position of text and clipping of lines was sometimes not exact). In addition, I changed the font to helvetica (for better consistency with the X11 device). rw0623 ====== A. News (with respect to rw0613) -------------------------------- (a) I rewrote the console using a portable toolkit (GraphApp, see http://www.cs.usyd.edu.au/~loki/graphapp). Now, output is buffered until some input is required. In addition, there are some command history support. For a mini help on the new console, use the help/Console menuitem. (b) I also rewrote the graphics device using GraphApp. Apart for the redraw (which seems faster) the GraphApp device is +/- equal to the one that you find in RJune. With respect to rw0613 the major improvements are: (i) it is a R0.62.x device,i.e., it supports multiple instances, resizing, copy,...(look to the dev.xxx functions); (ii) it supports plotting math expression; (iii) there is a new item in the menu which let to save the contents of the active device as a gif file; (ii) arbitrary line patterns in any width are supported. (c) Now, edit makes use of an external editor (the default one is notepad), i.e., it works as under Unix. (d) date() now works. In addition, proc.time(), and so system.time(..), works (but don't expect too much, you will get only the elapsed time). (e) IEEE math (Inf, Nan,..). (f) I used the GNU regex library. Hence all the code is GPL'ed. B. The new menubar ------------------ The menu bar contains the following item: File Source R Code -> ask for a filename and then send to the interpreter a source(filename) command. Load Image -> ask for a filename and then send to the interpreter a load(filename) command. Save Image -> ask for a filename and then send to the interpreter a save.image(filename) command. Edit Copy Paste Copy and Paste Select All Misc Kill current computation List objects -> send to the interpreter a ls() command Remove all objects -> ask for confirmation and then send to the interpreter a rm(list=ls()) command Graphics save as Postscript -> ask for a filename and then send to the interpreter a dev.print(...) command save as gif -> ask for a filename (extension must be .gif) and then save the current plot as gif Help Console -> mini help on the console R language -> ask for a topic and then send to the interpreter a help(topic) command Apropos -> ask for a topic and then send to the interpreter a apropos(topic) command About Observe that some of the menu items just send to the interpreter a command. This means that these items are disabled when the interpreter is waiting for the completion of a previous command,i..e, when you have the ''continuation'' prompt. On the other end, under normal editing (prompt='>'), since the current line is saved and then restored you can, for example, type part of a command, ask for some help, and then complete your command. C. Printing ----------- To avoid questions: printing is not directly supported (yet). To print the content of the console you must: a) select the text; b) copy it to the clipboard; c) paste it in some word processor or editor which can print. To obtain a good copy of your graphs you can: a) save it as postscript and then print on a ps printer (or play with it using ghostscript); b) save it as a gif and then print it using one of the many programs which support this format (image manipulation programs, word processors, internet browsers,...). If you give the focus to a graphic window, you can also copy it to the clipboard using the alt+print keys. But this is the standard Windows command and you will get also the window's decoration. So this is useful only to get a "draft" copy of the graph. [however, I find quite effective to open a word processor in which to paste command, console output and graphs. Indeed this is the way I ask my students to work (of course, they must also write comments!)]. [...] H. Bugs (known) and misc. observations. --------------------------------------- (a) As always, the English of this README. (b) de() doesn't work anymore. If someone needs it, I can try to include the old one (or try to write a portable version of it using GraphApp). (c) edit(...) doesn't work properly under Win3.1/Win32s. (d) system(...) is quite limited (popen under MsWindows is a nightmare). (d) To use this version under Win32s you need a recent version of Win32s (I have only tested with the last one that can be found at ftp://ftp.microsoft.com). (e) Only the mouse can be used to select the text in the console.