1 For changes since the release of R 1.0.0 on 29 Feb 2000 2 see the file CHANGES 3 4 5rw1000 6====== 7 8The highlight colour used for help files in the internal pager can now 9be set in the file Rconsole. 10 11tempfile() can have argument `pattern' of length greater than 1. 12 13A bug in tab expansion in the console and internal pager has been 14corrected. 15 16link.html.help() is able to cope with packages with missing TITLE files. 17 18 19rw0990 20====== 21 22The console and internal pager now have horizontal scollbars. These 23are disabled (greyed out) if no text is obscured in the current view. 24 25Help menu items will be greyed out if the corresponding files are not 26installed. 27 28Many of the menu items now call internal functions and so are much 29faster, but produce nothing on the console. 30 31Help files will be displayed in the internal pager with headings 32in a contrasting colour. 33 34There are new functions winDialog() and winDialogString() to produce 35dialog boxes, and functions winMenu* (use ?winMenus) to manipulate 36user menus. 37 38Following Unix, the handling of help(, offline=TRUE) has been altered. 39It will be necessary to adjust helpPRINT.bat to set the TEXINPUTS path 40to find Rd.sty. TeX processing of these help files normally uses LaTeX 41package `ae' to handle Latin-1 characters: this can be changed by 42setting the environment variable R_RD4DVI. 43 44The conversion to text help no longer requires groff. 45 46 47rw0901 48====== 49 50It is possible to install packages from any directory (set PKGDIR on 51the make command) and to any directory (set RLIB on the make command). 52 53RLIBS is no longer accepted for the library directory: use R_LIBS 54(which has been preferred since 0.65.0). 55 56The code to set the `cra' parameter for a windows() device (and hence 57the base character size of symbols) is more robust. 58 59The code handling Ctrl-like keys has been changed and ought to be more 60robust (AltGr on Danish Windows NT used to misbehave.) 61 62savePlot recognises filename="clipboard" (or "") for wmf plots. 63 64The installer has always been version-specific and now tests it is 65being used for the right version. 66 67 68rw0900 69====== 70 71We made a determined attempt to quote paths which might contain spaces, 72and almost all cases work. Be careful with external unzip, pager and editor 73programs that these do handle quoted paths. 74 75Rterm can be interrupted by Ctrl-C as well as Ctrl-Break. Fast 76typing should not give problems in interactive use. 77 78Better formatting of math expressions in graphics labels, legends, ... 79(but only if font is True Type since it seems not possible to get 80per-char font metric information for raster fonts). 81 82Support for GIF format bitmaps has been removed, but support for PNG, 83JPEG and BMP has been added. This can be done via the File menu on the 84graphics window, savePlot() or dev.print to the new devices png(), bmp() 85and jpeg(), which can also be used directly. 86 87PDF versions of the (draft) manuals are available in file rw0900d.zip 88and install into rw0900/doc/manuals. These can be read in Acrobat 89Reader from the Manuals sub-menu of the Help menu provided they and 90the reader (http://www.adobe.com) are installed. 91 92The installer will install packages in the library directory if the 93installation directory path ends in rw0900. 94 95You can install packages by 96 97 install.packages("/path/to/mypkg.zip", CRAN=NULL) 98 99 100 101rw0651 102====== 103 104New function savePlot() to save plots to wmf, gif or ps. 105 106There is now support for help via compiled HTML files (as used by the 107latest Microsoft products): set options(chmhelp=TRUE) to use this. 108You will probably need Internet Explorer 4 or later installed to use 109this, or you can install hhupd.exe from the windows/windows-NT/base/etc 110directory on CRAN. 111 112There is support for building Windows help files (as in Windows 95). 113Set options(winhelp=TRUE) to make this your preferred help system. 114 115Both compiled HTML files and Windows help are available for the 116standard packages. 117 118The new function update.packages() is supported if you have wget.exe 119(a copy is in the windows/windows-NT/base/etc/wget.zip on CRAN) or 120lynx.exe, from http://www.fdisk.com/doslynx/lynxport.htm. 121 122On NT only, CPU times are returned by proc.time() (using a call to 123GetProcessTimes). 124 125Rotated text on a windows / win.* device is placed more accurately, 126especially for non-multiples of 90 degrees. 127 128A windows() device reports itself as `windows' not `X11'. 129 130getenv() now returns all the environmental variables. 131 132unlink() can now remove (empty) directories (but not using wildcard 133specifications). 134 135The complex LINPACK routines which were not included in the Unix 136versions of R are now omitted here. 137 138There is more support for (support of) ActiveX Automation via the 139Rproxy.dll: see the file front-ends/readme. 140 141As under Unix, .Renviron is first searched for in the working directory, 142then in the home directory. (It this case the home directory must 143be given by the R_USER or HOME environmental variable.) 144 145The sockets code is definitely working in this version, enough to support 146source.url and friends. 147 148options(pager="console") is set as the default if --ess is used (as it 149works better with Emacs). 150 151The rounding code has been re-written to be more accurate and to round 152to even as documented. 153 154The rw-FAQ is linked into the HTML help system. 155 156We believe the problems with re-sizing windows (especially on Windows 9x) 157have been solved. 158 159 160 161rw0650 162====== 163 164[ Because Guido Masarotto was ill for several weeks, rw0650 was only ever 165pre-released. ] 166 167There are many changes `under the skin' which are not reflected in 168user-visible changes, but either improve performance or will allow 169future enhancements. 170 171The environment variables have been changed: R_HOME is now R's home 172directory and R_USER is the HOME for the user which will be used by R 173(and defaults to HOME, if set, then to ${HOMEDRIVE}${HOMEPATH}, if that 174is set, then the working directory). (There are many other such 175changes in R: for example RLIBS becomes R_LIBS, although for the time 176being RLIBS is also recognised.) 177 178Saving a plot as postscript from the device menu will produce a 179portrait plot irrespective of the setting of ps.options(). 180 181Saving a plot as a metafile should be more reliable on machines which 182report incorrect information on the size of the screen. 183 184The new flag --no-environ suppresses reading .Renviron and is implied by 185--vanilla. 186 187When rterm is used non-interactively either --save or --no-save must be 188specified: these is no longer a default of --no-save (for consistency 189with Unix). 190 191More support for building R into other applications: see the examples 192in the front-ends directory of the source distribution. 193 194Interrupting by Esc or Ctrl-Break is handled internally by signals, so 195the `User Break' response will no longer appear, but in rterm ^C will 196be echoed. 197 198There is limited support for `tilde-expansion': file paths such as 199~/rest will be expanded to ${HOME}\rest if HOME is set, or to 200${HOMEDRIVE}${HOMEPATH}\rest if those variables are set. 201 202Using rterm either interactively or with --ess will be more responsive and 203use much less CPU time when waiting for input. Interruptions by Ctrl-Break 204or (under --ess, for use by ESS) Ctrl-C should happen immediately and be 205handled correctly. [On NT: problems with Win 98 were corrected for rw0651.] 206 207The installer can now install correctly in a top-level directory (e.g. 208C:\), fixing a bug in the unzip code used. 209 210 211rw0642 212====== 213 214There are few Windows-specific enhancements: rw0642 (and R-0.64.2) is 215a bug-fixing release. 216 217If options(pager="console") then files are listed in the console 218window, as happened prior to rw0640. 219 220On request, we have enabled `pagerstyle = singlewindow' in MDI mode, 221although we do not recommend this combination. 222 223The file HOME\.Renviron is read (it was HOME\Renviron, and the 224documentation used both names). Only the last line was successfully 225processed in rw0641, but all lines are in this version. 226 227unlink() on non-existent files no longer causes a crash. 228 229The new function win.version() will report details of the run-time 230Windows version, principally for use in bug.report(). 231 232bug.report() has a new argument wait: wait=FALSE gives a non-modal editor 233screen. 234 235Generally TAB will move between fields in dialog boxes, and return and 236escape will work (selecting OK and Cancel) in the Change Directory 237dialog box. 238 239The installer will allow several packages to be selected, and will 240install them in sequence. It should give more informative messages on 241some error conditions. Usually return will select Next or Finish, 242escape will select Cancel and B Back. 243 244There is a new target `make check' for running the standard tests and 245checking the standard packages (as on Unix). 246 247Saving the content of a graphic device as GIF should work again (under some 248circumstances, it resulted in a white image in rw064[01]). 249 250 251rw0641 252====== 253 254There is a choice of interface for Rgui: 255 256o SDI, single document interface. This is like the previous version, 257 with separate windows for the console, graphics and pager(s). 258 259o MDI, multiple document interface. Here the console, graphics and 260 pagers are subwindows of one main `frame' window. 261 262You can set your preference (and details of the MDI) in the Rconsole 263file: this can also be overridden on the command line by --mdi or --sdi. 264 265If you use multiple files in a single SDI pager, the (row) positions 266are remembered and re-used when you switch views in the pager. 267 268For MDI pagers, the pager size is chosen by the system, and only 269multiple pagers are supported. 270 271When pagers are re-sized the strategy is now to keep the middle line 272in the middle. 273 274The option `setwidthonresize' in Rconsole automatically generates an 275internal call to options("width") if you resize the console and change 276its width. This is the default, but we suggest you do not resize 277while R is outputting. 278 279The console, pagers and graphics devices now have right-click popup 280menus, and you can paste from a pager to the console directly. 281 282There is a new console menu item to show a file in a pager. This is 283intended to allow lines to be selected in an script file displayed in 284a pager and submitted to the R engine. 285 286`Busy' cursors are used where appropriate: a cross-hair cursor is 287used on a graphics device to indicate that locator() (or identify()) 288is in use. 289 290The file HOME\.Renviron is now read. This can contain environment 291variables in NAME=value form, one per line. This is useful for setting 292R_VSIZE, R_NSIZE, RLIBS and R_PAPERSIZE, for example. 293 294You can now paste in more to the console: the limit (which was 2048 295chars) is now that of the clipboard. Pasting can take place whilst 296the console is busy. 297 298The command `make pkgcheck-pkgname' will do the equivalent of `R CMD 299check', that is run all the examples in the help pages for that package. 300 301unlink can now handle wildcards and a vector argument of length more than 302one. 303 304The inverse hyperbolic tangent functions asinh acosh atanh are now 305available in this version. 306 307 308rw0640 309====== 310 311R-0.64 uses platform-independent code for file handling. Files are 312displayed under a pager in a separate window rather than in the 313console. 314 315Environment variables can be set as NAME=value on the command line, 316including in a short-cut. 317 318Content of the pager and of the Rgui's console can be printed 319using File | Print. 320 321The help, latex and example files can be stored in zip files to save 322space; this is used for the base package. 323 324The menus are enabled/disabled and check-marked correctly under NT. 325We hope to have solved the 'rw0633 font dimension problem' shown 326under some NT versions. 327 328read.fwf works if you have Perl installed. 329 330help(, offline=TRUE) will work if you have latex installed and 331customize RHOME/bin/helpPRINT.bat 332 333The sockets code is compiled in, but we have not tested it. 334 335system() has new arguments `invisible' and `minimized'. 336 337 338rw0633 339====== 340 341The beginnings of a FAQ (RHOME/rw-faq). 342 343Programs can be launched from all shells: the full path to the 344executable is not needed. 345 346Configurable fonts in the graphics devices by the file Rdevga. 347 348Workspaces are saved in XDR format, and so can be shared with most 349Unix implementations of R. 350 351Printer and metafile graphics devices (?win.print and ?win.metafile). 352 353Consistent handling of start directory for dialogs and the working 354directory across versions of Windows. 355 356An improved and enhanced system() function (?system and ?shell). 357 358Windows-specific help files where necessary. 359 360Better support for ESS. 361 362Better support for the installation of pre-compiled packages 363(?link.html.help) 364 365 366rw0632 367====== 368 369The NT copy to the clipboard bug has been fixed. 370 371Help files use latin1 encoding (but, to see the difference, 372you must use a latin1 capable font; for this reason, now, as packed, 373the R console uses "Courier New"; if you don't like it, edit etc/Rconsole). 374 375 376rw0631 377====== 378 379There are two executables, Rgui.exe and Rterm.exe. 380 381NEW FEATURES 382 383Will run from NT command line. 384 385No `tricks' are needed for animated graphics. 386 387The windows are much more responsive. 388 389R commands can be interrupted by Esc. 390 391Rterm allows batch mode operation and can also be run in 392inferior-R-mode under NTEmacs. 393 394There is a history mechanism for graphics plots. 395 396Graphics can be copied to the clipboard. 397 398Commands history is saved between session (only by Rgui.exe). 399 400Saved images and user profile are called .RData and .Rprofile as under Unix 401(before they were RData and Rprofile). 402 403 404rw0630 405====== 406 407- Minor adjustment to reflect changes in R-0.63.0 (options, example,...) 408 409- Fixed a couple of minor bugs in the graphics device. 410 411- More control keys (some Emacs-like (crtl+a, crtl+e, crtl+k), and, by 412popular demand, crtl+c and crtl-v for copy and paste); take a look at 413the help/console menuitem. 414 415- Added support for Cygwin B20 (target remains Mingw32,i.e, no Unix 416emulation layer) 417 418- Access of global variables in R.exe from a dll should work (all the 419horrible name-mangling needed by `gnuwin32' - `var' in R.exe becames 420`*__imp_var' in a dll - is done automatically). 421 422 423rw0624 424====== 425 426New features: 427 428- The console can be configured (font, colours, dimensions). No fancy 429dialog (yet), but look at the rw0624/etc/Rconsole file. 430 431- help.start() now is implemented. Of course, you need the html 432documentation. 433 434Bugs fixed (I hope): 435 436- Alt+Gr problems on some European keyboards. 437 438- Focus is 'always' given back to the console. 439 440- Filters in the dialogs which ask a file-name. 441 442- round(..) now works as documented. 443 444- Some small modifications to the graphic device (position of text and 445clipping of lines was sometimes not exact). In addition, I changed the 446font to helvetica (for better consistency with the X11 device). 447 448 449rw0623 450====== 451 452A. News (with respect to rw0613) 453-------------------------------- 454 455(a) I rewrote the console using a portable toolkit (GraphApp, see 456http://www.cs.usyd.edu.au/~loki/graphapp). Now, output is buffered 457until some input is required. In addition, there are some command 458history support. For a mini help on the new console, use the 459help/Console menuitem. 460 461(b) I also rewrote the graphics device using GraphApp. Apart for the 462redraw (which seems faster) the GraphApp device is +/- equal to the 463one that you find in RJune. With respect to rw0613 the major 464improvements are: (i) it is a R0.62.x device,i.e., it supports 465multiple instances, resizing, copy,...(look to the dev.xxx functions); 466(ii) it supports plotting math expression; (iii) there is a new item 467in the menu which let to save the contents of the active device as a 468gif file; (ii) arbitrary line patterns in any width are supported. 469 470(c) Now, edit makes use of an external editor (the default one is 471notepad), i.e., it works as under Unix. 472 473(d) date() now works. In addition, proc.time(), and so 474system.time(..), works (but don't expect too much, you will get only 475the elapsed time). 476 477(e) IEEE math (Inf, Nan,..). 478 479(f) I used the GNU regex library. Hence all the 480code is GPL'ed. 481 482B. The new menubar 483------------------ 484The menu bar contains the following item: 485 486File 487 488Source R Code -> ask for a filename and then send to the 489interpreter a source(filename) command. 490 491Load Image -> ask for a filename and then send to the 492interpreter a load(filename) command. 493 494Save Image -> ask for a filename and then send to the 495interpreter a save.image(filename) command. 496 497Edit 498 499Copy Paste Copy and Paste Select All 500 501Misc 502 503Kill current computation 504 505List objects -> send to the interpreter a ls() command 506 507Remove all objects -> ask for confirmation and then send to 508the interpreter a rm(list=ls()) command 509 510Graphics save as Postscript -> ask for a filename and then send to the 511interpreter a dev.print(...) command 512 513save as gif -> ask for a filename (extension must be 514.gif) and then save the current plot as gif 515 516Help 517 518Console -> mini help on the console 519 520R language -> ask for a topic and then send to the interpreter a 521help(topic) command 522 523Apropos -> ask for a topic and then send to the interpreter a 524apropos(topic) command 525 526About 527 528Observe that some of the menu items just send to the interpreter a 529command. This means that these items are disabled when the interpreter 530is waiting for the completion of a previous command,i..e, when you 531have the ''continuation'' prompt. On the other end, under normal 532editing (prompt='>'), since the current line is saved and then 533restored you can, for example, type part of a command, ask for some 534help, and then complete your command. 535 536C. Printing 537----------- 538To avoid questions: printing is not directly supported (yet). 539 540To print the content of the console you must: 541a) select the text; 542b) copy it to the clipboard; 543c) paste it in some word processor or editor which can print. 544 545To obtain a good copy of your graphs you can: 546a) save it as postscript and then print on a ps printer (or play with 547it using ghostscript); 548b) save it as a gif and then print it using one of the many programs 549which support this format (image manipulation programs, word processors, 550internet browsers,...). 551 552If you give the focus to a graphic window, you can also copy it to 553the clipboard using the alt+print keys. But this is the standard 554Windows command and you will get also the window's decoration. So 555this is useful only to get a "draft" copy of the graph. [however, I 556find quite effective to open a word processor in which to paste 557command, console output and graphs. Indeed this is the way I ask my 558students to work (of course, they must also write comments!)]. 559 560[...] 561 562H. Bugs (known) and misc. observations. 563--------------------------------------- 564(a) As always, the English of this README. 565 566(b) de() doesn't work anymore. If someone needs it, I can try to include 567the old one (or try to write a portable version of it using GraphApp). 568 569(c) edit(...) doesn't work properly under Win3.1/Win32s. 570 571(d) system(...) is quite limited (popen under MsWindows is a 572nightmare). 573 574(d) To use this version under Win32s you need a recent version of 575Win32s (I have only tested with the last one that can be found at 576ftp://ftp.microsoft.com). 577 578(e) Only the mouse can be used to select the text in the console. 579