[ruby-core:114661] [Ruby master Bug#19866] Future of `readline.rb`

Issue #19866 has been reported by vo.x (Vit Ondruch). ---------------------------------------- Bug #19866: Future of `readline.rb` https://bugs.ruby-lang.org/issues/19866 * Author: vo.x (Vit Ondruch) * Status: Open * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-09-05 master 7c8932365f) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I wonder what is the future of readline.rb? It still tries to load `readline.so` by default. Is this intended behavior? I'd say that instead, it should rather fire a deprecation warning and load reline. Or maybe the whole readline gem should be completely removed? -- https://bugs.ruby-lang.org/

Issue #19866 has been updated by rubyFeedback (robert heiler). I believe hsbt may be able to answer your question. reline is probably the future anyway. I disagree that: require 'readline' should require reline, though. Users who do say may 100% want to get readline, so a forceful redirection towards reline may NOT be what ALL users want to have or see. It's not up to the ruby core team, IMO, to force deprecations onto users like this. Let people decide on their own if they want to switch towards reline; readline-ruby is only available externally, anyway - see: https://github.com/ruby/readline (I understand that this is not 100% what hsbt wrote, but it is my opinion that when people do require 'xyz' that ruby should try to load xyz, rather than abc because some random developer tries to force people to use that suddenly. Since ruby core already uses reline, that should it be, and then the proper way to get it used is via require 'reline', rather than require 'readline'.) ---------------------------------------- Bug #19866: Future of `readline.rb` https://bugs.ruby-lang.org/issues/19866#change-104495 * Author: vo.x (Vit Ondruch) * Status: Open * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-09-05 master 7c8932365f) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I wonder what is the future of readline.rb? It still tries to load `readline.so` by default. Is this intended behavior? I'd say that instead, it should rather fire a deprecation warning and load reline. Or maybe the whole readline gem should be completely removed? -- https://bugs.ruby-lang.org/

Issue #19866 has been updated by Eregon (Benoit Daloze). From https://bugs.ruby-lang.org/issues/19883#change-104825
Seems odd for a standard library to attempt to load a non-standard library first, and fallback to loading a standard library.
Agreed. I think either lib/readline.rb should only use reline and not try readline-ext, or lib/readline.rb should be deprecated/warn, and users then adapt to `require 'readline-ext'`/`require 'reline'` ---------------------------------------- Bug #19866: Future of `readline.rb` https://bugs.ruby-lang.org/issues/19866#change-104831 * Author: vo.x (Vit Ondruch) * Status: Open * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-09-05 master 7c8932365f) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I wonder what is the future of readline.rb? It still tries to load `readline.so` by default. Is this intended behavior? I'd say that instead, it should rather fire a deprecation warning and load reline. Or maybe the whole readline gem should be completely removed? -- https://bugs.ruby-lang.org/

Issue #19866 has been updated by hsbt (Hiroshi SHIBATA).
I wonder what is the future of readline.rb? It still tries to load readline.so by default. Is this intended behavior?
It's intentional. `readline.rb` is same as `yaml.rb` for migrating backend. `reline` is mostly compatible `libreadline`. But we don't rush to rewrite `readline` to `reline` in Ruby 3.3. ---------------------------------------- Bug #19866: Future of `readline.rb` https://bugs.ruby-lang.org/issues/19866#change-104864 * Author: vo.x (Vit Ondruch) * Status: Open * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-09-05 master 7c8932365f) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I wonder what is the future of readline.rb? It still tries to load `readline.so` by default. Is this intended behavior? I'd say that instead, it should rather fire a deprecation warning and load reline. Or maybe the whole readline gem should be completely removed? -- https://bugs.ruby-lang.org/

Issue #19866 has been updated by hsbt (Hiroshi SHIBATA). Status changed from Open to Assigned Assignee set to hsbt (Hiroshi SHIBATA) ---------------------------------------- Bug #19866: Future of `readline.rb` https://bugs.ruby-lang.org/issues/19866#change-104865 * Author: vo.x (Vit Ondruch) * Status: Assigned * Priority: Normal * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.0dev (2023-09-05 master 7c8932365f) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I wonder what is the future of readline.rb? It still tries to load `readline.so` by default. Is this intended behavior? I'd say that instead, it should rather fire a deprecation warning and load reline. Or maybe the whole readline gem should be completely removed? -- https://bugs.ruby-lang.org/

Issue #19866 has been updated by mame (Yusuke Endoh). Status changed from Assigned to Rejected Discussed at the dev meeting, and agreed that the current status be maintained. * Dependency on external libraries is not very happy, but not a problem itself. Actually, set.rb had longly depended on rbtree gem. * As long as it is named `readline.rb`, it should respect `readline` library if it is available. * We see no benefit in removing it and forcing people to explicitly change to `require "reline"`. ---------------------------------------- Bug #19866: Future of `readline.rb` https://bugs.ruby-lang.org/issues/19866#change-104900 * Author: vo.x (Vit Ondruch) * Status: Rejected * Priority: Normal * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.0dev (2023-09-05 master 7c8932365f) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I wonder what is the future of readline.rb? It still tries to load `readline.so` by default. Is this intended behavior? I'd say that instead, it should rather fire a deprecation warning and load reline. Or maybe the whole readline gem should be completely removed? -- https://bugs.ruby-lang.org/
participants (5)
-
Eregon (Benoit Daloze)
-
hsbt (Hiroshi SHIBATA)
-
mame (Yusuke Endoh)
-
rubyFeedback (robert heiler)
-
vo.x (Vit Ondruch)