Skip to content
forked from emacs-ess/ESS

Commit

Permalink
Merge branch 'trunk'
Browse files Browse the repository at this point in the history
  • Loading branch information
vspinu committed Sep 24, 2012
2 parents 012b072 + 5080203 commit 248d0fd
Show file tree
Hide file tree
Showing 22 changed files with 447 additions and 261 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2012-09-24 ESS Maintainers <ESS-core@r-project.org>

* Version 12.09 released.

2012-06-07 ESS Maintainers <ESS-core@r-project.org>

* Version 12.04-4 released.
Expand Down
161 changes: 94 additions & 67 deletions doc/ess.texi
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ ESS @w{version @ESSVER}

@end titlepage

@contents

@ifnottex
@majorheading ESS --- Emacs Speaks Statistics

Expand Down Expand Up @@ -1443,10 +1445,34 @@ alternative to S's @code{source()} function
when you want the input as well as the output to be displayed. (You can
sort of do this with @code{source()} when the option @code{echo=T} is
set, except that prompts do not get displayed. ESS puts prompts in the
right places.) The commands for evaluating code are:
right places.)

Primary commands for evaluating code are:

@itemize @bullet
@cindex evaluating S expressions

@item
@kbd{C-RET} (@code{ess-eval-region-or-line-and-step}) @*
@pindex ess-eval-region-or-line-and-step
Send the highlighted region or current line and step to next line of
code.

@item
@kbd{M-C-x} (@code{ess-eval-region-or-function-or-paragraph}) @*
@pindex ess-eval-region-or-function-or-paragraph
Send the highlighted region or function or paragraph.

@item
@kbd{C-c C-c} (@code{ess-eval-region-or-function-or-paragraph-and-step}) @*
@pindex ess-eval-region-or-function-or-paragraph-and-step
Send the highlighted region or function or paragraph and step to next
line of code.

@end itemize

Other, not so often used, evaluation commands are:
@itemize @bullet
@item
@kbd{C-c C-j} (@code{ess-eval-line}) @*
@pindex ess-eval-line
Expand All @@ -1457,8 +1483,9 @@ Send the line containing point to the ESS process.
@pindex ess-eval-line-and-go
As above, but returns you to the ESS process buffer as well.


@item
@kbd{C-c C-f} or @kbd{ESC C-x} (aka @kbd{M-C-x}) (@code{ess-eval-function}) @*
@kbd{C-c C-f} (@code{ess-eval-function}) @*
@pindex ess-eval-function
Send the @Sl{} function containing point to the ESS process.

Expand Down Expand Up @@ -2461,11 +2488,14 @@ play nicely together. See auto-complete package documentation
install your own completion sources.

For the default auto-complete ESS configuration, install the latest
version of @code{auto-complete} package and place the following into
your init file:
version of @code{auto-complete} package. ESS automatically detect the
package and activates auto-complete in ESS buffers.


To deactivate AC, place the following into your init file:

@example
(setq ess-use-auto-complete t)
(setq ess-use-auto-complete nil)
@end example

Or, to activate auto-completion only in the @code{ess-mode} buffers:
Expand Down Expand Up @@ -2515,64 +2545,68 @@ packages:
moved into this manual.

ESS @code{tracebug} package offers visual debugging, interactive error
navigation, interactive backtrace, breakpoint manipulation, control over R error
actions, watch window and interactive flagging/unflagging functions for
debugging.
navigation, interactive backtrace, breakpoint manipulation, control over
R error actions, watch window and interactive flagging/unflagging of
functions for debugging.

To use these features you have to set the tracebug prefix to a
@emph{fast} key. If you don't use @kbd{M-t} (@code{transpose-words})
very often, do something like this:
To use these features you have to first activate the tracebug:

@example
(setq ess-tracebug-prefix "\M-t")
(setq ess-use-tracebug t)
@end example

You can also toggle it from the menu or simply by typing @kbd{M-x}
@code{ess-tracebug} @kbd{RET}.

Almost all of the tracebug functionality can be found in
@code{ess-dev-map}, which is bound to @kbd{C-c d}. Optionally you can
assign the full tracebug map to a shorter prefix:

@example
(setq ess-tracebug-prefix "\M-t")
@end example

