[ESS] ESS 15.09-beta: please try it before release!

Martin Maechler maechler at stat.math.ethz.ch
Fri Sep 18 13:11:16 CEST 2015


Dear ESS users,

The ESS core team plans to release ESS 15.09 in a few days (probably Sept.23).
Those (daring ones) of you who work from the github or MELPA
development version of ESS are indeed beta-testing ESS 15.09
already.

Others are kindly asked to try it, possibly most easily by getting one of the packaged beta versions (showing 'https' below; 'http' also works) :

https://stat.ethz.ch/ESS/downloads/ess/ess-15.09-beta.tgz
https://stat.ethz.ch/ESS/downloads/ess/ess-15.09-beta.zip

and giving feedback either here or by opening  "github issue" at
https://github.com/emacs-ess/ESS/issues

The biggest changes are in indentation behavior which has become
much more consistent and still more flexible,
notably thanks to our new team member
Lionel Henry  (thank you, Lionel!)

Many other improvements / bug fixes have been incorporated since
the spring release  15.03.  See below for the current documented
list of new features for 15.09.

For the ESS Core Team:

Martin Maechler, ETH Zurich

-----------

Changes and New Features in 15.09:
   * ESS[R]: The indentation logic has been refactored.  It should be
     faster, more consistent and more flexible.  A test framework has
     been set up in order to prevent any regression on future code
     change.  Indentation offsets have been renamed as well and now all
     start with the prefix 'ess-offset-' and other control variables
     start with 'ess-indent-'.  See 'ess-style-alist' for detailed
     description of the new indentation system.

     The most visible user change in the indentation setup is that
     customisation is now centered around 3 settings:
     'ess-offset-arguments', 'ess-offset-arguments-newline' and
     'ess-offset-block'.  The first two settings control how arguments
     are indented inside function calls and index brackets, while the
     latter controls the indentation of statement blocks.  They can be
     set to 'prev-call' (indentation relative to innermost function
     call), 'prev-line' (indentation relative to last line indentation
     as in RStudio) or 'open-delim' (indentation relative to opening
     delimiter).  See the documentation strings of those variables for
     more information.  Indentation of delimiters refer to these three
     values depending on the context in order to offer a consistent
     indentation.  'ess-arg-function-offset' has been replaced by
     'ess-indent-prev-call-lhs' and has been generalised to
     assignements.  This setting works with both statement blocks and
     expressions.  It now only takes effect for offsets set to
     'prev-call' in order to produce a consistent indentation.

   * ESS[R]: 'ess-brace-imaginary-offset', 'ess-expression-offset' and
     all delimiter offsets are deprecated.  The settings for indentation
     of continued statements have been replaced by
     'ess-offset-continuations'.  It can be set to either 'cascade' or
     'straight' (the default).

   * ESS[R]: A new RStudio style is provided to mimic as closely as
     possible R files indented via RStudio.  To reproduce the setup of
     some of the RStudio users, you will also need to set
     'ess-offset-arguments' to 'prev-line'.

   * ESS[R]: Roxygen fields will now be indented on paragraph refilling
     in order to make the documentation more readable.  You can also
     refill commented lines in the 'examples' field without squashing
     the surrounding code in the comments.

   * ESS[R]: ESS can now format your code.  This is controlled through
     the settings 'ess-fill-calls' and 'ess-fill-continuations'.  When
     activated, '(fill-paragraph)' will format your calls and your
     formulas/continuations and make sure they don't go past
     'fill-column'.  Refilling with a prefix produces an alternative
     formatting with one element per line.  Repeated refills cycle
     through different styles (see the docstrings for more details).  By
     default, the refilled region blinks.  Set 'ess-blink-filling' to
     nil to prevent this.

   * ESS[R]: Fix occasional missing error location fontification in
     inferior buffers.



More information about the ESS-help mailing list