Changes and New Features in 25.01.0:
etc/proc.sas 
and etc/func.sas.
Changes and New Features in 24.01.1:
ess-request-a-process change
Changes and New Features in 24.01.0:
ess-request-a-process obeys ess-gen-proc-buffer-name-function,
thanks to Ihor Radchenko.
Changes and New Features in 19.04 (unreleased):
browser() in
an environment that doesn’t inherit from the search path.
options(width = ) is now set on startup based
on the width of the inferior window.
ess-command now runs R code in a sandboxed environment.
Use .ess.environment() to inspect the current environment.
ess-elisp-trace-mode minor mode.
Toggle it to start or stop tracing all ess-prefixed functions
with trace-function. Tracing is useful for debugging background
ESS behaviour.
ess-get-help-aliases-list now caches the aliases
on the R side. This should speed up help lookup when the search path has
changed and the aliases are read again.
ess-command now uses a default timeout of 30 seconds.
It should normally be avoided with long-running tasks because it causes
Emacs to block while the command is running. If the timeout is reached,
an error is thrown. An interrupt is also sent to the process in case of early
exit.
This is a behaviour change: you will now have to explicitly opt in
blocking the whole Emacs UI for more than 30 seconds by supplying a
larger timeout (use most-positive-fixnum for infinity).
ess-wait-for-process now returns nil if a timeout is
reached.
ess-get-words-from-vector gains a timeout argument.
ess-command is now more robust and resilient to hangs
and custom prompts (#1043). It also strips continuation prompts (+
prompts) automatically and reliably (#1116).
ess-command now handles sinked consoles correctly.
ess-command no longer changes .Last.value.
As a result, background tasks like completions no longer affect
the last value binding (#1058).
display-buffer is set to pop up frames.
inferior-ess-fix-misaligned-output to t.
xref lookup (M-.).
Function locations are now always detected for package libraries listed
in ess-r-package-library-paths.
examples field. Since roxygen is switching to R markdown, it
becomes useful to evaluate chunks of R outside examples.
ess-set-working-directory no longer changes the active
directory (as defined by the buffer-local variable
default-directory) of the buffer where the command is called.
Instead, the active directory of the inferior buffer is updated to the
new working directory.
'nowait.
With this change you should no longer experience freezes while
evaluating code.
C-c C-e C-r. Reloading now reuses the
same process name and start arguments that were used to start the
process.
with-current-buffer with the return value of the inferior.
:: and ::: operators.
goto-address-mode for url and email highlighting in inferior buffers.
smart-underscore and ess-smart-S-assign-key have been removed.
Users who liked the previous behavior (i.e. underscore inserting “<-”)
should bind ess-insert-assign to the underscore in their Emacs
initialization file. For example, (define-key ess-r-mode-map "_"
#'ess-insert-assign) and (define-key inferior-ess-r-mode-map "_"
#'ess-insert-assign) will activate it in all ESS R buffers.
ess-auto-width-visible controls
visibility.
display-buffer-alist.
Users can now use display-buffer-alist to manage how and where
windows appear. For more information and examples, see See (ess)Controlling
buffer display.
ess-roxy-mode can now be enabled in non-R buffers.
This is primarily intended to support roxygen documentation for cpp
buffers. Preview functionality is not supported outside R buffers.
conf-colon-mode.
ess-style now has effects when set as a file or directory local variable.
ess-default-style is now obsolete, use ess-style instead.
eldoc-echo-area-use-multiline-p
ess-r-rhub-check-package gained new RECOMMENDED.
ess-save-silently.
options(help_type = ``html'') but works with the plain-text
version as well. This only works with options(useFancyQuotes =
TRUE) (the default).
ess-rdired buffers now derive from tabulated-list-mode.
They should look better and be a bit faster overall. The size column
now displays object sizes in bytes.
ess-rdired buffers now auto-update.
The frequency is governed by the new option
ess-rdired-auto-update-interval.
electric-layout-mode is now supported.
This automatically inserts a newline after an opening curly brace in R
buffers. To enable it, customize ess-r-mode-hook.
The following have been made obsolete or removed, see their documentation for more detail:
ess-noweb, ess-swv, and related
functionality like Rnw-mode. Users are encouraged to switch to
one of several other packages that deal with these modes. For example,
polymode https://github.com/polymode/poly-R/,
https://polymode.github.io/, or markdown-mode with edit-indirect
https://jblevins.org/projects/markdown-mode.
auto-complete is obsolete.
The auto-complete package is unmaintained and so ESS support is
now obsolete. Users are encouraged to switch to company-mode
instead.
ess-show-buffer-action,
inferior-ess-same-window, inferior-ess-own-frame, and
inferior-ess-frame-alist. See above about ESS respecting
display-buffer-alist.
ess-tab-always-indent and ess-tab-complete-in-script.
Use the Emacs-wide setting of tab-always-indent instead.
inferior-ess-*-start-file variables.
All modes except Stata did not respect customization of this variable.
In order to load a file on startup, you should put a function on
ess-*-post-run-hook.
Bug Fixes in 18.10.3:
Bug Fixes in 18.10.2:
make install and including
full docs in the tarballs.
Bug Fixes in 18.10.1:
ess-eval-line-visibly-and-step (C-c C-n and ess-eval-region-or-line-visibly-and-step (C-RET)
which behave as the old versions of ess-eval-line-and-step and ess-eval-region-or-line-and-step.
Changes and New Features in 18.10:
package-install does), you should not need to (require
'ess-site) at all, as autoloads should automatically load ESS when it
is needed (e.g. the first time an R buffer is opened). In order to defer
loading your ESS config, you may want to do something like
(with-require-after-load "ess" <ess-config-here>) in your Emacs
init file. Users of the popular use-package Emacs package can now
do (use-package ess :defer t) to take advantage of this behavior.
For more information on this feature, see See (ess)Activating and Loading
ESS.
C-c [letter] bindings have been
removed. This affects C-c h, which was bound to
ess-eval-line-and-step-invisibly in sas-mode-local-map;
C-c f, which was bound to ess-insert-function-outline in
ess-add-MM-keys; and C-c h, which was bound to
ess-handy-commands in Rd-mode-map,
ess-noweb-minor-mode-map, and ess-help-mode-map
ess-eval-line-and-step and ess-eval-region-or-line-and-step
now behave consistently with other evaluation function inside a package.
ess-r-package-use-dir now works with any mode.
This sets the working directory to the root of the current package
including for example C or C++ files within /src).
strip for inferior-ess-replace-long+.
This strips the entire + + sequence.
prog-mode.
In the next release, ESS modes will use define-derived-mode so
that each mode will have (for example) its own hooks and keymaps.
lintr package to use it. Customizable
options include ess-use-flymake, ess-r-flymake-linters,
and ess-r-flymake-lintr-cache.
setwd().
Makevars files open with makefile-mode.
ess-write-to-dribble.
This allows users to disable the dribble (*ESS*) buffer if they wish.
*-program-name variables have been renamed to *-program.
Users who previously customized e.g. inferior-ess-R-program-name
will need to update their customization to
inferior-ess-R-program. These variables are treated as risky
variables.
ess-smart-S-assign was renamed to ess-insert-assign.
It provides similar functionality but for any keybinding, not just ‘_‘.
For instance if you bind it to ‘;‘, repeated invocations cycle through
between assignment and inserting ‘;‘.
C-c C-= is now bound to ess-cycle-assign by default.
See the documentation for details. New user customization option
ess-assign-list controls which assignment operators are cycled.
ess-eval-region for details. This only
works on Emacs 25.1 and newer.
Many improvements to fontification:
ess-R-keywords and ess-R-modifiers.
See the documentation for details.
in is now only fontified when inside a for construct.
This avoids spurious fontification, especially in the output buffer
where ‘in‘ is a common English word.
ess-R-keywords in your Emacs configuration file after loading
ESS (i.e. in the :config section for use-package users).
@param keywords now supports comma-separated parameters.
if () or
stop() are no longer fontified as keyword if not followed by an
opening parenthesis. The same holds for search path modifiers like
library() or require().
%op% operators
and backquoted function definitions.
ess-font-lock-toggle-keyword can be called interactively.
This command asks with completion for a font-lock group to toggle.
This functionality is equivalent to the font-lock menu.
Notable bug fixes:
prettify-symbols-mode no longer breaks indentation.
This is accomplished by having the pretty symbols occupy the same
number of characters as their non-pretty cousins.  You may customize
the new variable ess-r-prettify-symbols to control this
behavior.
Obsolete libraries, functions, and variables:
ess-r-args.el library has been obsoleted and will be removed in the next release.
Use eldoc-mode instead, which is on by default.
ess-smart-S-assign,
ess-toggle-S-assign, ess-toggle-S-assign-key,
ess-disable-smart-S-assign.
The variable ess-smart-S-assign-key is now deprecated and will
be removed in the next release. If you would like to continue using
‘_‘ for inserting assign in future releases, please bind
ess-insert-assign in ess-mode-map the normal way.
ess-s-versions-list is obsolete and ignored.
Use ess-s-versions instead. You may pass arguments by starting
the inferior process with the universal argument.
Changes and New Features in 17.11:
(require 'ess-r-mode) or (require 'ess-stata-mode) in your
init file. This is for experienced Emacs users as this requires setting
up autoloads for .R files manually. We will keep maintaining
ess-site for easy loading of all ESS features.
ess-r-package-use-dir. It sets the
working directory of the current process to the current package directory.
ess-r-package-source-roots contains
package sub-directories which are searched recursively during the file
lookup point. Directories in ess-tracebug-search-path are now
also searched recursively.
R/ directory. This way ESS will not attempt to update
function definitions from a package if you are working from e.g. a test
file.
Changes and New Features in 16.10:
%op% operators are
recognized as sexp. This is useful for code navigation, e.g. with
C-M-f and C-M-b.
ess-roxy-fold-examples to non-nil to
automatically fold the examples field when you open a buffer.
ess-roxy-fontify-examples to non-nil to try it out.
ess-r-devtools-ask
bound to C-c C-w C-a. It asks with completion for any devtools
command that takes pkg as argument.
inferior-ess-r-reload-hook
on reloading.
ess-r-package-mode is now activated in non-file buffers as well.
Bug fixes in 16.10:
...= inside list(  ).
ess-remote
Changes and New Features in 16.04:
developer functionality has been refactored.
The new user interface consists of a single command
ess-r-set-evaluation-env bound by default to C-c C-t
C-s. Once an evaluation environment has been set with, all subsequent
ESS evaluation will source the code into that environment. By default,
for file within R packages the evaluation environment is set to the
package environment. Set ess-r-package-auto-set-evaluation-env to
nil to disable this.
ess-r-package-mode
This development mode provides features to make package development
easier. Currently, most of the commands are based on the devtools
packages and are accessible with C-c C-w prefix. See the
documentation of ess-r-package-mode function for all available
commands. With C-u prefix each command asks for extra arguments to
the underlying devtools function. This mode is automatically enabled in
all files within R packages and is indicated with [pkg:NAME] in
the mode-line.
options('html_type').
Bug fixes in 16.04:
debug_pipe
Changes and New Features in 15.09:
ess-offset-
give the actual offsets, those starting with ess-indent- are
control (commonly Boolean) variables, and those starting with
ess-align- are vertical alignment overrides which inhibit default
offsets in specific situations. See ess-style-alist for detailed
description of the new indentation system and provided default
indentation styles.
ess-brace-imaginary-offset, ess-expression-offset and all
delimiter-specific 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-arg-function-offset has
been replaced by ess-indent-from-lhs and has been generalised to
assignments. This setting now works with both statement blocks and
expressions and only takes effect for offsets set to prev-call
and open-delim in order to produce a consistent indentation.
ess-offset-arguments set to prev-line is also provided. In
addition, the new RRR+ style is equivalent to RRR except it indents
blocks in function calls relatively to the opening delimiter. This style
does not try to save horizontal space and produces more indentation.
examples field without squashing
the surrounding code in the comments.
ess-fill-calls and
ess-fill-continuations. When activated, (fill-paragraph)
formats your calls and your formulas/continuations while making sure
they don’t go past fill-column. 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.
make, then the latest version of julia-mode.el is
downloaded (and so you need an active internet connection to install)
during the installation process.  Alternatively, if you run ESS without
running make, then ensure that you have the julia-mode.el,
which you can get easily from MELPA for example.
projectile’s
project root and it does so when ess-gen-proc-buffer-name-function is
set to ess-gen-proc-buffer-name:projectile-or-simple as by default,
or to another value beginning with ess-gen-proc-buffer-name:projectile-*.
Changes and New Features in 15.03-1:
Changes and New Features in 15.03:
library and require calls
for better completion caching.
ess-show-buffer-action).
y-or-n-p instead of yes-or-no-p throughout.
ess-developer (#137).
Bug Fixes in 15.03:
ess-smart-comma to eldoc message functions.
ess-developer-add-package, remove incorrect ‘wait‘
argument from ess-get-words-from-vector call.
ess-kill-buffer-and-go modified to not restart R
Changes / Selected Bug Fixes in 14.09:
julia.
gdb debugger now works as expected
comint-mode
ess-execute-screen-options uses correct screen
width in terminal sessions
ess-build-tags-for-directory works when no TAGS file
name was provided
ess-offset-statement-continued is now respected everywhere
except inside of the if test condition.
ess-offset-statement-first-continued for
indentation of the first line in multiline statements.
Changes / Selected Bug Fixes in 13.09-1:
~/.config/ESSR/ directory on the remote machine
inferior-ess-pager
ess-execute is now bound to C-c C-e C-e in ess-extra-map.
ess-execute
head and tail methods were replaced by .ess_htsummary in
ess-R-describe-object-at-point-commands
ess-transcript-clean-region etc. correctly treat
 multiline statements, i.e., no longer forgets the lines typically
 preceded by ’+’
ess-sas-edit-keys-toggle default returns to nil
prettify-symbols-mode:
contribution from Rudiger Sonderfeld https://github.com/emacs-ess/ESS/pull/65
ess-roxy-preview-HTML is now on C-c C-o C-w and
 ess-roxy-preview-text is now on C-c C-o C-t
make install was simplified and should work
out of the box on most *nix systems
Changes/New Features in 13.09:
ess-developer-packages. The
  old behavior (activation on per-process basis) is still available on
  M-x ess-developer in a process buffer.
  devtools package. New command
  ess-developer-load-package calls load_all on the package
  containing current file. ess-developer-add-package now offers IDO
  menu completions with available loading methods, currently
  library, and load_all. Loading command can be customized
  with ess-developer-load-on-add-commands.
  M-x ess-version now reports full loading path
and recognizes git and ELPA versions.
font-lock-warning-face as they should be, (for quite some time
these keywords have been hijacked by compilation mode fontification).
ess-help-reuse-window custom
variable.
ess-function-call-face inherits from
font-lock-function-name-face rather than font-lock-builtin-face.
ess-inject-source now accepts function-and-buffer option.
ess-rep-regexp should no longer inf.loop (rarely!),
and hence M-x ess-fix-miscellaneous should neither.
Changes/New Features in 13.05:
gretl (both editing and
sub-process interaction). A contribution of Ahmadou Dicko.
ess-tracebug is active).
ess-show-traceback and
C-c ~ is bound to ess-show-call-stack.
ess-swv-processing-command to control
weaving and tangling.
ess-default-style has been changed
 (from DEFAULT) to RRR.  Use something like
 (setq ess-default-style 'DEFAULT) or
 (setq ess-indent-level 2) in your ~/.emacs equivalent
 before loading ESS, if you do not like this new “incompatible”
 default style.
ess-use-tracebug’s default has been changed to
 t. Set it to nil if you want to keep the previous behavior.
ess-debug-minor-mode and
ess-debug-minor-mode-map.
ess-tracebug-map is an alias to
 ess-dev-map C-c C-t.
ess-bp-toggle-state (C-c C-t o)
 can now be used during the debug session to toggle breakpoints on the fly
 (suggestion by Ross Boylan).
ess-debug-flag-for-debugging and
ess-debug-unflag-for-debugging work correctly from the debugging
 contexts. These commands also recognize non-exported functions for the
 packages listed in ess-developer-packages (C-c C-t C-a).
ess-use-eldoc) has
 become more sophisticated, and hence also more intruding in the interface
 between the Statistics software, e.g., R, and the user.
Note that you can turn off ElDoc, by placing (setq ess-use-eldoc nil)
 in your ~/.emacs file, prior to loading ESS,
SAS-mode-hook appears!
ess-sas-edit-keys-toggle now defaults to t
since sas-indent-line is still broken, i.e. TAB is now
bound to ess-sas-tab-to-tab-stop by default
Changes/Bug Fixes in 12.09-2:
ess-switch-to-end-of-proc-buffer variable that controls
 whether C-c C-z switches to the end of process buffer. The
 default is t. You can use prefix argument to C-c C-z to
 toggle this variable.
ess-eval-linewise that was causing emacs
to hang during R debugging with ess-eval-visibly equal to
t.
ess-eval-linewise that was causing emacs to recenter
the prompt in visible window
ess-switch-process that was causing
*new* selection to fail.
ess-local-process-name bug in R-dired.
ess-swv-PDF doesn’t ask for a command to run if
there is only one command in ess-swv-pdflatex-commands.
ess-swv-weave gained an universal argument to
allow for an interactive choice between available weavers (sweave,
knitr).
ess-eval-*-and-step functions go to next empty
line at eob, instead of staying at the last line.
Changes/New Features in 12.09-1:
ess-doc-map bound to C-c C-d; ess-extra-map bound
to C-c C-e; ess-dump-object-into-edit-buffer was moved on
C-c C-e C-d
ess-dev-map (including ess-tracebug and ess-developer)
moved on C-c C-t
C-c C-y is deprecated in favor of C-c C-z C-z
ess-describe-object-at-point
bound to C-c C-d C-e (repeat C-e or e to cycle). It
was inspired by Erik Iverson’s ess-R-object-tooltip. Customize
ess-describe-at-point-method to use tooltip instead of an
electric buffer.
ess-build-tags-for-directory
bound to C-c C-e C-t for building dialect specific tag
tables. After building tags use M-. to navigate to
function and objects definitions. By default C-c C-e C-t builds
tags based on imenu regular expressions and also include other common
languages .c, .o, .cpp etc. But it relies on external find
and etags commands. If ess-build-tags-command is defined
(for R), the inferior process is asked to build tags instead.
ess-switch-process offers *new* alternative
to start a new process instead of switching to one of the currently
running processes.
M-x rename-buffer command to
conveniently rename your process buffers.
proc stands for the
internal process name and dir stands for the directory where the
process was started in. The default is *proc*. For customization see
ess-gen-proc-buffer-name-function.
ess-eval-visibly-p is deprecated in favor of ess-eval-visibly.
nowait.
In addition to old nil and t values,
ess-eval-visibly accepts nowait for a visible evaluation
with no waiting for the process. See ess-eval-visibly for details
on evaluation patterns.
ess-switch-to-inferior-or-script-buffer command bound to C-c C-z
in both script and process buffers. If invoked form process buffer it
switches to the most recent buffer of the same dialect. It is a single
key command.
ess-roxy-re for fontification
of cases where the number of leading # differs from
ess-roxy-str.
ess-display-demos command bound to C-c C-d o and C-c C-d C-o
ess-help-web-search command bound to C-c C-d w and C-c C-d C-w
to facilitate interactive search of web resources. Implemented for R,
Stata and Julia. See also ess-help-web-search-command.
ess-swv-processor for the default processor.
noweb-* to ess-noweb-*.
ess-eval-chunk-and-step and ess-eval-chunk
bound to M-n C-c and M-n C-M-x to mirror standard ess
commands in C-c map.
ess-ac-R-argument-suffix to customize the insertion of trailing
"=". Defaults to “ = “.
Bug Fixes in 12.09-1:
comint-previous-prompt C-c C-p no longer stops on secondary prompt “+”.
options("editor") is now initialized to emacsclient
instead of the previous gnuclient.  The user may need to add the
line (server-start) to the emacs initialization
file. emacsclient has been included with emacs since GNU Emacs
22.1.
ess-swv-stangle and ess-swv-sweave
functions.
R code injection.
It now happens only once at the start of the session.
Changes/New Features in 12.09:
ess-directory-containing-R) to tell ESS where
to look for the Rterm.exe executables.  The name of the variable
and the values it can take are both in beta and subject to change.  Prior
to this variable, ESS searched only in the default installation
directory.  Setting this variable now tells ESS how to find
Rterm.exe executables when they are installed somewhere else.
M-x julia.
Full interaction interface, imenu and basic error referencing are available.
noweb-mode and noweb-font-lock-mode have
been renamed to ess-noweb-mode and
ess-noweb-font-lock-mode to avoid conflicts with the “real” noweb-mode.
ess-noweb interface.
ess-eval-region-*- functions:
ess-eval-region-or-function-or-paragraph
ess-eval-region-or-function-or-paragraph-and-step
ess-eval-region-or-line-and-step
Each of these functions first evaluates the region whenever the region is active.
ess-eval-*-and-step family of functions are now smarter,
and don’t step to end of buffer or end of chunk code (@) when at
the end of the code.
ess-handy-commands function is bound to C-c h
ess-blink-region to nil to deactivate; ess-blink-delay
gives the duration of the blink. Evaluated region is “blinked” in
highlight face.
ESS font-lock operates with predefined keywords. Default keywords are
listed in ess-R-font-lock-keywords and
inferior-R-font-lock-keywords, which see. The user can easily
customize those by adding new keywords. These variables can also be
interactively accessed and saved through ESS/Font-lock submenu.
Several new fontification keywords have been added. Most notably the keywords for highlighting of function calls, numbers and operators.
ess-use-auto-complete to
nil to deactivate.
ac-auto-start characters.
ac-source-filename to it.
ac-source-R now concatenates “ = “ to function arguments.
ess-developer and ess-tracebug commands are available by default
in ess-dev-map which is bound to C-c d in ESS and iESS maps.
eldoc truncates long lines whenever eldoc-echo-area-use-multiline-p
is non-nil (the default). Set this variable to t if you insist on multiline eldoc.
See also ess-eldoc-abbreviation-style.
plot and print to eliminated the
undesirable delay on first request.
comint-highlight-prompt face.
Sys.sleep(5) no longer stall emacs.
ess-X-post-run-hooks, which
are run at the end of subprocess initialization.
ess-arg-function-offset-new-line is now a list for all
the ESS indentation styles, which results in the following indentation
after an open “(”:
  a <- some.function(other.function(
     arg1,
     arg2)
ess-sas-rtf-portrait and ess-sas-rtf-landscape.
Changes/Bug Fixes in 12.04-3:
M-x ess-version shows the svn revision even after make install
make target  lisp, to build the Lisp-only part, i.e., not building the docs.
Changes/New Features in 12.04-1:
inferior-STA-start-file.
inferior-STA-program-name is now “stata”
and can be  customized.
Bug Fixes in 12.04-1:
ess-tracebug error handling.
ess-eldoc help string filtering
and improved argument caching.
M-x ess-version should work better.
Changes/New Features in 12.04:
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-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(
    arg1,
    arg2)
Changes/New Features in 12.03:
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(
         arg1,
         arg2)
instead of the old
  a <- some.function(
                     arg1,
                     arg2)
If ’(’ is not followed by new line the behavior is unchanged:
  a <- some.function(arg1,
                     arg2)
This variable should be set as part of indentation style lists, or in ess-mode hook.
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.
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-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.
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.
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 information.
ess-funname.start, ess-function-arguments,
ess-get-object-at-point. Eldoc and auto-completion integration
are using this system.
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.
roxy knows about previewing text version of the
documentation. Bound to C-c C-e t.
ess-tracebug is now part of ESS:
New Features:
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 is
ignored.
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.
New Features:
ess-switch-to-end-of-ESS.
This is consistent with emacs behavior help and other special buffers (breaking change).
special-mode-map as suggested by Sam Steingold.
ess-display-index bound to
i in help mode map.
ess-display-vignettes bound to
v in help mode map.
ess-display-help-in-browser bound to
w in help mode map. It depends on R’s browser
option.
ess-help-pop-to-buffer: if non-nil
ESS help buffers are given focus on display. The default is
t (breaking change).
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.
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-handy-commands'
list. If ess-R-smart-operators is t `ess-smart-comma
also inserts “ “ after comma.
R: Variable `ess-handy-commands'
stores an alist of useful commands which are called by ess-smart-comma in
the inferior buffer.
Currently containing:
ess-change-directory
ess-display-index
ess-display-help-on-object
ess-display-vignettes
ess-execute-objects
ess-execute-search
ess-execute-screen-options
ess-install.packages
ess-library
ess-setRepositories
ess-sos
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-tracebug and developer status of ess-developer in all
associated buffers.
ess-completing-read mechanism: ESS uses
ido completions whenever possible. Variable ess-use-ido
controls whether to use ido completion or not. Active by default.
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.
R completion retrieval
(ess-R-complete-object-name)  was rewritten and is faster now.
ess-process-get and ess-process-set.
> . This could be overwritten by setting
inferior-ess-primary-prompt.
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-get-words-from-vector and ess-command.
Changes/New Features in 5.14:
ess-swv-plug-into-AUCTeX-p
Commands to Sweave current file and LaTeX the result are now available
to AUCTeX users, if this variable is set to t.
ess-eval-function-or-paragraph-and-step) is now skipping over
comments as the other paragraph functions do.
It (and similar functions) should no longer wrongly find
‘function()’ beginnings inside comments or strings.
Changes/New Features in 5.13:
use-dialog-box
 variable is no longer temporarily changed (to nil for R-x.y.z version
 functions and to t for R itself), but rather the user
 customization is obeyed.
Changes/New Features in 5.12:
ess-display-help-on-object (C-c C-v)
 now caches the list of topics, thus speeding up the improvement
 feature introduced in 5.9.
Changes/New Features in 5.11:
pdflatex unconditionally, offering completion from
customizable collection ess-swv-pdflatex-commands, the first of
which is taken as default and that defaults to texi2pdf.
ess-use-this-dir. It sends setwd(..) to the S process
to set the working directory to the one of the source file.
Changes/New Features in 5.10:
ess-dirs.  This function will set Emacs’s current
directory to be the same as the *S* process.  This is useful if you use
setwd() within a *S* process.
Changes/New Features in 5.9:
ess-default-style, ess-own-style-list and the documentation
subsection “Changing indentation styles”.
ess-display-help-on-object (C-c C-v) now offers
 completion candidates for help file aliases, in addition to object
 names.
window-system is nil, whenever
 ess-font-lock-mode is non-nil, i.e., by default.
ess-rutils-htmldocs in
 ess-rutils.el offers an alternative to help.start() for
 navigating R documentation, using the browse-url Emacs
 function.
Changes/New Features in 5.8:
RSiteSearch() that uses the browse-url function, so
results can be viewed in an Emacs web browser.
Changes/New Features in 5.7:
Changes/New Features in 5.6:
Changes/New Features in 5.4:
make-regexp to regexp-opt for font-locking is
complete.  The new regexp-opt is now the default since
it is better than the old code in many ways (and especially more
maintainable).  However, there are certainly some special
cases missed (bug reports and patches welcome!).
Setting ess-sas-run-regexp-opt to nil will result
in the old code being used.
= now results in
 <-.
(ess-r-args-show) now
 uses the new (tooltip-show-at-point) contributed by Erik Iverson.
ess-change-directory for setting both
 emacs’ current directory and the directory of an *R* or *S* buffer.
Changes/New Features in 5.3.11:
Changes/New Features in 5.3.10:
Changes/New Features in 5.3.9:
*R*) and transcript modes no longer
fontify language keywords (such as for, in, etc).
ess-sta-delimiter-friendly setting
to t to convert embedded semi-colons to newlines for Stata processing.
ess-mode
and noweb-mode.
M-x comment-region now available!
ess-swv-* commands (and keybindings) are now in
a submenu of the “Noweb” menu, when editing Sweave files.
Changes/New Features in 5.3.8:
ess-sas-submit-command and
ess-sas-submit-command-options now recognized by ess-sas-submit-region
ess-r-args-auto-show).
ess-eval-function-or-paragraph-and-step).
system command in version 1.0.3; specify whether
this command is available via ess-jags-system; if not
present, then no links are created so that the *shell*
buffer does not become unresponsive during the batch run
Changes/New Features in 5.3.7:
ess-default-style now *is* customizable, i.e.,
  changing its value in ~/.emacs now does have the desired effect.
