Skip to content

Implement FFI console mode support - #142

Merged
nobu merged 3 commits into
masterfrom
ffi-consolemode
Aug 4, 2026
Merged

Implement FFI console mode support#142
nobu merged 3 commits into
masterfrom
ffi-consolemode

Conversation

@nobu

@nobu nobu commented Aug 4, 2026

Copy link
Copy Markdown
Member

Summary

  • implement IO::ConsoleMode for the FFI backend
  • add IO#console_mode and IO#console_mode=
  • load the native console implementation after platform-specific LibC definitions
  • cover copying, echo control, and raw mode transitions

Why

The native extension has supported console mode snapshots since 77ed8d5, but the FFI backend never implemented the equivalent API. JRuby and TruffleRuby therefore lacked IO::ConsoleMode behavior.

Closes #66.

Testing

  • Ubuntu 26.04 arm64 with JRuby 9.4.8.0 via Multipass: 29 tests, 73 assertions, 0 failures, 0 errors, 9 expected pendings
  • focused test_console_mode: 1 test, 7 assertions, 0 failures, 0 errors
  • native extension focused test_console_mode: 1 test, 7 assertions, 0 failures, 0 errors
  • git diff --check

nobu added 3 commits August 4, 2026 23:28
Add the missing console mode API so JRuby and TruffleRuby match
the native extension.
Ensure `rake test` exercises the checked-out FFI backend.
Make clean checkouts load the checked-out FFI implementation.
@nobu
nobu force-pushed the ffi-consolemode branch from cf8a106 to 5164da4 Compare August 4, 2026 15:06
@nobu
nobu marked this pull request as ready for review August 4, 2026 15:18
@nobu
nobu merged commit 5164da4 into master Aug 4, 2026
62 checks passed
@nobu
nobu deleted the ffi-consolemode branch August 4, 2026 15:18
@headius

headius commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Thank you @nobu!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FFI impl missing IO::ConsoleMode logic

2 participants