[ESS] Tracebug. ess-own-frame problem
spinuvit at gmail.com
Wed Aug 5 15:52:18 CEST 2015
Thanks Paul. This is a bug.
>> On Fri, Jul 31 2015 11:03, Paul Johnson wrote:
> I'm here again to confess my ignorance. I'm at your mercy, as ever.
> (Emacs 24.4, ESS 15.03)
> behavior. The window focus will not stay in the *R* session file when
> I use browser() or debug().
> In the session *R* frame, I type "n" <Ret> or just <Ret>, and the window focus
> shifts over to an R code file with a brown stripe rectangle at the point of
This should not happen. By design if you are in inferior buffer, the focus
should stay there but the source code should still advance in another
window. The behavior is different when you are in a source buffer; then you are
taking directly to a source line.
> When I want to run the next line in the debugger, I have to manually go back
> to *R* and <Ret>. Then Emacs throws focus back at the place where the brown
> stripe is.
Please use M-N, M-C, M-Q etc. during the debug session. It works from any
buffer. Those keys probably constitute the biggest advantage of the tracebug
over plain R debugger.
> I have to re-focus the *R* frame
> ;; I want the *R* process in its own frame
> (setq inferior-ess-own-frame t)
I personally never use more than one frame. Emacs is not particularly well
suited for a multi-frame use case.
I was able reproduce your problem with the above setting and pop-up-frames set
to t and I have (hopefully) fixed the problem in the git.
After selecting another frame, previous frame was not refocused. I am not aware
of a way to do `save-frame-excursion` in emacs so I rolled a naive version of
it. The disadvantage of the new behavior is that if the source buffer is located
on a frame which is not visible, you will not see the source buffer. There is
really no other way if you want to stay in *iESS* buffer. You just have to make
sure that all your frames are visible (I guess you already do that if you go
full multi-frame like this).
Let me know if you are still experiencing problems.
More information about the ESS-help