This will automatically set the shadowed command @code{transpose-words}
to be triggered by @kbd{M-t M-t}. Another alternative key, you might
consider is @kbd{M-c}. In this case, the hijacked command
@code{capitalize-word} is automatically re-bound to @kbd{M-c M-c}.

Assuming that the prefix key is @kbd{M-t}, you can always call @kbd{M-t
?} to display the following menu with all the tracebug keys (prefix not
You can always call @kbd{C-c d ?} (or @kbd{M-t ?} if prefix is set) to
display the following menu with all the tracebug keys (prefix not
included):

@comment @verbatim
@comment testing nicer look and feel
@comment
@comment * Breakpoints:
@comment
@comment b . Set BP (repeat to cycle BP type) . `ess-bp-set'
@comment B . Set conditional BP . `ess-bp-set-conditional'
@comment k . Kill BP . `ess-bp-kil'
@comment K . Kill all BPs . `ess-bp-kill-all'
@comment t . Toggle BP state . `ess-bp-toggle-state'
@comment l . Set logger BP . `ess-bp-set-logger'
@comment C-n . Goto next BP . `ess-bp-next'
@comment C-p . Goto previous BP . `ess-bp-previous'

@c @multitable {123} {123} {really-really-really-really-really-long}
@c @item Key @tab Description @tab Function
@c @item b @tab Set BP (repeat to cycle) @tab `ess-bp-set'
@c @item B @tab Set conditional BP @tab `ess-bp-set-conditional'
@c @item k @tab Kill BP @tab `ess-bp-kil'
@c @item K @tab Kill all BPs @tab `ess-bp-kill-all'
@c @item t @tab Toggle BP state @tab `ess-bp-toggle-state'
@c @item l @tab Set logger BP @tab `ess-bp-set-logger'
@c @item C-n @tab Goto next BP @tab `ess-bp-next'
@c @item C-p @tab Goto previous BP @tab `ess-bp-previous'
@c @end multitable

@verbatim
* Breakpoints:
@multitable {123} {123} {really-really-really-really-really-long}
@item Key @tab Description @tab Function
@item b @tab Set BP (repeat to cycle BP type) @tab `ess-bp-set'
@item B @tab Set conditional BP @tab `ess-bp-set-conditional'
@item k @tab Kill BP @tab `ess-bp-kil'
@item K @tab Kill all BPs @tab `ess-bp-kill-all'
@item t @tab Toggle BP state @tab `ess-bp-toggle-state'
@item l @tab Set logger BP @tab `ess-bp-set-logger'
@item C-n @tab Goto next BP @tab `ess-bp-next'
@item C-p @tab Goto previous BP @tab `ess-bp-previous'
@end multitable
b . Set BP (repeat to cycle BP type) . `ess-bp-set'
B . Set conditional BP . `ess-bp-set-conditional'
k . Kill BP . `ess-bp-kil'
K . Kill all BPs . `ess-bp-kill-all'
t . Toggle BP state . `ess-bp-toggle-state'
l . Set logger BP . `ess-bp-set-logger'
C-n . Goto next BP . `ess-bp-next'
C-p . Goto previous BP . `ess-bp-previous'
@verbatim
* General Debugging:
` . Show R Traceback . `ess-show-R-traceback'
e . Toggle error action (repeat to cycle). `ess-dbg-toggle-error-action'
d . Flag for debugging . `ess-dbg-flag-for-debugging'
u . Unflag for debugging . `ess-dbg-unflag-for-debugging'
D . Unflag for debugging . `ess-dbg-unflag-for-debugging'
w . Watch window . `ess-watch'
* Navigation to errors (emacs general functionality):
Expand All @@ -2595,9 +2629,7 @@ included):
I . Goto input event marker backwards . `ess-dbg-goto-input-event-marker'
* Misc:
s . Source current file . `ess-tracebug-source-current-file'
? . Show this help . `ess-tracebug-show-help'
C-c . `capitalize-word'
@end verbatim

Expand Down Expand Up @@ -2858,12 +2890,11 @@ Insert a new line and the Roxygen prefix string.
@cindex ess developer

Usual ESS evaluation commands, @xref{Evaluating code}, send portions of
the current buffer to the process for the evaluation in
@code{R_GlobalEnv} environment. Often, in process of the developing
packages with namespaces, it is necessary to evaluate code directly in
the package's environment or it's namespace. The @code{ess-developer} utility
provides such a functionality with minimal distortions of the usual ESS
work-flow.
the current buffer for the evaluation in current environment
(@code{R_GlobalEnv}). Often, in process of the developing packages with
namespaces, it is necessary to evaluate code directly in the package's
environment or it's namespace. The @code{ess-developer} utility provides
such a functionality with minimal disruption of the usual ESS work-flow.

To understand how ess-developer works you must be familiar with namespace
system in R.
Expand All @@ -2885,11 +2916,11 @@ and functions defined in .GlobalEnv can see the objects in
'package:foo'. See also
@uref{http://cran.r-project.org/doc/manuals/R-ints.html#Namespaces}.

In order to use ess-developer mode you should add names of the packages
you are developing to @code{ess-developer-packages}. You can do it
interactively with @kbd{C-c d a}, and remove packages with @kbd{C-c d
r}. When developer mode is on, the name of the process in the mode line
is highlighted with @code{ess-developer-indicator-face}.
In order to use ess-developer mode add names of the packages you are
developing to @code{ess-developer-packages}. You can do taht interactively
with @kbd{C-c d a}, and remove packages with @kbd{C-c d r}. When
developer mode is on, the name of the process in the mode line is
highlighted with @code{ess-developer-indicator-face}.

@itemize @bullet
@item @kbd{C-c d t}(@code{ess-developer}) @*
Expand All @@ -2898,16 +2929,12 @@ is highlighted with @code{ess-developer-indicator-face}.
Add a package to your development list.
@item @kbd{C-c d r}(@code{ess-developer-remove-package}) @*
Remove a package from your development list.
@item @kbd{C-c d s}(@code{ess-developer-source-current-file}) @*
Source current file into the namespace (ask for the package). When
developer mode is on, @kbd{C-c C-l}(@code{ess-load-file}) calls
@code{ess-developer-source-current-file} instead.
@end itemize

When developer mode is on, ESS evaluation commands behave differently:
@itemize @bullet

@item @kbd{C-c l} (@code{ess-load-file}) asks for the package to source
@item @kbd{C-c C-l} (@code{ess-load-file}) asks for the package to source
into and inserts all redefined objects into the package:foo or
name space:foo accordingly:

Expand Down Expand Up @@ -2950,7 +2977,7 @@ more detailed comments.

@item @kbd{C-c C-r}(@code{ess-eval-region} and functions that depend on
it (@code{ess-eval-paragraph}, @code{ess-eval-buffer} etc., behave as
ess-load-file', but restrict the evaluation to the co responding region
ess-load-file', but restrict the evaluation to the corresponding region.

@item @kbd{C-c C-f} (@code{ess-eval-function}) and friends check if the
current function's name can be found in a namespace:foo or package:foo
Expand Down Expand Up @@ -3018,13 +3045,15 @@ different filter levels with the truncation.
@pindex ess-handy-commands
@pindex ess-smart-comma

If ``@kbd{,}`` (@code{ess-smart-comma}) is invoked at the beginning of
line of an ESS inferior buffer (i.e. at process marker), ESS requests and
executes a command from @code{`ess-handy-commands'} list. If
@code{ess-R-smart-operators} is t @code{`ess-smart-comma} also inserts
`` `` after comma.
@kbd{C-c h} is bound to @code{ess-handy-commands} and executes commands listed in
the variable @code{`ess-handy-commands'}. Currently containing:

Variable @code{`ess-handy-commands'} stores an alist of useful commands. Currently containing:

@c If ``@kbd{,}`` (@code{ess-smart-comma}) is invoked at the beginning of
@c line of an ESS inferior buffer (i.e. at process marker), ESS requests and
@c executes a command from @code{`ess-handy-commands'} list. If
@c @code{ess-R-smart-operators} is t @code{`ess-smart-comma} also inserts
@c `` `` after comma.

@table @asis
@item change-directory
Expand Down Expand Up @@ -3600,8 +3629,6 @@ to make it easy to find related variables.
@unnumbered Variable and command index
@printindex vr

@contents

@bye
@c Remember to delete these lines before creating the info file.
@c Why? I makeinfo all of the time without following this advice.
Expand Down
Loading

0 comments on commit 248d0fd

Please sign in to comment.