[ESS] ESS 12.04 released
vincent.goulet at dgfc.ulaval.ca
Fri Apr 6 23:37:58 CEST 2012
I updated my Emacs distributions accordingly earlier today:
>From the NEWS file:
Version 23.4-modified-4 (6 April 2012)
o ESS 12.04
o Org 7.8.08
o Org was not correctly installed in previous version due to org's
akward use of environment variable DESTDIR in its Makefile.
Le jeu. 5 avr. à 19:12, Martin Maechler a écrit :
> We have released ESS 12.04 -- as a patch release for 12.03 --
> a few minutes ago. Notably we've reverted a 12.03 "feature" (TAB no longer
> auto-completes in R scripts by default).
> In the name of the ESS core team,
> Martin Maechler, ETH Zurich
> 1 ANNOUNCING ESS
> The ESS Developers proudly announce the release of ESS
> Emacs Speaks Statistics (ESS) provides an intelligent, consistent
> interface between the user and the software. ESS interfaces with
> R/S-PLUS, SAS, BUGS/JAGS, Stata and other statistical analysis packages
> under the UNIX, GNU Linux, Microsoft Windows, Mac OS X and other
> operating systems. ESS is a package for the GNU Emacs and XEmacs text
> editors whose features ESS uses to streamline the creation and use of
> statistical software. ESS knows the syntax and grammar of statistical
> analysis packages and provides consistent display and editing features
> based on that knowledge. ESS assists in interactive and batch
> execution of statements written in these statistical analysis languages.
> ESS is freely available under the GNU General Public License (GPL).
> Please read the file COPYING which comes with the distribution, for
> more information about the license. For more detailed information,
> please read the README files that come with ESS.
> 1.1 Getting the Latest Version
> The latest released version of ESS is always available on the web at:
> ESS web page (http://ess.r-project.org) or StatLib
> 1.1.1 ESS subversion repository
> The latest development version of ESS is available via
> `https://svn.R-project.org/ESS/', the ESS Subversion repository. If
> you have a Subversion client (see `http://subversion.tigris.org/'), you
> can download the sources using:
> % svn checkout https://svn.r-project.org/ESS/trunk PATH
> which will put the ESS files into directory PATH. Later, within
> that directory, `svn update' will bring that directory up to date.
> Windows-based tools such as TortoiseSVN are also available for
> downloading the files. Alternatively, you can browse the sources with a
> web browser at: ESS SVN site (https://svn.r-project.org/ESS/trunk).
> However, please use a subversion client instead to minimize the load
> when retrieving.
> If you remove other versions of ESS from your emacs load-path, you
> can then use the development version by adding the following to .emacs:
> (load "/path/to/ess-svn/lisp/ess-site.el")
> Note that https is required, and that the SSL certificate for the
> Subversion server of the R project is
> Certificate information:
> - Hostname: svn.r-project.org
> - Valid: from Jul 16 08:10:01 2004 GMT until Jul 14 08:10:01 2014 GMT
> - Issuer: Department of Mathematics, ETH Zurich, Zurich, Switzerland, CH
> - Fingerprint: c9:5d:eb:f9:f2:56:d1:04:ba:44:61:f8:64:6b:d9:33:3f:93:6e:ad
> (currently, there is no "trusted certificate"). You can accept this
> certificate permanently and will not be asked about it anymore.
> 1.1.2 Git for development
> For development and experimentation on new features, there is now a
> GitHub branch for ESS, available at `https://github.com/emacs-ess/ESS'.
> 1.2 Current Features
> * Languages Supported:
> * S family (S 3/4, S-PLUS and R)
> * SAS
> * BUGS/JAGS
> * Stata
> * XLispStat including Arc and ViSta
> * Editing source code (S family, SAS, BUGS/JAGS, Stata)
> * Syntactic indentation and highlighting of source code
> * Partial evaluation of code
> * Loading and error-checking of code
> * Source code revision maintenance
> * Batch execution (SAS, BUGS/JAGS)
> * Use of imenu to provide links to appropriate functions
> * Interacting with the process (S family, SAS, Stata)
> * Command-line editing
> * Searchable Command history
> * Command-line completion of S family object names and file
> * Quick access to object lists and search lists
> * Transcript recording
> * Interface to the help system
> * Transcript manipulation (S family, Stata)
> * Recording and saving transcript files
> * Manipulating and editing saved transcripts
> * Re-evaluating commands from transcript files
> * Help File Editing (R)
> * Syntactic indentation and highlighting of source code.
> * Sending Examples to running ESS process.
> * Previewing
> 1.3 Requirements
> ESS is most likely to work with current/recent versions of the following
> statistical packages: R/S-PLUS, SAS, Stata, OpenBUGS and JAGS.
> ESS supports current, and recent, stable versions of GNU Emacs
> (specifically, the 22.x and 23.x series; alpha/beta/pre-release versions
> are NOT SUPPORTED). XEmacs is currently NOT SUPPORTED, but ESS v. 5.14
> should still work (XEmacs stable 21.4.14 or higher).
> To build the PDF documentation, you will need a version of TeX Live
> or texinfo that includes texi2dvi (BEWARE: recent TeX Live, and some
> texinfo RPMs, do NOT include texi2dvi).
> 1.4 Stability
> All recent released versions are meant to be release-quality versions.
> While some new features are being introduced, we are cleaning up and
> improving the interface. We know that there are many remaining
> opportunities for documentation improvements, but all contributors are
> volunteers and time is precious. Patches or suggested fixes with bug
> reports are much appreciated!
> 1.5 Mailing List
> There is a mailing list for discussions and announcements relating to
> ESS. Join the list by sending an e-mail with "subscribe ess-help" (or
> "help") in the body to <ess-help-request at stat.math.ethz.ch>;
> contributions to the list may be mailed to
> <ess-help at stat.math.ethz.ch>. Rest assured, this is a fairly
> low-volume mailing list.
> The purposes of the mailing list include
> * helping users of ESS to get along with it.
> * discussing aspects of using ESS on Emacs and XEmacs.
> * suggestions for improvements.
> * announcements of new releases of ESS.
> * posting small patches to ESS.
> 1.6 Reporting Bugs
> Please send bug reports, suggestions etc. to
> <ESS-bugs at stat.math.ethz.ch>
> The easiest way to do this is within Emacs by typing
> `M-x ess-submit-bug-report'
> This also gives the maintainers valuable information about your
> installation which may help us to identify or even fix the bug.
> If Emacs reports an error, backtraces can help us debug the problem.
> Type "M-x set-variable RET debug-on-error RET t RET". Then run the
> command that causes the error and you should see a *Backtrace* buffer
> containing debug information; send us that buffer.
> Note that comments, suggestions, words of praise and large cash
> donations are also more than welcome.
> 1.7 Authors
> * A.J. Rossini (mailto:blindglobe at gmail.com)
> * Richard M. Heiberger (mailto:rmh at temple.edu)
> * Kurt Hornik (mailto:Kurt.Hornik at R-project.org)
> * Martin Maechler (mailto:maechler at stat.math.ethz.ch)
> * Rodney A. Sparapani (mailto:rsparapa at mcw.edu)
> * Stephen Eglen (mailto:stephen at gnu.org)
> * Sebastian P. Luque (mailto:spluque at gmail.com)
> * Vitalie Spinu (mailto:spinuvit at gmail.com)
> * Henning Redestig (mailto:henning.red at googlemail.com)
> 1.8 License
> The source and documentation of ESS is free software. You can
> redistribute it and/or modify it under the terms of the GNU General
> Public License as published by the Free Software Foundation; either
> version 2, or (at your option) any later version.
> ESS is distributed in the hope that it will be useful, but WITHOUT
> ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
> in the file COPYING in the same directory as this file for more details.
> 1.9 New Features
> Changes/New Features in 12.04:
> * ESS: Reverting new behavior of 12.03, `TAB' in `ess-mode' no
> longer completes by default. If you want smart `TAB'
> completion in R and S scripts, similarly to iESS behavior,
> set the variable `ess-tab-complete-in-script' to `t'. Also see
> `ess-first-tab-never-complete' for how to customize where
> first `TAB' is allowed to complete.
> * ESS: completion is consistently bound to `M-TAB' (aka `C-M-i')
> in both Emacs23 and Emacs24.
> * ESS: The variable `ess-arg-function-offset-new-line'
> introduced in ESS(12.03) now accepts a list with the first
> element a number to indicate that the offset should be
> computed from the indent of the previous line. For example
> setting it to '(2) results in:
> a <- some.function(
> Changes/New Features in 12.03:
> * ESS indentation: new offset variable
> `ess-arg-function-offset-new-line' controlling for the
> indentation of lines immediately following open '('. This is
> useful to shift backwards function arguments after a long
> function call expression:
> a <- some.function(
> instead of the old
> a <- some.function(
> If '(' is not followed by new line the behavior is unchanged:
> a <- some.function(arg1,
> This variable should be set as part of indentation style
> lists, or in ess-mode hook.
> * ESS[R]: `C-c .' sets (indentation) style.
> * ESS: In ESS buffers `yank'(`C-y') command accepts double
> argument `C-u C-u' to paste commands only. It deletes any
> lines not beginning with a prompt, and then removes the
> prompt from those lines that remain. Useful to paste code
> from emails, documentation, inferior ESS buffers or
> transcript files.
> * Documentation: ESS user manual has been rearranged and
> completed with several new chapters and sections to reflect
> newly added features ("Completion", "Developing with ESS",
> "ESS tracebug", "ESS developer", "ESS ElDoc", "IDO
> Comppletion" and "Evaluating Code")
> * RefCard: Reference card was updated to include new features.
> * Eldoc: Eldoc was rewritten and is activated by default. See
> `ess-use-eldoc', `ess-eldoc-show-on-symbol',
> `ess-eldoc-abbreviation-style' variables for how to change
> the default behavior. _Note:_ `skeleton-pair-insert-maybe'
> prohibits eldoc display, on `(' insertion.
> * ESS[R]: Eldoc shows arguments of a generic function whenever
> * ESS: `TAB' in `ess-mode' now indents and completes, if there
> is nothing to indent. Set `ess-first-tab-never-completes-p'
> to `t' to make `TAB' never complete on first invocation.
> Completion mechanism is similar to the completion in the
> `inferior-ess-mode' - a filename expansion is tried, if not
> found ESS completes the symbol by querying the process.
> * ESS for emacs version 24 or higher: ESS is fully compatible
> with the emacs 24 completion scheme, i.e. all the completion
> is done by `completion-at-point'. Also in accordance with
> emacs conventions, ESS doesn't bind `M-TAB' for emacs 24 or
> higher. `M-TAB' calls the default `complete-symbol'.
> * ESS[R]: Out of the box integration with `Auto Completion'
> mode (http://cx4a.org/software/auto-complete/). Three AC
> sources `ac-source-R-args', `ac-source-R-objects' and
> `ac-source-R' are provided. The last one combines the
> previous two and makes them play nicely together. Set
> `ess-use-auto-complete' to `t' to start using it. Refer to
> documentation string of `ac-use-auto-complete' for further
> * ESS[R]: New unified and fast argument completion system,
> comprised of `ess-funname.start', `ess-function-arguments',
> `ess-get-object-at-point'. Eldoc and auto-completion
> integration are using this system.
> * ESS: `ess-switch-to-end-of-ESS'(`C-c C-z'), and
> `ess-switch-to-ESS'(`C-c C-y'): Automatically start the
> process whenever needed.
> * ESS[R]: `roxy' knows about previewing text version of the
> documentation. Bound to `C-c C-e t'.
> * ESS[R]: Solved the "nil filename" bug in roxygen support.
> * ESS[R]: `ess-tracebug' is now part of ESS:
> New Features:
> - Source injection: Tracebug now can inject source
> references on the fly during code evaluation, i.e. you
> don't have to source your file, but just evaluate your
> code in normal fashion. Variable
> `ess-tracebug-inject-source-p' controls this behavior -
> if t, always inject source reference, if `'function',
> inject only for functions (this is the default), if
> `nil', never inject.
> During the source injection the value of
> `ess-eval-visibly-p' is ignored.
> - Org-mode support: Visual debugger is now aware of the
> temporary org source editing buffer (`C-c '') and jumps
> through this buffers if still alive, or in original org
> buffer otherwise.
> - New keys in watch mode: `?' and `d'
> - Two new hooks: ess-tracebug-enter-hook and
> * ESS[R]: New package `ess-developer' to evaluate `R' code
> directly in the package environment and namespace. It can be
> toggled on and off with `C-c d t'. When `ess-developer' is on
> all ESS evaluation commands are redefined to evaluate code in
> appropriate environments. Add package names to the list of
> your development packages with `C-d a', and remove with `C-d
> r'. Source the current file with `C-d s'.Evaluation function
> which depend on ``ess-eval-region'' ask for the package to
> source the code into, `ess-eval-function' and alternatives
> search for the function name in the development packages'
> environment and namespace and insert the definition
> accordingly. See the documentation section "Developing with
> ESS/ESS developer" for more details.
> * ESS[R] help system:
> New Features:
> - `q' quits window instead of calling
> `ess-switch-to-end-of-ESS'. This is consistent with
> emacs behavior help and other special buffers (_breaking
> - `k' kills window without asking for the name (pointed by
> Sam Steingold)
> - Help map inherits from `special-mode-map' as sugested by
> Sam Steingold.
> - Package index: new function `ess-display-index' bound to
> `i' in help mode map.
> - Package vignettes: new function `ess-display-vignettes'
> bound to `v' in help mode map.
> - Display help in HTML browser: new function
> `ess-display-help-in-browser' bound to `w' in help mode
> map. It depends on `R''s `browser' option.
> - New custom variable `ess-help-pop-to-buffer': if non-nil
> ESS help buffers are given focus on display. The default
> is `t' (_breaking change_).
> - New menu entries for the above functions.
> - Bogus help buffers are no longer generated by default,
> i.e. buffers of the form "No documentation for 'foo' in
> specified packages and libraries: you could try '??foo'
> ". `ess-help-kill-bogus-buffers' now defaults to `t'.
> Beware, there may be instances where the default is
> unsatisfactory such as debugging and/or during R
> development. Thanks to Ross Boylan for making the
> suggestion, Sam Steingold for reminding us of this
> variable and Martin Maechler for the warning.
> * ESS now uses `IDO' completing read functionality for all the
> interactive requests. It uses ido completion mechanism
> whenever available, and falls back on classical
> completing-read otherwise. You can set `ess-use-ido' to nil
> if you don't want the IDO completion. See the documentation
> string of `ess-use-ido' for more information about `IDO' and
> ESS configuration.
> * ESS[S]: "`,'" is bound to ess-smart-comma: If comma is
> invoked at the process marker of an ESS inferior buffer,
> request and execute a command from ``ess-handy-commands''
> list. If `ess-R-smart-operators' is t ``ess-smart-comma' also
> inserts " " after comma.
> * ESS[S], notably `R': Variable ``ess-handy-commands'' stores
> an alist of useful commands which are called by
> `ess-smart-comma' in the inferior buffer.
> Currently containing:
> Handy commands: `ess-library', `ess-install.packages', etc -
> ask for item with completion and execute the correspond
> command. `ess-sos' is a interface to `findFn' function in
> package `sos'. If package `sos' is not found, ask user for
> interactive install.
> * ESS: New dynamic mode line indicator: Process status is
> automatically reflected in all mode-lines of associated with
> the process buffers. Particularly useful for displaying debug
> status of `ess-tracebug' and developer status of
> `ess-developer' in all associated buffers.
> * ESS: New `ess-completing-read' mechanism: ESS uses `ido'
> completions whenever possible. Variable `ess-use-ido'
> controls whether to use ido completion or not. Active by
> * ESS now supports comint fields for output and input
> detection. This feature is not used by default, but might be
> useful in the future.
> * ESS[S]: New custom variable `inferior-ess-S-prompt' to
> customize prompt detection regular expression in the inferior
> ESS buffers. You can customize this variable to enhance
> comint navigation (`comint-previous-prompt' and
> `comint-next-prompt') the inferior buffers.
> * ESS[R]: Internal `R' completion retrieval
> (`ess-R-complete-object-name') was rewritten and is faster
> * ESS is using process plist to store process specific
> variables, as opposed to buffer local variables as it was
> using before. The use of buffer local variables to store
> process variables is discouraged.
> * ESS: new functions to manipulate process plists:
> `ess-process-get' and `ess-process-set'.
> * ESS: Internal process waiting mechanism was completely
> rewritten. ESS no more relies on prompt regular expressions
> for the prompt detection. The only requirement on the primary
> process prompt is to end in `> '. This could be overwritten
> by setting `inferor-ess-primary-prompt'.
> * ESS[S], notably `R': Saved command history: ESS-HISTORY-FILE
> now accepts `t' (default), `nil', or a file name. By setting
> it to `nil' no command line history is saved anymore.
> ESS-HISTORY-DIRECTORY now allows to have the history all
> saved in one "central" file.
> * ESS[R]: more Roxygen improvements.
> * ESS[R]: `C-c .' to set (indentation) style.
> * ESS[R]: Functions with non-standard names (for example
> 'aaa-bbb:cc') are properly handled by font-lock and
> evaluation routines.
> * ESS[R]:Several regexp bugs (described in etc/R-ESS-bugs.el)
> were fixed in `ess-get-words-from-vector' and `ess-command'.
More information about the ESS-help