[ESS] do not change window configuration under R debugging

Ramon Diaz-Uriarte rd|@z02 @end|ng |rom gm@||@com
Wed Dec 16 10:37:01 CET 2020

Dear All,

A week ago I posted this question in stackoverflow
so as to be able to include screenshots; maybe it was not a great idea, so
here I go without screenshots.

I would like to prevent ESS from changing my window configuration but when
ESS tracebug is active, entering debugging changes the window

Suppose three windows in the emacs frame: (1) an R file that defines a
function; (2) an R script that calls the function defined in (1); (3): the
inferior R ess process. If from (2) I send code to the R interpreter, by
default (2) gets replaced by (1) (showing the line to be evaluated,
etc). The window showing (3) is left where it originally was; so we
actually have the buffer that was in (1) shown twice (at 2 and at 1).

This happens to me under this configuration (starting emacs as emacs -Q)

(use-package ess)

I have an additional configuration (all in the spirit of "do not disrupt my
window configuration: I'll tell you in what window to start by issuing M-x
R there"):

(setq display-buffer-alist
      '(("*R" . (display-buffer-same-window)))

With this configuration, under debug, window (2) now displays the R session
(i.e., the inferior R buffer is shown at the original window location 3,
and now at 2 also).

If I disable tracebug, M-x ess-tracebug, no window changes take place, but
I do not want to disable following the execution on the window (window 1)
that has the code. I would like to use tracebug but avoid any change to my
window configuration: just show (1) with the debugging stuff, but leave (2)
alone. How can I do that?



Ramon Diaz-Uriarte
Department of Biochemistry, Lab B-25
Facultad de Medicina
Universidad Autónoma de Madrid 
Arzobispo Morcillo, 4
28029 Madrid

Phone: +34-91-497-2412

Email: rdiaz02 using gmail.com
       ramon.diaz using iib.uam.es


More information about the ESS-help mailing list