From 7187784936edc640d547ad497ef9b644a2483a2e Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Tue, 17 Aug 2021 20:40:30 +1000 Subject: Move control character escaping responsibility to the terminal UI Fix atom text at display time, allow tabs/eol/etc... in display atoms and escape them just-in-time Fixes #4293 --- src/input_handler.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/input_handler.cc') diff --git a/src/input_handler.cc b/src/input_handler.cc index fde468d5..85904e7f 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -575,12 +575,12 @@ public: const Face cursor_face = m_faces["StatusCursor"]; if (m_cursor_pos == str.char_length()) - return DisplayLine{{ { fix_atom_text(str.substr(m_display_pos, width-1)), line_face }, + return DisplayLine{{ { str.substr(m_display_pos, width-1).str(), line_face }, { " "_str, cursor_face} } }; else - return DisplayLine({ { fix_atom_text(str.substr(m_display_pos, m_cursor_pos - m_display_pos)), line_face }, - { fix_atom_text(str.substr(m_cursor_pos,1)), cursor_face }, - { fix_atom_text(str.substr(m_cursor_pos+1, width - m_cursor_pos + m_display_pos - 1)), line_face } }); + return DisplayLine({ { str.substr(m_display_pos, m_cursor_pos - m_display_pos).str(), line_face }, + { str.substr(m_cursor_pos,1).str(), cursor_face }, + { str.substr(m_cursor_pos+1, width - m_cursor_pos + m_display_pos - 1).str(), line_face } }); } private: CharCount m_cursor_pos = 0; -- cgit v1.2.3