[ESS] Tracebug. ess-own-frame problem

Paul Johnson pauljohn32 at gmail.com
Thu Sep 24 22:14:12 CEST 2015


Thanks Vitalie

This is better.

I've been testing this change with ESS-20150827 from MELPA.  I think
the change clears up the problem almost entirely when I have just 2
frames open.  When I have 3 frames open, the tracebug finds various
frames from time to time.  It does not say "in" the first frame it
found.  I regard this as a price I have to pay for having the bad
habit of liking things in separate frames.

While trying to test various versions of ESS, I've come to some new
questions about installation and I'm going to write up a separate
question on that.

pj

On Wed, Aug 5, 2015 at 8:52 AM, Vitalie Spinu <spinuvit at gmail.com> wrote:
>
> 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
>> execution.
>
> 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.
>
>
>   Vitalie
>



-- 
Paul E. Johnson
Professor, Political Science        Director
1541 Lilac Lane, Room 504      Center for Research Methods
University of Kansas                 University of Kansas
http://pj.freefaculty.org              http://crmda.ku.edu



More information about the ESS-help mailing list