be found
(https://github.com/ruby/reline/pull/673)
Fix https://github.com/ruby/reline/issues/447https://github.com/ruby/reline/issues/543
This problem occurs when Fiddle can be loaded, curses can be loaded, and TERM is not registered in Terminfo.
It should also occur at hardcopy terminals and when Terminfo information is low, but no such reports have been received.
Reline should not abort the process because of missing Terminfo.
Reline proceeds with `Reline::Terminfo.enabled? == false` when fiddle or curses cannot be loaded.
And does the same when Terminfo is present but TERM is not.
ebab2875f1/lib/reline/terminfo.rb (L156-L160)
You can check the operation with `TERM=foo bundle exec bin/console`.
4ce247ce2b
This maybe isn't probably isn't the best approach, but it will allow
`Fiddle::Terminfo.curses_dl` to work. I documented more details about
this in an issue on fiddle: https://github.com/ruby/fiddle/issues/107
It is probably better to deal with it there. But this is workaround is
simpler.
FYI: `reline` itself seems to be working just fine for me _without_
loading ncurses. But I wanted to be able to use `Reline::Terminfo` for
my own projects. :)
fd4bdb35e2
If a top-level `VERSION` constant exists, or if a module containing a `VERSION` constant is included into the top-level scope, then `Fiddle.const_defined?(:VERSION)` will erroneously return true when `RUBY_VERSION < 3.0.0`.
8529c8e47a
Solaris requires that the pointer errret_int is alined to an integer,
however, with VWA, strings are no longer aligned to an integer, so use a
Fiddle::Pointer with a malloc'd region instead.
5fcd89ab0c