1 1 General Information: README
2 *****************************
4 This is the README file for the distribution of ESS version
8 ESS is a GNU Emacs and XEmacs mode for interactive statistical
9 programming and data analysis. Languages supported: the S family (S
10 3/4, S-PLUS 3/4/5/6/7, and R), SAS, XLispStat, Stata and BUGS.
11 Installation help can be found in sections for both Unix and Windows.
12 For INSTALLATION, see way below.
14 ESS grew out of the desire for bug fixes and extensions to S-mode and
15 SAS-mode as well as a consistent union of their features in one package.
17 The current development team is led by Martin Maechler since August
18 2004. Former project leader A.J. (Tony) Rossini
19 (<rossini@blindglobe.net>) did the initial port to XEmacs and has been
20 the primary coder. Martin Maechler (<maechler@stat.math.ethz.ch>) and
21 Kurt Hornik (<Kurt.Hornik@R-project.org>) have assisted with S-PLUS,
22 S4, R, and XLispStat. Stephen Eglen (<stephen@gnu.org>) has worked
23 mostly on R support. Richard M. Heiberger (<rmh@temple.edu>) has
24 assisted with S-PLUS and S4 development for Windows. Richard and
25 Rodney A. Sparapani (<rsparapa@mcw.edu>) have done much of the work
26 implementing interactive SAS (iESS[SAS]) and batch SAS (ESS[SAS])
29 We are grateful to the previous developers of S-mode (Doug Bates, Ed
30 Kademan, Frank Ritter, David M. Smith), SAS-mode (Tom Cook) and
31 Stata-mode (Thomas Lumley).
36 ESS is free software; you can redistribute it and/or modify it under
37 the terms of the GNU General Public License as published by the Free
38 Software Foundation; either version 2, or (at your option) any later
41 ESS is distributed in the hope that it will be useful, but WITHOUT
42 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
43 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
44 in the file COPYING in the same directory as this file for more details.
46 1.2 Starting an ESS process
47 ===========================
49 To start an S session on Unix or on Windows when you use the Cygwin
50 bash shell, simply type `M-x S RET'.
52 To start an S session on Windows when you use the MSDOS prompt
53 shell, simply type `M-x S+6-msdos RET'.
58 Changes/New Features in 5.3.3:
59 * ESS[S] fix buglet (5.3.2 only) which left command prompt in
60 "execute buffer" and hence help files.
62 * new customizable variable `ess-display-buffer-reuse-frames' set to
63 true (which changes default behavior) such that execution or help
66 Changes/New Features in 5.3.2:
67 * Classic BUGS now supported by `(require 'essd-bugs)' with ESS[BUGS]
68 and JAGS by `(require 'essd-jags)' with ESS[JAGS]. But,
69 only one of them can be used at a time since they don't play
70 nice together. Also, `C-c C-c' is now bound to the function
71 `ess-bugs-next-action' (`F12' has been retired). And
72 finally, note that `essl-bug.el' is deprecated and the
73 replacement is `essl-bugs.el'.
75 * ESS[R] Improved some of the "Sweave-make" functions (yet scarcely
76 documented) in `ess-swv.el'.
78 * ESS[S] No longer mess with .Last.value (nor in other "languages").
80 Changes/New Features in 5.3.1:
81 * See the docs for 2 ways to install ESS for XEmacs
82 1. by uncommenting the XEmacs part of Section 1 of
83 `Makeconf' and performing `make install'
85 2. by unpacking either `ess-5.3.1.tgz' or
87 `PREFIX/lib/xemacs/site-packages' on unix or
88 `PREFIX\XEmacs\site-packages' on windows
90 * ESS[R]: fixed bugs so that Rterm.exe can be found by XEmacs
92 * ESS[S]: `ess-toggle-S-assign-key' is slightly changed; in
93 particular, the default `ess-assign-key' is now `C-x ='.
95 * ESS[R]: `M-x R-site-search' is a new (slightly experimental)
96 utility similar to R's `RSiteSearch(..)' but with the advantage of
97 using Emacs' preferred browser, see `browse-url-browser-function'
99 Changes/New Features in 5.3.0:
100 * ESS[BUGS]: sanely re-format statistical output, `.bog', from
101 scientific notation to numbers rounded with 4 decimal places with
102 `M-x ess-bugs-sci-round-to-4-dp'.
104 * The keys for navigating among section headings in help buffers
105 worked, but only for one language per session; they should now
106 work for multiple languages. (They were also broken on Windows
109 * ESS[S] long standing buglets in the internal logic for loading
110 lisp code on Windows. Particularly fixed behavior in help mode
113 * New variable, `ess-use-inferior-program-name-in-buffer-name',
114 which enables using the executable name instead of the dialect
115 name for R. Feature request.
117 * ESS[S] `ess-execute-screen-options' now also works correctly when
118 there is more than one window *side-by-side* in the same frame and
119 runs in the correct buffer also when there is more than one S
122 * iESS[S] new functions `ess-eval-paragraph-and-step' and
123 `ess-eval-function-or-paragraph-and-step' are bound to keys `C-c
124 C-p' and `C-c C-c' respectively and to the menu in ESS-mode; also
125 bound in the help mode (for evaluating examples).
127 * ESS[S] new function `ess-toggle-S-assign-key' allows to assign the
128 " <- " insertion to an arbitrary key.
130 Changes/New Features in 5.2.12:
131 * ESS[SAS]: `M-;' fixed, but the XEmacs function `comment-dwim' may
132 be broken, if so, use `M-x comment-region' and `M-x
133 uncomment-region' instead; only valid PROCs are fontified which is
134 very helpful finding syntax errors (currently supported: BASE,
135 ETS, FSP, GRAPH, IML, INSIGHT and STAT); the "feature" where
136 `F'-keys take you to an empty buffer when the requested
137 destination is a file that does not exist has been fixed, now the
138 request results in a no-op. Further, sas-mode now also works in
141 * Rterm/Cygwin combination works under Microsoft Windows.
143 * ESS[R]: internal calls use baseenv() instead of NULL and define
144 'baseenv' where needed.
146 * New experimental support for installing ESS. See the file
147 `lisp/ess-install.el'.
149 Changes/New Features in 5.2.11:
150 * ESS Info entry and `dir' handled more effectively for GNU Emacs
153 * ESS[SAS]: temporary files created for batch submission of a region
154 are now named based on the current file; see `ess-sas-file-root'
155 for details; all `lag' and `dif' functions now fontified correctly
157 * iESS[SAS]: fixed a few nagging bugs, however, still does not
158 appear to work at this time; please let us know if you have any
161 * ESS[S]: Support for running other versions of Splus has been added
162 for unix. Two new variables, `ess-s-versions' and
163 `ess-s-versions-list', are used to tell ESS what other versions of
164 Splus you would like to run.
166 Changes/New Features in 5.2.10:
167 * ESS[R]: ess-r-versions can no longer be customized (since the
168 customization was not taking effect unless customizations were
169 loaded before ESS). Its value has been changed so that it will
170 also find R executables beginning "R-devel" and "R-patched". If
171 you wish to change this variable, it must be set in your `.emacs'
172 before ESS is loaded.
174 * Installation with GNU Make enhanced: unix and unix-like operating
175 systems will now be able to install ESS for all users in either a
176 GNU Emacs site-lisp or an XEmacs package configuration by editing
177 `lisp/ess-site.el' and `Makeconf' accordingly, then issuing `make
180 * ESS[S]: Filename completion (inside strings) now also works in
181 XEmacs for R and S-plus.
183 Changes/New Features in 5.2.9:
184 * ESS[R] for Windows: the \ directory character bug with respect to
185 ess-load-file has been eradicated.
187 * iESS[SAS]: `C-c C-r' and `C-c C-b' once again work as intended and
190 * ESS[S]: M-x ess-fix-EQ-assign is a bit more agressive.
192 * ESS[S]: Imenu now also shows setAs(), etc.
194 * ESS[R]: R function pattern enhanced with underlying code such that
195 `M-C-a' (`ess-beginning-of-function') etc now work for many more
196 cases, including S4 method definitions.
198 * iESS[R]: myOwnhelp(1) no longer wrongly triggers help(1).
200 * ESS[R]: Improved detection of bogus help buffers: valid help
201 buffers containing with the string "no documentation"(e.g. contour)
202 were being treated as bogus.
204 * ESS[R]: In R help buffers, if `options("help.try.all.packages" =
205 TRUE)' then `?rlm' will list which packages rlm is defined in.
206 This help buffer is not bogus, but instead is now relabelled
207 "*help[R](rlm in packages)*".
209 * ESS[STA]: add "//" as comment starting character to syntax-table.
211 Changes/New Features in 5.2.8:
212 * iESS: [Tab] completes *file* names "inside string" as in earlier
213 (<= 5.2.3) ESS versions.
215 Changes/New Features in 5.2.7:
216 * If you use Custom to change the variable ess-toolbar-items, the
217 new toolbar is used in all subsequent ESS buffers.
219 * ESS[SAS]: new feature: if ess-sas-log-max >0 and your .log grows
220 to more than ess-sas-log-max bytes, just the first ess-sas-log-max
221 bytes are refreshed; this is helpful when your .sas program
222 generates lots of error messages and gets too big for emacs to
225 * ESS[R/S]: `M-;' in R/S editing modes will now indent with either
226 one or two hashes depending on context.
228 * ESS[R]: David Whiting's Sweave extensions (to 'noweb') are now
229 available (from ess-swv.el loaded by default).
231 Changes/New Features in 5.2.6:
232 * Removed non-ASCII characters in a few files.
234 * ESS[R]: now works better when UTF-8 locale is active; in
235 particular, you get correct directional quotes in R's startup
236 message for R-devel (unstable development version of R 2.1.0)
237 when using environment variables LANGUAGE=en@quot
240 * ESS[SAS]: toggling of .log mode improved (`F10'); toggling of .lst
241 mode now also available (`C-F10'); killing all buffers associated
242 with .sas program no longer bound to `C-F10' since its a bit
245 * S-Plus 7 for Windows is now recognized.
247 * ESS[S] (incl. R): in auto-fill mode, strings are not wrapped
250 * ESS[S] (incl. R): font-lock now correctly differs between R and S,
251 e.g., for "_"; both now fontify warning(.) and S does terminate()
254 * Support for `bell' aka `beep' aka `ding' aka `alarm' in all
255 inferior modes: When \a is output "to the the console" at the
256 beginning of a line, the bell is rung.
258 Changes/New Features in 5.2.5:
259 * ESS[R]: `C-c C-q' or `Quit S' from the menu now should work (again
260 and less klunkily) and do not append `-exited' to the buffer name.
261 Further, the behavior of `(ess-cleanup)', called from ess-quit,
262 now depends on the new customizable variable
263 `ess-S-quit-kill-buffers-p' which defaults to `nil'.
264 Consequently, the question _"Delete all buffers associated with
265 ..?"_ will not be asked anymore by default.
267 * ESS[SAS] - ess-ebcdic-to-ascii-search-and-replace will now work
268 with the `recode' application as well which is available on many
271 * ESS[S] (incl. R): Name completion for slots of S4 objects now
274 Changes/New Features in 5.2.4:
275 * The documentation now includes an overview of how to use the emacs
276 TAGS facility for S functions. (The distribution also used to
277 contain a directory `etc/other/Tags' where a ~1990 version of
278 `etags.c' was distributed; this is no longer relevant and so has
281 * ESS[SAS] - When you are working with EBCDIC files on an ASCII
282 platform, .log NOTEs may display as gibberish since the EBCDIC
283 characters are not converted to ASCII prior to their display. So,
284 the function ess-ebcdic-to-ascii-search-and-replace is provided for
285 convenience and is bound to `C-F11'. This function requires the
286 `dd' command (only available on unix or unix-like platforms).
288 * ESS: Completion of object names is now always done dynamically
289 rather than allowing the option of using a pre-computed database
290 (by `ess-create-object-name-db') since modern computers seem fast
291 enough for dynamic completion. (We expect few users, if any, have
292 been using the pre-computed database method.)
294 * ESS: object completion in iESS buffers running on Windows was very
295 slow (for GNU Emacs, but not XEmacs) and has now been fixed.
296 Further, it was more or less broken for all versions of S-plus 6.x,
297 and has been fixed to work everywhere but with the Windows' GUI of
298 S-plus. The list of objects now shows unique names also when an
299 object appears more than once in the search path.
301 * ESS[R]: Completion of object names now also includes those
304 Changes/New Features in 5.2.3:
305 * ESS: When new inferior ESS processes are created, by default they
306 will replace the current buffer (this restores behavior from pre
307 5.2.0). If you wish new ESS processes to start in another window
308 of the current frame, set inferior-ess-same-window to nil.
310 * New variables inferior-Splus-args and inferior-R-args provide a
311 way to pass command line arguments to starting S and R processes.
313 Changes/New Features in 5.2.2:
314 * bug-fixes for 5.2.1 (require 'executable), html docs, etc.
316 * ess-lisp-directory/../doc/info added to Info-directory-list if
317 ess-info not found by info
319 * ESS[R]: If you have other versions of R on your exec-path, such as
320 "R-1.8.1" with Unix or "rw1081" with Windows, ESS will find them
321 and create appropriate functions, such as `M-x R-1.8.1' or `M-x
322 rw1081', for calling them. By default only Unix programs
323 beginning "R-1" and "R-2" and Windows programs parallel to the
324 version of R in your exec-path will be found, but see
325 ess-r-versions and ess-rterm-versions for ways to find other
328 * ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and
329 "rw1081" on Windows, are added to the "ESS / Start Process /
332 * ESS[S]: If you have other versions of S-Plus on your Windows
333 computer, such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and
334 create appropriate functions, such as `M-x splus61', for calling
335 the console version (Sqpe) inside an emacs buffer. By default only
336 programs installed in the default location will be found, but see
337 ess-SHOME-versions for ways to find other versions of S-Plus.
339 * ESS[S]: Other versions of Sqpe on Windows, such as "splus61", are
340 added to the "ESS / Start Process / Other" menu.
342 * ESS[R]: (bug fix) ess-quit (bound to `C-c C-q') should now quit the
343 inferior R process, when issued from either the inferior buffer,
346 Changes/New Features in 5.2.1:
347 * ESS[S] (R and S-plus): now have toolbar support with icons to
348 evaluate code in the inferior process or to switch there. This
349 code is experimental and likely to change as XEmacs/Emacs issues
350 get resolved. The toolbar should be enabled if your Emacs displays
351 images, but can be disabled with the variable ess-use-toolbar.
352 Thanks to David Smith from Insightful for the S-plus logo.
354 * ESS[SAS]: ess-sas-graph-view (`F12') enhanced; you can specify
355 external file viewers for each graphics file type via the alist
356 ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled by
357 image-mode on XEmacs, if available, otherwise by graphics
360 Changes/New Features in 5.2.0:
361 * ESS[BUGS]: new info documentation! now supports interactive
362 processing thanks to Aki Vehtari (mailto:Aki.Vehtari@hut.fi); new
363 architecture-independent unix support as well as support for BUGS
366 * ESS[SAS]: convert .log to .sas with ess-sas-transcript; info
367 documentation improved; Local Variable bug fixes; SAS/IML
368 statements/functions now highlighted; files edited remotely by
369 ange-ftp/EFS/tramp are recognized and pressing SUBMIT opens a
370 buffer on the remote host via the local variable
371 ess-sas-shell-buffer-remote-init which defaults to "ssh"; changed
372 the definition of the variable ess-sas-edit-keys-toggle to boolean
373 rather than 0/1; added the function ess-electric-run-semicolon
374 which automatically reverse indents lines containing only "run;";
375 `C-F1' creates MS RTF portrait from the current buffer; `C-F2'
376 creates MS RTF landscape from the current buffer; `C-F9' opens a
377 SAS DATASET with PROC INSIGHT rather than PROC FSVIEW; "inferior"
378 aliases for SAS batch: `C-c C-r' for submit region, `C-c C-b' for
379 submit buffer, `C-c C-x' for goto .log; `C-c C-y' for goto .lst
381 * ESS[S]: Pressing underscore ("_") once inserts " <- " (as before);
382 pressing underscore twice inserts a literal underscore. To stop
383 this smart behaviour, add "(ess-toggle-underscore nil)" to your
384 .emacs after ess-site has been loaded;
385 ess-dump-filename-template-proto (new name!) now can be customized
386 successfully (for S language dialects); Support for Imenu has been
387 improved; set ess-imenu-use-S to non-nil to get an "Imenu-S" item
388 on your menubar; ess-help: Now using nice underlines (instead of
391 * ESS[R]: After (require 'essa-r), `M-x ess-r-var' allows to load
392 numbers from any Emacs buffer into an existing *R* process; `M-x
393 ess-rdired' gives a "directory editor" of R objects; fixed
394 ess-retr-lastvalue-command, i.e. .Last.value bug (thanks to David
397 * ESS: Support for creating new window frames has been added to ESS.
398 Inferior ESS processes can be created in dedicated frames by
399 setting inferior-ess-own-frame to t. ESS help buffers can also
400 open in new frames; see the documentation for ess-help-own-frame
401 for details. (Thanks to Kevin Rodgers for contributing code.)
403 Changes/New Features in 5.1.24:
404 * The version number is now correct even inside ESS/Emacs
406 Changes/New Features in 5.1.23:
407 * Minor more Makefile clean up.
409 Changes/New Features in 5.1.22:
410 * Besides info documentation, PDF and HTML documentation are also
411 provided (instead of built using "make") and available on the web
412 as well; see ESS web page (http://ess.r-project.org/) and StatLib
413 (http://lib.stat.cmu.edu/general/ESS/doc)
415 * Now that info documentation is available, the README.* files are
416 no longer supported. However, they are still distributed for what
419 * ESS is now an XEmacs package! See XEmacs Installation HOWTO
420 (http://www.xemacs.org/Install/index.html) for details
421 (specifically, items 10-15).
423 * ESS[SAS]: more user-friendly enhancements for remote SAS batch
424 jobs with Kermit file transfers (LOG and OUTPUT function key
425 features now supported). Multiple shells now supported so you can
426 run SAS on different computers from different buffers by setting
427 the buffer-local variable ess-sas-shell-buffer to unique buffer
430 * Major re-vamping of Makefile/Makeconf.
432 Changes/New Features in 5.1.21:
433 * ESS[SAS]: info documentation now available!, see ESS->Help for
434 SAS; `F12' opens GSASFILE nearest point for viewing either within
435 emacs, when available, or via an external viewer; more syntax
436 highlighting keywords; more enhancements for remote SAS batch jobs
437 with Kermit; new framework for remote SAS interactive jobs, see
440 * ESS[S]: info documentation now available!, see ESS->Help for the S
443 * Makefile: tag now independent of rel; info files made by
444 doc/Makefile and installed in new info sub-directory
446 Changes/New Features in 5.1.20:
447 * New `options()$STERM' in the S dialects (S, S-Plus, R). The S
448 program can determine the environment in which it is currently
449 running. ESS sets the option to `iESS' or `ddeESS' when it starts
450 an S language process. We recommend other specific values for S
451 language processes that ESS does not start.
453 * New `ess-mouse-me' function, assigned to S-mouse-3 by default.
454 User may click on a word or region and then choose from the menu
455 to display the item, or a summary, or a plot, etc. This feature
456 is still under development.
458 * GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS),
459 (some from Stephen Eglen).
461 * XEmacs 21.x is now supported (fixed w32-using-nt bug)
463 * XEmacs on Win (NT) is better supported.
465 * Workaround for bug in Sqpe+6 (S-PLUS 6 for Win).
467 * should now work even when imenu is not available (for old
470 * ESS[SAS]: XEmacs-Imenu fix; `C-TAB' is globalized along with your
471 function-key definitions, if specified; you can specify your SAS
472 library definitions outside of autoexec.sas for ess-sas-data-view
473 with SAS code placed in the variable ess-sas-data-view-libname,
474 also the dataset name is defaulted to the nearest permanent dataset
475 to point; Speedbar support now works for permanent datasets, please
476 ignore first./last.; new font-locking is now the default with more
477 improvements for font-locking PROCs, macro statements, * ; and %* ;
478 comments; you can toggle sas-log-mode with `F10' which will
479 font-lock your .log (if it isn't too big); submit remote .sas
480 files accessed with ange-ftp, EFS or Tramp (Kermit is
481 experimental) by setting ess-sas-submit-method to 'sh;
482 ess-sas-submit-command and ess-sas-submit-command-options are
483 buffer-local so you can have local file variable sections at the
484 end of your .sas files to request different executables or specify
485 special options and the local file variables are re-read at submit
486 instead of only at file open so that if you make a change it is
487 picked up immediately;
489 * ESS[BUGS]: font-lock with `in' fixed.
491 * for STATA: font-lock bug fixed.
493 * for Rd mode: `C-c C-v' and `switch-process' in menu. further,
494 `C-c C-f' prefix (Rd-font) for inserting or surrounding a word by
495 things such as \code{.}, \code{\link{.}}, \emph{.} etc.
497 * new functions (ess-directory-function) and (ess-narrow-to-defun)
498 ess-directory <-> default-directory logic (Jeff Mincy).
500 * Re-organized Makefile and fixed a few bugs.
502 Changes/New Features in 5.1.19:
503 * S+6 now supported (Tony Rossini (Unix) and Rich Heiberger
506 * New BUGS support through ESS[BUGS] mode (Rodney Sparapani)
507 Templates assist you in writing .bug and .cmd code (.cmd and .log
508 are replaced by .bmd and .bog to avoid emacs extension collisions).
509 Substitution" parameters facilitate "automagic" generation of
510 data...in" and "init...in" filenames, "const N=" from your data
511 file and "monitor()/stats()" commands. Activated by pressing
514 * Fixes for `ess-smart-underscore' SAS breakage (Rich Heiberger)
516 * You can change between PC and Unix, local and global SAS
517 function-key definitions interactively (Rich Heiberger)
519 * `C-Submit' a highlighted region to SAS batch (Rodney Sparapani)
521 * New and improved SAS syntax highlighting (Rodney Sparapani) To get
522 the new functionality, set ess-sas-run-make-regexp to nil. Also
523 available in .log files via `F10'.
525 * Open a permanent SAS dataset for viewing via `F9' (Rodney
526 Sparapani) You must have the library defined in autoexec.sas for
529 * User-friendly defaults for `sas-program',
530 `ess-sas-batch-pre-command' and `ess-sas-batch-post-command' as
531 well Customize support for these and other ESS[SAS] variables
534 * `ess-sas-suffix-2' now defaults to .dat via `F11' (Rodney
537 * Emacs/XEmacs, Unix/Windows issues collectively handled in
540 * defadvice solves problem of missing *ESS* (thanks to Jeff Mincy)
542 * Improved manual a bit by including things that were only in
545 Changes/New Features in 5.1.18:
546 * New `ess-smart-underscore' function, now assigned to "_" by
547 default. Inserts `ess-S-assign' (customizable " <- "), unless
548 inside string and comments where plain "_" is used instead. (MM)
550 * Fixes for longstanding interactive SAS breakage (RMH)
552 Changes/New Features in 5.1.17:
553 * Documentation for Windows Installation (Rich Heiberger)
555 * removal of ess-vars, finalization of customize support (in the
556 sense that there is no more use of ess-vars, but that we need to
557 fix ess-cust) (AJ Rossini)
559 * Many small (and large) fixes/contributions (MMaechler)
561 * addition of the "S-equal" variable and provide `M-x
562 ess-add-MM-keys' a way to remap "_" to `ess-S-assign', typically "
563 <- ", but customizable. (MMaechler)
565 Changes/New Features in 5.1.16:
570 Changes/New Features in 5.1.15:
573 Changes/New Features in 5.1.14:
574 * Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani)
576 * Customize support (for most Emacsen which support it) (AJRossini)
578 * ARC and ViSta support out of the box, and fixes for XLispStat
581 Changes/New Features in 5.1.13:
582 * Version numbering finally all depending on the ./VERSION file,
583 thanks to Martin Maechler.
585 * Yet more fixes to SAS mode, thanks to Rich Heiberger.
587 Changes/New Features in 5.1.12:
588 * Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables,
589 Chuck Taylor, and others.
591 * More fixes to SAS mode, thanks to Rodney Sparapani and Rich
594 Changes/New Features in 5.1.11:
595 * More fixes to Stata mode, thanks to Brendan Halpin
596 (mailto:brendan@essex.ac.uk).
598 * fixed bugs in ESS-elsewhere, thanks to many testers
600 * README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks
601 to David Brahm (mailto:brahm@alum.mit.edu).
603 * Fixes to SAS mode, thanks to Rodney Sparapani
605 Changes/New Features in 5.1.10:
606 * More fixes to Stata mode
608 * primitive generic version of ESS-elsewhere
610 * Small fixes to SAS/Stata.
612 Changes/New Features in 5.1.9:
615 * Literate Data Analysis using Noweb works
617 Changes/New Features in 5.1.8:
620 * R documentation mode defaults changed
622 Changes/New Features in 5.1.2:
623 * able to use inferior iESS mode to communicate directly with a
624 running S-Plus 4.x process using the Microsoft DDE protocol. We
625 use the familiar (from Unix ESS) `C-c C-n' and related key
626 sequences to send lines from the S-mode file to the inferior S
627 process. We continue to edit S input files in ESS[S] mode and
628 transcripts of previous S sessions in ESS Transcript mode. All
629 three modes know the S language, syntax, and indentation patterns
630 and provide the syntactic highlighting that eases the programming
636 * Languages Supported:
637 * S family (S 3/4, S-PLUS 3.x/4.x/5.x/6.x/7.x/8.x, and R)
645 * XLispStat including Arc and ViSta
647 * Editing source code (S family, SAS, BUGS/JAGS, XLispStat)
648 * Syntactic indentation and highlighting of source code
650 * Partial evaluation of code
652 * Loading and error-checking of code
654 * Source code revision maintenance
656 * Batch execution (SAS, BUGS/JAGS)
658 * Use of imenu to provide links to appropriate functions
660 * Interacting with the process (S family, SAS, XLispStat)
661 * Command-line editing
663 * Searchable Command history
665 * Command-line completion of S family object names and file
668 * Quick access to object lists and search lists
670 * Transcript recording
672 * Interface to the help system
674 * Transcript manipulation (S family, XLispStat)
675 * Recording and saving transcript files
677 * Manipulating and editing saved transcripts
679 * Re-evaluating commands from transcript files
681 * Help File Editing (R)
682 * Syntactic indentation and highlighting of source code.
684 * Sending Examples to running ESS process.
691 Versions 5.3.x are meant to be release-quality versions. While some
692 new features are being introduced, we are cleaning up and improving the
693 interface. We know about some remaining documentation inconsistencies.
694 Patches or suggested fixes with bug reports are much appreciated!
699 ESS has been tested with
703 * S-PLUS 3.3-4, 4.5, 2000, 5.0-1, 6.0-2, 7.0, 8.0
717 on the following platforms
723 * Microsoft Windows 98/NT/2000/XP (R, SPLUS 4.5/2000/6.0-2/7.0/8.0,
726 * Apple Mac OS X 10.3-4 (R, JAGS)
728 with the following versions of emacs
730 * GNU Emacs 20.3-7, 21.1, 21.3-4, 22.0.50-pretesting
732 * XEmacs 21.4.0-8, 21.4.9-13(1), 21.4.14-15, 21.4.17-19, 21.5.23
734 ---------- Footnotes ----------
736 (1) require the files.el patch to revert-buffer for the Local
737 Variables updating problem
739 1.7 Getting the Latest Version
740 ==============================
742 The latest released version of ESS is always available on the web at:
743 ESS web page (http://ess.r-project.org) or StatLib
744 (http://lib.stat.cmu.edu/general/ESS/)
746 The latest development version of ESS is available via
747 `https://svn.R-project.org/ESS/', the ESS Subversion repository. If
748 you have a Subversion client (see `http://subversion.tigris.org/'), you
749 can download the sources using:
750 % svn checkout https://svn.r-project.org/ESS/trunk PATH
751 which will put the ESS files into directory PATH. Later, within
752 that directory, `svn update' will bring that directory up to date.
753 Windows-based tools such as TortoiseSVN are also available for
754 downloading the files. Alternatively, you can browse the sources with a
755 web browser at: ESS SVN site (https://svn.r-project.org/ESS/trunk).
756 However, please use a subversion client instead to minimize the load
759 If you remove other versions of ESS from your emacs load-path, you
760 can then use the development version by adding the following to .emacs:
762 (load "/path/to/ess-svn/lisp/ess-site.el")
764 Note that https is required, and that the SSL certificate for the
765 Subversion server of the R project is
767 Certificate information:
768 - Hostname: svn.r-project.org
769 - Valid: from Jul 16 08:10:01 2004 GMT until Jul 14 08:10:01 2014 GMT
770 - Issuer: Department of Mathematics, ETH Zurich, Zurich, Switzerland, CH
771 - Fingerprint: c9:5d:eb:f9:f2:56:d1:04:ba:44:61:f8:64:6b:d9:33:3f:93:6e:ad
773 (currently, there is no "trusted certificate"). You can accept this
774 certificate permanently and will not be asked about it anymore.
776 1.8 Installation (from tar file)
777 ================================
779 1.9 Unix installation
780 =====================
782 1. `cd' to a directory where you keep emacs lisp files, or create a
783 new directory (for example, `$HOME/emacs') to hold the
784 distribution. This directory will be referred to below as "the
785 ESS distribution directory".
787 _Note for XEmacs packages:_ ESS is no longer available as an
788 XEmacs package. But, you can still install ESS into the XEmacs
789 package system by choosing
790 `ESSDIR'=`PREFIX/lib/xemacs/site-packages'. ESS requires that the
791 XEmacs sumo tarball (all XEmacs packages combined) also be
792 installed. For information on installing XEmacs packages, follow
793 this link: Quickstart Package Guide
794 (http://www.xemacs.org/Documentation/packageGuide.html).
796 2. Retrieve the latest version from ESS downloads area
797 (http://ess.r-project.org/downloads/ess) to `ESSDIR'.
799 3. Extract the files from the disribution.
800 If you are using GNU tar, `tar zxf ess-VERSION.tgz'.
801 Otherwise, `gunzip < ess-VERSION.tgz | tar xf -',
803 The `tar' command will create the subdirectory `ess-VERSION' and
804 install the files there.
806 4. Edit the file `ESSDIR/ess-VERSION/lisp/ess-site.el' as explained
807 in the comments section of that file.
809 5. If you are using GNU Emacs add the line
810 (load "ESSDIR/ess-VERSION/lisp/ess-site")
811 to `$HOME/.emacs'. For XEmacs, if you followed the XEmacs package
812 system installation advice, add the line
814 to `$HOME/.xemacs/init.el'. Otherwise, for XEmacs, add the line
815 (load "ESSDIR/ess-VERSION/lisp/ess-site")
816 to `$HOME/.xemacs/init.el'.
818 6. That's it! ESS is now ready to use. (The remaining step below is
819 only for a custom installation.) To edit statistical programs,
820 just open files with the requisite extensions (`.R' for R, `.sas'
821 for SAS, `.bug' for BUGS, etc.). To start a statistical process
822 within emacs, such as R, type `M-x R'.
824 7. (OPTIONAL) READ THIS ITEM THOROUGHLY BEFORE STARTING:
826 If you want to place the compiled files in other locations edit the
827 `LISPDIR', `INFODIR' and `ETCDIR' entries in Section 1 of
828 `Makeconf' in the `ESSDIR/ess-VERSION' directory (if you are using
829 XEmacs, then uncomment the XEmacs subsection in Section 1).
831 You can compile those files by:
834 When that completes successfully, install the compiled files:
838 1.10 Microsoft Windows installation
839 ===================================
841 For Microsoft Windows installation, please follow the next steps.
843 1. `cd' to a directory where you keep emacs lisp files, or create a
844 new directory (for example, `c:\emacs\') to hold the distribution.
845 This directory will be referred to below as "the ESS distribution
848 _Note for XEmacs packages:_ ESS is no longer available as an XEmacs
849 package. But, you can still install ESS into the XEmacs package
850 system by choosing `ESSDIR'=`PREFIX\XEmacs\site-packages'. ESS
851 requires that the XEmacs sumo tarball (all XEmacs packages
852 combined) also be installed. For information on installing XEmacs
853 packages, follow this link: Quickstart Package Guide
854 (http://www.xemacs.org/Documentation/packageGuide.html).
856 2. Retrieve the latest zip file (`ess-VERSION.zip') from ESS
857 downloads area (http://ess.r-project.org/downloads/ess) and store
858 it in the ESS distribution directory. Be aware that http browsers
859 on Windows frequently change the "." and "-" characters in
860 filenames to other punctuation. Please change the names back to
863 3. Extract all the files from `ess-VERSION.zip' into the ESS
864 distribution directory as `c:\emacs\ess-VERSION\'. (It is possible
865 to unpack the zip archive in Windows Explorer by double clicking
866 on the folder; you should then see a new folder called
867 `ess-VERSION'. Drag that folder into your ESS distribution
870 4. If you are using GNU Emacs add the line
871 (load "ESSDIR/ess-VERSION/lisp/ess-site")
872 to `%HOME%/.emacs'. For XEmacs, if you followed the XEmacs
873 package system installation advice, add the line
875 to `%HOME%/.xemacs/init.el'. Otherwise, for XEmacs, add the line
876 (load "ESSDIR/ess-VERSION/lisp/ess-site")
877 to `%HOME%/.xemacs/init.el'. _Note:_ Both GNU Emacs and XEmacs
878 require that the HOME environment variable be set on your system,
879 otherwise, your initialization file will not be utilized, and
880 therefore, ESS will not work.
882 After saving your initialization file, ESS is now installed.
883 Start a new emacs and you should be ready to use ESS. For
884 example, to edit statistical programs, load the files with the
885 requisite extensions (".sas" for SAS, ".S" or "s" or "q" or "Q"
886 for S-PLUS, ".r" or ".R" for R, and ".lsp" for XLispStat). One
887 further step is needed if you wish to run statistical processes,
890 5. To run statistical processes under ESS, Windows users will need to
891 make sure that the directories for the software they will be using
892 is in the PATH environment variable. On Windows 9x, add lines
893 similar to the following to your `c:\autoexec.bat' file:
894 path=%PATH%;c:\progra~1\insightful\splus70\cmd
895 On Windows NT/2000/XP, add the directories to the PATH using the
896 `My Computer/Control Panel/System/Advanced/Environment Variables'
897 menu. Note that the directory containing the program is added to
898 the PATH, not the program itself. One such line is needed for
899 each software program. Be sure to use the abbreviation `progra~1'
900 and not the long version with embedded blanks. Use backslashes
903 An alternative, for R users, is that rather than adjusting the PATH
904 variable, you can add the following to your emacs initialization
905 file (and restart emacs):
906 (setq inferior-R-program-name "C:/progra~1/R/R-2.2.1/bin/Rterm.exe")
907 This assumes that you have installed R-2.2.1 in the default
908 location. Change the path otherwise to point to other locations.
910 Windows users who place S-PLUS anywhere other than the default
911 location will also need to add the following three lines (properly
912 adjusted for their location) to their `%HOME%/.emacs' or
913 `%HOME%/.xemacs/init.el' file:
914 (setq-default inferior-S+6-program-name
915 "c:/progra~1/Insightful/SPLUS70/cmd/Splus")
916 (setq-default inferior-Sqpe+6-SHOME-name
917 "c:/progra~1/Insightful/SPLUS70")
918 (setq-default inferior-Sqpe+6-program-name
919 "c:/progra~1/Insightful/SPLUS70/cmd/Sqpe.exe")
920 The above example uses the default location of S-PLUS in
921 `c:/progra~1/Insightful'. Please note that ESS considers S-PLUS
922 6, 7, and 8 to be variants of S+6.
924 These users may also need to modify the emacs variable
925 `ess-SHOME-versions' to match their installation in order to get
926 the full set of S-PLUS versions on their machine into the `ESS'
929 To start the S-PLUS [678].x GUI from ESS under emacs:
930 1. If you use Cygwin bash as your primary shell, then
934 2. If you use the MSDOS prompt window as your primary shell, then
936 You will then be asked for a pathname ("S starting data
937 directory?"), from which to start the process. The prompt will
938 propose your current directory as the default. ESS will start the
939 S-PLUS GUI. There will be slight delay during which emacs is
940 temporarily frozen. ESS will arrange for communication with the
941 S-PLUS GUI using the DDE protocol. Send lines or regions from the
942 emacs buffer containing your S program (for example, `myfile.s')
943 to the S-PLUS Commands Window with the `C-c C-n' or `C-c C-r' keys.
944 (If you are still using S-PLUS 4.x or 2000,\ then use `M-x S+4' or
947 To start an S-PLUS [678].x session inside an emacs buffer--and
948 without the S-PLUS GUI:
951 This works with both the bash and msdos shells. You will then be
952 asked for a pathname ("S starting data directory?"), from which to
953 start the process. The prompt will propose your current directory
954 as the default. You get Unix-like behavior, in particular the
955 entire transcript is available for emacs-style search commands.
956 Send lines or regions from the emacs buffer containing your S
957 program (for example, `myfile.s') to the *S+6* buffer with the
958 `C-c C-n' or `C-c C-r' keys. Interactive graphics are available
959 with Sqpe by using the java library supplied with S-PLUS 6.1 and
960 newer releases. Enter the commands:
963 Graphs can be saved from the `java.graph' device in several
964 formats, but not PostScript. If you need a PostScript file you
965 will need to open a separate `postscript' device. (If you are
966 still using S-PLUS 4.x or 2000, then use `M-x Sqpe+4'.)
968 To connect to an already running S-PLUS GUI (started, for example,
969 from the S-PLUS icon):
972 M-x S+6-msdos-existing
973 You will then be asked for a pathname ("S starting data
974 directory?"), from which to start the process. The prompt will
975 propose your current directory as the default. ESS will arrange
976 for communication with the already running S-PLUS GUI using the
977 DDE protocol. Send lines or regions from the emacs buffer
978 containing your S program (for example, `myfile.s') to the S-PLUS
979 Commands Window with the `C-c C-n' or `C-c C-r' keys. (If you are
980 still using S-PLUS 4.x or 2000, then use `M-x S+4-existing' or
981 `M-x S+4-msdos-existing'.)
983 If you wish to run R, you can start it with:
986 XLispStat can not currently be run with
988 Hopefully, this will change. However, you can still edit with
989 emacs, and cut and paste the results into the XLispStat *Listener*
990 Window under Microsoft Windows.
998 Please send bug reports, suggestions etc. to
999 <ESS-bugs@stat.math.ethz.ch>
1001 The easiest way to do this is within Emacs by typing
1003 `M-x ess-submit-bug-report'
1005 This also gives the maintainers valuable information about your
1006 installation which may help us to identify or even fix the bug.
1008 If Emacs reports an error, backtraces can help us debug the problem.
1009 Type "M-x set-variable RET debug-on-error RET t RET". Then run the
1010 command that causes the error and you should see a *Backtrace* buffer
1011 containing debug information; send us that buffer.
1013 Note that comments, suggestions, words of praise and large cash
1014 donations are also more than welcome.
1019 There is a mailing list for discussions and announcements relating to
1020 ESS. Join the list by sending an e-mail with "subscribe ess-help" (or
1021 "help") in the body to <ess-help-request@stat.math.ethz.ch>;
1022 contributions to the list may be mailed to
1023 <ess-help@stat.math.ethz.ch>. Rest assured, this is a fairly
1024 low-volume mailing list.
1026 The purposes of the mailing list include
1028 * helping users of ESS to get along with it.
1030 * discussing aspects of using ESS on Emacs and XEmacs.
1032 * suggestions for improvements.
1034 * announcements of new releases of ESS.
1036 * posting small patches to ESS.
1041 * A.J. Rossini (mailto:blindglobe@gmail.com)
1043 * Richard M. Heiberger (mailto:rmh@temple.edu)
1045 * Kurt Hornik (mailto:Kurt.Hornik@R-project.org)
1047 * Martin Maechler (mailto:maechler@stat.math.ethz.ch)
1049 * Rodney A. Sparapani (mailto:rsparapa@mcw.edu)
1051 * Stephen Eglen (mailto:stephen@gnu.org)