Bug #20052
closedreline behaves oddly with redirect (non tty)
Description
Forwarded from cucumber/aruba testsute issue https://github.com/cucumber/aruba/issues/910
Looks line reline behaves oddly with redirect (non tty)
With ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] and Readline:
$ echo 'foo' | ruby -e 'require "readline"; puts Readline.readline(">")' > bar.log ; cat bar.log 
>foo
foo
With ruby 3.3.0dev (2023-12-09 master 1cbe114d1c) [x86_64-linux] and Reline:
$ echo 'foo' | ruby -e 'require "reline"; puts Reline.readline(">")' > bar.log ; cat bar.log 
>>>f>f>fo>fo>foo>foofoo
        
           Updated by rubyFeedback (robert heiler) almost 2 years ago
          Updated by rubyFeedback (robert heiler) almost 2 years ago
          
          
        
        
      
      Interesting. It seems to do some additional buffering? If it behaves differently to readline then this may be a bug in behaviour; at the least if it is not a bug then the user may want to be able to get the readline-behaviour and perhaps an option to toggle between these two (though I think the Readline behaviour makes more sense, so I assume this may be a bug indeed.)
        
           Updated by matijsvanzuijlen (Matijs van Zuijlen) almost 2 years ago
          Updated by matijsvanzuijlen (Matijs van Zuijlen) almost 2 years ago
          
          
        
        
      
      (Aruba maintainer here) Note that the reline behavior is the same on Ruby 3.2.2, so it doesn't seem to be caused by any change in Ruby itself. It just manifested for Aruba because readline is gone in 3.3.0dev.
        
           Updated by Eregon (Benoit Daloze) almost 2 years ago
          Updated by Eregon (Benoit Daloze) almost 2 years ago
          
          
        
        
      
      It may be better to report this at https://github.com/ruby/reline
        
           Updated by mtasaka (Mamoru TASAKA) almost 2 years ago
          Updated by mtasaka (Mamoru TASAKA) almost 2 years ago
          
          
        
        
      
      Forwarded: https://github.com/ruby/reline/issues/616
        
           Updated by vo.x (Vit Ondruch) almost 2 years ago
          Updated by vo.x (Vit Ondruch) almost 2 years ago
          
          
        
        
      
      Since there was no upstream response, I'll ask here if somebody can look into the issue. Workarounds such as "install readline-ext" are suboptimal and against changes done in Ruby 3.3 on purpose.
        
           Updated by hsbt (Hiroshi SHIBATA) almost 2 years ago
          Updated by hsbt (Hiroshi SHIBATA) almost 2 years ago
          
          
        
        
      
      - Status changed from Open to Third Party's Issue