xi-frontend / xi-term

A terminal frontend for Xi
MIT License
485 stars 37 forks source link

Update to latest xrl #101

Closed little-dude closed 5 years ago

little-dude commented 5 years ago

The whole frontend trait got refactored in https://github.com/xi-frontend/xrl/pull/22, and https://github.com/xi-frontend/xrl/pull/24 and https://github.com/xi-frontend/xrl/pull/25 build on top of it, so we need to prepare xi-term for when these PRs get merged.

This PR uses https://github.com/xi-frontend/xrl/pull/25

Note that the core crashes for the moment with these changes. Not anymore, see https://github.com/xi-frontend/xi-term/pull/101#issuecomment-496486313

little-dude commented 5 years ago
xi_term - core: thread 'main' panicked at 'assertion failed: `(left == right)`
xi_term - core:   left: `3659`,
xi_term - core:  right: `0`', core-lib/src/linewrap.rs:685:9
xi_term - core: stack backtrace:
xi_term - core:    0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
xi_term - core:              at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
xi_term - core:    1: std::sys_common::backtrace::_print
xi_term - core:              at src/libstd/sys_common/backtrace.rs:71
xi_term - core:    2: std::panicking::default_hook::{{closure}}
xi_term - core:              at src/libstd/sys_common/backtrace.rs:59
xi_term - core:              at src/libstd/panicking.rs:197
xi_term - core:    3: std::panicking::default_hook
xi_term - core:              at src/libstd/panicking.rs:211
xi_term - core:    4: std::panicking::rust_panic_with_hook
xi_term - core:              at src/libstd/panicking.rs:474
xi_term - core:    5: std::panicking::continue_panic_fmt
xi_term - core:              at src/libstd/panicking.rs:381
xi_term - core:    6: std::panicking::begin_panic_fmt
xi_term - core:              at src/libstd/panicking.rs:336
xi_term - core:    7: xi_core_lib::linewrap::MergedBreaks::new
xi_term - core:              at core-lib/src/linewrap.rs:685
xi_term - core:    8: xi_core_lib::linewrap::Lines::iter_lines
xi_term - core:              at core-lib/src/linewrap.rs:192
xi_term - core:    9: xi_core_lib::view::View::send_update_for_plan
xi_term - core:              at core-lib/src/view.rs:796
xi_term - core:   10: xi_core_lib::view::View::render_if_dirty
xi_term - core:              at core-lib/src/view.rs:866
xi_term - core:   11: xi_core_lib::event_context::EventContext::render
xi_term - core:              at core-lib/src/event_context.rs:371
xi_term - core:   12: xi_core_lib::event_context::EventContext::render_if_needed
xi_term - core:              at core-lib/src/event_context.rs:357
xi_term - core:   13: xi_core_lib::tabs::CoreState::notify_client_and_update_views::{{closure}}
xi_term - core:              at core-lib/src/tabs.rs:463
xi_term - core:   14: core::iter::traits::iterator::Iterator::for_each::{{closure}}
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libcore/iter/traits/iterator.rs:604
xi_term - core:   15: core::iter::traits::iterator::Iterator::fold::{{closure}}
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libcore/iter/traits/iterator.rs:1684
xi_term - core:   16: core::iter::traits::iterator::Iterator::try_fold
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libcore/iter/traits/iterator.rs:1572
xi_term - core:   17: core::iter::traits::iterator::Iterator::fold
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libcore/iter/traits/iterator.rs:1684
xi_term - core:   18: core::iter::traits::iterator::Iterator::for_each
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libcore/iter/traits/iterator.rs:604
xi_term - core:   19: xi_core_lib::tabs::CoreState::notify_client_and_update_views
xi_term - core:              at core-lib/src/tabs.rs:458
xi_term - core:   20: xi_core_lib::tabs::CoreState::do_set_theme
xi_term - core:              at core-lib/src/tabs.rs:449
xi_term - core:   21: xi_core_lib::tabs::CoreState::client_notification
xi_term - core:              at core-lib/src/tabs.rs:319
xi_term - core:   22: <xi_core_lib::core::XiCore as xi_rpc::Handler>::handle_notification
xi_term - core:              at core-lib/src/core.rs:115
xi_term - core:   23: xi_rpc::RpcLoop<W>::mainloop::{{closure}}
xi_term - core:              at /home/corentin/code/rust/xi-editor/rust/rpc/src/lib.rs:331
xi_term - core:   24: crossbeam_utils::thread::scope::{{closure}}
xi_term - core:              at /home/corentin/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-utils-0.6.5/src/thread.rs:161
xi_term - core:   25: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libstd/panic.rs:309
xi_term - core:   26: std::panicking::try::do_call
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libstd/panicking.rs:293
xi_term - core:   27: __rust_maybe_catch_panic
xi_term - core:              at src/libpanic_unwind/lib.rs:85
xi_term - core:   28: std::panicking::try
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libstd/panicking.rs:272
xi_term - core:   29: std::panic::catch_unwind
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libstd/panic.rs:388
xi_term - core:   30: crossbeam_utils::thread::scope
xi_term - core:              at /home/corentin/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-utils-0.6.5/src/thread.rs:161
xi_term - core:   31: xi_rpc::RpcLoop<W>::mainloop
xi_term - core:              at /home/corentin/code/rust/xi-editor/rust/rpc/src/lib.rs:257
xi_term - core:   32: xi_core::main
xi_term - core:              at src/main.rs:229
xi_term - core:   33: std::rt::lang_start::{{closure}}
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libstd/rt.rs:64
xi_term - core:   34: std::panicking::try::do_call
xi_term - core:              at src/libstd/rt.rs:49
xi_term - core:              at src/libstd/panicking.rs:293
xi_term - core:   35: __rust_maybe_catch_panic
xi_term - core:              at src/libpanic_unwind/lib.rs:85
xi_term - core:   36: std::rt::lang_start_internal
xi_term - core:              at src/libstd/panicking.rs:272
xi_term - core:              at src/libstd/panic.rs:388
xi_term - core:              at src/libstd/rt.rs:48
xi_term - core:   37: std::rt::lang_start
xi_term - core:              at /rustc/7158ed9cbea805adf8161d3deaadba2f85b7692e/src/libstd/rt.rs:64
xi_term - core:   38: main
xi_term - core:   39: __libc_start_main
xi_term - core:   40: _start
xi_term - core: [2019-05-28][13:33:43][xi_rpc][ERROR] panic guard hit, closing runloop
Cogitri commented 5 years ago

That most likely is https://github.com/xi-editor/xi-editor/issues/1115. Should work when compiling xi-core in release mode.

Cogitri commented 5 years ago

Maybe just disable linewrapping though, xrl doesn't support it right now anyway: https://github.com/xi-frontend/xrl/issues/25

little-dude commented 5 years ago

Thanks, release mode works. I'll disable linewrapping as well :)