4 The ESS Developers proudly announce the release of ESS
8 Emacs Speaks Statistics (ESS) provides an intelligent, consistent
9 interface between the user and the software. ESS interfaces with
10 S-PLUS, R, SAS, BUGS and other statistical analysis packages under the
11 Unix, Microsoft Windows, and Apple Mac OS operating systems. ESS is a
12 package for the GNU Emacs and XEmacs text editors whose features ESS
13 uses to streamline the creation and use of statistical software. ESS
14 knows the syntax and grammar of statistical analysis packages and
15 provides consistent display and editing features based on that
16 knowledge. ESS assists in interactive and batch execution of
17 statements written in these statistical analysis languages.
19 ESS is freely available under the GNU General Public License (GPL).
20 Please read the file COPYING which comes with the distribution, for
21 more information about the license. For more detailed information,
22 please read the README files that come with ESS.
24 Getting the Latest Version
25 ==========================
27 The latest version of ESS is always available on the web at: ESS web
28 page (http://ess.r-project.org) or StatLib
29 (http://lib.stat.cmu.edu/general/ESS/)
31 The latest development version of ESS is available via
32 `https://svn.R-project.org/ESS/', the ESS Subversion repository. If
33 you have a Subversion client (see `http://subversion.tigris.org/'), you
34 can download the sources using:
35 % svn checkout https://svn.r-project.org/ESS/trunk PATH
37 which will put the ESS files into directory PATH. Later, within that
38 directory, `svn update' will bring that directory up to date.
39 Windows-based tools such as TortoiseSVN are also available for
40 downloading the files. Alternatively, you can browse the sources with a
41 web browser at: ESS SVN site (https://svn.r-project.org/ESS/trunk).
42 However, please use a subversion client instead to minimize the load
45 If you remove other versions of ESS from your emacs load-path, you
46 can then use the development version by adding the following to .emacs:
48 (load "/path/to/ess-svn/lisp/ess-site.el")
50 Note that https is required, and that the SSL certificate for the
51 Subversion server of the R project is
53 Certificate information:
54 - Hostname: svn.r-project.org
55 - Valid: from Jul 16 08:10:01 2004 GMT until Jul 14 08:10:01 2014 GMT
56 - Issuer: Department of Mathematics, ETH Zurich, Zurich, Switzerland, CH
57 - Fingerprint: c9:5d:eb:f9:f2:56:d1:04:ba:44:61:f8:64:6b:d9:33:3f:93:6e:ad
59 (currently, there is no "trusted certificate"). You can accept this
60 certificate permanently and will not be asked about it anymore.
65 * Languages Supported:
66 * S family (S 3/4, S-PLUS 3.x/4.x/5.x/6.x, and R)
74 * XLispStat including Arc and ViSta
76 * Editing source code (S family, SAS, BUGS, XLispStat)
77 * Syntactic indentation and highlighting of source code
79 * Partial evaluation of code
81 * Loading and error-checking of code
83 * Source code revision maintenance
85 * Batch execution (SAS, BUGS)
87 * Use of imenu to provide links to appropriate functions
89 * Interacting with the process (S family, SAS, XLispStat)
90 * Command-line editing
92 * Searchable Command history
94 * Command-line completion of S family object names and file
97 * Quick access to object lists and search lists
99 * Transcript recording
101 * Interface to the help system
103 * Transcript manipulation (S family, XLispStat)
104 * Recording and saving transcript files
106 * Manipulating and editing saved transcripts
108 * Re-evaluating commands from transcript files
110 * Help File Editing (R)
111 * Syntactic indentation and highlighting of source code.
113 * Sending Examples to running ESS process.
120 ESS has been tested with
122 * S-PLUS 3.3, 3.4, 4.5, 2000, 5.0, 5.1, 6.0, 6.1, 6.2
136 on the following platforms
140 * Solaris/SunOS (all)
142 * Microsoft Windows 95/98/NT/2000/XP (SPLUS 4.5/2000/6.*, R, SAS and
145 * Apple Mac OS (SAS for OS 9 and X11 R for OS X)
147 with the following versions of emacs
149 * GNU Emacs 20.3, 20.4, 20.5, 20.6, 20.7, 21.1, 21.3
151 * XEmacs 21.0, 21.1.13-14, 21.4.0-8, 21.4.9-13/21.5.17(1),
152 21.4.14-15; as of June 2004, ESS does not work with XEmacs Betas
155 * GNU Emacs <20.3 and XEmacs <21.0(2)
157 ---------- Footnotes ----------
159 (1) requires the files.el patch to revert-buffer for the Local
160 Variables updating problem
162 (2) These releases of emacs are no longer supported, so an upgrade
163 is recommended if you plan to use ESS. If you have GNU Emacs 19.29,
164 see *Note Unix installation::. Also, note that the `custom' library
165 bundled with Emacs 19.34 is too _old_, its API is incompatible with the
166 `new custom' bundled with recent Emacsen. The `new custom' for Emacs
167 19.34 is available for download here
168 (ftp://ftp.dina.kvl.dk/pub/Staff/Per.Abrahamsen/custom/custom-1.9962.tar.gz).
173 Versions 5.2.x are meant to be release-quality versions. While some
174 new features are being introduced, we are cleaning up and improving the
175 interface. We know about some remaining documentation inconsistencies.
176 Patches or suggested fixes with bug reports are much appreciated!
181 There is a mailing list for discussions and announcements relating to
182 ESS. Join the list by sending an e-mail with "subscribe ess-help" (or
183 "help") in the body to <ess-help-request@stat.math.ethz.ch>;
184 contributions to the list may be mailed to
185 <ess-help@stat.math.ethz.ch>. Rest assured, this is a fairly
186 low-volume mailing list.
188 The purposes of the mailing list include
190 * helping users of ESS to get along with it.
192 * discussing aspects of using ESS on Emacs and XEmacs.
194 * suggestions for improvements.
196 * announcements of new releases of ESS.
198 * posting small patches to ESS.
203 Please send bug reports, suggestions etc. to
205 <ESS-bugs@stat.math.ethz.ch>
207 The easiest way to do this is within Emacs by typing
209 `M-x ess-submit-bug-report'
211 This also gives the maintainers valuable information about your
212 installation which may help us to identify or even fix the bug.
214 If Emacs reports an error, backtraces can help us debug the problem.
215 Type "M-x set-variable RET debug-on-error RET t RET". Then run the
216 command that causes the error and you should see a *Backtrace* buffer
217 containing debug information; send us that buffer.
219 Note that comments, suggestions, words of praise and large cash
220 donations are also more than welcome.
225 * A.J. Rossini (mailto:rossini@blindglobe.net)
227 * Richard M. Heiberger (mailto:rmh@temple.edu)
229 * Kurt Hornik (mailto:hornik@ci.tuwien.ac.at)
231 * Martin Maechler (mailto:maechler@stat.math.ethz.ch)
233 * Rodney A. Sparapani (mailto:rsparapa@mcw.edu)
235 * Stephen Eglen (mailto:stephen@gnu.org)
240 ESS is free software; you can redistribute it and/or modify it under
241 the terms of the GNU General Public License as published by the Free
242 Software Foundation; either version 2, or (at your option) any later
245 ESS is distributed in the hope that it will be useful, but WITHOUT
246 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
247 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
248 in the file COPYING in the same directory as this file for more details.
253 Changes/New Features in 5.2.3:
254 * ESS[SAS] - When you are working with EBCDIC files on an ASCII
255 platform, .log NOTEs may display as gibberish since the EBCDIC
256 characters are not converted to ASCII prior to their display. So,
257 the function ess-ebcdic-to-ascii-search-and-replace is provided for
258 convenience and is bound to C-F11. This function requires the dd
259 command so Windows users will need to have Cygwin or something
262 Changes/New Features in 5.2.3:
263 * ESS: When new inferior ESS processes are created, by default they
264 will replace the current buffer (this restores behavior from pre
265 5.2.0). If you wish new ESS processes to start in another window
266 of the current frame, set inferior-ess-same-window to nil.
268 * New variables inferior-Splus-args and inferior-R-args provide a
269 way to pass command line arguments to starting S and R processes.
271 Changes/New Features in 5.2.2:
272 * bug-fixes for 5.2.1 (require 'executable), html docs, etc.
274 * ess-lisp-directory/../doc/info added to Info-directory-list if
275 ess-info not found by info
277 * ESS[R]: If you have other versions of R on your exec-path, such as
278 "R-1.8.1" with Unix or "rw1081" with Windows, ESS will find them
279 and create appropriate functions, such as M-x R-1.8.1 or M-x
280 rw1081, for calling them. By default only Unix programs beginning
281 "R-1" and "R-2" and Windows programs parallel to the version of R
282 in your exec-path will be found, but see ess-r-versions and
283 ess-rterm-versions for ways to find other versions of R.
285 * ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and
286 "rw1081" on Windows, are added to the "ESS / Start Process /
289 * ESS[S]: If you have other versions of S-Plus on your Windows
290 computer, such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and
291 create appropriate functions, such as M-x splus61, for calling the
292 console version (Sqpe) inside an emacs buffer. By default only
293 programs installed in the default location will be found, but see
294 ess-SHOME-versions for ways to find other versions of S-Plus.
296 * ESS[S]: Other versions of Sqpe on Windows, such as "splus61", are
297 added to the "ESS / Start Process / Other" menu.
299 * ESS[R]: (bug fix) ess-quit (bound to C-c C-q) should now quit the
300 inferior R process, when issued from either the inferior buffer,
303 Changes/New Features in 5.2.1:
304 * ESS[S] (R and S-plus): now have toolbar support with icons to
305 evaluate code in the inferior process or to switch there. This
306 code is experimental and likely to change as XEmacs/Emacs issues
307 get resolved. The toolbar should be enabled if your Emacs displays
308 images, but can be disabled with the variable ess-use-toolbar.
309 Thanks to David Smith from Insightful for the S-plus logo.
311 * ESS[SAS]: ess-sas-graph-view (F12) enhanced; you can specify
312 external file viewers for each graphics file type via the alist
313 ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled by
314 image-mode on XEmacs, if available, otherwise by graphics
317 Changes/New Features in 5.2.0:
318 * ESS[BUGS]: new info documentation! now supports interactive
319 processing thanks to Aki Vehtari (mailto:Aki.Vehtari@hut.fi); new
320 architecture-independent unix support as well as support for BUGS
323 * ESS[SAS]: convert .log to .sas with ess-sas-transcript; info
324 documentation improved; Local Variable bug fixes; SAS/IML
325 statements/functions now highlighted; files edited remotely by
326 ange-ftp/EFS/tramp are recognized and pressing SUBMIT opens a
327 buffer on the remote host via the local variable
328 ess-sas-shell-buffer-remote-init which defaults to "ssh"; changed
329 the definition of the variable ess-sas-edit-keys-toggle to boolean
330 rather than 0/1; added the function ess-electric-run-semicolon
331 which automatically reverse indents lines containing only "run;";
332 C-F1 creates MS RTF portrait from the current buffer; C-F2 creates
333 MS RTF landscape from the current buffer; C-F9 opens a SAS DATASET
334 with PROC INSIGHT rather than PROC FSVIEW; C-F10 kills all buffers
335 associated with .sas program; "inferior" aliases for SAS batch:
336 C-c C-r for submit region, C-c C-b for submit buffer, C-c C-x for
337 goto .log; C-c C-y for goto .lst
339 * ESS[S]: Pressing underscore ("_") once inserts " <- " (as before);
340 pressing underscore twice inserts a literal underscore. To stop
341 this smart behaviour, add "(ess-smart-underscore nil)" to your
342 .emacs after ess-site has been loaded;
343 ess-dump-filename-template-proto (new name!) now can be customized
344 successfully (for S language dialects); Support for Imenu has been
345 improved; set ess-imenu-use-S to non-nil to get an "Imenu-S" item
346 on your menubar; ess-help: Now using nice underlines (instead of
349 * ESS[R]: After (require 'essa-r), M-x ess-r-var allows to load
350 numbers from any Emacs buffer into an existing *R* process; M-x
351 ess-rdired gives a "directory editor" of R objects; fixed
352 ess-retr-lastvalue-command, i.e. .Last.value bug (thanks to David
355 * ESS: Support for creating new window frames has been added to ESS.
356 Inferior ESS processes can be created in dedicated frames by
357 setting inferior-ess-own-frame to t. ESS help buffers can also
358 open in new frames; see the documentation for ess-help-own-frame
359 for details. (Thanks to Kevin Rodgers for contributing code.)
361 Changes/New Features in 5.1.24:
362 * The version number is now correct even inside ESS/Emacs
364 Changes/New Features in 5.1.23:
365 * Minor more Makefile clean up.
367 Changes/New Features in 5.1.22:
368 * Besides info documentation, PDF and HTML documentation are also
369 provided (instead of built using "make") and available on the web
370 as well; see ESS web page (http://ess.r-project.org/) and StatLib
371 (http://lib.stat.cmu.edu/general/ESS/doc)
373 * Now that info documentation is available, the README.* files are
374 no longer supported. However, they are still distributed for what
377 * ESS is now an XEmacs package! See XEmacs Installation HOWTO
378 (http://www.xemacs.org/Install/index.html) for details
379 (specifically, items 10-15).
381 * ESS[SAS]: more user-friendly enhancements for remote SAS batch
382 jobs with Kermit file transfers (LOG and OUTPUT function key
383 features now supported). Multiple shells now supported so you can
384 run SAS on different computers from different buffers by setting
385 the buffer-local variable ess-sas-shell-buffer to unique buffer
388 * Major re-vamping of Makefile/Makeconf.
390 Changes/New Features in 5.1.21:
391 * ESS[SAS]: info documentation now available!, see ESS->Help for
392 SAS; F12 opens GSASFILE nearest point for viewing either within
393 emacs, when available, or via an external viewer; more syntax
394 highlighting keywords; more enhancements for remote SAS batch jobs
395 with Kermit; new framework for remote SAS interactive jobs, see
398 * ESS[S]: info documentation now available!, see ESS->Help for the S
401 * Makefile: tag now independent of rel; info files made by
402 doc/Makefile and installed in new info sub-directory
404 Changes/New Features in 5.1.20:
405 * New `options()$STERM' in the S dialects (S, S-Plus, R). The S
406 program can determine the environment in which it is currently
407 running. ESS sets the option to `iESS' or `ddeESS' when it starts
408 an S language process. We recommend other specific values for S
409 language processes that ESS does not start.
411 * New `ess-mouse-me' function, assigned to S-mouse-3 by default.
412 User may click on a word or region and then choose from the menu
413 to display the item, or a summary, or a plot, etc. This feature
414 is still under development.
416 * GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS),
417 (some from Stephen Eglen).
419 * XEmacs 21.x is now supported (fixed w32-using-nt bug)
421 * XEmacs on Win (NT) is better supported.
423 * Workaround for bug in Sqpe+6 (S-PLUS 6 for Win).
425 * should now work even when imenu is not available (for old
428 * ESS[SAS]: XEmacs-Imenu fix; C-TAB is globalized along with your
429 function-key definitions, if specified; you can specify your SAS
430 library definitions outside of autoexec.sas for ess-sas-data-view
431 with SAS code placed in the variable ess-sas-data-view-libname,
432 also the dataset name is defaulted to the nearest permanent dataset
433 to point; Speedbar support now works for permanent datasets, please
434 ignore first./last.; new font-locking is now the default with more
435 improvements for font-locking PROCs, macro statements, * ; and %* ;
436 comments; you can toggle sas-log-mode with F10 which will font-lock
437 your .log (if it isn't too big); submit remote .sas files accessed
438 with ange-ftp, EFS or Tramp (Kermit is experimental) by setting
439 ess-sas-submit-method to 'sh; ess-sas-submit-command and
440 ess-sas-submit-command-options are buffer-local so you can have
441 local file variable sections at the end of your .sas files to
442 request different executables or specify special options and the
443 local file variables are re-read at submit instead of only at file
444 open so that if you make a change it is picked up immediately;
446 * ESS[BUGS]: font-lock with `in' fixed.
448 * for STATA: font-lock bug fixed.
450 * for Rd mode: C-c C-v and `switch-process' in menu. further, C-c
451 C-f prefix (Rd-font) for inserting or surrounding a word by things
452 such as \code{.}, \code{\link{.}}, \emph{.} etc.
454 * new functions (ess-directory-function) and (ess-narrow-to-defun)
455 ess-directory <-> default-directory logic (Jeff Mincy).
457 * Re-organized Makefile and fixed a few bugs.
459 Changes/New Features in 5.1.19:
460 * S+6 now supported (Tony Rossini (Unix) and Rich Heiberger
463 * New BUGS support through ESS[BUGS] mode (Rodney Sparapani)
464 Templates assist you in writing .bug and .cmd code (.cmd and .log
465 are replaced by .bmd and .bog to avoid emacs extension collisions).
466 Substitution" parameters facilitate "automagic" generation of
467 data...in" and "init...in" filenames, "const N=" from your data
468 file and "monitor()/stats()" commands. Activated by pressing F12.
470 * Fixes for `ess-smart-underscore' SAS breakage (Rich Heiberger)
472 * You can change between PC and Unix, local and global SAS
473 function-key definitions interactively (Rich Heiberger)
475 * C-Submit a highlighted region to SAS batch (Rodney Sparapani)
477 * New and improved SAS syntax highlighting (Rodney Sparapani) To get
478 the new functionality, set ess-sas-run-make-regexp to nil. Also
479 available in .log files via F10.
481 * Open a permanent SAS dataset for viewing via F9 (Rodney Sparapani)
482 You must have the library defined in autoexec.sas for it to work.
484 * User-friendly defaults for `sas-program',
485 `ess-sas-batch-pre-command' and `ess-sas-batch-post-command' as
486 well Customize support for these and other ESS[SAS] variables
489 * `ess-sas-suffix-2' now defaults to .dat via F11 (Rodney Sparapani)
491 * Emacs/XEmacs, Unix/Windows issues collectively handled in
494 * defadvice solves problem of missing *ESS* (thanks to Jeff Mincy)
496 * Improved manual a bit by including things that were only in
499 Changes/New Features in 5.1.18:
500 * New `ess-smart-underscore' function, now assigned to "_" by
501 default. Inserts `ess-S-assign' (customizable " <- "), unless
502 inside string and comments where plain "_" is used instead. (MM)
504 * Fixes for longstanding interactive SAS breakage (RMH)
506 Changes/New Features in 5.1.17:
507 * Documentation for Windows Installation (Rich Heiberger)
509 * removal of ess-vars, finalization of customize support (in the
510 sense that there is no more use of ess-vars, but that we need to
511 fix ess-cust) (AJ Rossini)
513 * Many small (and large) fixes/contributions (MMaechler)
515 * addition of the "S-equal" variable and provide M-x ess-add-MM-keys
516 a way to remap "_" to `ess-S-assign', typically " <- ", but
517 customizable. (MMaechler)
519 Changes/New Features in 5.1.16:
524 Changes/New Features in 5.1.15:
527 Changes/New Features in 5.1.14:
528 * Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani)
530 * Customize support (for most Emacsen which support it) (AJRossini)
532 * ARC and ViSta support out of the box, and fixes for XLispStat
535 Changes/New Features in 5.1.13:
536 * Version numbering finally all depending on the ./VERSION file,
537 thanks to Martin Maechler.
539 * Yet more fixes to SAS mode, thanks to Rich Heiberger.
541 Changes/New Features in 5.1.12:
542 * Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables,
543 Chuck Taylor, and others.
545 * More fixes to SAS mode, thanks to Rodney Sparapani and Rich
548 Changes/New Features in 5.1.11:
549 * More fixes to Stata mode, thanks to Brendan Halpin
550 (mailto:brendan@essex.ac.uk).
552 * fixed bugs in ESS-elsewhere, thanks to many testers
554 * README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks
555 to David Brahm (mailto:brahm@alum.mit.edu).
557 * Fixes to SAS mode, thanks to Rodney Sparapani
559 Changes/New Features in 5.1.10:
560 * More fixes to Stata mode
562 * primitive generic version of ESS-elsewhere
564 * Small fixes to SAS/Stata.
566 Changes/New Features in 5.1.9:
569 * Literate Data Analysis using Noweb works
571 Changes/New Features in 5.1.8:
574 * R documentation mode defaults changed
576 Changes/New Features in 5.1.2:
577 * able to use inferior iESS mode to communicate directly with a
578 running S-Plus 4.x process using the Microsoft DDE protocol. We
579 use the familiar (from Unix ESS) C-c C-n and related key sequences
580 to send lines from the S-mode file to the inferior S process. We
581 continue to edit S input files in ESS[S] mode and transcripts of
582 previous S sessions in ESS Transcript mode. All three modes know
583 the S language, syntax, and indentation patterns and provide the
584 syntactic highlighting that eases the programming tasks.