(ess-write-to-dribble-buffer): Chnage insert-string to
[ess.git] / README
blob7cce38941608f8b9ac3a2206e3aadef09e9f0ca5
1 1 General Information: README
2 *****************************
4 This is the README file for the distribution of ESS version
6    5.2.12
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])
27 support.
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).
33 1.1 License
34 ===========
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
39 version.
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 New Features
47 ================
49 Changes/New Features in 5.2.12:
50    * ESS[SAS]: `M-;' fixed, but the XEmacs function `comment-dwim' may
51      be broken, if so, use `M-x comment-region' and `M-x
52      uncomment-region' instead; only valid PROCs are fontified which is
53      very helpful finding syntax errors (currently supported:  BASE,
54      ETS, FSP, GRAPH, IML, INSIGHT and STAT).
56    * Rterm/Cygwin combination works under Microsoft Windows.
58    * ESS[R]: internal calls use baseenv() instead of NULL and define
59      'baseenv' where needed.
61    Changes/New Features in 5.2.11:
62    * ESS Info entry and `dir' handled more effectively for GNU Emacs
63      users
65    * ESS[SAS]: temporary files created for batch submission of a region
66      are now named based on the current file; see `ess-sas-file-root'
67      for details; all `lag' and `dif' functions now fontified correctly
69    * iESS[SAS]: fixed a few nagging bugs, however, still does not
70      appear to work at this time; please let us know if you have any
71      ideas.
73    * ESS[S]: Support for running other versions of Splus has been added
74      for unix.  Two new variables, `ess-s-versions' and
75      `ess-s-versions-list', are used to tell ESS what other versions of
76      Splus you would like to run.
78    Changes/New Features in 5.2.10:
79    * ESS[R]: ess-r-versions can no longer be customized (since the
80      customization was not taking effect unless customizations were
81      loaded before ESS).  Its value has been changed so that it will
82      also find R executables beginning "R-devel" and "R-patched".  If
83      you wish to change this variable, it must be set in your `.emacs'
84      before ESS is loaded.
86    * Installation with GNU Make enhanced:  unix and unix-like operating
87      systems will now be able to install ESS for all users in either a
88      GNU Emacs site-lisp or an XEmacs package configuration by editing
89      `lisp/ess-site.el' and `Makeconf' accordingly, then issuing `make
90      install'
92    * ESS[S]: Filename completion (inside strings) now also works in
93      XEmacs for R and S-plus.
95    Changes/New Features in 5.2.9:
96    * ESS[R] for Windows:  the \ directory character bug with respect to
97      ess-load-file has been eradicated.
99    * iESS[SAS]: `C-c C-r' and `C-c C-b' once again work as intended and
100      documented.
102    * ESS[S]: M-x ess-fix-EQ-assign is a bit more agressive.
104    * ESS[S]: Imenu now also shows setAs(), etc.
106    * ESS[R]: R function pattern enhanced with underlying code such that
107      `M-C-a' (`ess-beginning-of-function') etc now work for many more
108      cases, including S4 method definitions.
110    * iESS[R]: myOwnhelp(1) no longer wrongly triggers help(1).
112    * ESS[R]: Improved detection of bogus help buffers: valid help
113      buffers containing with the string "no documentation"(e.g. contour)
114      were being treated as bogus.
116    * ESS[R]: In R help buffers, if `options("help.try.all.packages" =
117      TRUE)' then `?rlm' will list which packages rlm is defined in.
118      This help  buffer is not bogus, but instead is now relabelled
119      "*help[R](rlm in  packages)*".
121    * ESS[STA]: add "//" as comment starting character to syntax-table.
123    Changes/New Features in 5.2.8:
124    * iESS: [Tab] completes *file* names "inside string" as in earlier
125      (<= 5.2.3) ESS versions.
127    Changes/New Features in 5.2.7:
128    * If you use Custom to change the variable ess-toolbar-items, the
129      new toolbar is used in all subsequent ESS buffers.
131    * ESS[SAS]: new feature:  if ess-sas-log-max >0 and your .log grows
132      to more than ess-sas-log-max bytes, just the first ess-sas-log-max
133      bytes are refreshed; this is helpful when your .sas program
134      generates lots of error messages and gets too big for emacs to
135      display
137    * ESS[R/S]: `M-;' in R/S editing modes will now indent with either
138      one or two hashes depending on context.
140    * ESS[R]: David Whiting's Sweave extensions (to 'noweb') are now
141      available (from ess-swv.el loaded by default).
143    Changes/New Features in 5.2.6:
144    * Removed non-ASCII characters in a few files.
146    * ESS[R]: now works better when UTF-8 locale is active; in
147      particular, you get correct directional quotes in R's startup
148      message  for R-devel (unstable development version of R 2.1.0)
149      when using  environment variables LANGUAGE=en@quot
150      LC_ALL=en_US.UTF-8
152    * ESS[SAS]: toggling of .log mode improved (`F10'); toggling of .lst
153      mode now also available (`C-F10'); killing all buffers associated
154      with .sas program no longer bound to `C-F10' since its a bit
155      overzealous.
157    * S-Plus 7 for Windows is now recognized.
159    * ESS[S] (incl. R): in auto-fill mode, strings are not wrapped
160      anymore.
162    * ESS[S] (incl. R): font-lock now correctly differs between R and S,
163      e.g., for "_"; both now fontify warning(.) and S does terminate()
164      additionally.
166    * Support for `bell' aka `beep' aka `ding' aka `alarm' in all
167      inferior modes: When \a is output "to the the console" at the
168      beginning of a line, the bell is rung.
170    Changes/New Features in 5.2.5:
171    * ESS[R]: `C-c C-q' or `Quit S' from the menu now should work (again
172      and less klunkily) and do not append `-exited' to the buffer name.
173      Further, the behavior of `(ess-cleanup)', called from ess-quit,
174      now depends on the new customizable variable
175      `ess-S-quit-kill-buffers-p' which defaults to `nil'.
176      Consequently, the question _"Delete all buffers associated with
177      ..?"_ will not be asked anymore by default.
179    * ESS[SAS] - ess-ebcdic-to-ascii-search-and-replace will now work
180      with the `recode' application as well which is available on many
181      platforms
183    * ESS[S] (incl. R): Name completion for slots of S4 objects now
184      works!
186    Changes/New Features in 5.2.4:
187    * The documentation now includes an overview of how to use the emacs
188      TAGS facility for S functions.  (The distribution also used to
189      contain a directory `etc/other/Tags' where a ~1990 version of
190      `etags.c' was distributed; this is no longer relevant and so has
191      been deleted.)
193    * ESS[SAS] - When you are working with EBCDIC files on an ASCII
194      platform, .log NOTEs may display as gibberish since the EBCDIC
195      characters are not converted to ASCII prior to their display.  So,
196      the function ess-ebcdic-to-ascii-search-and-replace is provided for
197      convenience and is bound to `C-F11'.  This function requires the
198      `dd' command (only available on unix or unix-like platforms).
200    * ESS: Completion of object names is now always done dynamically
201      rather than allowing the option of using a pre-computed database
202      (by `ess-create-object-name-db') since modern computers seem fast
203      enough for dynamic completion.  (We expect few users, if any, have
204      been using the pre-computed database method.)
206    * ESS: object completion in iESS buffers running on Windows was very
207      slow (for GNU Emacs, but not XEmacs) and has now been fixed.
208      Further, it was more or less broken for all versions of S-plus 6.x,
209      and has been fixed to work everywhere but with the Windows' GUI of
210      S-plus.  The list of objects now shows unique names also when an
211      object appears more than once in the search path.
213    * ESS[R]: Completion of object names now also includes those
214      starting with ".".
216    Changes/New Features in 5.2.3:
217    * ESS: When new inferior ESS processes are created, by default they
218      will replace the current buffer (this restores behavior from pre
219      5.2.0). If you wish new ESS processes to start in another window
220      of the current frame, set inferior-ess-same-window to nil.
222    * New variables inferior-Splus-args and inferior-R-args provide a
223      way to pass command line arguments to starting S and R processes.
225    Changes/New Features in 5.2.2:
226    * bug-fixes for 5.2.1 (require 'executable), html docs, etc.
228    * ess-lisp-directory/../doc/info added to Info-directory-list if
229      ess-info not found by info
231    * ESS[R]: If you have other versions of R on your exec-path, such as
232      "R-1.8.1" with Unix or "rw1081" with Windows, ESS will find them
233      and create appropriate functions, such as `M-x R-1.8.1' or `M-x
234      rw1081', for calling them.  By default only Unix programs
235      beginning "R-1" and "R-2" and Windows programs parallel to the
236      version of R in your exec-path will be found, but see
237      ess-r-versions and ess-rterm-versions for ways to find other
238      versions of R.
240    * ESS[R]: Other versions of R, such as "R-1.8.1" on Unix and
241      "rw1081" on Windows, are added to the "ESS / Start Process /
242      Other" menu.
244    * ESS[S]: If you have other versions of S-Plus on your Windows
245      computer, such as S-Plus 6.1 or S-Plus 4.5, ESS will find them and
246      create appropriate functions, such as `M-x splus61', for calling
247      the console version (Sqpe) inside an emacs buffer.  By default only
248      programs installed in the default location will be found, but see
249      ess-SHOME-versions for ways to find other versions of S-Plus.
251    * ESS[S]: Other versions of Sqpe on Windows, such as "splus61", are
252      added to the "ESS / Start Process / Other" menu.
254    * ESS[R]: (bug fix) ess-quit (bound to `C-c C-q') should now quit the
255      inferior R process, when issued from either the inferior buffer,
256      or from a .R buffer.
258    Changes/New Features in 5.2.1:
259    * ESS[S] (R and S-plus): now have toolbar support with icons to
260      evaluate code in the inferior process or to switch there.  This
261      code is experimental and likely to change as XEmacs/Emacs issues
262      get resolved. The toolbar should be enabled if your Emacs displays
263      images, but can be disabled with the variable ess-use-toolbar.
264      Thanks to David Smith from Insightful for the S-plus logo.
266    * ESS[SAS]: ess-sas-graph-view (`F12') enhanced; you can specify
267      external file viewers for each graphics file type via the alist
268      ess-sas-graph-view-viewer-alist; also .jpg/.gif are now handled by
269      image-mode on XEmacs, if available, otherwise by graphics
270      primitives as before
272    Changes/New Features in 5.2.0:
273    * ESS[BUGS]:  new info documentation!  now supports interactive
274      processing thanks to Aki Vehtari (mailto:Aki.Vehtari@hut.fi); new
275      architecture-independent unix support as well as support for BUGS
276      v. 0.5
278    * ESS[SAS]:  convert .log to .sas with ess-sas-transcript; info
279      documentation improved; Local Variable bug fixes; SAS/IML
280      statements/functions now highlighted; files edited remotely by
281      ange-ftp/EFS/tramp are recognized and pressing SUBMIT opens a
282      buffer on the remote host via the local variable
283      ess-sas-shell-buffer-remote-init which defaults to "ssh"; changed
284      the definition of the variable ess-sas-edit-keys-toggle to boolean
285      rather than 0/1; added the function ess-electric-run-semicolon
286      which automatically reverse indents lines containing only "run;";
287      `C-F1' creates MS RTF portrait from the current buffer; `C-F2'
288      creates MS RTF landscape from the current buffer; `C-F9' opens a
289      SAS DATASET with PROC INSIGHT rather than PROC FSVIEW; "inferior"
290      aliases for SAS batch:  `C-c C-r' for submit region, `C-c C-b' for
291      submit buffer, `C-c C-x' for goto .log; `C-c C-y' for goto .lst
293    * ESS[S]: Pressing underscore ("_") once inserts " <- " (as before);
294      pressing underscore twice inserts a literal underscore.  To stop
295      this smart behaviour, add "(ess-toggle-underscore nil)" to your
296      .emacs after ess-site has been loaded;
297      ess-dump-filename-template-proto (new name!) now can be customized
298      successfully (for S language dialects); Support for Imenu has been
299      improved; set ess-imenu-use-S to non-nil to get an "Imenu-S" item
300      on your menubar; ess-help: Now using nice underlines (instead of
301      `nuke-* ^H_')
303    * ESS[R]:  After (require 'essa-r), `M-x ess-r-var' allows to load
304      numbers from any Emacs buffer into an existing *R* process; `M-x
305      ess-rdired' gives a "directory editor" of R objects; fixed
306      ess-retr-lastvalue-command, i.e. .Last.value bug (thanks to David
307      Brahm)
309    * ESS: Support for creating new window frames has been added to ESS.
310      Inferior ESS processes can be created in dedicated frames by
311      setting inferior-ess-own-frame to t.  ESS help buffers can also
312      open in new frames; see the documentation for ess-help-own-frame
313      for details.  (Thanks to Kevin Rodgers for contributing code.)
315    Changes/New Features in 5.1.24:
316    * The version number is now correct even inside ESS/Emacs
318    Changes/New Features in 5.1.23:
319    * Minor more Makefile clean up.
321    Changes/New Features in 5.1.22:
322    * Besides info documentation, PDF and HTML documentation are also
323      provided (instead of built using "make") and available on the web
324      as well; see ESS web page (http://ess.r-project.org/) and StatLib
325      (http://lib.stat.cmu.edu/general/ESS/doc)
327    * Now that info documentation is available, the README.* files are
328      no longer supported.  However, they are still distributed for what
329      it's worth.
331    * ESS is now an XEmacs package!  See XEmacs Installation HOWTO
332      (http://www.xemacs.org/Install/index.html) for details
333      (specifically, items 10-15).
335    * ESS[SAS]: more user-friendly enhancements for remote SAS batch
336      jobs with Kermit file transfers (LOG and OUTPUT function key
337      features now supported).  Multiple shells now supported so you can
338      run SAS on different computers from different buffers by setting
339      the buffer-local variable ess-sas-shell-buffer to unique buffer
340      names.
342    * Major re-vamping of Makefile/Makeconf.
344    Changes/New Features in 5.1.21:
345    * ESS[SAS]: info documentation now available!, see ESS->Help for
346      SAS; `F12' opens GSASFILE nearest point for viewing either within
347      emacs, when available, or via an external viewer; more syntax
348      highlighting keywords; more enhancements for remote SAS batch jobs
349      with Kermit; new framework for remote SAS interactive jobs, see
350      ess-remote
352    * ESS[S]: info documentation now available!, see ESS->Help for the S
353      family
355    * Makefile: tag now independent of rel; info files made by
356      doc/Makefile and installed in new info sub-directory
358    Changes/New Features in 5.1.20:
359    * New `options()$STERM' in the S dialects (S, S-Plus, R).  The S
360      program can determine the environment in which it is currently
361      running.  ESS sets the option to `iESS' or `ddeESS' when it starts
362      an S language process.  We recommend other specific values for S
363      language processes that ESS does not start.
365    * New `ess-mouse-me' function, assigned to S-mouse-3 by default.
366      User may click on a word or region and then choose from the menu
367      to display the item, or a summary, or a plot, etc.  This feature
368      is still under development.
370    * GNU Emacs 21.1 is now supported (fixed for S dialects, SAS & BUGS),
371      (some from Stephen Eglen).
373    * XEmacs 21.x is now supported (fixed w32-using-nt bug)
375    * XEmacs on Win (NT) is better supported.
377    * Workaround for bug in Sqpe+6 (S-PLUS 6 for Win).
379    * should now work even when imenu is not available (for old
380      XEmacsen).
382    * ESS[SAS]: XEmacs-Imenu fix; `C-TAB' is globalized along with your
383      function-key definitions, if specified; you can specify your SAS
384      library definitions outside of autoexec.sas for ess-sas-data-view
385      with SAS code placed in the variable ess-sas-data-view-libname,
386      also the dataset name is defaulted to the nearest permanent dataset
387      to point; Speedbar support now works for permanent datasets, please
388      ignore first./last.; new font-locking is now the default with more
389      improvements for font-locking PROCs, macro statements, * ; and %* ;
390      comments; you can toggle sas-log-mode with `F10' which will
391      font-lock your .log (if it isn't too big); submit remote .sas
392      files accessed with ange-ftp, EFS or Tramp (Kermit is
393      experimental) by setting ess-sas-submit-method to 'sh;
394      ess-sas-submit-command and ess-sas-submit-command-options are
395      buffer-local so you can have local file variable sections at the
396      end of your .sas files to request different executables or specify
397      special options and the local file variables are re-read at submit
398      instead of only at file open so that if you make a change it is
399      picked up immediately;
401    * ESS[BUGS]: font-lock with `in' fixed.
403    * for STATA: font-lock bug fixed.
405    * for Rd mode: `C-c C-v' and `switch-process' in menu.  further,
406      `C-c C-f' prefix (Rd-font) for inserting or surrounding a word by
407      things such as \code{.}, \code{\link{.}}, \emph{.} etc.
409    * new functions (ess-directory-function) and (ess-narrow-to-defun)
410      ess-directory <-> default-directory logic (Jeff Mincy).
412    * Re-organized Makefile and fixed a few bugs.
414    Changes/New Features in 5.1.19:
415    * S+6 now supported (Tony Rossini (Unix) and Rich Heiberger
416      (Windows))
418    * New BUGS support through ESS[BUGS] mode (Rodney Sparapani)
419      Templates assist you in writing .bug and .cmd code (.cmd and .log
420      are replaced by .bmd and .bog to avoid emacs extension collisions).
421      Substitution" parameters facilitate "automagic" generation of
422      data...in" and "init...in" filenames, "const N=" from your data
423      file and "monitor()/stats()" commands.  Activated by pressing
424      `F12'.
426    * Fixes for `ess-smart-underscore' SAS breakage (Rich Heiberger)
428    * You can change between PC and Unix, local and global SAS
429      function-key definitions interactively (Rich Heiberger)
431    * `C-Submit' a highlighted region to SAS batch (Rodney Sparapani)
433    * New and improved SAS syntax highlighting (Rodney Sparapani) To get
434      the new functionality, set ess-sas-run-make-regexp to nil.  Also
435      available in .log files via `F10'.
437    * Open a permanent SAS dataset for viewing via `F9' (Rodney
438      Sparapani) You must have the library defined in autoexec.sas for
439      it to work.
441    * User-friendly defaults for `sas-program',
442      `ess-sas-batch-pre-command' and `ess-sas-batch-post-command' as
443      well Customize support for these and other ESS[SAS] variables
444      (Rodney Sparapani)
446    * `ess-sas-suffix-2' now defaults to .dat via `F11' (Rodney
447      Sparapani)
449    * Emacs/XEmacs, Unix/Windows issues collectively handled in
450      ess-emcs.el
452    * defadvice solves problem of missing *ESS* (thanks to Jeff Mincy)
454    * Improved manual a bit by including things that were only in
455      `README'.
457    Changes/New Features in 5.1.18:
458    * New `ess-smart-underscore' function, now assigned to "_" by
459      default.  Inserts `ess-S-assign' (customizable " <- "), unless
460      inside string and comments where plain "_" is used instead. (MM)
462    * Fixes for longstanding interactive SAS breakage (RMH)
464    Changes/New Features in 5.1.17:
465    * Documentation for Windows Installation (Rich Heiberger)
467    * removal of ess-vars, finalization of customize support (in the
468      sense that there is no more use of ess-vars, but that we need to
469      fix ess-cust) (AJ Rossini)
471    * Many small (and large) fixes/contributions (MMaechler)
473    * addition of the "S-equal" variable and provide `M-x
474      ess-add-MM-keys' a way to remap "_" to `ess-S-assign', typically "
475      <- ", but customizable. (MMaechler)
477    Changes/New Features in 5.1.16:
478    * BUG FIXES
480    * Better SAS support
482    Changes/New Features in 5.1.15:
483    * BUG FIXES
485    Changes/New Features in 5.1.14:
486    * Yet more fixes to SAS mode, (Rich Heiberger and Rodney Sparapani)
488    * Customize support (for most Emacsen which support it) (AJRossini)
490    * ARC and ViSta support out of the box, and fixes for XLispStat
491      (AJRossini)
493    Changes/New Features in 5.1.13:
494    * Version numbering finally all depending on the ./VERSION file,
495      thanks to Martin Maechler.
497    * Yet more fixes to SAS mode, thanks to Rich Heiberger.
499    Changes/New Features in 5.1.12:
500    * Splus 5.1 stabilized, thanks to Martin Maechler, Bill Venables,
501      Chuck Taylor, and others.
503    * More fixes to SAS mode, thanks to Rodney Sparapani and Rich
504      Heiberger.
506    Changes/New Features in 5.1.11:
507    * More fixes to Stata mode, thanks to Brendan Halpin
508      (mailto:brendan@essex.ac.uk).
510    * fixed bugs in ESS-elsewhere, thanks to many testers
512    * README.SPLUS4WIN has DETAILED instructions for S-PLUS 2000, thanks
513      to David Brahm (mailto:brahm@alum.mit.edu).
515    * Fixes to SAS mode, thanks to Rodney Sparapani
517    Changes/New Features in 5.1.10:
518    * More fixes to Stata mode
520    * primitive generic version of ESS-elsewhere
522    * Small fixes to SAS/Stata.
524    Changes/New Features in 5.1.9:
525    * Stata mode works
527    * Literate Data Analysis using Noweb works
529    Changes/New Features in 5.1.8:
530    * Bug fixes
532    * R documentation mode defaults changed
534    Changes/New Features in 5.1.2:
535    * able to use inferior iESS mode to communicate directly with a
536      running S-Plus 4.x process using the Microsoft DDE protocol.  We
537      use the familiar (from Unix ESS) `C-c C-n' and related key
538      sequences to send lines from the S-mode file to the inferior S
539      process.  We continue to edit S input files in ESS[S] mode and
540      transcripts of previous S sessions in ESS Transcript mode.  All
541      three modes know the S language, syntax, and indentation patterns
542      and provide the syntactic highlighting that eases the programming
543      tasks.
545 1.3 Current Features
546 ====================
548    * Languages Supported:
549         * S family (S 3/4, S-PLUS 3.x/4.x/5.x/6.x/7.x, and R)
551         * SAS
553         * BUGS
555         * Stata
557         * XLispStat including Arc and ViSta
559    * Editing source code (S family, SAS, BUGS, XLispStat)
560         * Syntactic indentation and highlighting of source code
562         * Partial evaluation of code
564         * Loading and error-checking of code
566         * Source code revision maintenance
568         * Batch execution (SAS, BUGS)
570         * Use of imenu to provide links to appropriate functions
572    * Interacting with the process (S family, SAS, XLispStat)
573         * Command-line editing
575         * Searchable Command history
577         * Command-line completion of S family object names and file
578           names
580         * Quick access to object lists and search lists
582         * Transcript recording
584         * Interface to the help system
586    * Transcript manipulation (S family, XLispStat)
587         * Recording and saving transcript files
589         * Manipulating and editing saved transcripts
591         * Re-evaluating commands from transcript files
593    * Help File Editing (R)
594         * Syntactic indentation and highlighting of source code.
596         * Sending Examples to running ESS process.
598         * Previewing
600 1.4 Stability
601 =============
603 Versions 5.2.x are meant to be release-quality versions.  While some
604 new features are being introduced, we are cleaning up and improving the
605 interface.  We know about some remaining documentation inconsistencies.
606 Patches or suggested fixes with bug reports are much appreciated!
608 1.5 Requirements
609 ================
611 ESS has been tested with
613    * R >=0.49
615    * S-PLUS 3.3-4, 4.5, 5.0-1, 6.0-2, 7.0, 2000
617    * S4
619    * SAS >=6.12
621    * BUGS 0.5, 0.603
623    * Stata >=6.0
625    * XLispStat >=3.50
627    on the following platforms
629    * Linux (all)
631    * Solaris/SunOS (all)
633    * Microsoft Windows 95/98/NT/2000/XP (R, SPLUS 4.5/6.0-2/7.0/2000,
634      SAS and BUGS)
636    * Apple Mac OS (SAS for OS 9 and R for OS X)
638    with the following versions of emacs
640    * GNU Emacs 20.3-7, 21.1, 21.3-4, 22.0.50-pretesting
642    * XEmacs 21.0, 21.1.13-14, 21.4.0-8, 21.4.9-13(1), 21.4.14-15,
643      21.4.17-18, 21.5.23
645    ---------- Footnotes ----------
647    (1) require the files.el patch to revert-buffer for the Local
648 Variables updating problem
650 1.6 Getting the Latest Version
651 ==============================
653 The latest released version of ESS is always available on the web at:
654 ESS web page (http://ess.r-project.org) or StatLib
655 (http://lib.stat.cmu.edu/general/ESS/)
657    The latest development version of ESS is available via
658 `https://svn.R-project.org/ESS/', the ESS Subversion repository.  If
659 you have a Subversion client (see `http://subversion.tigris.org/'), you
660 can download the sources using:
661      % svn checkout https://svn.r-project.org/ESS/trunk PATH
662    which will put the ESS files into directory PATH.  Later, within
663 that directory, `svn update' will bring that directory up to date.
664 Windows-based tools such as TortoiseSVN are also available for
665 downloading the files.  Alternatively, you can browse the sources with a
666 web browser at: ESS SVN site (https://svn.r-project.org/ESS/trunk).
667 However, please use a subversion client instead to minimize the load
668 when retrieving.
670    If you remove other versions of ESS from your emacs load-path, you
671 can then use the development version by adding the following to .emacs:
673      (load "/path/to/ess-svn/lisp/ess-site.el")
675    Note that https is required, and that the SSL certificate for the
676 Subversion server of the R project is
678      Certificate information:
679       - Hostname: svn.r-project.org
680       - Valid: from Jul 16 08:10:01 2004 GMT until Jul 14 08:10:01 2014 GMT
681       - Issuer: Department of Mathematics, ETH Zurich, Zurich, Switzerland, CH
682       - Fingerprint: c9:5d:eb:f9:f2:56:d1:04:ba:44:61:f8:64:6b:d9:33:3f:93:6e:ad
684 (currently, there is no "trusted certificate").  You can accept this
685 certificate permanently and will not be asked about it anymore.
687 1.7 Installation (from tar file)
688 ================================
690 We now discuss installation, which might happen under Unix or Microsoft
691 Windows.  First, we discuss Unix installation.  *Note Unix
692 installation::.
694    For Microsoft Windows Installation please skip to the *Note
695 Microsoft Windows installation::.
697 1.8 Unix installation
698 =====================
700   1. `cd' to a directory where you want to install ESS, creating it if
701      necessary.  This directory will be referred to below as `ESSDIR'.
703   2. Retrieve the latest version from ESS downloads area
704      (http://ess.r-project.org/downloads/ess) to `ESSDIR'.
706   3. Decompress/unarchive the files from the disribution.
707           Either, `gunzip < ess-VERSION.tar.gz | tar xf -',
708           or using GNU tar, `tar zxf ess-VERSION.tar.gz'.
710      The `tar' command will create the subdirectory `ess-VERSION' and
711      install the files there.
713   4. Edit the file `ESSDIR/ess-VERSION/lisp/ess-site.el' as explained
714      in the comments section of that file.
716   5.  Add the line
717           (load "ESSDIR/ess-VERSION/lisp/ess-site")
718      to your user or system installation file (GNU Emacs uses
719      `$HOME/.emacs' and XEmacs uses `$HOME/.xemacs/init.el' for the
720      user initialization file.  GNU Emacs uses `default.el' or
721      `site-init.el' and XEmacs uses `site-start.el' for the system
722      installation file).
724      Alternatively, if `ess-site.el' is in your current `load-path',
725      then:
726           (require 'ess-site)
727      to configure emacs for ESS.
729   6. That's it!  If you are installing just a local copy of ESS for
730      yourself, ESS is now ready to be used.  (The remaining step below
731      is for advanced installation.)  To edit statistical programs, load
732      the files with the requiste extensions (`.sas' for SAS, `.S' for
733      S-PLUS, `.R' for R, and `.lsp' for XLispStat).  To start a
734      statistical process within emacs, such as R, type `M-x R'.
736   7. (OPTIONAL) READ THIS ITEM THOROUGHLY BEFORE STARTING:
738      If you want to place the compiled files in other locations edit the
739      `LISPDIR', `INFODIR' and `ETCDIR' entries in Section 1 of
740      `Makeconf' in the `ESSDIR/ess-VERSION' directory (if you are using
741      XEmacs, then see the XEmacs subsection in Section 1 of `Makeconf').
743      You can compile those files by:
744           make all
746      When that completes successfully, install the compiled files:
747           make install
749      _Note:_ ESS is no longer available as an XEmacs package.  However,
750      ESS will work best if the XEmacs sumo tarball (all XEmacs packages
751      combined) has been installed.  For more information on installing
752      XEmacs packages, see Quickstart Package Guide
753      (http://www.xemacs.org/Documentation/packageGuide.html).
756 1.9 Microsoft Windows installation
757 ==================================
759 For Microsoft Windows installation, please follow the next steps: (see
760 separate instructions above for UNIX *Note Unix installation::.
762   1. `cd' to a directory where you keep emacs lisp files, or create a
763      new directory (for example, `c:\emacs\') to hold the distribution.
764      This directory will be referred to below as "the ESS distribution
765      directory".
767   2. Retrieve the latest zip file (`ess-VERSION.zip') from ESS
768      downloads area (http://ess.r-project.org/downloads/ess) and store
769      it in the ESS distribution directory.  Be aware that http browsers
770      on Windows frequently change the "." and "-" characters in
771      filenames to other punctuation.  Please change the names back to
772      their original form.
774   3. Extract all the files from `ess-VERSION.zip' into the ESS
775      distribution directory.  In Windows Explorer, you can unpack the
776      archive by double clicking on the folder; you should then see a
777      new folder called `ess-VERSION'.  Drag that folder into your ESS
778      distribution directory.
780   4. Add the line
781           (load "C:/emacs/ess-VERSION/lisp/ess-site")
782      to your emacs initialization file.  (GNU Emacs uses the filename
783      `~/.emacs' and XEmacs uses the filename `~/.xemacs/init.el' for
784      the initialization file.  The tilde is recognised by emacs as your
785      HOME directory, i.e. the value of your HOME environment variable.)
786      Replace `VERSION' above with the version number of ESS.  Remember
787      to use forwardslashes `/' rather than `\\' in your filename.
789      After saving your initialization file, ESS is now installed.
790      Start a new emacs and you should be ready to use ESS.  For
791      example, to edit statistical programs, load the files with the
792      requisite extensions (".sas" for SAS, ".S" or "s" or "q" or "Q"
793      for S-PLUS, ".r" or ".R" for R, and ".lsp" for XLispStat).  One
794      further step is needed if you wish to run statistical processes,
795      see below.
797   5. To run statistical processes under ESS, Windows users will need to
798      make sure that the directories for the software they will be using
799      is in the PATH environment variable.  On Windows 9x, add lines
800      similar to the following to your `c:\autoexec.bat' file:
801           path=%PATH%;c:\progra~1\insightful\splus70\cmd
802      On Windows NT/2000/XP, add the directories to the PATH using the
803      `My Computer/Control Panel/System/Advanced/Environment Variables'
804      menu.  Note that the directory containing the program is added to
805      the PATH, not the program itself.  One such line is needed for
806      each software program.  Be sure to use the abbreviation `progra~1'
807      and not the long version with embedded blanks.  Use backslashes
808      "\".
810      An alternative, for R users, is that rather than adjusting the PATH
811      variable, you can add the following to your emacs initialization
812      file (and restart emacs):
813           (setq inferior-R-program-name "C:/progra~1/R/R-2.2.1/bin/Rterm.exe")
814      This assumes that you have installed R-2.2.1 in the default
815      location.  Change the path otherwise to point to other locations.
817      To start the S-PLUS [67].x GUI from ESS under emacs:
818           M-x S
819           (or `M-x S+6').
820      You will then be asked for a pathname ("S starting data
821      directory?"), from which to start the process.  The prompt will
822      propose your current directory as the default.  ESS will start the
823      S-PLUS GUI.  There will be slight delay during which emacs is
824      temporarily frozen.  ESS will arrange for communication with the
825      S-PLUS GUI using the DDE protocol.  Send lines or regions from the
826      emacs buffer containing your S program (for example, `myfile.s')
827      to the S-PLUS Commands Window with the `C-c C-n' or `C-c C-r' keys.
828      (If you are still using S-PLUS 4.x or 2000, then use `M-x S+4'.)
830      To start an S-PLUS [67].x session inside an emacs buffer--and
831      without the S-PLUS GUI:
832           M-x Sqpe
833           (or `M-x Sqpe+6').
834      You will then be asked for a pathname ("S starting data
835      directory?"), from which to start the process.  The prompt will
836      propose your current directory as the default.  You get Unix-like
837      behavior, in particular the entire transcript is available for
838      emacs-style search commands.  Send lines or regions from the emacs
839      buffer containing your S program (for example, `myfile.s') to the
840      *S+6* buffer with the `C-c C-n' or `C-c C-r' keys.  Interactive
841      graphics are available with Sqpe by using the java library
842      supplied with S-PLUS 6.1 and newer releases.  Enter the commands:
843           library(winjava)
844           java.graph()
845      Graphs can be saved from the `java.graph' device in several
846      formats, but not PostScript.   If you need a PostScript file you
847      will need to open a separate `postscript' device.  (If you are
848      still using S-PLUS 4.x or 2000, then use `M-x Sqpe+4'.)
850      To connect to an already running S-PLUS GUI (started, for example,
851      from the S-PLUS icon):
852           M-x S+6-existing
853      You will then be asked for a pathname ("S starting data
854      directory?"), from which to start the process.  The prompt will
855      propose your current directory as the default.  ESS will arrange
856      for communication with the already running S-PLUS GUI using the
857      DDE protocol.  Send lines or regions from the emacs buffer
858      containing your S program (for example, `myfile.s') to the S-PLUS
859      Commands Window with the `C-c C-n' or `C-c C-r' keys.  (If you are
860      still using S-PLUS 4.x or 2000, then use `M-x S+4-existing'.)
862      If you wish to run R, you can start it with:
863           M-x R
865      XLispStat can not currently be run with
866           M-x XLS
867      Hopefully, this will change.  However, you can still edit with
868      emacs, and cut and paste the results into the XLispStat *Listener*
869      Window under Microsoft Windows.
871   6. That's it!
874 1.10 Reporting Bugs
875 ===================
877 Please send bug reports, suggestions etc. to
878 <ESS-bugs@stat.math.ethz.ch>
880    The easiest way to do this is within Emacs by typing
882    `M-x ess-submit-bug-report'
884    This also gives the maintainers valuable information about your
885 installation which may help us to identify or even fix the bug.
887    If Emacs reports an error, backtraces can help us debug the problem.
888 Type "M-x set-variable RET debug-on-error RET t RET".  Then run the
889 command that causes the error and you should see a *Backtrace* buffer
890 containing debug information; send us that buffer.
892    Note that comments, suggestions, words of praise and large cash
893 donations are also more than welcome.
895 1.11 Mailing Lists
896 ==================
898 There is a mailing list for discussions and announcements relating to
899 ESS.  Join the list by sending an e-mail with "subscribe ess-help" (or
900 "help") in the body to <ess-help-request@stat.math.ethz.ch>;
901 contributions to the list may be mailed to
902 <ess-help@stat.math.ethz.ch>.  Rest assured, this is a fairly
903 low-volume mailing list.
905    The purposes of the mailing list include
907    *  helping users of ESS to get along with it.
909    *  discussing aspects of using ESS on Emacs and XEmacs.
911    *  suggestions for improvements.
913    *  announcements of new releases of ESS.
915    *  posting small patches to ESS.
917 1.12 Authors
918 ============
920    * A.J. Rossini (mailto:blindglobe@gmail.com)
922    * Richard M. Heiberger (mailto:rmh@temple.edu)
924    * Kurt Hornik (mailto:Kurt.Hornik@R-project.org)
926    * Martin Maechler (mailto:maechler@stat.math.ethz.ch)
928    * Rodney A. Sparapani (mailto:rsparapa@mcw.edu)
930    * Stephen Eglen (mailto:stephen@gnu.org)