randy3k / SendCode

Send code and text to macOS and Linux Terminals, iTerm, ConEmu, Cmder, Tmux, Terminus; R (RStudio), Julia, IPython.
MIT License
204 stars 28 forks source link

Large chunks of code no longer sending properly to most terminals. #80

Closed chadbot closed 6 years ago

chadbot commented 6 years ago

After updating to MacOS 10.13.2 (possibly unrelated, though this is the only major change in my system that I can think of), SendCode no longer properly sends large chunks of R code to most destinations. Here's what I've found so far:

I haven't tested with other languages/consoles/terminals.

My setup:

Please let me know what other information would be helpful in figuring this out.

And thanks, as always, for making such a great collection of tools.

Edit: I've got Rice working in iTerm and TerminalView by setting bracketed_paste_mode=true for R. This also works in RStudio, but (perhaps obviously) breaks compatibility in the stock R Console.

randy3k commented 6 years ago

Yap, the default R console from r-project.org doesn’t support bracketed paste mode unless it is built against readline 7.0. Unless you want to stick with the default R console, it is recommended to turn on bracketed paste mode.

chadbot commented 6 years ago

Good to know. Using Rice with bracketed paste mode works everywhere I've tried it (Terminal, iTerm2, tmux, TerminalView). This is a suitable workaround for me, especially since Rice is 1000x better than the default R Console anyway. :)

I'm still having trouble using SendCode in lots of places where it used to work before (sending anything to TerminalView with bracketed paste mode off is totally freezing ST3, for instance), but I'm going to try to reproduce on another machine before pressing further. No sense wasting time on an issue that's specific to my weirdo config. I'll let you know.

randy3k commented 6 years ago

I would like to help if you have anything specific.

chadbot commented 6 years ago

Thanks. I'll keep you posted if I manage to narrow down the possible causes.

chadbot commented 6 years ago

Hi again.

So I've returned to this issue, as I just had a colleague report somewhat similar behavior, which I've been to replicate. Here's the specific issue at present.

Both of us are running ST3, SendCode, and iPython (3). When short blocks of code are sent to iPython (whether in Terminal, TerminalView, or iTerm), it executes fine. For instance, the following code works as expected:

x = list(range(9))
for i in x:
    print(i)

For other blocks, however, the text sends fine, but does not get automatically evaluated. (I.e., you have to manually hit return). For example:

x = list(range(9))
y = list(range(9))

To make matters a bit more confusing, this doesn't seem to be happening with all blocks. Any idea what's going on?

Thanks, as always, for your help!

randy3k commented 6 years ago

Thank you for the reproducible example. I have pushed a fix to the issue. It will be great if you could check it out and test it.

chadbot commented 6 years ago

Thanks! Installed dev version and am testing. So far it seems to have solved the problem.

randy3k commented 6 years ago

Great~ v0.4.3 is released.

randy3k commented 6 years ago

Let’s close it for now. Please report back if the issue is not completely resolved.

chadbot commented 6 years ago

Sounds good. So far all seems to be fixed, but I will let you know if I run into any other trouble. Thanks again!