ess-font-lock-mode is a new variable (default: t)
which controls whether font-locking is enabled in ESS buffers.
ess-sas-submit-command-options which is buffer-local; portable
snooze for MS Windows via customize-able ess-sleep-for (floats welcome);
Xpdf now supported as a PDF viewer
ess-continued-statement-p for R and S.
Rgui
on MS Windows to send lines directly from emacs
to Rgui is available in file lisp/essd-rgui.el.
Preliminary documentation is in file doc/rgui-doc.txt.
Changes/New Features in 5.3.6:
Changes/New Features in 5.3.5:
R-mode
 which is active by default and can be customized via
 ess-r-args-electric-paren; i.e., use (setq
 ess-r-args-electric-paren nil) to turn it off.  Further,
 ess-r-args-show-as allows to switch to the “tooltip” mode.
ess-get-pdf-viewer and *-ps-viewer; built on new
 customizable variables ess-pdf-viewer-pref and
 ess-ps-viewer-pref; currently used in ess-swv-PDF and
 *-PS.
ess-swv-PDF to run pdf viewer only if
 pdflatex was ok
ess-swv-weave to start R automatically if
 none is running.
Changes/New Features in 5.3.4:
Changes/New Features in 5.3.3:
ess-display-buffer-reuse-frames
set to true (which changes default behavior) such that execution or
help *frames* are reused.
Changes/New Features in 5.3.2:
(require 'essd-bugs) with ESS[BUGS]
      and JAGS by (require 'essd-jags) with ESS[JAGS].  But, only one
      of them can be used at a time since they don’t play nice together.  Also,
      C-c C-c is now bound to the function ess-bugs-next-action
      (F12 has been retired).  And finally, note that essl-bug.el
      is deprecated and the replacement is essl-bugs.el.
Changes/New Features in 5.3.1:
make install
      ess-assign-key is now C-x =.
RSiteSearch(..) but with the advantage of
 using Emacs’ preferred browser, see browse-url-browser-function
Changes/New Features in 5.3.0:
ess-use-inferior-program-name-in-buffer-name,
which enables using the executable name instead of the dialect name for
R. Feature request.
ess-eval-paragraph-and-step and
 ess-eval-function-or-paragraph-and-step are bound to keys
 C-c C-p and C-c C-c respectively and to the menu in
 ESS-mode; also bound in the help mode (for evaluating examples).
ess-toggle-S-assign-key allows to
assign the “ <- ” insertion to an arbitrary key.
Changes/New Features in 5.2.12:
comment-dwim
may be broken, if so, use M-x comment-region and M-x
uncomment-region instead; only valid PROCs are fontified which is very
helpful finding syntax errors (currently supported: BASE, ETS, FSP, GRAPH,
IML, INSIGHT and STAT); the “feature” where F-keys take you to an
empty buffer when the requested destination is a file that does not exist
has been fixed, now the request results in a no-op.
Further, sas-mode now also works in simple terminals.
Changes/New Features in 5.2.11:
ess-sas-file-root
for details; all lag and dif functions now fontified correctly
ess-s-versions and
ess-s-versions-list, are used to tell ESS what other versions of
Splus you would like to run.
Changes/New Features in 5.2.10:
make install
Changes/New Features in 5.2.9:
ess-beginning-of-function) etc now work for many more
 cases, including S4 method definitions.
options("help.try.all.packages" =
 TRUE) then ?rlm will list which packages rlm is defined in.  This help
 buffer is not bogus, but instead is now relabelled “*help[R](rlm in
 packages)*”.
Changes/New Features in 5.2.8:
Changes/New Features in 5.2.7:
Changes/New Features in 5.2.6:
Changes/New Features in 5.2.5:
(ess-cleanup), called from
ess-quit, now depends on the new customizable variable
ess-S-quit-kill-buffers-p which defaults to nil.
Consequently, the question “Delete all buffers associated
with ..?” will not be asked anymore by default.
recode application as well which is available on many platforms
Changes/New Features in 5.2.4:
dd command (only available on unix or unix-like platforms).
ess-create-object-name-db) since modern computers seem fast
enough for dynamic completion.  (We expect few users, if any, have
been using the pre-computed database method.)
Changes/New Features in 5.2.3:
Changes/New Features in 5.2.2:
Changes/New Features in 5.2.1:
Changes/New Features in 5.2.0:
Changes/New Features in 5.1.24:
Changes/New Features in 5.1.23:
Changes/New Features in 5.1.22:
Changes/New Features in 5.1.21:
Changes/New Features in 5.1.20:
Changes/New Features in 5.1.19:
Changes/New Features in 5.1.18:
Changes/New Features in 5.1.17:
Changes/New Features in 5.1.16:
Changes/New Features in 5.1.15:
Changes/New Features in 5.1.14:
Changes/New Features in 5.1.13:
Changes/New Features in 5.1.12:
Changes/New Features in 5.1.11:
Changes/New Features in 5.1.10:
Changes/New Features in 5.1.9:
Changes/New Features in 5.1.8:
Changes/New Features in 5.1.2: