Changes and New Features in development version:
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-hook
s, 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: