syntex project is port of rustc parser to
be able to use it with stable compiler.
It used term crate as replace of https://github.com/rust-lang/rust/tree/master/src/libterm
And we see difference between term and libterm, the same code from:
https://github.com/serde-rs/syntex/blob/master/syntex_errors/src/emitter.rs
cause panic if use term crate (0.4.5) and not panic and works as expected if use libterm.
See
https://github.com/keringar/syntex/commit/7ca0bb2e2dbae42d3983991787857730854336ef
serde-deprecated/syntex#121
rust-lang/rustfmt#1180
serde-deprecated/syntex#120
Any ideas why eshell handled in different ways in libterm and term?