Project

General

Profile

Actions

Bug #13270

closed

Updated by shevegen (Robert A. Heiler) over 8 years ago

Is this darwin-specific? It appears to work fine on my linux system here.

ruby 2.4.0p0 (2016-12-24 revision 57164) [i686-linux]

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

  • Status changed from Open to Feedback

I can't reproduce it on darwin15.

Does it happen without irb, just ruby -e print "\e]"?
If only with irb, does it with irb -f?

Updated by snood1205 (Eli Sadoff) over 8 years ago

  • Status changed from Feedback to Open

I can reproduce it on Darwin, so I'm switching it back to open.

My ruby -v is ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin14]

Also it occurs with irb -f but not with ruby -e

Updated by snood1205 (Eli Sadoff) over 8 years ago

Even more information, this is reproducible on ruby -v ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux], but instead of printing out "30m" after CMD+D it prints out nothing. This seems to be a bug within IRB. Interesting, this behavior seems to be OS defined as well. The following program in C

#include <stdio.h>

int main()
{
        puts("\e]");
}

has different outputs based on the OS. On macOS Sierra, it outputs 30m with gcc, cc, and clang, whereas on Fedora 22 it outputs nothing with both gcc and cc. I can't exactly figure out what is wrong, but it is quite odd.

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

  • Status changed from Open to Feedback

What terminal emulator are you using, the standard Terminal.app?

Updated by domaio (Dorian M) over 8 years ago

Nobuyoshi Nakada wrote:

What terminal emulator are you using, the standard Terminal.app?

I'm using iTerm 3.0.14.

And on Terminal.app (v2.7.1 (387)) I get

>> puts "\e]"

il
>> puts "\e["

nil

(notice the first "n" missing)

Also, why pry (0.10.4), on iTerm:

> puts "\e["

nil
> puts "\e]"
1;36mnil
>

I'm on MacOS Sierra 10.12.1 (16B2555)

Updated by znz (Kazuhiro NISHIYAMA) over 8 years ago

I can reproduce print "\e]" and Ctrl+C, nothing happens. But I can't reproduce using puts "\e[". And I can't reproduce Ctrl+D prints "30m". Ctrl+D causes simply exited.

I think iTerm eats output from "\e]" (OSC) to "\a" (BEL) (or "\e" or something else).

pry outputs some "\e"s after evaluation, then it seems to be without hang.

I typed print "\e]", Enter, Ctrl+C, puts "\a" (can't see), Enter. Then it outputs => nil and prompt.

% rbenv exec irb -r irb/completion --simple-prompt
>> print "\e]"

=> nil
>>

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

  • Status changed from Feedback to Rejected

It is not ruby specific, and (probably) expected behavior of some terminal emulators.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0