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 released version of ESS is always available on the web at:
28 ESS web 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.4:
254 * The documentation now includes an overview of how to use the emacs
255 TAGS facility for S functions. (The distribution also used to
256 contain a directory etc/other/Tags where a ~1990 version of
257 etags.c was distributed; this is no longer relevant and so has
260 * ESS[SAS] - When you are working with EBCDIC files on an ASCII
261 platform, .log NOTEs may display as gibberish since the EBCDIC
262 characters are not converted to ASCII prior to their display. So,
263 the function ess-ebcdic-to-ascii-search-and-replace is provided for
264 convenience and is bound to C-F11. This function requires the dd
265 command so Windows users will need to have Cygwin or something
268 * ESS: Completion of object names is now always done dynamically
269 rather than allowing the option of using a pre-computed database
270 (by `ess-create-object-name-db') since modern computers seem fast
271 enough for dynamic completion. (We expect few users, if any, have
272 been using the pre-computed database method.)
274 * ESS: object completion in iESS buffers running on Windows was very
275 slow (for GNU Emacs, but not Xemacs) and has now been fixed.
276 Further, it was more or less broken for all versions of S-plus 6.x,
277 and has been fixed to work everywhere but with the Windows' GUI of
278 S-plus. The list of objects now shows unique names also when an
279 object appears more than once in the search path.
281 * ESS[R]: Completion of object names now also includes those
284 Changes/New Features in 5.2.3:
285 * ESS: When new inferior ESS processes are created, by default they
286 will replace the current buffer (this restores behavior from pre
287 5.2.0). If you wish new ESS processes to start in another window
288 of the current frame, set inferior-ess-same-window to nil.
290 * New variables inferior-Splus-args and inferior-R-args provide a
291 way to pass command line arguments to starting S and R processes.
293 Changes/New Features in 5.2.2:
294 * bug-fixes for 5.2.1 (require 'executable), html docs, etc.
296 * ess-lisp-directory/../doc/info added to Info-directory-list if
297 ess-info not found by info
299 * ESS[R]: If you have other versions of R on your exec-path, such as
300 "R-1.8.1" with Unix or "rw1081" with Windows, ESS will find them
301 and create appropriate functions, such as M-x R-1.8.1 or M-x
302 rw1081, for calling them. By default only Unix programs beginning
303 "R-1" and "R-2" and Windows programs parallel to the version of R
304 in your exec-path will be found, but see ess-r-versions and
305 ess-rterm-versions for ways to find other versions of R.
307 * ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and
308 "rw1081" on Windows, are added to the "ESS / Start Process /
311 * ESS[S]: If you have other versions of S-Plus on your Windows
312 computer, such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and
313 create appropriate functions, such as M-x splus61, for calling the
314 console version (Sqpe) inside an emacs buffer. By default only
315 programs installed in the default location will be found, but see
316 ess-SHOME-versions for ways to find other versions of S-Plus.
318 * ESS[S]: Other versions of Sqpe on Windows, such as "splus61", are
319 added to the "ESS / Start Process / Other" menu.
321 * ESS[R]: (bug fix) ess-quit (bound to C-c C-q) should now quit the
322 inferior R process, when issued from either the inferior buffer,
325 Changes/New Features in 5.2.1:
326 * ESS[S] (R and S-plus): now have toolbar support with icons to
327 evaluate code in the inferior process or to switch there. This
328 code is experimental and likely to change as XEmacs/Emacs issues
329 get resolved. The toolbar should be enabled if your Emacs displays
330 images, but can be disabled with the variable ess-use-toolbar.
331 Thanks to David Smith from Insightful for the S-plus logo.
333 * ESS[SAS]: ess-sas-graph-view (F12) enhanced; you can specify
334 external file viewers for each graphics file type via the alist
335 ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled by
336 image-mode on XEmacs, if available, otherwise by graphics
339 Changes/New Features in 5.2.0:
340 * ESS[BUGS]: new info documentation! now supports interactive
341 processing thanks to Aki Vehtari (mailto:Aki.Vehtari@hut.fi); new
342 architecture-independent unix support as well as support for BUGS
345 * ESS[SAS]: convert .log to .sas with ess-sas-transcript; info
346 documentation improved; Local Variable bug fixes; SAS/IML
347 statements/functions now highlighted; files edited remotely by
348 ange-ftp/EFS/tramp are recognized and pressing SUBMIT opens a
349 buffer on the remote host via the local variable
350 ess-sas-shell-buffer-remote-init which defaults to "ssh"; changed
351 the definition of the variable ess-sas-edit-keys-toggle to boolean
352 rather than 0/1; added the function ess-electric-run-semicolon
353 which automatically reverse indents lines containing only "run;";
354 C-F1 creates MS RTF portrait from the current buffer; C-F2 creates
355 MS RTF landscape from the current buffer; C-F9 opens a SAS DATASET
356 with PROC INSIGHT rather than PROC FSVIEW; C-F10 kills all buffers
357 associated with .sas program; "inferior" aliases for SAS batch:
358 C-c C-r for submit region, C-c C-b for submit buffer, C-c C-x for
359 goto .log; C-c C-y for goto .lst
361 * ESS[S]: Pressing underscore ("_") once inserts " <- " (as before);
362 pressing underscore twice inserts a literal underscore. To stop
363 this smart behaviour, add "(ess-smart-underscore nil)" to your
364 .emacs after ess-site has been loaded;
365 ess-dump-filename-template-proto (new name!) now can be customized
366 successfully (for S language dialects); Support for Imenu has been
367 improved; set ess-imenu-use-S to non-nil to get an "Imenu-S" item
368 on your menubar; ess-help: Now using nice underlines (instead of
371 * ESS[R]: After (require 'essa-r), M-x ess-r-var allows to load
372 numbers from any Emacs buffer into an existing *R* process; M-x
373 ess-rdired gives a "directory editor" of R objects; fixed
374 ess-retr-lastvalue-command, i.e. .Last.value bug (thanks to David
377 * ESS: Support for creating new window frames has been added to ESS.
378 Inferior ESS processes can be created in dedicated frames by
379 setting inferior-ess-own-frame to t. ESS help buffers can also
380 open in new frames; see the documentation for ess-help-own-frame
381 for details. (Thanks to Kevin Rodgers for contributing code.)
383 Changes/New Features in 5.1.24:
384 * The version number is now correct even inside ESS/Emacs
386 Changes/New Features in 5.1.23:
387 * Minor more Makefile clean up.
389 Changes/New Features in 5.1.22:
390 * Besides info documentation, PDF and HTML documentation are also
391 provided (instead of built using "make") and available on the web
392 as well; see ESS web page (http://ess.r-project.org/) and StatLib
393 (http://lib.stat.cmu.edu/general/ESS/doc)
395 * Now that info documentation is available, the README.* files are
396 no longer supported. However, they are still distributed for what
399 * ESS is now an XEmacs package! See XEmacs Installation HOWTO
400 (http://www.xemacs.org/Install/index.html) for details
401 (specifically, items 10-15).
403 * ESS[SAS]: more user-friendly enhancements for remote SAS batch
404 jobs with Kermit file transfers (LOG and OUTPUT function key
405 features now supported). Multiple shells now supported so you can
406 run SAS on different computers from different buffers by setting
407 the buffer-local variable ess-sas-shell-buffer to unique buffer
410 * Major re-vamping of Makefile/Makeconf.
412 Changes/New Features in 5.1.21:
413 * ESS[SAS]: info documentation now available!, see ESS->Help for
414 SAS; F12 opens GSASFILE nearest point for viewing either within
415 emacs, when available, or via an external viewer; more syntax
416 highlighting keywords; more enhancements for remote SAS batch jobs
417 with Kermit; new framework for remote SAS interactive jobs, see
420 * ESS[S]: info documentation now available!, see ESS->Help for the S
423 * Makefile: tag now independent of rel; info files made by
424 doc/Makefile and installed in new info sub-directory
426 Changes/New Features in 5.1.20:
427 * New `options()$STERM' in the S dialects (S, S-Plus, R). The S
428 program can determine the environment in which it is currently
429 running. ESS sets the option to `iESS' or `ddeESS' when it starts
430 an S language process. We recommend other specific values for S
431 language processes that ESS does not start.
433 * New `ess-mouse-me' function, assigned to S-mouse-3 by default.
434 User may click on a word or region and then choose from the menu
435 to display the item, or a summary, or a plot, etc. This feature
436 is still under development.
438 * GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS),
439 (some from Stephen Eglen).
441 * XEmacs 21.x is now supported (fixed w32-using-nt bug)
443 * XEmacs on Win (NT) is better supported.
445 * Workaround for bug in Sqpe+6 (S-PLUS 6 for Win).
447 * should now work even when imenu is not available (for old
450 * ESS[SAS]: XEmacs-Imenu fix; C-TAB is globalized along with your
451 function-key definitions, if specified; you can specify your SAS
452 library definitions outside of autoexec.sas for ess-sas-data-view
453 with SAS code placed in the variable ess-sas-data-view-libname,
454 also the dataset name is defaulted to the nearest permanent dataset
455 to point; Speedbar support now works for permanent datasets, please
456 ignore first./last.; new font-locking is now the default with more
457 improvements for font-locking PROCs, macro statements, * ; and %* ;
458 comments; you can toggle sas-log-mode with F10 which will font-lock
459 your .log (if it isn't too big); submit remote .sas files accessed
460 with ange-ftp, EFS or Tramp (Kermit is experimental) by setting
461 ess-sas-submit-method to 'sh; ess-sas-submit-command and
462 ess-sas-submit-command-options are buffer-local so you can have
463 local file variable sections at the end of your .sas files to
464 request different executables or specify special options and the
465 local file variables are re-read at submit instead of only at file
466 open so that if you make a change it is picked up immediately;
468 * ESS[BUGS]: font-lock with `in' fixed.
470 * for STATA: font-lock bug fixed.
472 * for Rd mode: C-c C-v and `switch-process' in menu. further, C-c
473 C-f prefix (Rd-font) for inserting or surrounding a word by things
474 such as \code{.}, \code{\link{.}}, \emph{.} etc.
476 * new functions (ess-directory-function) and (ess-narrow-to-defun)
477 ess-directory <-> default-directory logic (Jeff Mincy).
479 * Re-organized Makefile and fixed a few bugs.
481 Changes/New Features in 5.1.19:
482 * S+6 now supported (Tony Rossini (Unix) and Rich Heiberger
485 * New BUGS support through ESS[BUGS] mode (Rodney Sparapani)
486 Templates assist you in writing .bug and .cmd code (.cmd and .log
487 are replaced by .bmd and .bog to avoid emacs extension collisions).
488 Substitution" parameters facilitate "automagic" generation of
489 data...in" and "init...in" filenames, "const N=" from your data
490 file and "monitor()/stats()" commands. Activated by pressing F12.
492 * Fixes for `ess-smart-underscore' SAS breakage (Rich Heiberger)
494 * You can change between PC and Unix, local and global SAS
495 function-key definitions interactively (Rich Heiberger)
497 * C-Submit a highlighted region to SAS batch (Rodney Sparapani)
499 * New and improved SAS syntax highlighting (Rodney Sparapani) To get
500 the new functionality, set ess-sas-run-make-regexp to nil. Also
501 available in .log files via F10.
503 * Open a permanent SAS dataset for viewing via F9 (Rodney Sparapani)
504 You must have the library defined in autoexec.sas for it to work.
506 * User-friendly defaults for `sas-program',
507 `ess-sas-batch-pre-command' and `ess-sas-batch-post-command' as
508 well Customize support for these and other ESS[SAS] variables
511 * `ess-sas-suffix-2' now defaults to .dat via F11 (Rodney Sparapani)
513 * Emacs/XEmacs, Unix/Windows issues collectively handled in
516 * defadvice solves problem of missing *ESS* (thanks to Jeff Mincy)
518 * Improved manual a bit by including things that were only in
521 Changes/New Features in 5.1.18:
522 * New `ess-smart-underscore' function, now assigned to "_" by
523 default. Inserts `ess-S-assign' (customizable " <- "), unless
524 inside string and comments where plain "_" is used instead. (MM)
526 * Fixes for longstanding interactive SAS breakage (RMH)
528 Changes/New Features in 5.1.17:
529 * Documentation for Windows Installation (Rich Heiberger)
531 * removal of ess-vars, finalization of customize support (in the
532 sense that there is no more use of ess-vars, but that we need to
533 fix ess-cust) (AJ Rossini)
535 * Many small (and large) fixes/contributions (MMaechler)
537 * addition of the "S-equal" variable and provide M-x ess-add-MM-keys
538 a way to remap "_" to `ess-S-assign', typically " <- ", but
539 customizable. (MMaechler)
541 Changes/New Features in 5.1.16:
546 Changes/New Features in 5.1.15:
549 Changes/New Features in 5.1.14:
550 * Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani)
552 * Customize support (for most Emacsen which support it) (AJRossini)
554 * ARC and ViSta support out of the box, and fixes for XLispStat
557 Changes/New Features in 5.1.13:
558 * Version numbering finally all depending on the ./VERSION file,
559 thanks to Martin Maechler.
561 * Yet more fixes to SAS mode, thanks to Rich Heiberger.
563 Changes/New Features in 5.1.12:
564 * Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables,
565 Chuck Taylor, and others.
567 * More fixes to SAS mode, thanks to Rodney Sparapani and Rich
570 Changes/New Features in 5.1.11:
571 * More fixes to Stata mode, thanks to Brendan Halpin
572 (mailto:brendan@essex.ac.uk).
574 * fixed bugs in ESS-elsewhere, thanks to many testers
576 * README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks
577 to David Brahm (mailto:brahm@alum.mit.edu).
579 * Fixes to SAS mode, thanks to Rodney Sparapani
581 Changes/New Features in 5.1.10:
582 * More fixes to Stata mode
584 * primitive generic version of ESS-elsewhere
586 * Small fixes to SAS/Stata.
588 Changes/New Features in 5.1.9:
591 * Literate Data Analysis using Noweb works
593 Changes/New Features in 5.1.8:
596 * R documentation mode defaults changed
598 Changes/New Features in 5.1.2:
599 * able to use inferior iESS mode to communicate directly with a
600 running S-Plus 4.x process using the Microsoft DDE protocol. We
601 use the familiar (from Unix ESS) C-c C-n and related key sequences
602 to send lines from the S-mode file to the inferior S process. We
603 continue to edit S input files in ESS[S] mode and transcripts of
604 previous S sessions in ESS Transcript mode. All three modes know
605 the S language, syntax, and indentation patterns and provide the
606 syntactic highlighting that eases the programming tasks.